From d13ee3ef4df989ca60c726df961b18eceeb9ec27 Mon Sep 17 00:00:00 2001 From: Brianna Date: Wed, 9 Sep 2020 10:00:29 -0500 Subject: [PATCH 1/6] Added proper support for the new SongodaCore data loading system. --- .../com/songoda/epicfarming/EpicFarming.java | 117 +++++++++--------- 1 file changed, 56 insertions(+), 61 deletions(-) diff --git a/src/main/java/com/songoda/epicfarming/EpicFarming.java b/src/main/java/com/songoda/epicfarming/EpicFarming.java index b11ab4e..916a307 100644 --- a/src/main/java/com/songoda/epicfarming/EpicFarming.java +++ b/src/main/java/com/songoda/epicfarming/EpicFarming.java @@ -124,64 +124,6 @@ public class EpicFarming extends SongodaPlugin { this.farmManager = new FarmManager(levelManager); this.boostManager = new BoostManager(); - /* - * Register Farms into FarmManger from configuration - */ - Bukkit.getScheduler().runTaskLaterAsynchronously(this, () -> { - if (storage.containsGroup("farms")) { - for (StorageRow row : storage.getRowsByGroup("farms")) { - Location location = Methods.unserializeLocation(row.getKey()); - if (location == null || location.getWorld() == null) continue; - - int level = 1; - int configLevel = row.get("level").asInt(); - if (configLevel > 0) { - level = configLevel; - } - List items = new ArrayList(); - List configItems = row.get("contents").asItemStackList(); - if (configItems != null && configItems.size() > 0) { - items = configItems; - } - UUID placedBY = null; - String configPlacedBy = row.get("placedby").asString(); - if (configPlacedBy != null) { - placedBY = UUID.fromString(configPlacedBy); - } - - FarmType farmType = FarmType.BOTH; - String farmTypeStr = row.get("farmtype").asString(); - if (farmTypeStr != null) - farmType = FarmType.valueOf(farmTypeStr); - - Farm farm = new Farm(location, levelManager.getLevel(level), placedBY); - farm.setFarmType(farmType); - farm.setItems(items); - Bukkit.getScheduler().runTask(EpicFarming.getInstance(), () -> - farmManager.addFarm(location, farm)); - } - } - - // Adding in Boosts - if (storage.containsGroup("boosts")) { - for (StorageRow row : storage.getRowsByGroup("boosts")) { - - BoostData boostData = new BoostData( - row.get("amount").asInt(), - Long.parseLong(row.getKey()), - UUID.fromString(row.get("player").asString())); - - Bukkit.getScheduler().runTask(EpicFarming.getInstance(), () -> { - this.boostManager.addBoostToPlayer(boostData); - }); - } - } - - // Save data initially so that if the person reloads again fast they don't lose all their data. - this.saveToFile(); - }, 10); - - // Register Listeners guiManager.init(); PluginManager pluginManager = Bukkit.getPluginManager(); @@ -207,11 +149,65 @@ public class EpicFarming extends SongodaPlugin { Bukkit.getScheduler().runTaskLater(this, () -> { if (!Bukkit.getPluginManager().isPluginEnabled("EpicHoppers")) HopperTask.startTask(this); - }, 20L); + }, 30L); // Start auto save Bukkit.getScheduler().scheduleSyncRepeatingTask(this, this::saveToFile, 6000, 6000); } + @Override + public void onDataLoad() { + if (storage.containsGroup("farms")) { + for (StorageRow row : storage.getRowsByGroup("farms")) { + Location location = Methods.unserializeLocation(row.getKey()); + if (location == null || location.getWorld() == null) continue; + + int level = 1; + int configLevel = row.get("level").asInt(); + if (configLevel > 0) { + level = configLevel; + } + List items = new ArrayList(); + List configItems = row.get("contents").asItemStackList(); + if (configItems != null && configItems.size() > 0) { + items = configItems; + } + UUID placedBY = null; + String configPlacedBy = row.get("placedby").asString(); + if (configPlacedBy != null) { + placedBY = UUID.fromString(configPlacedBy); + } + + FarmType farmType = FarmType.BOTH; + String farmTypeStr = row.get("farmtype").asString(); + if (farmTypeStr != null) + farmType = FarmType.valueOf(farmTypeStr); + + Farm farm = new Farm(location, levelManager.getLevel(level), placedBY); + farm.setFarmType(farmType); + farm.setItems(items); + Bukkit.getScheduler().runTask(EpicFarming.getInstance(), () -> + farmManager.addFarm(location, farm)); + } + } + + // Adding in Boosts + if (storage.containsGroup("boosts")) { + for (StorageRow row : storage.getRowsByGroup("boosts")) { + + BoostData boostData = new BoostData( + row.get("amount").asInt(), + Long.parseLong(row.getKey()), + UUID.fromString(row.get("player").asString())); + + Bukkit.getScheduler().runTask(EpicFarming.getInstance(), () -> { + this.boostManager.addBoostToPlayer(boostData); + }); + } + } + + // Save data initially so that if the person reloads again fast they don't lose all their data. + this.saveToFile(); + } @Override public void onConfigReload() { @@ -287,8 +283,7 @@ public class EpicFarming extends SongodaPlugin { } public int getLevelFromItem(ItemStack item) { - NBTCore nbt = NmsManager.getNbt(); - NBTItem nbtItem = nbt.of(item); + NBTItem nbtItem = NmsManager.getNbt().of(item); if (nbtItem.has("level")) return nbtItem.getNBTObject("level").asInt(); From 0c80dfd90187cdcf0ec334ef9620efabc65b3c85 Mon Sep 17 00:00:00 2001 From: Brianna Date: Wed, 9 Sep 2020 10:06:17 -0500 Subject: [PATCH 2/6] Optimized Imports. --- .../com/songoda/epicfarming/EpicFarming.java | 19 +++- .../epicfarming/commands/CommandBoost.java | 6 +- .../com/songoda/epicfarming/farming/Farm.java | 8 +- .../farming/levels/LevelManager.java | 6 +- .../levels/modules/ModuleAutoBreeding.java | 12 ++- .../levels/modules/ModuleAutoCollect.java | 19 +++- .../songoda/epicfarming/gui/OverviewGui.java | 6 +- .../epicfarming/listeners/BlockListeners.java | 10 +- .../listeners/EntityListeners.java | 6 +- .../epicfarming/storage/StorageItem.java | 8 +- .../storage/types/StorageYaml.java | 15 ++- .../songoda/epicfarming/tasks/FarmTask.java | 8 +- .../songoda/epicfarming/tasks/GrowthTask.java | 6 +- .../epicfarming/utils/CachedChunk.java | 2 +- .../epicfarming/utils/EntityUtils.java | 7 +- .../songoda/epicfarming/utils/Methods.java | 1 - .../epicfarming/utils/Serializers.java | 98 ++++++++++--------- 17 files changed, 160 insertions(+), 77 deletions(-) diff --git a/src/main/java/com/songoda/epicfarming/EpicFarming.java b/src/main/java/com/songoda/epicfarming/EpicFarming.java index 916a307..cff6168 100644 --- a/src/main/java/com/songoda/epicfarming/EpicFarming.java +++ b/src/main/java/com/songoda/epicfarming/EpicFarming.java @@ -9,12 +9,14 @@ import com.songoda.core.gui.GuiManager; import com.songoda.core.hooks.EconomyManager; import com.songoda.core.hooks.EntityStackerManager; import com.songoda.core.nms.NmsManager; -import com.songoda.core.nms.nbt.NBTCore; import com.songoda.core.nms.nbt.NBTItem; import com.songoda.core.utils.TextUtils; import com.songoda.epicfarming.boost.BoostData; import com.songoda.epicfarming.boost.BoostManager; -import com.songoda.epicfarming.commands.*; +import com.songoda.epicfarming.commands.CommandBoost; +import com.songoda.epicfarming.commands.CommandGiveFarmItem; +import com.songoda.epicfarming.commands.CommandReload; +import com.songoda.epicfarming.commands.CommandSettings; import com.songoda.epicfarming.farming.Farm; import com.songoda.epicfarming.farming.FarmManager; import com.songoda.epicfarming.farming.FarmType; @@ -24,7 +26,11 @@ import com.songoda.epicfarming.farming.levels.modules.Module; import com.songoda.epicfarming.farming.levels.modules.ModuleAutoBreeding; import com.songoda.epicfarming.farming.levels.modules.ModuleAutoButcher; import com.songoda.epicfarming.farming.levels.modules.ModuleAutoCollect; -import com.songoda.epicfarming.listeners.*; +import com.songoda.epicfarming.listeners.BlockListeners; +import com.songoda.epicfarming.listeners.EntityListeners; +import com.songoda.epicfarming.listeners.InteractListeners; +import com.songoda.epicfarming.listeners.InventoryListeners; +import com.songoda.epicfarming.listeners.UnloadListeners; import com.songoda.epicfarming.settings.Settings; import com.songoda.epicfarming.storage.Storage; import com.songoda.epicfarming.storage.StorageRow; @@ -45,7 +51,11 @@ import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.plugin.PluginManager; import java.io.File; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.List; +import java.util.UUID; /** * Created by songoda on 1/23/2018. @@ -154,6 +164,7 @@ public class EpicFarming extends SongodaPlugin { // Start auto save Bukkit.getScheduler().scheduleSyncRepeatingTask(this, this::saveToFile, 6000, 6000); } + @Override public void onDataLoad() { if (storage.containsGroup("farms")) { diff --git a/src/main/java/com/songoda/epicfarming/commands/CommandBoost.java b/src/main/java/com/songoda/epicfarming/commands/CommandBoost.java index db0af61..0f446b6 100644 --- a/src/main/java/com/songoda/epicfarming/commands/CommandBoost.java +++ b/src/main/java/com/songoda/epicfarming/commands/CommandBoost.java @@ -50,9 +50,9 @@ public class CommandBoost extends AbstractCommand { } BoostData boostData = new BoostData(Integer.parseInt(args[1]), duration == 0L ? Long.MAX_VALUE : System.currentTimeMillis() + duration, player.getUniqueId()); - instance.getBoostManager().addBoostToPlayer(boostData); - instance.getLocale().newMessage("&7Successfully boosted &6" + Bukkit.getPlayer(args[0]).getName() - + "'s &7farms by &6" + args[1] + "x" + (duration == 0L ? "" : (" for " + Methods.makeReadable(duration))) + "&7.").sendPrefixedMessage(sender); + instance.getBoostManager().addBoostToPlayer(boostData); + instance.getLocale().newMessage("&7Successfully boosted &6" + Bukkit.getPlayer(args[0]).getName() + + "'s &7farms by &6" + args[1] + "x" + (duration == 0L ? "" : (" for " + Methods.makeReadable(duration))) + "&7.").sendPrefixedMessage(sender); return ReturnType.SUCCESS; } diff --git a/src/main/java/com/songoda/epicfarming/farming/Farm.java b/src/main/java/com/songoda/epicfarming/farming/Farm.java index 31f938e..c76b754 100644 --- a/src/main/java/com/songoda/epicfarming/farming/Farm.java +++ b/src/main/java/com/songoda/epicfarming/farming/Farm.java @@ -17,7 +17,13 @@ import org.bukkit.block.BlockFace; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; +import java.util.UUID; public class Farm { diff --git a/src/main/java/com/songoda/epicfarming/farming/levels/LevelManager.java b/src/main/java/com/songoda/epicfarming/farming/levels/LevelManager.java index 6611ed7..8cc2b4f 100644 --- a/src/main/java/com/songoda/epicfarming/farming/levels/LevelManager.java +++ b/src/main/java/com/songoda/epicfarming/farming/levels/LevelManager.java @@ -2,7 +2,11 @@ package com.songoda.epicfarming.farming.levels; import com.songoda.epicfarming.farming.levels.modules.Module; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Map; +import java.util.NavigableMap; +import java.util.TreeMap; public class LevelManager { diff --git a/src/main/java/com/songoda/epicfarming/farming/levels/modules/ModuleAutoBreeding.java b/src/main/java/com/songoda/epicfarming/farming/levels/modules/ModuleAutoBreeding.java index 64ede40..f774d1d 100644 --- a/src/main/java/com/songoda/epicfarming/farming/levels/modules/ModuleAutoBreeding.java +++ b/src/main/java/com/songoda/epicfarming/farming/levels/modules/ModuleAutoBreeding.java @@ -13,12 +13,20 @@ import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.block.Block; -import org.bukkit.entity.*; +import org.bukkit.entity.Ageable; +import org.bukkit.entity.Entity; +import org.bukkit.entity.EntityType; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.bukkit.inventory.ItemStack; import org.bukkit.metadata.FixedMetadataValue; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; public class ModuleAutoBreeding extends Module { diff --git a/src/main/java/com/songoda/epicfarming/farming/levels/modules/ModuleAutoCollect.java b/src/main/java/com/songoda/epicfarming/farming/levels/modules/ModuleAutoCollect.java index 8772036..41c2656 100644 --- a/src/main/java/com/songoda/epicfarming/farming/levels/modules/ModuleAutoCollect.java +++ b/src/main/java/com/songoda/epicfarming/farming/levels/modules/ModuleAutoCollect.java @@ -13,12 +13,23 @@ import org.bukkit.Bukkit; import org.bukkit.Material; import org.bukkit.Sound; import org.bukkit.block.Block; -import org.bukkit.entity.*; +import org.bukkit.entity.Ageable; +import org.bukkit.entity.Chicken; +import org.bukkit.entity.Entity; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Player; +import org.bukkit.entity.Sheep; import org.bukkit.event.inventory.ClickType; import org.bukkit.inventory.ItemStack; import org.bukkit.material.Wool; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; public class ModuleAutoCollect extends Module { @@ -86,7 +97,7 @@ public class ModuleAutoCollect extends Module { if (!isEnabled(farm)) { ticksLived.remove(entity); Bukkit.getScheduler().runTask(plugin, () -> - entity.getLocation().getWorld().dropItemNaturally(entity.getLocation(), new ItemStack(Material.EGG))); + entity.getLocation().getWorld().dropItemNaturally(entity.getLocation(), new ItemStack(Material.EGG))); } else { doLivestockDrop(farm, new ItemStack(Material.EGG, 1)); } @@ -100,7 +111,7 @@ public class ModuleAutoCollect extends Module { ItemStack wool = woolColor.toItemStack((int) Math.round(1 + (Math.random() * 3))); if (!isEnabled(farm)) { Bukkit.getScheduler().runTask(plugin, () -> - entity.getLocation().getWorld().dropItemNaturally(entity.getLocation(), wool)); + entity.getLocation().getWorld().dropItemNaturally(entity.getLocation(), wool)); } else { doLivestockDrop(farm, wool); } diff --git a/src/main/java/com/songoda/epicfarming/gui/OverviewGui.java b/src/main/java/com/songoda/epicfarming/gui/OverviewGui.java index 7953760..052dc55 100644 --- a/src/main/java/com/songoda/epicfarming/gui/OverviewGui.java +++ b/src/main/java/com/songoda/epicfarming/gui/OverviewGui.java @@ -18,7 +18,11 @@ import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; public class OverviewGui extends Gui { diff --git a/src/main/java/com/songoda/epicfarming/listeners/BlockListeners.java b/src/main/java/com/songoda/epicfarming/listeners/BlockListeners.java index 71b5fd7..52fb951 100644 --- a/src/main/java/com/songoda/epicfarming/listeners/BlockListeners.java +++ b/src/main/java/com/songoda/epicfarming/listeners/BlockListeners.java @@ -3,10 +3,7 @@ package com.songoda.epicfarming.listeners; import com.songoda.core.compatibility.CompatibleMaterial; import com.songoda.epicfarming.EpicFarming; import com.songoda.epicfarming.farming.Farm; -import com.songoda.epicfarming.farming.FarmManager; import com.songoda.epicfarming.farming.FarmType; -import com.songoda.epicfarming.farming.levels.Level; -import com.songoda.epicfarming.farming.levels.modules.ModuleAutoCollect; import com.songoda.epicfarming.settings.Settings; import com.songoda.epicfarming.tasks.FarmTask; import org.bukkit.Bukkit; @@ -17,7 +14,12 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; -import org.bukkit.event.block.*; +import org.bukkit.event.block.BlockBreakEvent; +import org.bukkit.event.block.BlockExplodeEvent; +import org.bukkit.event.block.BlockFadeEvent; +import org.bukkit.event.block.BlockFromToEvent; +import org.bukkit.event.block.BlockGrowEvent; +import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.permissions.PermissionAttachmentInfo; diff --git a/src/main/java/com/songoda/epicfarming/listeners/EntityListeners.java b/src/main/java/com/songoda/epicfarming/listeners/EntityListeners.java index e7705ba..6aca347 100644 --- a/src/main/java/com/songoda/epicfarming/listeners/EntityListeners.java +++ b/src/main/java/com/songoda/epicfarming/listeners/EntityListeners.java @@ -11,7 +11,11 @@ import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; -import org.bukkit.entity.*; +import org.bukkit.entity.Chicken; +import org.bukkit.entity.Entity; +import org.bukkit.entity.Item; +import org.bukkit.entity.LivingEntity; +import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; diff --git a/src/main/java/com/songoda/epicfarming/storage/StorageItem.java b/src/main/java/com/songoda/epicfarming/storage/StorageItem.java index 44c1972..7ebad15 100644 --- a/src/main/java/com/songoda/epicfarming/storage/StorageItem.java +++ b/src/main/java/com/songoda/epicfarming/storage/StorageItem.java @@ -40,17 +40,17 @@ public class StorageItem { public String asString() { if (object == null) return null; - return (String)object; + return (String) object; } public boolean asBoolean() { if (object == null) return false; - return (boolean)object; + return (boolean) object; } public int asInt() { if (object == null) return 0; - return (int)object; + return (int) object; } public Object asObject() { @@ -61,7 +61,7 @@ public class StorageItem { List list = new ArrayList<>(); if (object == null) return list; String obj = (String) object; - if (obj.equals("[]"))return list; + if (obj.equals("[]")) return list; List sers = new ArrayList<>(Arrays.asList(obj.split(";;"))); for (String ser : sers) { list.add(Serializers.deserialize(ser)); diff --git a/src/main/java/com/songoda/epicfarming/storage/types/StorageYaml.java b/src/main/java/com/songoda/epicfarming/storage/types/StorageYaml.java index 3a4844d..7e6cab4 100644 --- a/src/main/java/com/songoda/epicfarming/storage/types/StorageYaml.java +++ b/src/main/java/com/songoda/epicfarming/storage/types/StorageYaml.java @@ -7,8 +7,19 @@ import com.songoda.epicfarming.storage.StorageRow; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.configuration.MemorySection; -import java.io.*; -import java.util.*; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.ArrayDeque; +import java.util.ArrayList; +import java.util.Deque; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; public class StorageYaml extends Storage { diff --git a/src/main/java/com/songoda/epicfarming/tasks/FarmTask.java b/src/main/java/com/songoda/epicfarming/tasks/FarmTask.java index a72eff0..a1a9517 100644 --- a/src/main/java/com/songoda/epicfarming/tasks/FarmTask.java +++ b/src/main/java/com/songoda/epicfarming/tasks/FarmTask.java @@ -16,7 +16,13 @@ import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Player; import org.bukkit.scheduler.BukkitRunnable; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.UUID; import java.util.stream.Collectors; public class FarmTask extends BukkitRunnable { diff --git a/src/main/java/com/songoda/epicfarming/tasks/GrowthTask.java b/src/main/java/com/songoda/epicfarming/tasks/GrowthTask.java index c1fd503..24b7cd7 100644 --- a/src/main/java/com/songoda/epicfarming/tasks/GrowthTask.java +++ b/src/main/java/com/songoda/epicfarming/tasks/GrowthTask.java @@ -10,7 +10,11 @@ import com.songoda.epicfarming.utils.CropType; import org.bukkit.Location; import org.bukkit.scheduler.BukkitRunnable; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Random; public class GrowthTask extends BukkitRunnable { diff --git a/src/main/java/com/songoda/epicfarming/utils/CachedChunk.java b/src/main/java/com/songoda/epicfarming/utils/CachedChunk.java index 9504a33..c78f4e6 100644 --- a/src/main/java/com/songoda/epicfarming/utils/CachedChunk.java +++ b/src/main/java/com/songoda/epicfarming/utils/CachedChunk.java @@ -19,7 +19,7 @@ public class CachedChunk { } public CachedChunk(Location location) { - this(location.getWorld().getName(), (int)location.getX() >> 4, (int)location.getZ() >> 4); + this(location.getWorld().getName(), (int) location.getX() >> 4, (int) location.getZ() >> 4); } public CachedChunk(String world, int x, int z) { diff --git a/src/main/java/com/songoda/epicfarming/utils/EntityUtils.java b/src/main/java/com/songoda/epicfarming/utils/EntityUtils.java index 9d3f161..dba5344 100644 --- a/src/main/java/com/songoda/epicfarming/utils/EntityUtils.java +++ b/src/main/java/com/songoda/epicfarming/utils/EntityUtils.java @@ -5,7 +5,12 @@ import org.bukkit.World; import org.bukkit.entity.Entity; import org.bukkit.entity.LivingEntity; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; public class EntityUtils { diff --git a/src/main/java/com/songoda/epicfarming/utils/Methods.java b/src/main/java/com/songoda/epicfarming/utils/Methods.java index e1554d8..de26e85 100644 --- a/src/main/java/com/songoda/epicfarming/utils/Methods.java +++ b/src/main/java/com/songoda/epicfarming/utils/Methods.java @@ -1,6 +1,5 @@ package com.songoda.epicfarming.utils; -import com.songoda.core.utils.TextUtils; import com.songoda.epicfarming.EpicFarming; import com.songoda.epicfarming.settings.Settings; import org.bukkit.Bukkit; diff --git a/src/main/java/com/songoda/epicfarming/utils/Serializers.java b/src/main/java/com/songoda/epicfarming/utils/Serializers.java index ff53c45..9ac3538 100644 --- a/src/main/java/com/songoda/epicfarming/utils/Serializers.java +++ b/src/main/java/com/songoda/epicfarming/utils/Serializers.java @@ -10,41 +10,40 @@ import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.inventory.meta.LeatherArmorMeta; import org.bukkit.inventory.meta.SkullMeta; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; public class Serializers { - public static String serialize(ItemStack item){ + public static String serialize(ItemStack item) { StringBuilder builder = new StringBuilder(); builder.append(item.getType().toString()); - if(item.getDurability() != 0) builder.append(":" + item.getDurability()); + if (item.getDurability() != 0) builder.append(":" + item.getDurability()); builder.append(" " + item.getAmount()); - for(Enchantment enchant:item.getEnchantments().keySet()) + for (Enchantment enchant : item.getEnchantments().keySet()) builder.append(" " + enchant.getName() + ":" + item.getEnchantments().get(enchant)); String name = getName(item); - if(name != null) builder.append(" name:" + name); + if (name != null) builder.append(" name:" + name); String lore = getLore(item); - if(lore != null) builder.append(" lore:" + lore); + if (lore != null) builder.append(" lore:" + lore); Color color = getArmorColor(item); - if(color != null) builder.append(" rgb:" + color.getRed() + "|" + color.getGreen() + "|" + color.getBlue()); + if (color != null) builder.append(" rgb:" + color.getRed() + "|" + color.getGreen() + "|" + color.getBlue()); String owner = getOwner(item); - if(owner != null) builder.append(" owner:" + owner); + if (owner != null) builder.append(" owner:" + owner); return builder.toString(); } - public static ItemStack deserialize(String serializedItem){ + + public static ItemStack deserialize(String serializedItem) { String[] strings = serializedItem.split(" "); Map enchants = new HashMap(); String[] args; ItemStack item = new ItemStack(Material.AIR); - for (String str: strings) { + for (String str : strings) { args = str.split(":"); - if(Material.matchMaterial(args[0]) != null && item.getType() == Material.AIR){ + if (Material.matchMaterial(args[0]) != null && item.getType() == Material.AIR) { item.setType(Material.matchMaterial(args[0])); - if(args.length == 2) item.setDurability(Short.parseShort(args[1])); + if (args.length == 2) item.setDurability(Short.parseShort(args[1])); break; } } @@ -52,27 +51,27 @@ public class Serializers { Bukkit.getLogger().info("Could not find a valid material for the item in \"" + serializedItem + "\""); return null; } - for(String str:strings){ + for (String str : strings) { args = str.split(":", 2); - if(isNumber(args[0])) item.setAmount(Integer.parseInt(args[0])); - if(args.length == 1) continue; - if(args[0].equalsIgnoreCase("name:")){ + if (isNumber(args[0])) item.setAmount(Integer.parseInt(args[0])); + if (args.length == 1) continue; + if (args[0].equalsIgnoreCase("name:")) { setName(item, ChatColor.translateAlternateColorCodes('&', args[1])); continue; } - if(args[0].equalsIgnoreCase("lore:")){ + if (args[0].equalsIgnoreCase("lore:")) { setLore(item, ChatColor.translateAlternateColorCodes('&', args[1])); continue; } - if(args[0].equalsIgnoreCase("rgb:")){ + if (args[0].equalsIgnoreCase("rgb:")) { setArmorColor(item, args[1]); continue; } - if(args[0].equalsIgnoreCase("owner:")){ + if (args[0].equalsIgnoreCase("owner:")) { setOwner(item, args[1]); continue; } - if(Enchantment.getByName(args[0].toUpperCase()) != null){ + if (Enchantment.getByName(args[0].toUpperCase()) != null) { enchants.put(Enchantment.getByName(args[0].toUpperCase()), Integer.parseInt(args[1])); continue; } @@ -80,52 +79,60 @@ public class Serializers { item.addUnsafeEnchantments(enchants); return item.getType().equals(Material.AIR) ? null : item; } - private static String getOwner(ItemStack item){ - if(!(item.getItemMeta() instanceof SkullMeta)) return null; - return ((SkullMeta)item.getItemMeta()).getOwner(); + + private static String getOwner(ItemStack item) { + if (!(item.getItemMeta() instanceof SkullMeta)) return null; + return ((SkullMeta) item.getItemMeta()).getOwner(); } - private static void setOwner(ItemStack item, String owner){ - try{ + + private static void setOwner(ItemStack item, String owner) { + try { SkullMeta meta = (SkullMeta) item.getItemMeta(); meta.setOwner(owner); item.setItemMeta(meta); - }catch(Exception exception){ + } catch (Exception exception) { return; } } - private static String getName(ItemStack item){ - if(!item.hasItemMeta()) return null; - if(!item.getItemMeta().hasDisplayName()) return null; + + private static String getName(ItemStack item) { + if (!item.hasItemMeta()) return null; + if (!item.getItemMeta().hasDisplayName()) return null; return item.getItemMeta().getDisplayName().replace(" ", "_").replace(ChatColor.COLOR_CHAR, '&'); } - private static void setName(ItemStack item, String name){ + + private static void setName(ItemStack item, String name) { name = name.replace("_", " "); ItemMeta meta = item.getItemMeta(); meta.setDisplayName(name); item.setItemMeta(meta); } - private static String getLore(ItemStack item){ - if(!item.hasItemMeta()) return null; - if(!item.getItemMeta().hasLore()) return null; + + private static String getLore(ItemStack item) { + if (!item.hasItemMeta()) return null; + if (!item.getItemMeta().hasLore()) return null; StringBuilder builder = new StringBuilder(); List lore = item.getItemMeta().getLore(); - for(int ind = 0;ind 0 ? "|" : "") + lore.get(ind).replace(" ", "_").replace(ChatColor.COLOR_CHAR, '&')); } return builder.toString(); } - private static void setLore(ItemStack item, String lore){ + + private static void setLore(ItemStack item, String lore) { lore = lore.replace("_", " "); ItemMeta meta = item.getItemMeta(); meta.setLore(Arrays.asList(lore.split("\\|"))); item.setItemMeta(meta); } - private static Color getArmorColor(ItemStack item){ - if(!(item.getItemMeta() instanceof LeatherArmorMeta)) return null; - return ((LeatherArmorMeta)item.getItemMeta()).getColor(); + + private static Color getArmorColor(ItemStack item) { + if (!(item.getItemMeta() instanceof LeatherArmorMeta)) return null; + return ((LeatherArmorMeta) item.getItemMeta()).getColor(); } - private static void setArmorColor(ItemStack item, String str){ - try{ + + private static void setArmorColor(ItemStack item, String str) { + try { String[] colors = str.split("\\|"); int red = Integer.parseInt(colors[0]); int green = Integer.parseInt(colors[1]); @@ -133,14 +140,15 @@ public class Serializers { LeatherArmorMeta meta = (LeatherArmorMeta) item.getItemMeta(); meta.setColor(Color.fromRGB(red, green, blue)); item.setItemMeta(meta); - }catch(Exception exception){ + } catch (Exception exception) { return; } } - private static boolean isNumber(String str){ - try{ + + private static boolean isNumber(String str) { + try { Integer.parseInt(str); - }catch(NumberFormatException exception){ + } catch (NumberFormatException exception) { return false; } return true; From 1a346e8d1cf388bcb475fb2a9c78a7558043c1d7 Mon Sep 17 00:00:00 2001 From: Brianna Date: Wed, 9 Sep 2020 10:08:29 -0500 Subject: [PATCH 3/6] Cleaned up commands. --- .../epicfarming/commands/CommandBoost.java | 18 ++++++------ .../commands/CommandGiveFarmItem.java | 28 +++++++++---------- .../epicfarming/commands/CommandReload.java | 12 ++++---- .../epicfarming/commands/CommandSettings.java | 10 +++---- 4 files changed, 34 insertions(+), 34 deletions(-) diff --git a/src/main/java/com/songoda/epicfarming/commands/CommandBoost.java b/src/main/java/com/songoda/epicfarming/commands/CommandBoost.java index 0f446b6..ef9ee70 100644 --- a/src/main/java/com/songoda/epicfarming/commands/CommandBoost.java +++ b/src/main/java/com/songoda/epicfarming/commands/CommandBoost.java @@ -14,21 +14,21 @@ import java.util.List; public class CommandBoost extends AbstractCommand { - final EpicFarming instance; + private final EpicFarming plugin; - public CommandBoost(EpicFarming instance) { - super(false, "boost"); - this.instance = instance; + public CommandBoost(EpicFarming plugin) { + super(CommandType.CONSOLE_OK, "boost"); + this.plugin = plugin; } @Override protected ReturnType runCommand(CommandSender sender, String... args) { if (args.length < 2) { - instance.getLocale().newMessage("&7Syntax error...").sendPrefixedMessage(sender); + plugin.getLocale().newMessage("&7Syntax error...").sendPrefixedMessage(sender); return ReturnType.SYNTAX_ERROR; } if (!Methods.isInt(args[1])) { - instance.getLocale().newMessage("&6" + args[1] + " &7is not a number...").sendPrefixedMessage(sender); + plugin.getLocale().newMessage("&6" + args[1] + " &7is not a number...").sendPrefixedMessage(sender); return ReturnType.SYNTAX_ERROR; } @@ -45,13 +45,13 @@ public class CommandBoost extends AbstractCommand { Player player = Bukkit.getPlayer(args[0]); if (player == null) { - instance.getLocale().newMessage("&cThat player does not exist or is not online...").sendPrefixedMessage(sender); + plugin.getLocale().newMessage("&cThat player does not exist or is not online...").sendPrefixedMessage(sender); return ReturnType.FAILURE; } BoostData boostData = new BoostData(Integer.parseInt(args[1]), duration == 0L ? Long.MAX_VALUE : System.currentTimeMillis() + duration, player.getUniqueId()); - instance.getBoostManager().addBoostToPlayer(boostData); - instance.getLocale().newMessage("&7Successfully boosted &6" + Bukkit.getPlayer(args[0]).getName() + plugin.getBoostManager().addBoostToPlayer(boostData); + plugin.getLocale().newMessage("&7Successfully boosted &6" + Bukkit.getPlayer(args[0]).getName() + "'s &7farms by &6" + args[1] + "x" + (duration == 0L ? "" : (" for " + Methods.makeReadable(duration))) + "&7.").sendPrefixedMessage(sender); return ReturnType.SUCCESS; } diff --git a/src/main/java/com/songoda/epicfarming/commands/CommandGiveFarmItem.java b/src/main/java/com/songoda/epicfarming/commands/CommandGiveFarmItem.java index d0ac957..503f6fe 100644 --- a/src/main/java/com/songoda/epicfarming/commands/CommandGiveFarmItem.java +++ b/src/main/java/com/songoda/epicfarming/commands/CommandGiveFarmItem.java @@ -13,25 +13,25 @@ import java.util.List; public class CommandGiveFarmItem extends AbstractCommand { - final EpicFarming instance; + private final EpicFarming plugin; - public CommandGiveFarmItem(EpicFarming instance) { - super(false, "givefarmitem"); - this.instance = instance; + public CommandGiveFarmItem(EpicFarming plugin) { + super(CommandType.CONSOLE_OK, "givefarmitem"); + this.plugin = plugin; } @Override protected ReturnType runCommand(CommandSender sender, String... args) { if (args.length == 1) return ReturnType.SYNTAX_ERROR; - Level level = instance.getLevelManager().getLowestLevel(); + Level level = plugin.getLevelManager().getLowestLevel(); Player player; if (args.length != 0 && Bukkit.getPlayer(args[0]) == null) { - instance.getLocale().newMessage("&cThat player does not exist or is currently offline.").sendPrefixedMessage(sender); + plugin.getLocale().newMessage("&cThat player does not exist or is currently offline.").sendPrefixedMessage(sender); return ReturnType.FAILURE; } else if (args.length == 0) { if (!(sender instanceof Player)) { - instance.getLocale().newMessage("&cYou need to be a player to give a farm item to yourself.").sendPrefixedMessage(sender); + plugin.getLocale().newMessage("&cYou need to be a player to give a farm item to yourself.").sendPrefixedMessage(sender); return ReturnType.FAILURE; } player = (Player) sender; @@ -40,17 +40,17 @@ public class CommandGiveFarmItem extends AbstractCommand { } - if (args.length >= 2 && !instance.getLevelManager().isLevel(Integer.parseInt(args[1]))) { - instance.getLocale().newMessage("&cNot a valid level... The current valid levels are: &4" - + instance.getLevelManager().getLowestLevel().getLevel() + "-" - + instance.getLevelManager().getHighestLevel().getLevel() + "&c.").sendPrefixedMessage(sender); + if (args.length >= 2 && !plugin.getLevelManager().isLevel(Integer.parseInt(args[1]))) { + plugin.getLocale().newMessage("&cNot a valid level... The current valid levels are: &4" + + plugin.getLevelManager().getLowestLevel().getLevel() + "-" + + plugin.getLevelManager().getHighestLevel().getLevel() + "&c.").sendPrefixedMessage(sender); return ReturnType.FAILURE; } else if (args.length != 0) { - level = instance.getLevelManager().getLevel(Integer.parseInt(args[1])); + level = plugin.getLevelManager().getLevel(Integer.parseInt(args[1])); } - player.getInventory().addItem(instance.makeFarmItem(level)); - instance.getLocale().getMessage("command.give.success") + player.getInventory().addItem(plugin.makeFarmItem(level)); + plugin.getLocale().getMessage("command.give.success") .processPlaceholder("level", level.getLevel()).sendPrefixedMessage(player); return ReturnType.SUCCESS; diff --git a/src/main/java/com/songoda/epicfarming/commands/CommandReload.java b/src/main/java/com/songoda/epicfarming/commands/CommandReload.java index 8186860..51b2a60 100644 --- a/src/main/java/com/songoda/epicfarming/commands/CommandReload.java +++ b/src/main/java/com/songoda/epicfarming/commands/CommandReload.java @@ -8,17 +8,17 @@ import java.util.List; public class CommandReload extends AbstractCommand { - final EpicFarming instance; + private final EpicFarming plugin; - public CommandReload(EpicFarming instance) { - super(false, "reload"); - this.instance = instance; + public CommandReload(EpicFarming plugin) { + super(CommandType.CONSOLE_OK, "reload"); + this.plugin = plugin; } @Override protected ReturnType runCommand(CommandSender sender, String... args) { - instance.reloadConfig(); - instance.getLocale().getMessage("&7Configuration and Language files reloaded.").sendPrefixedMessage(sender); + plugin.reloadConfig(); + plugin.getLocale().getMessage("&7Configuration and Language files reloaded.").sendPrefixedMessage(sender); return AbstractCommand.ReturnType.SUCCESS; } diff --git a/src/main/java/com/songoda/epicfarming/commands/CommandSettings.java b/src/main/java/com/songoda/epicfarming/commands/CommandSettings.java index 1b52b2c..08bcaca 100644 --- a/src/main/java/com/songoda/epicfarming/commands/CommandSettings.java +++ b/src/main/java/com/songoda/epicfarming/commands/CommandSettings.java @@ -10,16 +10,16 @@ import java.util.List; public class CommandSettings extends AbstractCommand { - final EpicFarming instance; + private final EpicFarming plugin; - public CommandSettings(EpicFarming instance) { - super(true, "settings"); - this.instance = instance; + public CommandSettings(EpicFarming plugin) { + super(CommandType.PLAYER_ONLY, "settings"); + this.plugin = plugin; } @Override protected ReturnType runCommand(CommandSender sender, String... args) { - instance.getGuiManager().showGUI((Player) sender, new PluginConfigGui(instance)); + plugin.getGuiManager().showGUI((Player) sender, new PluginConfigGui(plugin)); return ReturnType.SUCCESS; } From 5aa19e2f3d73dbdfa5d24341921bac1372e87b38 Mon Sep 17 00:00:00 2001 From: Brianna Date: Wed, 9 Sep 2020 10:10:05 -0500 Subject: [PATCH 4/6] Cleaned up listeners. --- .../epicfarming/listeners/BlockListeners.java | 38 +++++++++---------- .../listeners/EntityListeners.java | 14 +++---- .../listeners/InteractListeners.java | 12 +++--- .../listeners/InventoryListeners.java | 1 - .../listeners/UnloadListeners.java | 10 ++--- 5 files changed, 37 insertions(+), 38 deletions(-) diff --git a/src/main/java/com/songoda/epicfarming/listeners/BlockListeners.java b/src/main/java/com/songoda/epicfarming/listeners/BlockListeners.java index 52fb951..72878a8 100644 --- a/src/main/java/com/songoda/epicfarming/listeners/BlockListeners.java +++ b/src/main/java/com/songoda/epicfarming/listeners/BlockListeners.java @@ -29,22 +29,22 @@ import org.bukkit.permissions.PermissionAttachmentInfo; @SuppressWarnings("Duplicates") public class BlockListeners implements Listener { - private final EpicFarming instance; + private final EpicFarming plugin; - public BlockListeners(EpicFarming instance) { - this.instance = instance; + public BlockListeners(EpicFarming plugin) { + this.plugin = plugin; } @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onBlockFade(BlockFadeEvent e) { - Farm farm = instance.getFarmManager().checkForFarm(e.getBlock().getLocation()); + Farm farm = plugin.getFarmManager().checkForFarm(e.getBlock().getLocation()); if (farm != null && farm.getFarmType() != FarmType.LIVESTOCK) e.setCancelled(true); } @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onGrow(BlockGrowEvent e) { - Farm farm = instance.getFarmManager().checkForFarm(e.getBlock().getLocation()); + Farm farm = plugin.getFarmManager().checkForFarm(e.getBlock().getLocation()); if (farm != null && farm.getFarmType() != FarmType.LIVESTOCK) e.setCancelled(true); } @@ -65,13 +65,13 @@ public class BlockListeners implements Listener { Material farmBlock = Settings.FARM_BLOCK_MATERIAL.getMaterial(CompatibleMaterial.END_ROD).getBlockMaterial(); if (e.getPlayer().getItemInHand().getType() != farmBlock - || instance.getLevelFromItem(e.getItemInHand()) == 0 && !Settings.NON_COMMAND_FARMS.getBoolean()) + || plugin.getLevelFromItem(e.getItemInHand()) == 0 && !Settings.NON_COMMAND_FARMS.getBoolean()) return; if (e.getBlockAgainst().getType() == farmBlock) e.setCancelled(true); int amt = 0; - for (Farm farmm : instance.getFarmManager().getFarms().values()) { + for (Farm farmm : plugin.getFarmManager().getFarms().values()) { if (farmm.getPlacedBy() == null || !farmm.getPlacedBy().equals(e.getPlayer().getUniqueId())) continue; amt++; } @@ -79,23 +79,23 @@ public class BlockListeners implements Listener { if (limit != -1 && amt >= limit) { e.setCancelled(true); - instance.getLocale().getMessage("event.limit.hit") + plugin.getLocale().getMessage("event.limit.hit") .processPlaceholder("limit", limit).sendPrefixedMessage(e.getPlayer()); return; } Location location = e.getBlock().getLocation(); if (e.getBlockPlaced().getType().equals(Material.MELON_SEEDS) || e.getBlockPlaced().getType().equals(Material.PUMPKIN_SEEDS)) { - if (instance.getFarmManager().checkForFarm(location) != null) { - instance.getLocale().getMessage("event.warning.noauto").sendPrefixedMessage(e.getPlayer()); + if (plugin.getFarmManager().checkForFarm(location) != null) { + plugin.getLocale().getMessage("event.warning.noauto").sendPrefixedMessage(e.getPlayer()); } } - int level = instance.getLevelFromItem(e.getItemInHand()); - Bukkit.getScheduler().runTaskLater(instance, () -> { + int level = plugin.getLevelFromItem(e.getItemInHand()); + Bukkit.getScheduler().runTaskLater(plugin, () -> { if (location.getBlock().getType() != farmBlock) return; - Farm farm = new Farm(location, instance.getLevelManager().getLevel(level == 0 ? 1 : level), e.getPlayer().getUniqueId()); - instance.getFarmManager().addFarm(location, farm); + Farm farm = new Farm(location, plugin.getLevelManager().getLevel(level == 0 ? 1 : level), e.getPlayer().getUniqueId()); + plugin.getFarmManager().addFarm(location, farm); farm.tillLand(); }, 1); @@ -106,7 +106,7 @@ public class BlockListeners implements Listener { if (event.getBlock().getType() != Settings.FARM_BLOCK_MATERIAL.getMaterial(CompatibleMaterial.END_ROD).getMaterial()) return; - Farm farm = instance.getFarmManager().removeFarm(event.getBlock().getLocation()); + Farm farm = plugin.getFarmManager().removeFarm(event.getBlock().getLocation()); if (farm == null) return; @@ -114,7 +114,7 @@ public class BlockListeners implements Listener { event.setCancelled(true); - ItemStack item = instance.makeFarmItem(farm.getLevel()); + ItemStack item = plugin.makeFarmItem(farm.getLevel()); Block block = event.getBlock(); @@ -131,14 +131,14 @@ public class BlockListeners implements Listener { if (event.getBlock().getType() != Settings.FARM_BLOCK_MATERIAL.getMaterial(CompatibleMaterial.END_ROD).getMaterial()) return; - Farm farm = instance.getFarmManager().removeFarm(event.getBlock().getLocation()); + Farm farm = plugin.getFarmManager().removeFarm(event.getBlock().getLocation()); if (farm == null) return; FarmTask.getCrops(farm, false); event.setCancelled(true); - ItemStack item = instance.makeFarmItem(farm.getLevel()); + ItemStack item = plugin.makeFarmItem(farm.getLevel()); Block block = event.getBlock(); @@ -153,7 +153,7 @@ public class BlockListeners implements Listener { @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true) public void onBlockFromToEventMonitor(BlockFromToEvent event) { // prevent water/lava/egg griefs - if (instance.getFarmManager().getFarm(event.getToBlock()) != null) { + if (plugin.getFarmManager().getFarm(event.getToBlock()) != null) { event.setCancelled(true); } } diff --git a/src/main/java/com/songoda/epicfarming/listeners/EntityListeners.java b/src/main/java/com/songoda/epicfarming/listeners/EntityListeners.java index 6aca347..41bd7fd 100644 --- a/src/main/java/com/songoda/epicfarming/listeners/EntityListeners.java +++ b/src/main/java/com/songoda/epicfarming/listeners/EntityListeners.java @@ -32,10 +32,10 @@ import java.util.List; public class EntityListeners implements Listener { - private final EpicFarming instance; + private final EpicFarming plugin; - public EntityListeners(EpicFarming instance) { - this.instance = instance; + public EntityListeners(EpicFarming plugin) { + this.plugin = plugin; } @EventHandler(priority = EventPriority.HIGHEST) @@ -43,7 +43,7 @@ public class EntityListeners implements Listener { LivingEntity entity = event.getEntity(); if (!entity.hasMetadata("EFA-TAGGED")) return; Location location = (Location) entity.getMetadata("EFA-TAGGED").get(0).value(); - Farm farm = instance.getFarmManager().getFarm(location); + Farm farm = plugin.getFarmManager().getFarm(location); boolean autoCollect = false; for (Module module : farm.getLevel().getRegisteredModules()) { @@ -99,7 +99,7 @@ public class EntityListeners implements Listener { if (block.getType() != Settings.FARM_BLOCK_MATERIAL.getMaterial(CompatibleMaterial.END_ROD).getMaterial()) continue; - Farm farm = instance.getFarmManager().getFarm(block.getLocation()); + Farm farm = plugin.getFarmManager().getFarm(block.getLocation()); if (farm == null) continue; toCancel.add(block); @@ -108,11 +108,11 @@ public class EntityListeners implements Listener { for (Block block : toCancel) { event.blockList().remove(block); - Farm farm = instance.getFarmManager().removeFarm(block.getLocation()); + Farm farm = plugin.getFarmManager().removeFarm(block.getLocation()); FarmTask.getCrops(farm, false); - ItemStack item = instance.makeFarmItem(farm.getLevel()); + ItemStack item = plugin.makeFarmItem(farm.getLevel()); block.setType(Material.AIR); block.getLocation().getWorld().dropItemNaturally(block.getLocation().add(.5, .5, .5), item); diff --git a/src/main/java/com/songoda/epicfarming/listeners/InteractListeners.java b/src/main/java/com/songoda/epicfarming/listeners/InteractListeners.java index 3287543..13c3922 100644 --- a/src/main/java/com/songoda/epicfarming/listeners/InteractListeners.java +++ b/src/main/java/com/songoda/epicfarming/listeners/InteractListeners.java @@ -17,10 +17,10 @@ import org.bukkit.event.player.PlayerInteractEvent; */ public class InteractListeners implements Listener { - private final EpicFarming instance; + private final EpicFarming plugin; - public InteractListeners(EpicFarming instance) { - this.instance = instance; + public InteractListeners(EpicFarming plugin) { + this.plugin = plugin; } @EventHandler(priority = EventPriority.HIGHEST) @@ -29,7 +29,7 @@ public class InteractListeners implements Listener { Location location = e.getClickedBlock().getLocation(); if (e.getItem() != null && CompatibleMaterial.getMaterial(e.getItem()) == CompatibleMaterial.BONE_MEAL - && instance.getFarmManager().checkForFarm(location) != null) + && plugin.getFarmManager().checkForFarm(location) != null) e.setCancelled(true); if (e.getClickedBlock().getType() != Settings.FARM_BLOCK_MATERIAL.getMaterial().getMaterial()) @@ -47,9 +47,9 @@ public class InteractListeners implements Listener { return; } - if (instance.getFarmManager().getFarms().containsKey(location)) { + if (plugin.getFarmManager().getFarms().containsKey(location)) { e.setCancelled(true); - instance.getFarmManager().getFarm(location).view(e.getPlayer(), false); + plugin.getFarmManager().getFarm(location).view(e.getPlayer(), false); } } } \ No newline at end of file diff --git a/src/main/java/com/songoda/epicfarming/listeners/InventoryListeners.java b/src/main/java/com/songoda/epicfarming/listeners/InventoryListeners.java index 147a4e6..c2892b9 100644 --- a/src/main/java/com/songoda/epicfarming/listeners/InventoryListeners.java +++ b/src/main/java/com/songoda/epicfarming/listeners/InventoryListeners.java @@ -17,7 +17,6 @@ public class InventoryListeners implements Listener { @EventHandler public void onInventoryClick(InventoryClickEvent event) { - Player player = (Player) event.getWhoClicked(); if (event.getCurrentItem() == null) return; if (event.getRawSlot() > event.getView().getTopInventory().getSize() - 1) return; diff --git a/src/main/java/com/songoda/epicfarming/listeners/UnloadListeners.java b/src/main/java/com/songoda/epicfarming/listeners/UnloadListeners.java index c384e3e..fce114f 100644 --- a/src/main/java/com/songoda/epicfarming/listeners/UnloadListeners.java +++ b/src/main/java/com/songoda/epicfarming/listeners/UnloadListeners.java @@ -13,21 +13,21 @@ import java.util.ArrayList; public class UnloadListeners implements Listener { - private final EpicFarming instance; + private final EpicFarming plugin; - public UnloadListeners(EpicFarming instance) { - this.instance = instance; + public UnloadListeners(EpicFarming plugin) { + this.plugin = plugin; } @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true) public void onUnload(ChunkUnloadEvent event) { Material type = Settings.FARM_BLOCK_MATERIAL.getMaterial().getMaterial(); - for (Farm farm : new ArrayList<>(instance.getFarmManager().getFarms().values())) { + for (Farm farm : new ArrayList<>(plugin.getFarmManager().getFarms().values())) { int x = farm.getLocation().getBlockX() >> 4; int z = farm.getLocation().getBlockZ() >> 4; if (event.getChunk().getX() == x && event.getChunk().getZ() == z) { if (farm.getLocation().getBlock().getType() != type) - instance.getFarmManager().removeFarm(farm.getLocation()); + plugin.getFarmManager().removeFarm(farm.getLocation()); } } } From 73042193eb9bf041c16724255a286e1719d1d1fe Mon Sep 17 00:00:00 2001 From: aurora Date: Sat, 5 Sep 2020 09:49:59 +0000 Subject: [PATCH 5/6] make growthtask syncronized --- src/main/java/com/songoda/epicfarming/tasks/GrowthTask.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/songoda/epicfarming/tasks/GrowthTask.java b/src/main/java/com/songoda/epicfarming/tasks/GrowthTask.java index 24b7cd7..be21df1 100644 --- a/src/main/java/com/songoda/epicfarming/tasks/GrowthTask.java +++ b/src/main/java/com/songoda/epicfarming/tasks/GrowthTask.java @@ -35,7 +35,7 @@ public class GrowthTask extends BukkitRunnable { } @Override - public void run() { + public synchronized void run() { List toRemove = new ArrayList<>(); for (Crop crop : liveCrops.values()) { @@ -67,12 +67,12 @@ public class GrowthTask extends BukkitRunnable { } - public void addLiveCrop(Location location, Crop crop) { + public synchronized void addLiveCrop(Location location, Crop crop) { if (!liveCrops.containsKey(location)) liveCrops.put(location, crop); } - public void removeCropByLocation(Location location) { + public synchronized void removeCropByLocation(Location location) { liveCrops.remove(location); } From 51f93d7a162fc23c4165728c2efefe34a3064135 Mon Sep 17 00:00:00 2001 From: Brianna Date: Wed, 9 Sep 2020 10:10:53 -0500 Subject: [PATCH 6/6] version 3.0.24 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 89f7d5e..662c339 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ com.songoda EpicFarming 4.0.0 - 3.0.23 + 3.0.24 clean install EpicFarming-${project.version}