General cleanup.
This commit is contained in:
parent
f61e9e17f7
commit
4eaebd4de2
|
@ -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) -> {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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();
|
Loading…
Reference in New Issue