From 56f9341f8e4be8d4c41be1cb85f8d8154f04381c Mon Sep 17 00:00:00 2001 From: nossr50 Date: Fri, 9 Apr 2021 07:54:34 -0700 Subject: [PATCH] Add mcMMO_Region_System.Enabled to persistent_data.yml (removed from hidden config) --- Changelog.txt | 2 ++ .../nossr50/commands/skills/MmoInfoCommand.java | 1 - .../java/com/gmail/nossr50/config/HiddenConfig.java | 5 ----- .../gmail/nossr50/config/PersistentDataConfig.java | 5 +++++ .../gmail/nossr50/datatypes/skills/SubSkillType.java | 1 - .../nossr50/datatypes/skills/interfaces/Skill.java | 12 ------------ .../datatypes/skills/subskills/acrobatics/Roll.java | 5 ----- .../skills/secondaryabilities/SubSkillEvent.java | 1 - .../com/gmail/nossr50/listeners/PlayerListener.java | 1 - src/main/java/com/gmail/nossr50/mcMMO.java | 2 -- .../com/gmail/nossr50/skills/alchemy/Alchemy.java | 2 -- src/main/java/com/gmail/nossr50/util/EventUtils.java | 1 - .../nossr50/util/blockmeta/ChunkManagerFactory.java | 5 ++--- src/main/resources/persistent_data.yml | 7 ++++++- .../database/FlatFileDatabaseManagerTest.java | 2 -- 15 files changed, 15 insertions(+), 37 deletions(-) diff --git a/Changelog.txt b/Changelog.txt index a8a6d90af..fdfa4aa63 100644 --- a/Changelog.txt +++ b/Changelog.txt @@ -1,4 +1,6 @@ Version 2.1.189 + The setting to disable the mcMMO user block tracker has been moved from our "hidden config" to persistent_data.yml + Added 'mcMMO_Region_System.Enabled' to persistent_data.yml (don't touch this setting unless you know what you are doing) Fixed a bug that would remove components from death messages when players were killed by mobs (thanks lexikiq) Removed MHD command (it didn't do anything for a while now) Removed UltraPermissions warning diff --git a/src/main/java/com/gmail/nossr50/commands/skills/MmoInfoCommand.java b/src/main/java/com/gmail/nossr50/commands/skills/MmoInfoCommand.java index 0c6436bf1..d3090f46b 100644 --- a/src/main/java/com/gmail/nossr50/commands/skills/MmoInfoCommand.java +++ b/src/main/java/com/gmail/nossr50/commands/skills/MmoInfoCommand.java @@ -1,6 +1,5 @@ package com.gmail.nossr50.commands.skills; -import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.SubSkillType; import com.gmail.nossr50.listeners.InteractionManager; import com.gmail.nossr50.locale.LocaleLoader; diff --git a/src/main/java/com/gmail/nossr50/config/HiddenConfig.java b/src/main/java/com/gmail/nossr50/config/HiddenConfig.java index d4b646fd3..54cdf0ff0 100644 --- a/src/main/java/com/gmail/nossr50/config/HiddenConfig.java +++ b/src/main/java/com/gmail/nossr50/config/HiddenConfig.java @@ -9,7 +9,6 @@ public class HiddenConfig { private static HiddenConfig instance; private final String fileName; private YamlConfiguration config; - private boolean chunkletsEnabled; private int conversionRate; private boolean useEnchantmentBuffs; @@ -30,15 +29,11 @@ public class HiddenConfig { InputStreamReader reader = mcMMO.p.getResourceAsReader(fileName); if (reader != null) { config = YamlConfiguration.loadConfiguration(reader); - chunkletsEnabled = config.getBoolean("Options.Chunklets", true); conversionRate = config.getInt("Options.ConversionRate", 1); useEnchantmentBuffs = config.getBoolean("Options.EnchantmentBuffs", true); } } - public boolean getChunkletsEnabled() { - return chunkletsEnabled; - } public int getConversionRate() { return conversionRate; diff --git a/src/main/java/com/gmail/nossr50/config/PersistentDataConfig.java b/src/main/java/com/gmail/nossr50/config/PersistentDataConfig.java index 10a7adcfc..2f9a23066 100644 --- a/src/main/java/com/gmail/nossr50/config/PersistentDataConfig.java +++ b/src/main/java/com/gmail/nossr50/config/PersistentDataConfig.java @@ -34,4 +34,9 @@ public class PersistentDataConfig extends AutoUpdateConfigLoader { return config.getBoolean(key, false); } + public boolean useBlockTracker() { + return config.getBoolean("mcMMO_Region_System.Enabled", true); + } + + } \ No newline at end of file diff --git a/src/main/java/com/gmail/nossr50/datatypes/skills/SubSkillType.java b/src/main/java/com/gmail/nossr50/datatypes/skills/SubSkillType.java index 44d98b789..fc3ad681f 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/skills/SubSkillType.java +++ b/src/main/java/com/gmail/nossr50/datatypes/skills/SubSkillType.java @@ -1,6 +1,5 @@ package com.gmail.nossr50.datatypes.skills; -import com.gmail.nossr50.datatypes.skills.interfaces.Skill; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.util.text.StringUtils; diff --git a/src/main/java/com/gmail/nossr50/datatypes/skills/interfaces/Skill.java b/src/main/java/com/gmail/nossr50/datatypes/skills/interfaces/Skill.java index e2fdd0457..68cf7180e 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/skills/interfaces/Skill.java +++ b/src/main/java/com/gmail/nossr50/datatypes/skills/interfaces/Skill.java @@ -1,18 +1,6 @@ package com.gmail.nossr50.datatypes.skills.interfaces; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; -import com.gmail.nossr50.datatypes.skills.SubSkillType; -import com.gmail.nossr50.datatypes.skills.SuperAbilityType; -import com.gmail.nossr50.datatypes.skills.ToolType; -import com.gmail.nossr50.locale.LocaleLoader; -import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.skills.SkillManager; -import com.gmail.nossr50.util.text.StringUtils; -import org.bukkit.entity.Entity; -import org.bukkit.entity.Player; -import org.jetbrains.annotations.NotNull; - -import java.util.List; public interface Skill { /** diff --git a/src/main/java/com/gmail/nossr50/datatypes/skills/subskills/acrobatics/Roll.java b/src/main/java/com/gmail/nossr50/datatypes/skills/subskills/acrobatics/Roll.java index 4ce3a8671..1a1c99fc9 100644 --- a/src/main/java/com/gmail/nossr50/datatypes/skills/subskills/acrobatics/Roll.java +++ b/src/main/java/com/gmail/nossr50/datatypes/skills/subskills/acrobatics/Roll.java @@ -7,11 +7,8 @@ import com.gmail.nossr50.datatypes.player.McMMOPlayer; import com.gmail.nossr50.datatypes.player.PlayerProfile; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.SubSkillType; -import com.gmail.nossr50.datatypes.skills.SuperAbilityType; -import com.gmail.nossr50.datatypes.skills.ToolType; import com.gmail.nossr50.locale.LocaleLoader; import com.gmail.nossr50.mcMMO; -import com.gmail.nossr50.skills.SkillManager; import com.gmail.nossr50.util.EventUtils; import com.gmail.nossr50.util.ItemUtils; import com.gmail.nossr50.util.Permissions; @@ -31,14 +28,12 @@ import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.SoundCategory; import org.bukkit.enchantments.Enchantment; -import org.bukkit.entity.Entity; import org.bukkit.entity.Player; import org.bukkit.event.Event; import org.bukkit.event.EventPriority; import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.inventory.ItemStack; -import java.util.List; import java.util.Locale; public class Roll extends AcrobaticsSubSkill { diff --git a/src/main/java/com/gmail/nossr50/events/skills/secondaryabilities/SubSkillEvent.java b/src/main/java/com/gmail/nossr50/events/skills/secondaryabilities/SubSkillEvent.java index 7c0fb4ea9..7aefb003e 100644 --- a/src/main/java/com/gmail/nossr50/events/skills/secondaryabilities/SubSkillEvent.java +++ b/src/main/java/com/gmail/nossr50/events/skills/secondaryabilities/SubSkillEvent.java @@ -1,7 +1,6 @@ package com.gmail.nossr50.events.skills.secondaryabilities; import com.gmail.nossr50.datatypes.skills.SubSkillType; -import com.gmail.nossr50.datatypes.skills.interfaces.Skill; import com.gmail.nossr50.datatypes.skills.subskills.AbstractSubSkill; import com.gmail.nossr50.events.skills.McMMOPlayerSkillEvent; import com.gmail.nossr50.mcMMO; diff --git a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java index 74e155622..5bd715662 100644 --- a/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java +++ b/src/main/java/com/gmail/nossr50/listeners/PlayerListener.java @@ -36,7 +36,6 @@ import org.bukkit.GameMode; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.block.BlockState; -import org.bukkit.conversations.Conversation; import org.bukkit.enchantments.Enchantment; import org.bukkit.entity.*; import org.bukkit.entity.minecart.PoweredMinecart; diff --git a/src/main/java/com/gmail/nossr50/mcMMO.java b/src/main/java/com/gmail/nossr50/mcMMO.java index 766bd3b8a..719883444 100644 --- a/src/main/java/com/gmail/nossr50/mcMMO.java +++ b/src/main/java/com/gmail/nossr50/mcMMO.java @@ -9,9 +9,7 @@ import com.gmail.nossr50.config.mods.BlockConfigManager; import com.gmail.nossr50.config.mods.EntityConfigManager; import com.gmail.nossr50.config.mods.ToolConfigManager; import com.gmail.nossr50.config.skills.alchemy.PotionConfig; -import com.gmail.nossr50.config.skills.repair.RepairConfig; import com.gmail.nossr50.config.skills.repair.RepairConfigManager; -import com.gmail.nossr50.config.skills.salvage.SalvageConfig; import com.gmail.nossr50.config.skills.salvage.SalvageConfigManager; import com.gmail.nossr50.config.treasure.FishingTreasureConfig; import com.gmail.nossr50.config.treasure.TreasureConfig; diff --git a/src/main/java/com/gmail/nossr50/skills/alchemy/Alchemy.java b/src/main/java/com/gmail/nossr50/skills/alchemy/Alchemy.java index 8cb825f48..387a35550 100644 --- a/src/main/java/com/gmail/nossr50/skills/alchemy/Alchemy.java +++ b/src/main/java/com/gmail/nossr50/skills/alchemy/Alchemy.java @@ -1,9 +1,7 @@ package com.gmail.nossr50.skills.alchemy; -import com.gmail.nossr50.datatypes.skills.SubSkillType; import com.gmail.nossr50.mcMMO; import com.gmail.nossr50.runnables.skills.AlchemyBrewTask; -import com.gmail.nossr50.util.skills.RankUtils; import org.bukkit.Location; import java.util.ArrayList; diff --git a/src/main/java/com/gmail/nossr50/util/EventUtils.java b/src/main/java/com/gmail/nossr50/util/EventUtils.java index d97c1c0ad..e6d697852 100644 --- a/src/main/java/com/gmail/nossr50/util/EventUtils.java +++ b/src/main/java/com/gmail/nossr50/util/EventUtils.java @@ -8,7 +8,6 @@ import com.gmail.nossr50.datatypes.player.PlayerProfile; import com.gmail.nossr50.datatypes.skills.PrimarySkillType; import com.gmail.nossr50.datatypes.skills.SubSkillType; import com.gmail.nossr50.datatypes.skills.SuperAbilityType; -import com.gmail.nossr50.datatypes.skills.interfaces.Skill; import com.gmail.nossr50.datatypes.skills.subskills.AbstractSubSkill; import com.gmail.nossr50.events.experience.McMMOPlayerLevelChangeEvent; import com.gmail.nossr50.events.experience.McMMOPlayerLevelDownEvent; diff --git a/src/main/java/com/gmail/nossr50/util/blockmeta/ChunkManagerFactory.java b/src/main/java/com/gmail/nossr50/util/blockmeta/ChunkManagerFactory.java index e2c47662e..a1e61fd5c 100644 --- a/src/main/java/com/gmail/nossr50/util/blockmeta/ChunkManagerFactory.java +++ b/src/main/java/com/gmail/nossr50/util/blockmeta/ChunkManagerFactory.java @@ -1,13 +1,12 @@ package com.gmail.nossr50.util.blockmeta; -import com.gmail.nossr50.config.HiddenConfig; +import com.gmail.nossr50.config.PersistentDataConfig; import org.jetbrains.annotations.NotNull; public class ChunkManagerFactory { public static @NotNull ChunkManager getChunkManager() { - HiddenConfig hConfig = HiddenConfig.getInstance(); - if (hConfig.getChunkletsEnabled()) { + if (PersistentDataConfig.getInstance().useBlockTracker()) { return new HashChunkManager(); } diff --git a/src/main/resources/persistent_data.yml b/src/main/resources/persistent_data.yml index 6b39879cd..8508ab84f 100644 --- a/src/main/resources/persistent_data.yml +++ b/src/main/resources/persistent_data.yml @@ -29,4 +29,9 @@ Persistent_Data: Saved_To_Disk: false # By default mcMMO gives 0 XP for this type of mob, not adjustable currently PLAYER_TAMED_MOB: - Saved_To_Disk: false \ No newline at end of file + Saved_To_Disk: false +# When players put down a block we track it, the system used to track player blocks is super efficient and has been coded extremely well +# It is never recommended to turn this off as it allows exploits such as player dupes etc +# We use our own file system for this outside of NBT which has been programmed to be lightning fast +mcMMO_Region_System: + Enabled: true \ No newline at end of file diff --git a/src/test/java/com/gmail/nossr50/database/FlatFileDatabaseManagerTest.java b/src/test/java/com/gmail/nossr50/database/FlatFileDatabaseManagerTest.java index f8eaa4ff2..57efb3381 100644 --- a/src/test/java/com/gmail/nossr50/database/FlatFileDatabaseManagerTest.java +++ b/src/test/java/com/gmail/nossr50/database/FlatFileDatabaseManagerTest.java @@ -1,7 +1,6 @@ package com.gmail.nossr50.database; import com.gmail.nossr50.TestUtil; -import com.gmail.nossr50.config.GeneralConfig; import com.google.common.io.Files; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -10,7 +9,6 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; -import org.powermock.core.classloader.annotations.PrepareForTest; import org.powermock.modules.junit4.PowerMockRunner; import java.io.*;