mirror of
https://github.com/StarWishsama/Slimefun4.git
synced 2024-09-20 03:35:51 +00:00
Reduced technical debt
This commit is contained in:
parent
f297cd561a
commit
76004c3df9
@ -39,12 +39,9 @@ public class SlimefunItem {
|
||||
public static List<SlimefunItem> items = new ArrayList<>();
|
||||
|
||||
public static Map<String, SlimefunItem> mapID = new HashMap<>();
|
||||
public static List<ItemStack> radioactive = new ArrayList<>();
|
||||
public static Set<String> tickers = new HashSet<>();
|
||||
|
||||
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 hash;
|
||||
@ -256,7 +253,7 @@ public class SlimefunItem {
|
||||
for (ItemHandler handler: itemhandlers) {
|
||||
Set<ItemHandler> handlerset = getHandlers(handler.toCodename());
|
||||
handlerset.add(handler);
|
||||
handlers.put(handler.toCodename(), handlerset);
|
||||
SlimefunPlugin.getUtilities().itemHandlers.put(handler.toCodename(), handlerset);
|
||||
}
|
||||
|
||||
if (SlimefunPlugin.getSettings().printOutLoading) {
|
||||
@ -439,22 +436,22 @@ public class SlimefunItem {
|
||||
}
|
||||
|
||||
public void register(boolean vanilla, SlimefunBlockHandler handler) {
|
||||
blockhandler.put(getID(), handler);
|
||||
SlimefunPlugin.getUtilities().blockHandlers.put(getID(), handler);
|
||||
register(vanilla);
|
||||
}
|
||||
|
||||
public void register(SlimefunBlockHandler handler) {
|
||||
blockhandler.put(getID(), handler);
|
||||
SlimefunPlugin.getUtilities().blockHandlers.put(getID(), handler);
|
||||
register(false);
|
||||
}
|
||||
|
||||
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<>();
|
||||
}
|
||||
|
||||
public static void setRadioactive(ItemStack item) {
|
||||
radioactive.add(item);
|
||||
SlimefunPlugin.getUtilities().radioactiveItems.add(item);
|
||||
}
|
||||
|
||||
public static ItemStack getItem(String id) {
|
||||
@ -521,7 +518,7 @@ public class SlimefunItem {
|
||||
}
|
||||
|
||||
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) {
|
||||
|
@ -12,8 +12,6 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
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.Configuration.Config;
|
||||
@ -218,18 +216,7 @@ public abstract class AContainer extends SlimefunItem {
|
||||
if (isProcessing(b)) {
|
||||
int timeleft = progress.get(b);
|
||||
if (timeleft > 0) {
|
||||
ItemStack item = getProgressBar().clone();
|
||||
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);
|
||||
MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
|
||||
|
||||
if (ChargableBlock.isChargable(b)) {
|
||||
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;
|
||||
|
@ -1,15 +1,10 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
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.general.Inventory.ClickAction;
|
||||
@ -110,18 +105,7 @@ public abstract class ADrill extends AContainer {
|
||||
if (isProcessing(b)) {
|
||||
int timeleft = progress.get(b);
|
||||
if (timeleft > 0) {
|
||||
ItemStack item = getProgressBar().clone();
|
||||
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);
|
||||
MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
|
||||
|
||||
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;
|
||||
ChargableBlock.addCharge(b, -getEnergyConsumption());
|
||||
|
@ -1,9 +1,7 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@ -15,8 +13,6 @@ import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
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.Configuration.Config;
|
||||
@ -169,18 +165,7 @@ public abstract class AGenerator extends SlimefunItem {
|
||||
if (isProcessing(l)) {
|
||||
int timeleft = progress.get(l);
|
||||
if (timeleft > 0) {
|
||||
ItemStack item = getProgressBar().clone();
|
||||
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);
|
||||
MachineHelper.updateProgressbar(BlockStorage.getInventory(l), 22, timeleft, processing.get(l).getTicks(), getProgressBar());
|
||||
|
||||
if (ChargableBlock.isChargable(l)) {
|
||||
if (ChargableBlock.getMaxCharge(l) - ChargableBlock.getCharge(l) >= getEnergyProduction()) {
|
||||
|
@ -1,9 +1,7 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.Random;
|
||||
@ -18,7 +16,6 @@ import org.bukkit.block.BlockFace;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
||||
import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib;
|
||||
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);
|
||||
});
|
||||
|
||||
ItemStack item = getProgressBar().clone();
|
||||
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);
|
||||
MachineHelper.updateProgressbar(BlockStorage.getInventory(l), 22, timeleft, processing.get(l).getTicks(), getProgressBar());
|
||||
|
||||
if (needsCooling()) {
|
||||
boolean coolant = (processing.get(l).getTicks() - timeleft) % 25 == 0;
|
||||
|
@ -1,7 +1,14 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.abstractItems;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.ChatColor;
|
||||
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 {
|
||||
|
||||
@ -79,5 +86,20 @@ public final class MachineHelper {
|
||||
public static short getDurability(ItemStack item, int timeleft, int max) {
|
||||
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);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -46,7 +46,7 @@ public class BlockPlacer extends SlimefunItem {
|
||||
|
||||
SlimefunItem sfItem = SlimefunItem.getByItem(e.getItem());
|
||||
if (sfItem != null) {
|
||||
if (!SlimefunItem.blockhandler.containsKey(sfItem.getID())) {
|
||||
if (!SlimefunPlugin.getUtilities().blockHandlers.containsKey(sfItem.getID())) {
|
||||
block.setType(e.getItem().getType());
|
||||
BlockStorage.store(block, sfItem.getID());
|
||||
block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, e.getItem().getType());
|
||||
|
@ -1,8 +1,5 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
@ -55,18 +52,7 @@ public abstract class AutoAnvil extends AContainer {
|
||||
if (isProcessing(b)) {
|
||||
int timeleft = progress.get(b);
|
||||
if (timeleft > 0) {
|
||||
ItemStack item = getProgressBar().clone();
|
||||
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);
|
||||
MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
|
||||
|
||||
if (ChargableBlock.isChargable(b)) {
|
||||
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;
|
||||
|
@ -1,9 +1,7 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@ -11,9 +9,7 @@ import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.Damageable;
|
||||
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.Item.CustomItem;
|
||||
@ -56,18 +52,7 @@ public class AutoDisenchanter extends AContainer {
|
||||
if (isProcessing(b)) {
|
||||
int timeleft = progress.get(b);
|
||||
if (timeleft > 0) {
|
||||
ItemStack item = getProgressBar().clone();
|
||||
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);
|
||||
MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
|
||||
|
||||
if (ChargableBlock.isChargable(b)) {
|
||||
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;
|
||||
|
@ -1,5 +1,10 @@
|
||||
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.Item.CustomItem;
|
||||
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.api.BlockStorage;
|
||||
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 {
|
||||
|
||||
@ -40,19 +36,8 @@ public class AutoDrier extends AContainer {
|
||||
if (isProcessing(b)) {
|
||||
int timeleft = progress.get(b);
|
||||
if (timeleft > 0) {
|
||||
ItemStack item = getProgressBar().clone();
|
||||
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);
|
||||
|
||||
MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
|
||||
|
||||
if (ChargableBlock.isChargable(b)) {
|
||||
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;
|
||||
ChargableBlock.addCharge(b, -getEnergyConsumption());
|
||||
|
@ -1,9 +1,7 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
@ -11,9 +9,7 @@ import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.enchantments.Enchantment;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.Damageable;
|
||||
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.Item.CustomItem;
|
||||
@ -56,19 +52,8 @@ public class AutoEnchanter extends AContainer {
|
||||
if (isProcessing(b)) {
|
||||
int timeleft = progress.get(b);
|
||||
if (timeleft > 0) {
|
||||
ItemStack item = getProgressBar().clone();
|
||||
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);
|
||||
|
||||
MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
|
||||
|
||||
if (ChargableBlock.isChargable(b)) {
|
||||
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;
|
||||
ChargableBlock.addCharge(b, -getEnergyConsumption());
|
||||
|
@ -1,14 +1,10 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Random;
|
||||
|
||||
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;
|
||||
|
||||
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.InvUtils;
|
||||
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.Item.CustomItem;
|
||||
@ -47,18 +43,7 @@ public abstract class ElectricDustWasher extends AContainer {
|
||||
if (isProcessing(b)) {
|
||||
int timeleft = progress.get(b);
|
||||
if (timeleft > 0 && getSpeed() < 10) {
|
||||
ItemStack item = getProgressBar().clone();
|
||||
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);
|
||||
MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
|
||||
|
||||
if (ChargableBlock.isChargable(b)) {
|
||||
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;
|
||||
|
@ -1,7 +1,8 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import me.mrCookieSlime.CSCoreLibPlugin.CSCoreLib;
|
||||
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.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 ElectricGoldPan(Category category, ItemStack item, String name, RecipeType recipeType, ItemStack[] recipe) {
|
||||
@ -45,18 +40,7 @@ public abstract class ElectricGoldPan extends AContainer {
|
||||
if (isProcessing(b)) {
|
||||
int timeleft = progress.get(b);
|
||||
if (timeleft > 0 && getSpeed() < 10) {
|
||||
ItemStack item = getProgressBar().clone();
|
||||
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);
|
||||
MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
|
||||
|
||||
if (ChargableBlock.isChargable(b)) {
|
||||
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;
|
||||
|
@ -10,8 +10,6 @@ import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Player;
|
||||
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.Configuration.Config;
|
||||
@ -142,18 +140,7 @@ public abstract class HeatedPressureChamber extends AContainer {
|
||||
int timeleft = progress.get(b);
|
||||
|
||||
if (timeleft > 0) {
|
||||
ItemStack item = getProgressBar().clone();
|
||||
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);
|
||||
MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
|
||||
|
||||
if (ChargableBlock.isChargable(b)) {
|
||||
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;
|
||||
|
@ -1,14 +1,9 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.entity.Player;
|
||||
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.general.Inventory.InvUtils;
|
||||
@ -80,18 +75,7 @@ public abstract class OilPump extends AContainer {
|
||||
if (isProcessing(b)) {
|
||||
int timeleft = progress.get(b);
|
||||
if (timeleft > 0) {
|
||||
ItemStack item = getProgressBar().clone();
|
||||
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);
|
||||
MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
|
||||
|
||||
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;
|
||||
ChargableBlock.addCharge(b, -getEnergyConsumption());
|
||||
|
@ -1,7 +1,8 @@
|
||||
package me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.block.Block;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.InvUtils;
|
||||
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.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 Refinery(Category category, ItemStack item, String name, RecipeType recipeType, ItemStack[] recipe) {
|
||||
@ -47,18 +42,7 @@ public abstract class Refinery extends AContainer {
|
||||
if (isProcessing(b)) {
|
||||
int timeleft = progress.get(b);
|
||||
if (timeleft > 0) {
|
||||
ItemStack item = getProgressBar().clone();
|
||||
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);
|
||||
MachineHelper.updateProgressbar(BlockStorage.getInventory(b), 22, timeleft, processing.get(b).getTicks(), getProgressBar());
|
||||
|
||||
if (ChargableBlock.isChargable(b)) {
|
||||
if (ChargableBlock.getCharge(b) < getEnergyConsumption()) return;
|
||||
|
@ -1451,9 +1451,10 @@ public final class SlimefunSetup {
|
||||
b.getWorld().playEffect(b.getLocation(), Effect.STEP_SOUND, b.getType());
|
||||
SlimefunItem sfItem = BlockStorage.check(b);
|
||||
boolean allow = false;
|
||||
|
||||
if (sfItem != null && !(sfItem instanceof HandledBlock)) {
|
||||
if (SlimefunItem.blockhandler.containsKey(sfItem.getID())) {
|
||||
allow = SlimefunItem.blockhandler.get(sfItem.getID()).onBreak(e.getPlayer(), e.getBlock(), sfItem, UnregisterReason.PLAYER_BREAK);
|
||||
if (SlimefunPlugin.getUtilities().blockHandlers.containsKey(sfItem.getID())) {
|
||||
allow = SlimefunPlugin.getUtilities().blockHandlers.get(sfItem.getID()).onBreak(e.getPlayer(), e.getBlock(), sfItem, UnregisterReason.PLAYER_BREAK);
|
||||
}
|
||||
if (allow) {
|
||||
drops.add(BlockStorage.retrieve(e.getBlock()));
|
||||
|
@ -251,9 +251,11 @@ public final class SlimefunPlugin extends JavaPlugin {
|
||||
|
||||
if (SlimefunItem.getByID("ANCIENT_ALTAR") != null) new AncientAltarListener((SlimefunPlugin) instance);
|
||||
}, 0);
|
||||
|
||||
SlimefunCommand command = new SlimefunCommand(this);
|
||||
|
||||
getCommand("slimefun").setExecutor(new SlimefunCommand(this));
|
||||
getCommand("slimefun").setTabCompleter(new SlimefunTabCompleter());
|
||||
getCommand("slimefun").setExecutor(command);
|
||||
getCommand("slimefun").setTabCompleter(new SlimefunTabCompleter(command));
|
||||
|
||||
// Armor Update Task
|
||||
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)) {
|
||||
// Check if player is wearing the hazmat suit
|
||||
// If so, break the loop
|
||||
@ -364,12 +366,6 @@ public final class SlimefunPlugin extends JavaPlugin {
|
||||
SlimefunItem.all = null;
|
||||
SlimefunItem.items = 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;
|
||||
ChargableBlock.capacitors = null;
|
||||
ChargableBlock.maxCharges = null;
|
||||
|
@ -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)) {
|
||||
SlimefunItem item = BlockStorage.check(block);
|
||||
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));
|
||||
block.getWorld().playEffect(block.getLocation(), Effect.STEP_SOUND, block.getType());
|
||||
block.setType(Material.PLAYER_HEAD);
|
||||
|
@ -35,17 +35,17 @@ import me.mrCookieSlime.Slimefun.Objects.Research;
|
||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||
import me.mrCookieSlime.Slimefun.Setup.Messages;
|
||||
import me.mrCookieSlime.Slimefun.api.BlockStorage;
|
||||
import me.mrCookieSlime.Slimefun.api.SlimefunGuideLayout;
|
||||
import me.mrCookieSlime.Slimefun.api.PlayerProfile;
|
||||
import me.mrCookieSlime.Slimefun.api.Slimefun;
|
||||
import me.mrCookieSlime.Slimefun.api.SlimefunGuideLayout;
|
||||
|
||||
public class SlimefunCommand implements CommandExecutor, Listener {
|
||||
|
||||
public SlimefunPlugin plugin;
|
||||
|
||||
public static List<String> arguments = new ArrayList<>();
|
||||
public static List<String> descriptions = new ArrayList<>();
|
||||
public static List<String> tabs = new ArrayList<>();
|
||||
private List<String> arguments = new ArrayList<>();
|
||||
private List<String> descriptions = new ArrayList<>();
|
||||
private List<String> tabs = new ArrayList<>();
|
||||
|
||||
public SlimefunCommand(SlimefunPlugin plugin) {
|
||||
this.plugin = plugin;
|
||||
@ -319,4 +319,8 @@ public class SlimefunCommand implements CommandExecutor, Listener {
|
||||
}
|
||||
}
|
||||
|
||||
public List<String> getTabArguments() {
|
||||
return tabs;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -11,11 +11,17 @@ import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.command.TabCompleter;
|
||||
|
||||
public class SlimefunTabCompleter implements TabCompleter {
|
||||
|
||||
private SlimefunCommand command;
|
||||
|
||||
public SlimefunTabCompleter(SlimefunCommand command) {
|
||||
this.command = command;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> onTabComplete(CommandSender sender, Command cmd, String label, String[] args) {
|
||||
if (args.length == 1) {
|
||||
return createReturnList(SlimefunCommand.tabs, args[0]);
|
||||
return createReturnList(command.getTabArguments(), args[0]);
|
||||
}
|
||||
else if (args.length == 3) {
|
||||
if (args[0].equalsIgnoreCase("give")) {
|
||||
|
@ -70,8 +70,8 @@ public class ToolListener implements Listener {
|
||||
if (sfItem != null && !sfItem.isDisabled() && !(sfItem instanceof NotPlaceable)) {
|
||||
BlockStorage.addBlockInfo(e.getBlock(), "id", sfItem.getID(), true);
|
||||
|
||||
if (SlimefunItem.blockhandler.containsKey(sfItem.getID())) {
|
||||
SlimefunItem.blockhandler.get(sfItem.getID()).onPlace(e.getPlayer(), e.getBlock(), sfItem);
|
||||
if (utilities.blockHandlers.containsKey(sfItem.getID())) {
|
||||
utilities.blockHandlers.get(sfItem.getID()).onPlace(e.getPlayer(), e.getBlock(), sfItem);
|
||||
}
|
||||
else {
|
||||
for (ItemHandler handler : SlimefunItem.getHandlers("BlockPlaceHandler")) {
|
||||
@ -186,8 +186,8 @@ public class ToolListener implements Listener {
|
||||
SlimefunItem sfItem = BlockStorage.check(e.getBlock().getRelative(BlockFace.UP));
|
||||
|
||||
if (sfItem != null && !(sfItem instanceof HandledBlock)) {
|
||||
if (SlimefunItem.blockhandler.containsKey(sfItem.getID())) {
|
||||
allow = SlimefunItem.blockhandler.get(sfItem.getID()).onBreak(e.getPlayer(), block2, sfItem, UnregisterReason.PLAYER_BREAK);
|
||||
if (utilities.blockHandlers.containsKey(sfItem.getID())) {
|
||||
allow = utilities.blockHandlers.get(sfItem.getID()).onBreak(e.getPlayer(), block2, sfItem, UnregisterReason.PLAYER_BREAK);
|
||||
}
|
||||
if (allow) {
|
||||
block2.getWorld().dropItemNaturally(block2.getLocation(), BlockStorage.retrieve(block2));
|
||||
@ -203,8 +203,8 @@ public class ToolListener implements Listener {
|
||||
SlimefunItem sfItem = BlockStorage.check(e.getBlock());
|
||||
|
||||
if (sfItem != null && !(sfItem instanceof HandledBlock)) {
|
||||
if (SlimefunItem.blockhandler.containsKey(sfItem.getID())) {
|
||||
allow = SlimefunItem.blockhandler.get(sfItem.getID()).onBreak(e.getPlayer(), e.getBlock(), sfItem, UnregisterReason.PLAYER_BREAK);
|
||||
if (utilities.blockHandlers.containsKey(sfItem.getID())) {
|
||||
allow = utilities.blockHandlers.get(sfItem.getID()).onBreak(e.getPlayer(), e.getBlock(), sfItem, UnregisterReason.PLAYER_BREAK);
|
||||
}
|
||||
else {
|
||||
// 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();
|
||||
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;
|
||||
if (SlimefunItem.blockhandler.containsKey(item.getID())) {
|
||||
success = SlimefunItem.blockhandler.get(item.getID()).onBreak(null, block, item, UnregisterReason.EXPLODE);
|
||||
if (utilities.blockHandlers.containsKey(item.getID())) {
|
||||
success = utilities.blockHandlers.get(item.getID()).onBreak(null, block, item, UnregisterReason.EXPLODE);
|
||||
}
|
||||
if (success) {
|
||||
BlockStorage.clearBlockInfo(block);
|
||||
|
@ -17,6 +17,8 @@ import org.bukkit.inventory.ItemStack;
|
||||
|
||||
import me.mrCookieSlime.Slimefun.GEO.OreGenResource;
|
||||
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.ancient_altar.AltarRecipe;
|
||||
import me.mrCookieSlime.Slimefun.api.BlockStorage;
|
||||
@ -38,6 +40,10 @@ import me.mrCookieSlime.Slimefun.hooks.github.GitHubConnector;
|
||||
public final class Utilities {
|
||||
|
||||
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<>();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user