diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/cargo/CargoConnector.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/cargo/CargoConnector.java index 2aee6f0b2..db9d77eea 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/cargo/CargoConnector.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/cargo/CargoConnector.java @@ -18,7 +18,6 @@ public class CargoConnector extends SimpleSlimefunItem { super(category, item, recipeType, recipe, recipeOutput); } - @Override public BlockUseHandler getItemHandler() { return e -> { diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/cargo/CargoOutputNode.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/cargo/CargoOutputNode.java index 408bc3200..fc250afd6 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/cargo/CargoOutputNode.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/cargo/CargoOutputNode.java @@ -25,9 +25,8 @@ import me.mrCookieSlime.Slimefun.api.item_transport.ItemTransportFlow; public class CargoOutputNode extends SlimefunItem { - private static final int[] border = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26}; - - + private final int[] border = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26}; + public CargoOutputNode(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe, ItemStack recipeOutput) { super(category, item, recipeType, recipe, recipeOutput); @@ -43,10 +42,12 @@ public class CargoOutputNode extends SlimefunItem { menu.replaceExistingItem(12, new CustomItem(SkullItem.fromBase64("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjI1OTliZDk4NjY1OWI4Y2UyYzQ5ODg1MjVjOTRlMTlkZGQzOWZhZDA4YTM4Mjg0YTE5N2YxYjcwNjc1YWNjIn19fQ=="), "&bChannel", "", "&e> Click to decrease the Channel ID by 1")); menu.addMenuClickHandler(12, (p, slot, item, action) -> { int channel = Integer.parseInt(BlockStorage.getLocationInfo(b.getLocation(), "frequency")) - 1; + if (channel < 0) { if (CargoNet.extraChannels) channel = 16; else channel = 15; } + BlockStorage.addBlockInfo(b, "frequency", String.valueOf(channel)); newInstance(menu, b); return false; diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/cargo/ReactorAccessPort.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/cargo/ReactorAccessPort.java index 0ff3e666c..fb4a3a520 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/cargo/ReactorAccessPort.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/cargo/ReactorAccessPort.java @@ -24,14 +24,14 @@ import me.mrCookieSlime.Slimefun.api.inventory.DirtyChestMenu; import me.mrCookieSlime.Slimefun.api.item_transport.ItemTransportFlow; public class ReactorAccessPort extends SlimefunItem { - - private static final int[] border = {0, 1, 2, 3, 4, 5, 6, 7, 8, 12, 13, 14, 21, 23}; - private static final int[] border_1 = {9, 10, 11, 18, 20, 27, 29, 36, 38, 45, 46, 47}; - private static final int[] border_2 = {15, 16, 17, 24, 26, 33, 35, 42, 44, 51, 52, 53}; - private static final int[] border_3 = {30, 31, 32, 39, 41, 48, 50}; private static final int INFO_SLOT = 49; + private final int[] background = {0, 1, 2, 3, 4, 5, 6, 7, 8, 12, 13, 14, 21, 23}; + private final int[] fuelBorder = {9, 10, 11, 18, 20, 27, 29, 36, 38, 45, 46, 47}; + private final int[] inputBorder = {15, 16, 17, 24, 26, 33, 35, 42, 44, 51, 52, 53}; + private final int[] outputBorder = {30, 31, 32, 39, 41, 48, 50}; + public ReactorAccessPort(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) { super(category, item, recipeType, recipe); @@ -119,19 +119,19 @@ public class ReactorAccessPort extends SlimefunItem { } private void constructMenu(BlockMenuPreset preset) { - for (int i : border) { + for (int i : background) { preset.addItem(i, ChestMenuUtils.getBackground(), ChestMenuUtils.getEmptyClickHandler()); } - for (int i : border_1) { + for (int i : fuelBorder) { preset.addItem(i, new CustomItem(new ItemStack(Material.LIME_STAINED_GLASS_PANE), " "), ChestMenuUtils.getEmptyClickHandler()); } - for (int i : border_2) { + for (int i : inputBorder) { preset.addItem(i, new CustomItem(new ItemStack(Material.CYAN_STAINED_GLASS_PANE), " "), ChestMenuUtils.getEmptyClickHandler()); } - for (int i : border_3) { + for (int i : outputBorder) { preset.addItem(i, new CustomItem(new ItemStack(Material.GREEN_STAINED_GLASS_PANE), " "), ChestMenuUtils.getEmptyClickHandler()); } diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/cargo/TrashCan.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/cargo/TrashCan.java index 718ae580b..03b2f54fa 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/cargo/TrashCan.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/cargo/TrashCan.java @@ -19,8 +19,8 @@ import me.mrCookieSlime.Slimefun.api.inventory.BlockMenuPreset; public class TrashCan extends SlimefunItem implements InventoryBlock { - private static final int[] BORDER = {0, 1, 2, 3, 5, 4, 6, 7, 8, 9, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26}; - private static final ItemStack BACKGROUND = new CustomItem(Material.RED_STAINED_GLASS_PANE, " "); + private final int[] border = {0, 1, 2, 3, 5, 4, 6, 7, 8, 9, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26}; + private final ItemStack background = new CustomItem(Material.RED_STAINED_GLASS_PANE, " "); public TrashCan(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) { super(category, item, recipeType, recipe); @@ -29,8 +29,8 @@ public class TrashCan extends SlimefunItem implements InventoryBlock { } private void constructMenu(BlockMenuPreset preset) { - for (int i : BORDER) { - preset.addItem(i, BACKGROUND, ChestMenuUtils.getEmptyClickHandler()); + for (int i : border) { + preset.addItem(i, background, ChestMenuUtils.getEmptyClickHandler()); } } diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/AnimalGrowthAccelerator.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/AnimalGrowthAccelerator.java index 6821da6c6..fddc4ee78 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/AnimalGrowthAccelerator.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/AnimalGrowthAccelerator.java @@ -27,9 +27,9 @@ import me.mrCookieSlime.Slimefun.api.inventory.BlockMenuPreset; public class AnimalGrowthAccelerator extends SlimefunItem implements InventoryBlock, EnergyNetComponent { - private static final int[] border = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26}; - - protected int energyConsumption = 14; + private final int[] border = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26}; + + private static final int ENERGY_CONSUMPTION = 14; public AnimalGrowthAccelerator(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) { super(category, item, recipeType, recipe); @@ -99,9 +99,9 @@ public class AnimalGrowthAccelerator extends SlimefunItem implements InventoryBl for (Entity n : b.getWorld().getNearbyEntities(b.getLocation(), 3.0, 3.0, 3.0, n -> n instanceof Ageable && n.isValid() && !((Ageable) n).isAdult())) { for (int slot : getInputSlots()) { if (SlimefunManager.isItemSimilar(inv.getItemInSlot(slot), SlimefunItems.ORGANIC_FOOD, false)) { - if (ChargableBlock.getCharge(b) < energyConsumption) return; + if (ChargableBlock.getCharge(b) < ENERGY_CONSUMPTION) return; - ChargableBlock.addCharge(b, -energyConsumption); + ChargableBlock.addCharge(b, -ENERGY_CONSUMPTION); inv.consumeItem(slot); ((Ageable) n).setAge(((Ageable) n).getAge() + 2000); diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/AutoBreeder.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/AutoBreeder.java index b987b22f2..d9fb54ebf 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/AutoBreeder.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/AutoBreeder.java @@ -27,9 +27,9 @@ import me.mrCookieSlime.Slimefun.api.inventory.BlockMenuPreset; public class AutoBreeder extends SlimefunItem implements InventoryBlock, EnergyNetComponent { - private static final int[] border = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26}; - - protected int energyConsumption = 60; + private final int[] border = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26}; + + private static final int ENERGY_CONSUMPTION = 60; public AutoBreeder(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) { super(category, item, recipeType, recipe); @@ -38,6 +38,7 @@ public class AutoBreeder extends SlimefunItem implements InventoryBlock, EnergyN registerBlockHandler(getID(), (p, b, tool, reason) -> { BlockMenu inv = BlockStorage.getInventory(b); + if (inv != null) { for (int slot : getInputSlots()) { if (inv.getItemInSlot(slot) != null) { @@ -98,9 +99,9 @@ public class AutoBreeder extends SlimefunItem implements InventoryBlock, EnergyN for (Entity n : b.getWorld().getNearbyEntities(b.getLocation(), 4.0, 2.0, 4.0, n -> n instanceof Animals && n.isValid() && ((Animals) n).isAdult() && !((Animals) n).isLoveMode())) { for (int slot : getInputSlots()) { if (SlimefunManager.isItemSimilar(inv.getItemInSlot(slot), SlimefunItems.ORGANIC_FOOD, false)) { - if (ChargableBlock.getCharge(b) < energyConsumption) return; + if (ChargableBlock.getCharge(b) < ENERGY_CONSUMPTION) return; - ChargableBlock.addCharge(b, -energyConsumption); + ChargableBlock.addCharge(b, -ENERGY_CONSUMPTION); inv.consumeItem(slot); ((Animals) n).setLoveModeTicks(600); diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/AutomatedCraftingChamber.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/AutomatedCraftingChamber.java index ace71b40d..a00b7c147 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/AutomatedCraftingChamber.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/AutomatedCraftingChamber.java @@ -38,9 +38,9 @@ import me.mrCookieSlime.Slimefun.api.item_transport.ItemTransportFlow; public abstract class AutomatedCraftingChamber extends SlimefunItem implements InventoryBlock, EnergyNetComponent { - private static final int[] border = {0, 1, 3, 4, 5, 7, 8, 13, 14, 15, 16, 17, 50, 51, 52, 53}; - private static final int[] border_in = {9, 10, 11, 12, 13, 18, 22, 27, 31, 36, 40, 45, 46, 47, 48, 49}; - private static final int[] border_out = {23, 24, 25, 26, 32, 35, 41, 42, 43, 44}; + private final int[] border = {0, 1, 3, 4, 5, 7, 8, 13, 14, 15, 16, 17, 50, 51, 52, 53}; + private final int[] inputBorder = {9, 10, 11, 12, 13, 18, 22, 27, 31, 36, 40, 45, 46, 47, 48, 49}; + private final int[] outputBorder = {23, 24, 25, 26, 32, 35, 41, 42, 43, 44}; public AutomatedCraftingChamber(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) { super(category, item, recipeType, recipe); @@ -147,11 +147,11 @@ public abstract class AutomatedCraftingChamber extends SlimefunItem implements I preset.addItem(i, new CustomItem(new ItemStack(Material.GRAY_STAINED_GLASS_PANE), " "), (p, slot, item, action) -> false); } - for (int i : border_in) { + for (int i : inputBorder) { preset.addItem(i, new CustomItem(new ItemStack(Material.BLUE_STAINED_GLASS_PANE), " "), (p, slot, item, action) -> false); } - for (int i : border_out) { + for (int i : outputBorder) { preset.addItem(i, new CustomItem(new ItemStack(Material.ORANGE_STAINED_GLASS_PANE), " "), (p, slot, item, action) -> false); } diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/ElectricSmeltery.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/ElectricSmeltery.java index 74465621a..d18cb0e53 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/ElectricSmeltery.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/ElectricSmeltery.java @@ -30,9 +30,9 @@ import me.mrCookieSlime.Slimefun.api.item_transport.ItemTransportFlow; public abstract class ElectricSmeltery extends AContainer { - private static final int[] border = {4, 5, 6, 7, 8, 13, 31, 40, 41, 42, 43, 44}; - private static final int[] border_in = {0, 1, 2, 3, 9, 12, 18, 21, 27, 30, 36, 37, 38, 39}; - private static final int[] border_out = {14, 15, 16, 17, 23, 26, 32, 33, 34, 35}; + private final int[] border = {4, 5, 6, 7, 8, 13, 31, 40, 41, 42, 43, 44}; + private final int[] inputBorder = {0, 1, 2, 3, 9, 12, 18, 21, 27, 30, 36, 37, 38, 39}; + private final int[] outputBorder = {14, 15, 16, 17, 23, 26, 32, 33, 34, 35}; public ElectricSmeltery(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) { super(category, item, recipeType, recipe); @@ -118,10 +118,12 @@ public abstract class ElectricSmeltery extends AContainer { for (int i : border) { preset.addItem(i, new CustomItem(new ItemStack(Material.GRAY_STAINED_GLASS_PANE), " "), ChestMenuUtils.getEmptyClickHandler()); } - for (int i : border_in) { + + for (int i : inputBorder) { preset.addItem(i, new CustomItem(new ItemStack(Material.CYAN_STAINED_GLASS_PANE), " "), ChestMenuUtils.getEmptyClickHandler()); } - for (int i : border_out) { + + for (int i : outputBorder) { preset.addItem(i, new CustomItem(new ItemStack(Material.ORANGE_STAINED_GLASS_PANE), " "), ChestMenuUtils.getEmptyClickHandler()); } diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/FluidPump.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/FluidPump.java index 79d30f2b7..75ce48aca 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/FluidPump.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/FluidPump.java @@ -32,11 +32,11 @@ import me.mrCookieSlime.Slimefun.api.inventory.BlockMenuPreset; public class FluidPump extends SimpleSlimefunItem implements InventoryBlock, EnergyNetComponent { - private static final int[] border = {0, 1, 2, 3, 4, 5, 6, 7, 8, 13, 31, 36, 37, 38, 39, 40, 41, 42, 43, 44, 22}; - private static final int[] border_in = {9, 10, 11, 12, 18, 21, 27, 28, 29, 30}; - private static final int[] border_out = {14, 15, 16, 17, 23, 26, 32, 33, 34, 35}; + private final int[] border = {0, 1, 2, 3, 4, 5, 6, 7, 8, 13, 31, 36, 37, 38, 39, 40, 41, 42, 43, 44, 22}; + private final int[] inputBorder = {9, 10, 11, 12, 18, 21, 27, 28, 29, 30}; + private final int[] outputBorder = {14, 15, 16, 17, 23, 26, 32, 33, 34, 35}; - protected int energyConsumption = 32; + private static final int ENERGY_CONSUMPTION = 32; public FluidPump(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) { super(category, item, recipeType, recipe); @@ -49,10 +49,10 @@ public class FluidPump extends SimpleSlimefunItem implements Invent preset.addItem(i, new CustomItem(new ItemStack(Material.GRAY_STAINED_GLASS_PANE), " "), ChestMenuUtils.getEmptyClickHandler()); } - for (int i : border_in) { + for (int i : inputBorder) { preset.addItem(i, new CustomItem(new ItemStack(Material.CYAN_STAINED_GLASS_PANE), " "), ChestMenuUtils.getEmptyClickHandler()); } - for (int i : border_out) { + for (int i : outputBorder) { preset.addItem(i, new CustomItem(new ItemStack(Material.ORANGE_STAINED_GLASS_PANE), " "), ChestMenuUtils.getEmptyClickHandler()); } @@ -103,14 +103,14 @@ public class FluidPump extends SimpleSlimefunItem implements Invent output = new ItemStack(Material.WATER_BUCKET); } - if (output != null && ChargableBlock.getCharge(b) >= energyConsumption) { + if (output != null && ChargableBlock.getCharge(b) >= ENERGY_CONSUMPTION) { BlockMenu menu = BlockStorage.getInventory(b); for (int slot : getInputSlots()) { if (SlimefunManager.isItemSimilar(menu.getItemInSlot(slot), new ItemStack(Material.BUCKET), true)) { if (!menu.fits(output, getOutputSlots())) return; - ChargableBlock.addCharge(b, -energyConsumption); + ChargableBlock.addCharge(b, -ENERGY_CONSUMPTION); menu.consumeItem(slot); menu.pushItem(output, getOutputSlots()); diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/WitherAssembler.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/WitherAssembler.java index ddf89fe54..34a119fc5 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/WitherAssembler.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/WitherAssembler.java @@ -33,12 +33,13 @@ import me.mrCookieSlime.Slimefun.api.inventory.DirtyChestMenu; import me.mrCookieSlime.Slimefun.api.item_transport.ItemTransportFlow; public class WitherAssembler extends SimpleSlimefunItem implements EnergyNetComponent { - - private static final int[] border = {0, 2, 3, 4, 5, 6, 8, 12, 14, 21, 23, 30, 32, 39, 40, 41}; - private static final int[] border_1 = {9, 10, 11, 18, 20, 27, 29, 36, 37, 38}; - private static final int[] border_2 = {15, 16, 17, 24, 26, 33, 35, 42, 43, 44}; - protected int energyConsumption = 4096; + private static final int ENERGY_CONSUMPTION = 4096; + + private final int[] border = {0, 2, 3, 4, 5, 6, 8, 12, 14, 21, 23, 30, 32, 39, 40, 41}; + private final int[] skullBorder = {9, 10, 11, 18, 20, 27, 29, 36, 37, 38}; + private final int[] sandBorder = {15, 16, 17, 24, 26, 33, 35, 42, 43, 44}; + private int lifetime = 0; public WitherAssembler(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) { @@ -140,11 +141,11 @@ public class WitherAssembler extends SimpleSlimefunItem implements preset.addItem(i, ChestMenuUtils.getBackground(), ChestMenuUtils.getEmptyClickHandler()); } - for (int i : border_1) { + for (int i : skullBorder) { preset.addItem(i, new CustomItem(Material.BLACK_STAINED_GLASS_PANE, " "), ChestMenuUtils.getEmptyClickHandler()); } - for (int i : border_2) { + for (int i : sandBorder) { preset.addItem(i, new CustomItem(Material.BROWN_STAINED_GLASS_PANE, " "), ChestMenuUtils.getEmptyClickHandler()); } @@ -184,7 +185,7 @@ public class WitherAssembler extends SimpleSlimefunItem implements if (BlockStorage.getLocationInfo(b.getLocation(), "enabled").equals("false")) return; if (lifetime % 60 == 0) { - if (ChargableBlock.getCharge(b) < energyConsumption) return; + if (ChargableBlock.getCharge(b) < ENERGY_CONSUMPTION) return; int soulsand = 0; int skulls = 0; @@ -244,7 +245,7 @@ public class WitherAssembler extends SimpleSlimefunItem implements } } - ChargableBlock.addCharge(b, -energyConsumption); + ChargableBlock.addCharge(b, -ENERGY_CONSUMPTION); double offset = Double.parseDouble(BlockStorage.getLocationInfo(b.getLocation(), "offset")); Slimefun.runSync(() -> b.getWorld().spawnEntity(new Location(b.getWorld(), b.getX() + 0.5D, b.getY() + offset, b.getZ() + 0.5D), EntityType.WITHER)); diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/XPCollector.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/XPCollector.java index 22708affd..af000c4ba 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/XPCollector.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/items/electric/machines/XPCollector.java @@ -29,9 +29,9 @@ import me.mrCookieSlime.Slimefun.api.inventory.BlockMenuPreset; public class XPCollector extends SlimefunItem implements InventoryBlock, EnergyNetComponent { - private static final int[] border = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26}; + private final int[] border = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26}; - protected int energyConsumption = 10; + private static final int ENERGY_CONSUMPTION = 10; public XPCollector(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe) { super(category, item, recipeType, recipe); @@ -110,11 +110,11 @@ public class XPCollector extends SlimefunItem implements InventoryBlock, EnergyN while (iterator.hasNext() && xp == 0) { Entity n = iterator.next(); - if (ChargableBlock.getCharge(b) < energyConsumption) return; + if (ChargableBlock.getCharge(b) < ENERGY_CONSUMPTION) return; xp = getEXP(b) + ((ExperienceOrb) n).getExperience(); - ChargableBlock.addCharge(b, -energyConsumption); + ChargableBlock.addCharge(b, -ENERGY_CONSUMPTION); n.remove(); int withdrawn = 0; diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/GearListener.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/GearListener.java index 3e60797b8..6911b4a0c 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/GearListener.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/listeners/GearListener.java @@ -1,14 +1,5 @@ package io.github.thebusybiscuit.slimefun4.implementation.listeners; -import io.github.thebusybiscuit.slimefun4.implementation.tasks.JetBootsTask; -import io.github.thebusybiscuit.slimefun4.implementation.tasks.JetpackTask; -import io.github.thebusybiscuit.slimefun4.implementation.tasks.MagnetTask; -import io.github.thebusybiscuit.slimefun4.implementation.tasks.ParachuteTask; -import me.mrCookieSlime.Slimefun.Lists.SlimefunItems; -import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem; -import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; -import me.mrCookieSlime.Slimefun.SlimefunPlugin; -import me.mrCookieSlime.Slimefun.api.Slimefun; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; @@ -20,50 +11,63 @@ import io.github.thebusybiscuit.slimefun4.implementation.tasks.JetBootsTask; import io.github.thebusybiscuit.slimefun4.implementation.tasks.JetpackTask; import io.github.thebusybiscuit.slimefun4.implementation.tasks.MagnetTask; import io.github.thebusybiscuit.slimefun4.implementation.tasks.ParachuteTask; +import me.mrCookieSlime.Slimefun.SlimefunPlugin; +import me.mrCookieSlime.Slimefun.Lists.SlimefunItems; +import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem; +import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; +import me.mrCookieSlime.Slimefun.api.Slimefun; public class GearListener implements Listener { - public GearListener(SlimefunPlugin plugin) { - plugin.getServer().getPluginManager().registerEvents(this, plugin); - } + public GearListener(SlimefunPlugin plugin) { + plugin.getServer().getPluginManager().registerEvents(this, plugin); + } - @EventHandler - public void onToggleSneak(PlayerToggleSneakEvent e) { - if (!e.isSneaking()) return; - Player p = e.getPlayer(); + @EventHandler + public void onToggleSneak(PlayerToggleSneakEvent e) { + if (e.isSneaking()) { + Player p = e.getPlayer(); - if (p.getInventory().getChestplate() != null) { - SlimefunItem chestplate = SlimefunItem.getByItem(p.getInventory().getChestplate()); - handleChestplate(p, chestplate); - } + if (p.getInventory().getChestplate() != null) { + SlimefunItem chestplate = SlimefunItem.getByItem(p.getInventory().getChestplate()); + handleChestplate(p, chestplate); + } - if (p.getInventory().getBoots() != null) { - SlimefunItem boots = SlimefunItem.getByItem(p.getInventory().getBoots()); - handleBoots(p, boots); - } + if (p.getInventory().getBoots() != null) { + SlimefunItem boots = SlimefunItem.getByItem(p.getInventory().getBoots()); + handleBoots(p, boots); + } - if (SlimefunManager.containsSimilarItem(p.getInventory(), SlimefunItems.INFUSED_MAGNET, true)) - new MagnetTask(p).scheduleRepeating(0, 8); - } + if (SlimefunManager.containsSimilarItem(p.getInventory(), SlimefunItems.INFUSED_MAGNET, true)) { + new MagnetTask(p).scheduleRepeating(0, 8); + } + } + } - private void handleChestplate(Player p, SlimefunItem chestplate) { - if (chestplate == null || !Slimefun.hasUnlocked(p, chestplate, true)) return; + private void handleChestplate(Player p, SlimefunItem chestplate) { + if (chestplate == null || !Slimefun.hasUnlocked(p, chestplate, true)) { + return; + } + + if (chestplate instanceof Jetpack) { + double thrust = ((Jetpack) chestplate).getThrust(); - if (chestplate instanceof Jetpack) { - double thrust = ((Jetpack) chestplate).getThrust(); + if (thrust > 0.2) { + new JetpackTask(p, thrust).scheduleRepeating(0, 3); + } + } + else if (chestplate.getID().equals("PARACHUTE")) { + new ParachuteTask(p).scheduleRepeating(0, 3); + } + } - if (thrust > 0.2) - new JetpackTask(p, thrust).scheduleRepeating(0, 3); - } else if (chestplate.getID().equals("PARACHUTE")) - new ParachuteTask(p).scheduleRepeating(0, 3); - } + private void handleBoots(Player p, SlimefunItem boots) { + if (boots instanceof JetBoots && Slimefun.hasUnlocked(p, boots, true)) { + double speed = ((JetBoots) boots).getSpeed(); - private void handleBoots(Player p, SlimefunItem boots) { - if (boots instanceof JetBoots && Slimefun.hasUnlocked(p, boots, true)) { - double speed = ((JetBoots) boots).getSpeed(); - - if (speed > 0.2) - new JetBootsTask(p, speed).scheduleRepeating(0, 2); - } - } + if (speed > 0.2) { + new JetBootsTask(p, speed).scheduleRepeating(0, 2); + } + } + } } diff --git a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/tasks/SlimefunTask.java b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/tasks/SlimefunTask.java index 175547cb7..f8fe48fa4 100644 --- a/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/tasks/SlimefunTask.java +++ b/src/main/java/io/github/thebusybiscuit/slimefun4/implementation/tasks/SlimefunTask.java @@ -27,11 +27,16 @@ public abstract class SlimefunTask implements Runnable { @Override public void run() { - if (isValid()) executeTask(); + if (isValid()) { + executeTask(); + } } /** - * @return True if task was cancelled. + * This method checks if this {@link SlimefunTask} should be continued or cancelled. + * It will also cancel this {@link SlimefunTask} if it became invalid. + * + * @return Whether this {@link SlimefunTask} is still valid */ protected boolean isValid() { if (!p.isOnline() || !p.isValid() || p.isDead() || !p.isSneaking()) {