1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 11:45:51 +00:00

Reduced technical debt

This commit is contained in:
TheBusyBiscuit 2019-09-01 11:42:03 +02:00
parent f297cd561a
commit 76004c3df9
23 changed files with 93 additions and 254 deletions

View File

@ -39,12 +39,9 @@ public class SlimefunItem {
public static List<SlimefunItem> items = new ArrayList<>(); public static List<SlimefunItem> items = new ArrayList<>();
public static Map<String, SlimefunItem> mapID = new HashMap<>(); public static Map<String, SlimefunItem> mapID = new HashMap<>();
public static List<ItemStack> radioactive = new ArrayList<>();
public static Set<String> tickers = new HashSet<>(); public static Set<String> tickers = new HashSet<>();
public static List<SlimefunItem> all = new ArrayList<>(); public static List<SlimefunItem> all = new ArrayList<>();
public static Map<String, Set<ItemHandler>> handlers = new HashMap<>();
public static Map<String, SlimefunBlockHandler> blockhandler = new HashMap<>();
private String id; private String id;
private String hash; private String hash;
@ -256,7 +253,7 @@ public class SlimefunItem {
for (ItemHandler handler: itemhandlers) { for (ItemHandler handler: itemhandlers) {
Set<ItemHandler> handlerset = getHandlers(handler.toCodename()); Set<ItemHandler> handlerset = getHandlers(handler.toCodename());
handlerset.add(handler); handlerset.add(handler);
handlers.put(handler.toCodename(), handlerset); SlimefunPlugin.getUtilities().itemHandlers.put(handler.toCodename(), handlerset);
} }
if (SlimefunPlugin.getSettings().printOutLoading) { if (SlimefunPlugin.getSettings().printOutLoading) {
@ -439,22 +436,22 @@ public class SlimefunItem {
} }
public void register(boolean vanilla, SlimefunBlockHandler handler) { public void register(boolean vanilla, SlimefunBlockHandler handler) {
blockhandler.put(getID(), handler); SlimefunPlugin.getUtilities().blockHandlers.put(getID(), handler);
register(vanilla); register(vanilla);
} }
public void register(SlimefunBlockHandler handler) { public void register(SlimefunBlockHandler handler) {
blockhandler.put(getID(), handler); SlimefunPlugin.getUtilities().blockHandlers.put(getID(), handler);
register(false); register(false);
} }
public static Set<ItemHandler> getHandlers(String codeid) { public static Set<ItemHandler> getHandlers(String codeid) {
if (handlers.containsKey(codeid)) return handlers.get(codeid); if (SlimefunPlugin.getUtilities().itemHandlers.containsKey(codeid)) return SlimefunPlugin.getUtilities().itemHandlers.get(codeid);
else return new HashSet<>(); else return new HashSet<>();
} }
public static void setRadioactive(ItemStack item) { public static void setRadioactive(ItemStack item) {
radioactive.add(item); SlimefunPlugin.getUtilities().radioactiveItems.add(item);
} }
public static ItemStack getItem(String id) { public static ItemStack getItem(String id) {
@ -521,7 +518,7 @@ public class SlimefunItem {
} }
public static void registerBlockHandler(String id, SlimefunBlockHandler handler) { public static void registerBlockHandler(String id, SlimefunBlockHandler handler) {
blockhandler.put(id, handler); SlimefunPlugin.getUtilities().blockHandlers.put(id, handler);
} }
public void registerChargeableBlock(boolean vanilla, int capacity, ItemHandler... handlers) { public void registerChargeableBlock(boolean vanilla, int capacity, ItemHandler... handlers) {

View File

@ -12,8 +12,6 @@ import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.Damageable;
import org.bukkit.inventory.meta.ItemMeta;
import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib; import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib;
import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config; import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
@ -218,18 +216,7 @@ public abstract class AContainer extends SlimefunItem {
if (isProcessing(b)) { if (isProcessing(b)) {
int timeleft = progress.get(b); int timeleft = progress.get(b);
if (timeleft > 0) { if (timeleft > 0) {
ItemStack item = getProgressBar().clone(); MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
ItemMeta im = item.getItemMeta();
((Damageable) im).setDamage(MachineHelper.getDurability(item, timeleft, processing.get(b).getTicks()));
im.setDisplayName(" ");
List<String> lore = new ArrayList<>();
lore.add(MachineHelper.getProgress(timeleft, processing.get(b).getTicks()));
lore.add("");
lore.add(MachineHelper.getTimeLeft(timeleft / 2));
im.setLore(lore);
item.setItemMeta(im);
BlockStorage.getInventory(b).replaceExistingItem(22, item);
if (ChargableBlock.isChargable(b)) { if (ChargableBlock.isChargable(b)) {
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return; if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;

View File

@ -1,15 +1,10 @@
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems; package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.Damageable;
import org.bukkit.inventory.meta.ItemMeta;
import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib; import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ClickAction; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ClickAction;
@ -110,18 +105,7 @@ public abstract class ADrill extends AContainer {
if (isProcessing(b)) { if (isProcessing(b)) {
int timeleft = progress.get(b); int timeleft = progress.get(b);
if (timeleft > 0) { if (timeleft > 0) {
ItemStack item = getProgressBar().clone(); MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
ItemMeta im = item.getItemMeta();
((Damageable) im).setDamage(MachineHelper.getDurability(item, timeleft, processing.get(b).getTicks()));
im.setDisplayName(" ");
List<String> lore = new ArrayList<>();
lore.add(MachineHelper.getProgress(timeleft, processing.get(b).getTicks()));
lore.add("");
lore.add(MachineHelper.getTimeLeft(timeleft / 2));
im.setLore(lore);
item.setItemMeta(im);
BlockStorage.getInventory(b).replaceExistingItem(22, item);
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return; if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;
ChargableBlock.addCharge(b, -getEnergyConsumption()); ChargableBlock.addCharge(b, -getEnergyConsumption());

View File

@ -1,9 +1,7 @@
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems; package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@ -15,8 +13,6 @@ import org.bukkit.entity.Player;
import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.Damageable;
import org.bukkit.inventory.meta.ItemMeta;
import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib; import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib;
import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config; import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
@ -169,18 +165,7 @@ public abstract class AGenerator extends SlimefunItem {
if (isProcessing(l)) { if (isProcessing(l)) {
int timeleft = progress.get(l); int timeleft = progress.get(l);
if (timeleft > 0) { if (timeleft > 0) {
ItemStack item = getProgressBar().clone(); MachineHelper.updateProgressbar(BlockStorage.getInventory(l), 22, timeleft, processing.get(l).getTicks(), getProgressBar());
ItemMeta im = item.getItemMeta();
((Damageable) im).setDamage(MachineHelper.getDurability(item, timeleft, processing.get(l).getTicks()));
im.setDisplayName(" ");
List<String> lore = new ArrayList<>();
lore.add(MachineHelper.getProgress(timeleft, processing.get(l).getTicks()));
lore.add("");
lore.add(MachineHelper.getTimeLeft(timeleft / 2));
im.setLore(lore);
item.setItemMeta(im);
BlockStorage.getInventory(l).replaceExistingItem(22, item);
if (ChargableBlock.isChargable(l)) { if (ChargableBlock.isChargable(l)) {
if (ChargableBlock.getMaxCharge(l) - ChargableBlock.getCharge(l) >= getEnergyProduction()) { if (ChargableBlock.getMaxCharge(l) - ChargableBlock.getCharge(l) >= getEnergyProduction()) {

View File

@ -1,9 +1,7 @@
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems; package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Optional; import java.util.Optional;
import java.util.Random; import java.util.Random;
@ -18,7 +16,6 @@ import org.bukkit.block.BlockFace;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib; import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib;
import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config; import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
@ -279,18 +276,7 @@ public abstract class AReactor extends SlimefunItem {
if (!l.getBlock().getRelative(cooling[new Random().nextInt(cooling.length)]).isLiquid()) explode.add(l); if (!l.getBlock().getRelative(cooling[new Random().nextInt(cooling.length)]).isLiquid()) explode.add(l);
}); });
ItemStack item = getProgressBar().clone(); MachineHelper.updateProgressbar(BlockStorage.getInventory(l), 22, timeleft, processing.get(l).getTicks(), getProgressBar());
ItemMeta im = item.getItemMeta();
im.setDisplayName(" ");
List<String> lore = new ArrayList<>();
lore.add(MachineHelper.getProgress(timeleft, processing.get(l).getTicks()));
lore.add(MachineHelper.getCoolant(timeleft, processing.get(l).getTicks()));
lore.add("");
lore.add(MachineHelper.getTimeLeft(timeleft / 2));
im.setLore(lore);
item.setItemMeta(im);
BlockStorage.getInventory(l).replaceExistingItem(22, item);
if (needsCooling()) { if (needsCooling()) {
boolean coolant = (processing.get(l).getTicks() - timeleft) % 25 == 0; boolean coolant = (processing.get(l).getTicks() - timeleft) % 25 == 0;

View File

@ -1,7 +1,14 @@
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems; package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.ChatColor; import org.bukkit.ChatColor;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.Damageable;
import org.bukkit.inventory.meta.ItemMeta;
import me.mrCookieSlime.Slimefun.api.inventory.BlockMenu;
public final class MachineHelper { public final class MachineHelper {
@ -80,4 +87,19 @@ public final class MachineHelper {
return (short) ((item.getType().getMaxDurability() / max) * timeleft); return (short) ((item.getType().getMaxDurability() / max) * timeleft);
} }
public static void updateProgressbar(BlockMenu menu, int slot, int timeleft, int time, ItemStack indicator) {
ItemStack item = indicator.clone();
ItemMeta im = item.getItemMeta();
((Damageable) im).setDamage(getDurability(item, timeleft, time));
im.setDisplayName(" ");
List<String> lore = new ArrayList<>();
lore.add(getProgress(timeleft, time));
lore.add("");
lore.add(getTimeLeft(timeleft / 2));
im.setLore(lore);
item.setItemMeta(im);
menu.replaceExistingItem(22, item);
}
} }

View File

@ -46,7 +46,7 @@ public class BlockPlacer extends SlimefunItem {
SlimefunItem sfItem = SlimefunItem.getByItem(e.getItem()); SlimefunItem sfItem = SlimefunItem.getByItem(e.getItem());
if (sfItem != null) { if (sfItem != null) {
if (!SlimefunItem.blockhandler.containsKey(sfItem.getID())) { if (!SlimefunPlugin.getUtilities().blockHandlers.containsKey(sfItem.getID())) {
block.setType(e.getItem().getType()); block.setType(e.getItem().getType());
BlockStorage.store(block, sfItem.getID()); BlockStorage.store(block, sfItem.getID());
block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, e.getItem().getType()); block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, e.getItem().getType());

View File

@ -1,8 +1,5 @@
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric; package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
@ -55,18 +52,7 @@ public abstract class AutoAnvil extends AContainer {
if (isProcessing(b)) { if (isProcessing(b)) {
int timeleft = progress.get(b); int timeleft = progress.get(b);
if (timeleft > 0) { if (timeleft > 0) {
ItemStack item = getProgressBar().clone(); MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
ItemMeta im = item.getItemMeta();
((Damageable) im).setDamage(MachineHelper.getDurability(item, timeleft, processing.get(b).getTicks()));
im.setDisplayName(" ");
List<String> lore = new ArrayList<>();
lore.add(MachineHelper.getProgress(timeleft, processing.get(b).getTicks()));
lore.add("");
lore.add(MachineHelper.getTimeLeft(timeleft / 2));
im.setLore(lore);
item.setItemMeta(im);
BlockStorage.getInventory(b).replaceExistingItem(22, item);
if (ChargableBlock.isChargable(b)) { if (ChargableBlock.isChargable(b)) {
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return; if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;

View File

@ -1,9 +1,7 @@
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric; package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@ -11,9 +9,7 @@ import org.bukkit.Material;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.enchantments.Enchantment; import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.Damageable;
import org.bukkit.inventory.meta.EnchantmentStorageMeta; import org.bukkit.inventory.meta.EnchantmentStorageMeta;
import org.bukkit.inventory.meta.ItemMeta;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.InvUtils; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.InvUtils;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem;
@ -56,18 +52,7 @@ public class AutoDisenchanter extends AContainer {
if (isProcessing(b)) { if (isProcessing(b)) {
int timeleft = progress.get(b); int timeleft = progress.get(b);
if (timeleft > 0) { if (timeleft > 0) {
ItemStack item = getProgressBar().clone(); MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
ItemMeta im = item.getItemMeta();
((Damageable) im).setDamage(MachineHelper.getDurability(item, timeleft, processing.get(b).getTicks()));
im.setDisplayName(" ");
List<String> lore = new ArrayList<>();
lore.add(MachineHelper.getProgress(timeleft, processing.get(b).getTicks()));
lore.add("");
lore.add(MachineHelper.getTimeLeft(timeleft / 2));
im.setLore(lore);
item.setItemMeta(im);
BlockStorage.getInventory(b).replaceExistingItem(22, item);
if (ChargableBlock.isChargable(b)) { if (ChargableBlock.isChargable(b)) {
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return; if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;

View File

@ -1,5 +1,10 @@
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric; package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric;
import org.bukkit.Material;
import org.bukkit.Tag;
import org.bukkit.block.Block;
import org.bukkit.inventory.ItemStack;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.InvUtils; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.InvUtils;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem;
import me.mrCookieSlime.Slimefun.Lists.RecipeType; import me.mrCookieSlime.Slimefun.Lists.RecipeType;
@ -9,15 +14,6 @@ import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems.MachineHelpe
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems.MachineRecipe; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems.MachineRecipe;
import me.mrCookieSlime.Slimefun.api.BlockStorage; import me.mrCookieSlime.Slimefun.api.BlockStorage;
import me.mrCookieSlime.Slimefun.api.energy.ChargableBlock; import me.mrCookieSlime.Slimefun.api.energy.ChargableBlock;
import org.bukkit.Material;
import org.bukkit.Tag;
import org.bukkit.block.Block;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.Damageable;
import org.bukkit.inventory.meta.ItemMeta;
import java.util.ArrayList;
import java.util.List;
public class AutoDrier extends AContainer { public class AutoDrier extends AContainer {
@ -40,18 +36,7 @@ public class AutoDrier extends AContainer {
if (isProcessing(b)) { if (isProcessing(b)) {
int timeleft = progress.get(b); int timeleft = progress.get(b);
if (timeleft > 0) { if (timeleft > 0) {
ItemStack item = getProgressBar().clone(); MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
ItemMeta im = item.getItemMeta();
((Damageable) im).setDamage(MachineHelper.getDurability(item, timeleft, processing.get(b).getTicks()));
im.setDisplayName(" ");
List<String> lore = new ArrayList<>();
lore.add(MachineHelper.getProgress(timeleft, processing.get(b).getTicks()));
lore.add("");
lore.add(MachineHelper.getTimeLeft(timeleft / 2));
im.setLore(lore);
item.setItemMeta(im);
BlockStorage.getInventory(b).replaceExistingItem(22, item);
if (ChargableBlock.isChargable(b)) { if (ChargableBlock.isChargable(b)) {
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return; if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;

View File

@ -1,9 +1,7 @@
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric; package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
@ -11,9 +9,7 @@ import org.bukkit.Material;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.enchantments.Enchantment; import org.bukkit.enchantments.Enchantment;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.Damageable;
import org.bukkit.inventory.meta.EnchantmentStorageMeta; import org.bukkit.inventory.meta.EnchantmentStorageMeta;
import org.bukkit.inventory.meta.ItemMeta;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.InvUtils; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.InvUtils;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem;
@ -56,18 +52,7 @@ public class AutoEnchanter extends AContainer {
if (isProcessing(b)) { if (isProcessing(b)) {
int timeleft = progress.get(b); int timeleft = progress.get(b);
if (timeleft > 0) { if (timeleft > 0) {
ItemStack item = getProgressBar().clone(); MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
ItemMeta im = item.getItemMeta();
((Damageable) im).setDamage(MachineHelper.getDurability(item, timeleft, processing.get(b).getTicks()));
im.setDisplayName(" ");
List<String> lore = new ArrayList<>();
lore.add(MachineHelper.getProgress(timeleft, processing.get(b).getTicks()));
lore.add("");
lore.add(MachineHelper.getTimeLeft(timeleft / 2));
im.setLore(lore);
item.setItemMeta(im);
BlockStorage.getInventory(b).replaceExistingItem(22, item);
if (ChargableBlock.isChargable(b)) { if (ChargableBlock.isChargable(b)) {
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return; if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;

View File

@ -1,14 +1,10 @@
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric; package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric;
import java.util.ArrayList;
import java.util.List;
import java.util.Random; import java.util.Random;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.Damageable;
import org.bukkit.inventory.meta.ItemMeta;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.InvUtils; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.InvUtils;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem;
@ -47,18 +43,7 @@ public abstract class ElectricDustWasher extends AContainer {
if (isProcessing(b)) { if (isProcessing(b)) {
int timeleft = progress.get(b); int timeleft = progress.get(b);
if (timeleft > 0 && getSpeed() < 10) { if (timeleft > 0 && getSpeed() < 10) {
ItemStack item = getProgressBar().clone(); MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
ItemMeta im = item.getItemMeta();
((Damageable) im).setDamage(MachineHelper.getDurability(item, timeleft, processing.get(b).getTicks()));
im.setDisplayName(" ");
List<String> lore = new ArrayList<>();
lore.add(MachineHelper.getProgress(timeleft, processing.get(b).getTicks()));
lore.add("");
lore.add(MachineHelper.getTimeLeft(timeleft / 2));
im.setLore(lore);
item.setItemMeta(im);
BlockStorage.getInventory(b).replaceExistingItem(22, item);
if (ChargableBlock.isChargable(b)) { if (ChargableBlock.isChargable(b)) {
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return; if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;

View File

@ -1,7 +1,8 @@
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric; package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric;
import java.util.ArrayList; import org.bukkit.Material;
import java.util.List; import org.bukkit.block.Block;
import org.bukkit.inventory.ItemStack;
import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib; import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.InvUtils; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.InvUtils;
@ -16,12 +17,6 @@ import me.mrCookieSlime.Slimefun.Setup.SlimefunManager;
import me.mrCookieSlime.Slimefun.api.BlockStorage; import me.mrCookieSlime.Slimefun.api.BlockStorage;
import me.mrCookieSlime.Slimefun.api.energy.ChargableBlock; import me.mrCookieSlime.Slimefun.api.energy.ChargableBlock;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.Damageable;
import org.bukkit.inventory.meta.ItemMeta;
public abstract class ElectricGoldPan extends AContainer { public abstract class ElectricGoldPan extends AContainer {
public ElectricGoldPan(Category category, ItemStack item, String name, RecipeType recipeType, ItemStack[] recipe) { public ElectricGoldPan(Category category, ItemStack item, String name, RecipeType recipeType, ItemStack[] recipe) {
@ -45,18 +40,7 @@ public abstract class ElectricGoldPan extends AContainer {
if (isProcessing(b)) { if (isProcessing(b)) {
int timeleft = progress.get(b); int timeleft = progress.get(b);
if (timeleft > 0 && getSpeed() < 10) { if (timeleft > 0 && getSpeed() < 10) {
ItemStack item = getProgressBar().clone(); MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
ItemMeta im = item.getItemMeta();
((Damageable) im).setDamage(MachineHelper.getDurability(item, timeleft, processing.get(b).getTicks()));
im.setDisplayName(" ");
List<String> lore = new ArrayList<>();
lore.add(MachineHelper.getProgress(timeleft, processing.get(b).getTicks()));
lore.add("");
lore.add(MachineHelper.getTimeLeft(timeleft / 2));
im.setLore(lore);
item.setItemMeta(im);
BlockStorage.getInventory(b).replaceExistingItem(22, item);
if (ChargableBlock.isChargable(b)) { if (ChargableBlock.isChargable(b)) {
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return; if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;

View File

@ -10,8 +10,6 @@ import org.bukkit.Material;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.Damageable;
import org.bukkit.inventory.meta.ItemMeta;
import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib; import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib;
import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config; import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
@ -142,18 +140,7 @@ public abstract class HeatedPressureChamber extends AContainer {
int timeleft = progress.get(b); int timeleft = progress.get(b);
if (timeleft > 0) { if (timeleft > 0) {
ItemStack item = getProgressBar().clone(); MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
ItemMeta im = item.getItemMeta();
im.setDisplayName(" ");
((Damageable) im).setDamage(MachineHelper.getDurability(item, timeleft, processing.get(b).getTicks()));
List<String> lore = new ArrayList<>();
lore.add(MachineHelper.getProgress(timeleft, processing.get(b).getTicks()));
lore.add("");
lore.add(MachineHelper.getTimeLeft(timeleft / 2));
im.setLore(lore);
item.setItemMeta(im);
BlockStorage.getInventory(b).replaceExistingItem(22, item);
if (ChargableBlock.isChargable(b)) { if (ChargableBlock.isChargable(b)) {
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return; if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;

View File

@ -1,14 +1,9 @@
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric; package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric;
import java.util.ArrayList;
import java.util.List;
import org.bukkit.Material; import org.bukkit.Material;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.Damageable;
import org.bukkit.inventory.meta.ItemMeta;
import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib; import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.InvUtils; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.InvUtils;
@ -80,18 +75,7 @@ public abstract class OilPump extends AContainer {
if (isProcessing(b)) { if (isProcessing(b)) {
int timeleft = progress.get(b); int timeleft = progress.get(b);
if (timeleft > 0) { if (timeleft > 0) {
ItemStack item = getProgressBar().clone(); MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
ItemMeta im = item.getItemMeta();
((Damageable) im).setDamage(MachineHelper.getDurability(item, timeleft, processing.get(b).getTicks()));
im.setDisplayName(" ");
List<String> lore = new ArrayList<>();
lore.add(MachineHelper.getProgress(timeleft, processing.get(b).getTicks()));
lore.add("");
lore.add(MachineHelper.getTimeLeft(timeleft / 2));
im.setLore(lore);
item.setItemMeta(im);
BlockStorage.getInventory(b).replaceExistingItem(22, item);
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return; if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;
ChargableBlock.addCharge(b, -getEnergyConsumption()); ChargableBlock.addCharge(b, -getEnergyConsumption());

View File

@ -1,7 +1,8 @@
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric; package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric;
import java.util.ArrayList; import org.bukkit.Material;
import java.util.List; import org.bukkit.block.Block;
import org.bukkit.inventory.ItemStack;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.InvUtils; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.InvUtils;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem;
@ -15,12 +16,6 @@ import me.mrCookieSlime.Slimefun.Setup.SlimefunManager;
import me.mrCookieSlime.Slimefun.api.BlockStorage; import me.mrCookieSlime.Slimefun.api.BlockStorage;
import me.mrCookieSlime.Slimefun.api.energy.ChargableBlock; import me.mrCookieSlime.Slimefun.api.energy.ChargableBlock;
import org.bukkit.Material;
import org.bukkit.block.Block;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.Damageable;
import org.bukkit.inventory.meta.ItemMeta;
public abstract class Refinery extends AContainer { public abstract class Refinery extends AContainer {
public Refinery(Category category, ItemStack item, String name, RecipeType recipeType, ItemStack[] recipe) { public Refinery(Category category, ItemStack item, String name, RecipeType recipeType, ItemStack[] recipe) {
@ -47,18 +42,7 @@ public abstract class Refinery extends AContainer {
if (isProcessing(b)) { if (isProcessing(b)) {
int timeleft = progress.get(b); int timeleft = progress.get(b);
if (timeleft > 0) { if (timeleft > 0) {
ItemStack item = getProgressBar().clone(); MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
ItemMeta im = item.getItemMeta();
((Damageable) im).setDamage(MachineHelper.getDurability(item, timeleft, processing.get(b).getTicks()));
im.setDisplayName(" ");
List<String> lore = new ArrayList<>();
lore.add(MachineHelper.getProgress(timeleft, processing.get(b).getTicks()));
lore.add("");
lore.add(MachineHelper.getTimeLeft(timeleft / 2));
im.setLore(lore);
item.setItemMeta(im);
BlockStorage.getInventory(b).replaceExistingItem(22, item);
if (ChargableBlock.isChargable(b)) { if (ChargableBlock.isChargable(b)) {
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return; if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;

View File

@ -1451,9 +1451,10 @@ public final class SlimefunSetup {
b.getWorld().playEffect(b.getLocation(), Effect.STEP_SOUND, b.getType()); b.getWorld().playEffect(b.getLocation(), Effect.STEP_SOUND, b.getType());
SlimefunItem sfItem = BlockStorage.check(b); SlimefunItem sfItem = BlockStorage.check(b);
boolean allow = false; boolean allow = false;
if (sfItem != null && !(sfItem instanceof HandledBlock)) { if (sfItem != null && !(sfItem instanceof HandledBlock)) {
if (SlimefunItem.blockhandler.containsKey(sfItem.getID())) { if (SlimefunPlugin.getUtilities().blockHandlers.containsKey(sfItem.getID())) {
allow = SlimefunItem.blockhandler.get(sfItem.getID()).onBreak(e.getPlayer(), e.getBlock(), sfItem, UnregisterReason.PLAYER_BREAK); allow = SlimefunPlugin.getUtilities().blockHandlers.get(sfItem.getID()).onBreak(e.getPlayer(), e.getBlock(), sfItem, UnregisterReason.PLAYER_BREAK);
} }
if (allow) { if (allow) {
drops.add(BlockStorage.retrieve(e.getBlock())); drops.add(BlockStorage.retrieve(e.getBlock()));

View File

@ -252,8 +252,10 @@ public final class SlimefunPlugin extends JavaPlugin {
if (SlimefunItem.getByID("ANCIENT_ALTAR") != null) new AncientAltarListener((SlimefunPlugin) instance); if (SlimefunItem.getByID("ANCIENT_ALTAR") != null) new AncientAltarListener((SlimefunPlugin) instance);
}, 0); }, 0);
getCommand("slimefun").setExecutor(new SlimefunCommand(this)); SlimefunCommand command = new SlimefunCommand(this);
getCommand("slimefun").setTabCompleter(new SlimefunTabCompleter());
getCommand("slimefun").setExecutor(command);
getCommand("slimefun").setTabCompleter(new SlimefunTabCompleter(command));
// Armor Update Task // Armor Update Task
if (config.getBoolean("options.enable-armor-effects")) { if (config.getBoolean("options.enable-armor-effects")) {
@ -273,7 +275,7 @@ public final class SlimefunPlugin extends JavaPlugin {
} }
} }
for (ItemStack radioactive: SlimefunItem.radioactive) { for (ItemStack radioactive: utilities.radioactiveItems) {
if (p.getInventory().containsAtLeast(radioactive, 1) || SlimefunManager.isItemSimiliar(p.getInventory().getItemInOffHand(), radioactive, true)) { if (p.getInventory().containsAtLeast(radioactive, 1) || SlimefunManager.isItemSimiliar(p.getInventory().getItemInOffHand(), radioactive, true)) {
// Check if player is wearing the hazmat suit // Check if player is wearing the hazmat suit
// If so, break the loop // If so, break the loop
@ -364,12 +366,6 @@ public final class SlimefunPlugin extends JavaPlugin {
SlimefunItem.all = null; SlimefunItem.all = null;
SlimefunItem.items = null; SlimefunItem.items = null;
SlimefunItem.mapID = null; SlimefunItem.mapID = null;
SlimefunItem.handlers = null;
SlimefunItem.radioactive = null;
SlimefunCommand.arguments = null;
SlimefunCommand.descriptions = null;
SlimefunCommand.tabs = null;
SlimefunItem.blockhandler = null;
BlockMenuPreset.presets = null; BlockMenuPreset.presets = null;
ChargableBlock.capacitors = null; ChargableBlock.capacitors = null;
ChargableBlock.maxCharges = null; ChargableBlock.maxCharges = null;

View File

@ -529,7 +529,7 @@ public abstract class ProgrammableAndroid extends SlimefunItem {
if (!blockblacklist.contains(block.getType()) && !drops.isEmpty() && CSCoreLib.getLib().getProtectionManager().canBuild(UUID.fromString(BlockStorage.getLocationInfo(b.getLocation(), "owner")), block)) { if (!blockblacklist.contains(block.getType()) && !drops.isEmpty() && CSCoreLib.getLib().getProtectionManager().canBuild(UUID.fromString(BlockStorage.getLocationInfo(b.getLocation(), "owner")), block)) {
SlimefunItem item = BlockStorage.check(block); SlimefunItem item = BlockStorage.check(block);
if (item != null) { if (item != null) {
if (fits(b, item.getItem()) && SlimefunItem.blockhandler.containsKey(item.getID()) && SlimefunItem.blockhandler.get(item.getID()).onBreak(null, block, item, UnregisterReason.ANDROID_DIG)) { if (fits(b, item.getItem()) && SlimefunPlugin.getUtilities().blockHandlers.containsKey(item.getID()) && SlimefunPlugin.getUtilities().blockHandlers.get(item.getID()).onBreak(null, block, item, UnregisterReason.ANDROID_DIG)) {
pushItems(b, BlockStorage.retrieve(block)); pushItems(b, BlockStorage.retrieve(block));
block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, block.getType()); block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, block.getType());
block.setType(Material.PLAYER_HEAD); block.setType(Material.PLAYER_HEAD);

View File

@ -35,17 +35,17 @@ import me.mrCookieSlime.Slimefun.Objects.Research;
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem; import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
import me.mrCookieSlime.Slimefun.Setup.Messages; import me.mrCookieSlime.Slimefun.Setup.Messages;
import me.mrCookieSlime.Slimefun.api.BlockStorage; import me.mrCookieSlime.Slimefun.api.BlockStorage;
import me.mrCookieSlime.Slimefun.api.SlimefunGuideLayout;
import me.mrCookieSlime.Slimefun.api.PlayerProfile; import me.mrCookieSlime.Slimefun.api.PlayerProfile;
import me.mrCookieSlime.Slimefun.api.Slimefun; import me.mrCookieSlime.Slimefun.api.Slimefun;
import me.mrCookieSlime.Slimefun.api.SlimefunGuideLayout;
public class SlimefunCommand implements CommandExecutor, Listener { public class SlimefunCommand implements CommandExecutor, Listener {
public SlimefunPlugin plugin; public SlimefunPlugin plugin;
public static List<String> arguments = new ArrayList<>(); private List<String> arguments = new ArrayList<>();
public static List<String> descriptions = new ArrayList<>(); private List<String> descriptions = new ArrayList<>();
public static List<String> tabs = new ArrayList<>(); private List<String> tabs = new ArrayList<>();
public SlimefunCommand(SlimefunPlugin plugin) { public SlimefunCommand(SlimefunPlugin plugin) {
this.plugin = plugin; this.plugin = plugin;
@ -319,4 +319,8 @@ public class SlimefunCommand implements CommandExecutor, Listener {
} }
} }
public List<String> getTabArguments() {
return tabs;
}
} }

View File

@ -12,10 +12,16 @@ import org.bukkit.command.TabCompleter;
public class SlimefunTabCompleter implements TabCompleter { public class SlimefunTabCompleter implements TabCompleter {
private SlimefunCommand command;
public SlimefunTabCompleter(SlimefunCommand command) {
this.command = command;
}
@Override @Override
public List<String> onTabComplete(CommandSender sender, Command cmd, String label, String[] args) { public List<String> onTabComplete(CommandSender sender, Command cmd, String label, String[] args) {
if (args.length == 1) { if (args.length == 1) {
return createReturnList(SlimefunCommand.tabs, args[0]); return createReturnList(command.getTabArguments(), args[0]);
} }
else if (args.length == 3) { else if (args.length == 3) {
if (args[0].equalsIgnoreCase("give")) { if (args[0].equalsIgnoreCase("give")) {

View File

@ -70,8 +70,8 @@ public class ToolListener implements Listener {
if (sfItem != null && !sfItem.isDisabled() && !(sfItem instanceof NotPlaceable)) { if (sfItem != null && !sfItem.isDisabled() && !(sfItem instanceof NotPlaceable)) {
BlockStorage.addBlockInfo(e.getBlock(), "id", sfItem.getID(), true); BlockStorage.addBlockInfo(e.getBlock(), "id", sfItem.getID(), true);
if (SlimefunItem.blockhandler.containsKey(sfItem.getID())) { if (utilities.blockHandlers.containsKey(sfItem.getID())) {
SlimefunItem.blockhandler.get(sfItem.getID()).onPlace(e.getPlayer(), e.getBlock(), sfItem); utilities.blockHandlers.get(sfItem.getID()).onPlace(e.getPlayer(), e.getBlock(), sfItem);
} }
else { else {
for (ItemHandler handler : SlimefunItem.getHandlers("BlockPlaceHandler")) { for (ItemHandler handler : SlimefunItem.getHandlers("BlockPlaceHandler")) {
@ -186,8 +186,8 @@ public class ToolListener implements Listener {
SlimefunItem sfItem = BlockStorage.check(e.getBlock().getRelative(BlockFace.UP)); SlimefunItem sfItem = BlockStorage.check(e.getBlock().getRelative(BlockFace.UP));
if (sfItem != null && !(sfItem instanceof HandledBlock)) { if (sfItem != null && !(sfItem instanceof HandledBlock)) {
if (SlimefunItem.blockhandler.containsKey(sfItem.getID())) { if (utilities.blockHandlers.containsKey(sfItem.getID())) {
allow = SlimefunItem.blockhandler.get(sfItem.getID()).onBreak(e.getPlayer(), block2, sfItem, UnregisterReason.PLAYER_BREAK); allow = utilities.blockHandlers.get(sfItem.getID()).onBreak(e.getPlayer(), block2, sfItem, UnregisterReason.PLAYER_BREAK);
} }
if (allow) { if (allow) {
block2.getWorld().dropItemNaturally(block2.getLocation(), BlockStorage.retrieve(block2)); block2.getWorld().dropItemNaturally(block2.getLocation(), BlockStorage.retrieve(block2));
@ -203,8 +203,8 @@ public class ToolListener implements Listener {
SlimefunItem sfItem = BlockStorage.check(e.getBlock()); SlimefunItem sfItem = BlockStorage.check(e.getBlock());
if (sfItem != null && !(sfItem instanceof HandledBlock)) { if (sfItem != null && !(sfItem instanceof HandledBlock)) {
if (SlimefunItem.blockhandler.containsKey(sfItem.getID())) { if (utilities.blockHandlers.containsKey(sfItem.getID())) {
allow = SlimefunItem.blockhandler.get(sfItem.getID()).onBreak(e.getPlayer(), e.getBlock(), sfItem, UnregisterReason.PLAYER_BREAK); allow = utilities.blockHandlers.get(sfItem.getID()).onBreak(e.getPlayer(), e.getBlock(), sfItem, UnregisterReason.PLAYER_BREAK);
} }
else { else {
// Walk over all registered block break handlers until one says that it'll handle it. // Walk over all registered block break handlers until one says that it'll handle it.
@ -256,8 +256,8 @@ public class ToolListener implements Listener {
blocks.remove(); blocks.remove();
if (!item.getID().equalsIgnoreCase("HARDENED_GLASS") && !item.getID().equalsIgnoreCase("WITHER_PROOF_OBSIDIAN") && !item.getID().equalsIgnoreCase("WITHER_PROOF_GLASS") && !item.getID().equalsIgnoreCase("FORCEFIELD_PROJECTOR") && !item.getID().equalsIgnoreCase("FORCEFIELD_RELAY")) { if (!item.getID().equalsIgnoreCase("HARDENED_GLASS") && !item.getID().equalsIgnoreCase("WITHER_PROOF_OBSIDIAN") && !item.getID().equalsIgnoreCase("WITHER_PROOF_GLASS") && !item.getID().equalsIgnoreCase("FORCEFIELD_PROJECTOR") && !item.getID().equalsIgnoreCase("FORCEFIELD_RELAY")) {
boolean success = true; boolean success = true;
if (SlimefunItem.blockhandler.containsKey(item.getID())) { if (utilities.blockHandlers.containsKey(item.getID())) {
success = SlimefunItem.blockhandler.get(item.getID()).onBreak(null, block, item, UnregisterReason.EXPLODE); success = utilities.blockHandlers.get(item.getID()).onBreak(null, block, item, UnregisterReason.EXPLODE);
} }
if (success) { if (success) {
BlockStorage.clearBlockInfo(block); BlockStorage.clearBlockInfo(block);

View File

@ -17,6 +17,8 @@ import org.bukkit.inventory.ItemStack;
import me.mrCookieSlime.Slimefun.GEO.OreGenResource; import me.mrCookieSlime.Slimefun.GEO.OreGenResource;
import me.mrCookieSlime.Slimefun.Objects.Category; import me.mrCookieSlime.Slimefun.Objects.Category;
import me.mrCookieSlime.Slimefun.Objects.SlimefunBlockHandler;
import me.mrCookieSlime.Slimefun.Objects.handlers.ItemHandler;
import me.mrCookieSlime.Slimefun.Setup.PostSlimefunLoadingHandler; import me.mrCookieSlime.Slimefun.Setup.PostSlimefunLoadingHandler;
import me.mrCookieSlime.Slimefun.ancient_altar.AltarRecipe; import me.mrCookieSlime.Slimefun.ancient_altar.AltarRecipe;
import me.mrCookieSlime.Slimefun.api.BlockStorage; import me.mrCookieSlime.Slimefun.api.BlockStorage;
@ -39,6 +41,10 @@ public final class Utilities {
public int vanillaItems = 0; public int vanillaItems = 0;
public Set<ItemStack> radioactiveItems = new HashSet<>();
public Map<String, Set<ItemHandler>> itemHandlers = new HashMap<>();
public Map<String, SlimefunBlockHandler> blockHandlers = new HashMap<>();
public List<Category> currentlyEnabledCategories = new ArrayList<>(); public List<Category> currentlyEnabledCategories = new ArrayList<>();
public Map<String, BlockStorage> worlds = new HashMap<>(); public Map<String, BlockStorage> worlds = new HashMap<>();