nossr50 6 سال پیش
والد
کامیت
ae551e17cd

+ 5 - 0
Changelog.txt

@@ -7,6 +7,11 @@ Key:
   ! Change
   - Removal
 
+Version 2.1.32
+    Completely removed Fireworks from mcMMO because they lag
+    Added 'General.AprilFoolsEvent' setting to config.yml to turn off April Fools
+    NOTE: April Fools event has been in mcMMO for a long time, I did not write it so I didn't know it spawned fireworks like crazy.
+
 Version 2.1.31
     Fixed a bug where certain SubSkills did not properly send unlock or rank up notifications
     Fixed a bug where unlock notifications would send simultaneously for a specific skill (still happens if mmoedit changes all skill levels on a player at once)

+ 1 - 1
pom.xml

@@ -2,7 +2,7 @@
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.gmail.nossr50.mcMMO</groupId>
     <artifactId>mcMMO</artifactId>
-    <version>2.1.32-SNAPSHOT</version>
+    <version>2.1.32</version>
     <name>mcMMO</name>
     <url>https://github.com/mcMMO-Dev/mcMMO</url>
     <scm>

+ 2 - 0
src/main/java/com/gmail/nossr50/config/Config.java

@@ -245,6 +245,8 @@ public class Config extends AutoUpdateConfigLoader {
      * GENERAL SETTINGS
      */
 
+    public boolean isAprilFoolsAllowed() { return config.getBoolean("General.AprilFoolsEvent", true); }
+
     /* General Settings */
     public boolean getIsMetricsEnabled() { return config.getBoolean("Metrics.bstats", true); }
 

+ 13 - 0
src/main/java/com/gmail/nossr50/util/HolidayManager.java

@@ -1,6 +1,7 @@
 package com.gmail.nossr50.util;
 
 import com.gmail.nossr50.commands.skills.AprilCommand;
+import com.gmail.nossr50.config.Config;
 import com.gmail.nossr50.datatypes.interactions.NotificationType;
 import com.gmail.nossr50.datatypes.skills.PrimarySkillType;
 import com.gmail.nossr50.locale.LocaleLoader;
@@ -310,6 +311,9 @@ public final class HolidayManager {
     }
 
     public boolean isAprilFirst() {
+        if(!Config.getInstance().isAprilFoolsAllowed())
+            return false;
+
         GregorianCalendar aprilFirst = new GregorianCalendar(currentYear, Calendar.APRIL, 1);
         GregorianCalendar aprilSecond = new GregorianCalendar(currentYear, Calendar.APRIL, 2);
         GregorianCalendar day = new GregorianCalendar();
@@ -317,6 +321,9 @@ public final class HolidayManager {
     }
 
     public boolean nearingAprilFirst() {
+        if(!Config.getInstance().isAprilFoolsAllowed())
+            return false;
+
         GregorianCalendar start = new GregorianCalendar(Calendar.getInstance().get(Calendar.YEAR), Calendar.MARCH, 28);
         GregorianCalendar end = new GregorianCalendar(Calendar.getInstance().get(Calendar.YEAR), Calendar.APRIL, 2);
         GregorianCalendar day = new GregorianCalendar();
@@ -357,6 +364,9 @@ public final class HolidayManager {
     }
 
     public void levelUpApril(Player player, FakeSkillType fakeSkillType) {
+        if(!Config.getInstance().isAprilFoolsAllowed())
+            return;
+
         int levelTotal = Misc.getRandom().nextInt(1 + UserManager.getPlayer(player).getSkillLevel(PrimarySkillType.MINING)) + 1;
         SoundManager.sendSound(player, player.getLocation(), SoundType.LEVEL_UP);
         NotificationManager.sendPlayerInformation(player, NotificationType.HOLIDAY, "Holiday.AprilFools.Levelup", StringUtils.getCapitalized(fakeSkillType.toString()), String.valueOf(levelTotal));
@@ -364,6 +374,9 @@ public final class HolidayManager {
     }
 
     public void registerAprilCommand() {
+        if(!Config.getInstance().isAprilFoolsAllowed())
+            return;
+
         PluginCommand command = mcMMO.p.getCommand("mcfools");
         command.setExecutor(new AprilCommand());
     }

+ 1 - 0
src/main/resources/config.yml

@@ -14,6 +14,7 @@ General:
     RetroMode:
         Enabled: false
     Locale: en_US
+    AprilFoolsEvent: true
     MOTD_Enabled: true
     # Send a message to the player when his profile was successfully loaded
     Show_Profile_Loaded: false