General cleanup.

This commit is contained in:
Brianna 2020-09-01 13:54:43 -05:00
parent f61e9e17f7
commit 4eaebd4de2
17 changed files with 66 additions and 76 deletions

View File

@ -111,7 +111,7 @@ public class UltimateStacker extends SongodaPlugin {
new CommandGiveSpawner(this),
new CommandSpawn(this),
new CommandLootables(this),
new CommandConvert(this, guiManager)
new CommandConvert( guiManager)
);
this.lootablesManager = new LootablesManager();
@ -228,7 +228,7 @@ public class UltimateStacker extends SongodaPlugin {
entityStackManager.addStacks(entities.values());
entityStackManager.tryAndLoadColdEntities();
this.stackingTask = new StackingTask(this);
getServer().getPluginManager().registerEvents(new ChunkListeners(this), this);
getServer().getPluginManager().registerEvents(new ChunkListeners(entityStackManager), this);
});
final boolean useBlockHolo = Settings.SPAWNER_HOLOGRAMS.getBoolean();
this.dataManager.getBlocks((blocks) -> {

View File

@ -2,7 +2,6 @@ package com.songoda.ultimatestacker.commands;
import com.songoda.core.commands.AbstractCommand;
import com.songoda.core.gui.GuiManager;
import com.songoda.ultimatestacker.UltimateStacker;
import com.songoda.ultimatestacker.gui.GUIConvert;
import com.songoda.ultimatestacker.utils.Methods;
import org.bukkit.Bukkit;
@ -13,13 +12,11 @@ import java.util.List;
public class CommandConvert extends AbstractCommand {
private final UltimateStacker plugin;
private final GuiManager guiManager;
public CommandConvert(UltimateStacker plugin, GuiManager guiManager) {
public CommandConvert(GuiManager guiManager) {
super(CommandType.PLAYER_ONLY, "convert");
this.guiManager = guiManager;
this.plugin = plugin;
}
@Override

View File

@ -53,7 +53,7 @@ public class CommandGiveSpawner extends AbstractCommand {
int amt = args.length == 3 ? Integer.parseInt(args[2]) : 1;
ItemStack itemStack = Methods.getSpawnerItem(type, amt);
if (!args[0].trim().toLowerCase().equals("all")) {
if (!args[0].trim().equalsIgnoreCase("all")) {
Player player = Bukkit.getOfflinePlayer(args[0]).getPlayer();
player.getInventory().addItem(itemStack);
plugin.getLocale().getMessage("command.give.success")

View File

@ -11,7 +11,7 @@ import org.bukkit.entity.Player;
public class GUIConvertWhat extends Gui {
private Convert convertFrom = null;
private Convert convertFrom;
private boolean entities = true;
private boolean spawners = true;
@ -41,17 +41,17 @@ public class GUIConvertWhat extends Gui {
}
void toggleEntities() {
private void toggleEntities() {
entities = !entities;
this.updateItem(0, ChatColor.GRAY + "Stacked Entities", entities ? ChatColor.GREEN + "Yes" : ChatColor.RED + "No");
}
void toggleSpawners() {
private void toggleSpawners() {
spawners = !spawners;
this.updateItem(1, ChatColor.GRAY + "Stacked Spawners", spawners ? ChatColor.GREEN + "Yes" : ChatColor.RED + "No");
}
void run(Player player) {
private void run(Player player) {
if (entities) {
convertFrom.convertEntities();
UltimateStacker.getInstance().getEntityStackManager().tryAndLoadColdEntities();

View File

@ -10,21 +10,21 @@ import org.bukkit.metadata.FixedMetadataValue;
public class BreedListeners implements Listener {
private final UltimateStacker instance;
private final UltimateStacker plugin;
public BreedListeners(UltimateStacker instance) {
this.instance = instance;
public BreedListeners(UltimateStacker plugin) {
this.plugin = plugin;
}
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void onBread(EntityBreedEvent event) {
Bukkit.getScheduler().scheduleSyncDelayedTask(instance, () -> {
event.getFather().removeMetadata("breedCooldown", instance);
event.getMother().removeMetadata("breedCooldown", instance);
Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> {
event.getFather().removeMetadata("breedCooldown", plugin);
event.getMother().removeMetadata("breedCooldown", plugin);
}, 5 * 20 * 60);
event.getFather().setMetadata("breedCooldown", new FixedMetadataValue(instance, true));
event.getFather().removeMetadata("inLove", instance);
event.getMother().setMetadata("breedCooldown", new FixedMetadataValue(instance, true));
event.getMother().removeMetadata("inLove", instance);
event.getFather().setMetadata("breedCooldown", new FixedMetadataValue(plugin, true));
event.getFather().removeMetadata("inLove", plugin);
event.getMother().setMetadata("breedCooldown", new FixedMetadataValue(plugin, true));
event.getMother().removeMetadata("inLove", plugin);
}
}

View File

@ -1,6 +1,5 @@
package com.songoda.ultimatestacker.listeners;
import com.songoda.ultimatestacker.UltimateStacker;
import com.songoda.ultimatestacker.stackable.entity.EntityStackManager;
import org.bukkit.Chunk;
import org.bukkit.entity.Entity;
@ -14,8 +13,8 @@ public class ChunkListeners implements Listener {
private final EntityStackManager entityStackManager;
public ChunkListeners(UltimateStacker plugin) {
this.entityStackManager = plugin.getEntityStackManager();
public ChunkListeners(EntityStackManager entityStackManager) {
this.entityStackManager = entityStackManager;
}
@EventHandler

View File

@ -9,17 +9,17 @@ import org.bukkit.event.Listener;
public class ClearLagListeners implements Listener {
private final UltimateStacker instance;
private final UltimateStacker plugin;
public ClearLagListeners(UltimateStacker instance) {
this.instance = instance;
public ClearLagListeners(UltimateStacker plugin) {
this.plugin = plugin;
}
@EventHandler
public void onClearLaggTask(EntityRemoveEvent event) {
for (Entity entity : event.getWorld().getEntities()) {
if (entity instanceof LivingEntity && instance.getEntityStackManager().isStackedAndLoaded((LivingEntity)entity)) {
instance.getEntityStackManager().removeStack(entity);
if (entity instanceof LivingEntity && plugin.getEntityStackManager().isStackedAndLoaded((LivingEntity)entity)) {
plugin.getEntityStackManager().removeStack(entity);
event.addEntity(entity);
}
}

View File

@ -29,12 +29,12 @@ import java.util.stream.Collectors;
public class DeathListeners implements Listener {
private final UltimateStacker instance;
private Random random;
private final UltimateStacker plugin;
private final Random random;
public DeathListeners(UltimateStacker instance) {
this.instance = instance;
random = new Random();
public DeathListeners(UltimateStacker plugin) {
this.plugin = plugin;
this.random = new Random();
}
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
@ -43,7 +43,7 @@ public class DeathListeners implements Listener {
|| event.getEntityType() == EntityType.ARMOR_STAND) return;
boolean custom = Settings.CUSTOM_DROPS.getBoolean();
List<Drop> drops = custom ? instance.getLootablesManager().getDrops(event.getEntity())
List<Drop> drops = custom ? plugin.getLootablesManager().getDrops(event.getEntity())
: event.getDrops().stream().map(Drop::new).collect(Collectors.toList());
if (custom) {
@ -57,8 +57,8 @@ public class DeathListeners implements Listener {
&& !event.getEntity().getWorld().getGameRuleValue(GameRule.DO_MOB_LOOT))
drops.clear();
if (instance.getEntityStackManager().isStackedAndLoaded(event.getEntity()))
instance.getEntityStackManager().getStack(event.getEntity())
if (plugin.getEntityStackManager().isStackedAndLoaded(event.getEntity()))
plugin.getEntityStackManager().getStack(event.getEntity())
.onDeath(event.getEntity(), drops, custom, event.getDroppedExp(), event);
else
DropUtils.processStackedDrop(event.getEntity(), drops, event);
@ -70,15 +70,14 @@ public class DeathListeners implements Listener {
items.add(entity.getEquipment().getItemInHand());
if (ServerVersion.isServerVersionAtLeast(ServerVersion.V1_9))
items.add(entity.getEquipment().getItemInOffHand());
for (ItemStack item : items) {
for (ItemStack item : items)
if (item.getType() == material)
return true;
}
}
if (ServerVersion.isServerVersionAtLeast(ServerVersion.V1_11) && entity instanceof ChestedHorse) {
if (((ChestedHorse) entity).getInventory().contains(material))
return true;
}
if (ServerVersion.isServerVersionAtLeast(ServerVersion.V1_11)
&& entity instanceof ChestedHorse
&& ((ChestedHorse) entity).getInventory().contains(material))
return true;
switch (material.name()) {
case "SADDLE":
@ -118,8 +117,8 @@ public class DeathListeners implements Listener {
if (!(event.getEntity() instanceof LivingEntity)) return;
LivingEntity entity = (LivingEntity) event.getEntity();
if (!instance.getEntityStackManager().isStackedAndLoaded(entity)) return;
EntityStack stack = instance.getEntityStackManager().getStack(entity);
if (!plugin.getEntityStackManager().isStackedAndLoaded(entity)) return;
EntityStack stack = plugin.getEntityStackManager().getStack(entity);
if (Settings.KILL_WHOLE_STACK_ON_DEATH.getBoolean() && Settings.REALISTIC_DAMAGE.getBoolean()) {
Player player = (Player) event.getDamager();

View File

@ -119,8 +119,9 @@ public class InteractListeners implements Listener {
return type == Material.HAY_BLOCK;
case "TURTLE":
return type == Material.SEAGRASS;
default:
return false;
}
return false;
}
}

View File

@ -20,7 +20,7 @@ import java.util.Random;
public class ShearListeners implements Listener {
private UltimateStacker plugin;
private final UltimateStacker plugin;
public ShearListeners(UltimateStacker plugin) {
this.plugin = plugin;

View File

@ -13,7 +13,7 @@ import org.bukkit.event.entity.SheepDyeWoolEvent;
public class SheepDyeListeners implements Listener {
private UltimateStacker plugin;
private final UltimateStacker plugin;
public SheepDyeListeners(UltimateStacker plugin) {
this.plugin = plugin;

View File

@ -8,7 +8,7 @@ import com.songoda.ultimatestacker.stackable.entity.EntityStack;
import com.songoda.ultimatestacker.stackable.spawner.SpawnerStack;
import com.songoda.ultimatestacker.stackable.spawner.SpawnerStackManager;
import com.songoda.ultimatestacker.utils.Methods;
import com.songoda.ultimatestacker.utils.Reflection;
import com.songoda.ultimatestacker.utils.ReflectionUtil;
import org.bukkit.GameMode;
import org.bukkit.Material;
import org.bukkit.block.Block;
@ -92,7 +92,7 @@ public class SpawnerListeners implements Listener {
.replace("MOOSHROOM", "MUSHROOM_COW")
.replace("ZOMBIE_PIGMAN", "PIG_ZOMBIE"));
else if (ServerVersion.isServerVersionAtLeast(ServerVersion.V1_12)) {
String str = Reflection.getNBTTagCompound(Reflection.getNMSItemStack(event.getItem())).toString();
String str = ReflectionUtil.getNBTTagCompound(ReflectionUtil.getNMSItemStack(event.getItem())).toString();
if (str.contains("minecraft:"))
entityType = EntityType.fromName(str.substring(str.indexOf("minecraft:") + 10, str.indexOf("\"}")));
else

View File

@ -11,7 +11,7 @@ import org.bukkit.event.entity.EntityTameEvent;
public class TameListeners implements Listener {
private UltimateStacker plugin;
private final UltimateStacker plugin;
public TameListeners(UltimateStacker plugin) {
this.plugin = plugin;

View File

@ -14,6 +14,7 @@ import org.bukkit.event.entity.EntityPickupItemEvent;
import org.bukkit.inventory.ItemStack;
public class ItemCurrentListener implements Listener {
@EventHandler(priority = EventPriority.HIGH, ignoreCancelled = true)
public void onPickup(EntityPickupItemEvent event) {
if (!Settings.STACK_ITEMS.getBoolean() || event.getItem() instanceof Arrow) return;

View File

@ -19,10 +19,10 @@ import java.util.List;
public class ItemListeners implements Listener {
private final UltimateStacker instance;
private final UltimateStacker plugin;
public ItemListeners(UltimateStacker instance) {
this.instance = instance;
public ItemListeners(UltimateStacker plugin) {
this.plugin = plugin;
}
@EventHandler
@ -39,7 +39,7 @@ public class ItemListeners implements Listener {
event.setCancelled(true);
int specific = instance.getItemFile().getInt("Items." + itemStack.getType().name() + ".Max Stack Size");
int specific = plugin.getItemFile().getInt("Items." + itemStack.getType().name() + ".Max Stack Size");
int max;
if (UltimateStacker.isMaterialBlacklisted(itemStack))

View File

@ -6,7 +6,7 @@ import com.songoda.ultimatestacker.UltimateStacker;
import com.songoda.ultimatestacker.settings.Settings;
import com.songoda.ultimatestacker.stackable.Hologramable;
import com.songoda.ultimatestacker.utils.Methods;
import com.songoda.ultimatestacker.utils.Reflection;
import com.songoda.ultimatestacker.utils.ReflectionUtil;
import com.songoda.ultimatestacker.utils.Stackable;
import org.bukkit.Bukkit;
import org.bukkit.Location;
@ -56,7 +56,7 @@ public class SpawnerStack implements Stackable, Hologramable {
creatureSpawner.setMaxNearbyEntities(maxNearby);
creatureSpawner.setSpawnCount(count);
} else {
Reflection.updateSpawner(creatureSpawner, count, maxNearby);
ReflectionUtil.updateSpawner(creatureSpawner, count, maxNearby);
}
creatureSpawner.update();
}, 1L);

View File

@ -7,7 +7,8 @@ import org.bukkit.inventory.ItemStack;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class Reflection {
public class ReflectionUtil {
private static Class<?> clazzCraftCreatureSpawner, clazzTileEntityMobSpawner = null;
private static Method methodGetTileEntity, methodGetSpawner;
private static Field fieldSpawnount, fieldMaxNearbyEntities, fieldSpawner;
@ -68,12 +69,11 @@ public class Reflection {
}
public static Object getNMSItemStack(ItemStack item) {
@SuppressWarnings("rawtypes")
Class cis = getCraftItemStack();
java.lang.reflect.Method method;
Class<?> cis = getCraftItemStack();
java.lang.reflect.Method methodAsNMSCopy;
try {
method = cis.getMethod("asNMSCopy", ItemStack.class);
Object answer = method.invoke(cis, item);
methodAsNMSCopy = cis.getMethod("asNMSCopy", ItemStack.class);
Object answer = methodAsNMSCopy.invoke(cis, item);
return answer;
} catch (Exception e) {
// TODO Auto-generated catch block
@ -82,15 +82,12 @@ public class Reflection {
return null;
}
@SuppressWarnings({"unchecked"})
public static Object getNBTTagCompound(Object nmsitem) {
@SuppressWarnings("rawtypes")
Class c = nmsitem.getClass();
java.lang.reflect.Method method;
Class<?> c = nmsitem.getClass();
java.lang.reflect.Method methodGetTag;
try {
method = c.getMethod("getTag");
Object answer = method.invoke(nmsitem);
return answer;
methodGetTag = c.getMethod("getTag");
return methodGetTag.invoke(nmsitem);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
@ -98,14 +95,10 @@ public class Reflection {
return null;
}
@SuppressWarnings("rawtypes")
public static Class getCraftItemStack() {
public static Class<?> getCraftItemStack() {
String version = Bukkit.getServer().getClass().getPackage().getName().replace(".", ",").split(",")[3];
try {
Class c = Class.forName("org.bukkit.craftbukkit." + version + ".inventory.CraftItemStack");
//Constructor<?> cons = c.getConstructor(ItemStack.class);
//return cons.newInstance(item);
return c;
return Class.forName("org.bukkit.craftbukkit." + version + ".inventory.CraftItemStack");
} catch (Exception ex) {
System.out.println("Error in ItemNBTAPI! (Outdated plugin?)");
ex.printStackTrace();