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:
parent
41bbbdd3dc
commit
d51e906300
@ -90,6 +90,6 @@ public class GrapplingHook extends SimpleSlimefunItem<ItemInteractionHandler> {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void postRegister() {
|
public void postRegister() {
|
||||||
despawnTicks = (int) Slimefun.getItemValue("GRAPPLING_HOOK", "despawn-seconds") * 20;
|
despawnTicks = (int) Slimefun.getItemValue("GRAPPLING_HOOK", "despawn-seconds") * 20L;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,6 @@ import org.bukkit.Location;
|
|||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
import org.bukkit.event.entity.FoodLevelChangeEvent;
|
import org.bukkit.event.entity.FoodLevelChangeEvent;
|
||||||
import org.bukkit.inventory.EquipmentSlot;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
|
||||||
@ -25,7 +24,7 @@ import me.mrCookieSlime.Slimefun.Setup.SlimefunManager;
|
|||||||
|
|
||||||
public class StormStaff extends SimpleSlimefunItem<ItemInteractionHandler> {
|
public class StormStaff extends SimpleSlimefunItem<ItemInteractionHandler> {
|
||||||
|
|
||||||
private final static int MAX_USES = 8;
|
private static final int MAX_USES = 8;
|
||||||
|
|
||||||
public StormStaff(Category category, ItemStack item, String id, RecipeType recipeType, ItemStack[] recipe) {
|
public StormStaff(Category category, ItemStack item, String id, RecipeType recipeType, ItemStack[] recipe) {
|
||||||
super(category, item, id, recipeType, recipe, getCraftedOutput());
|
super(category, item, id, recipeType, recipe, getCraftedOutput());
|
||||||
@ -50,17 +49,17 @@ public class StormStaff extends SimpleSlimefunItem<ItemInteractionHandler> {
|
|||||||
if (SlimefunManager.isItemSimiliar(item, getItem(), false)) {
|
if (SlimefunManager.isItemSimiliar(item, getItem(), false)) {
|
||||||
|
|
||||||
if (!item.hasItemMeta()) return false;
|
if (!item.hasItemMeta()) return false;
|
||||||
ItemMeta itemM = item.getItemMeta();
|
ItemMeta itemMeta = item.getItemMeta();
|
||||||
if (!itemM.hasLore()) return false;
|
if (!itemMeta.hasLore()) return false;
|
||||||
List<String> itemML = itemM.getLore();
|
List<String> itemLore = itemMeta.getLore();
|
||||||
|
|
||||||
ItemStack SFitem = getItem();
|
ItemStack sfItem = getItem();
|
||||||
ItemMeta SFitemM = SFitem.getItemMeta();
|
ItemMeta sfItemMeta = sfItem.getItemMeta();
|
||||||
List<String> SFitemML = SFitemM.getLore();
|
List<String> sfItemLore = sfItemMeta.getLore();
|
||||||
|
|
||||||
if (itemML.size() < 6) {
|
if (itemLore.size() < 6) {
|
||||||
// Index 1 and 3 in SlimefunItems.STAFF_STORM has lores with words and stuff so we check for them.
|
// Index 1 and 3 in SlimefunItems.STAFF_STORM has lores with words and stuff so we check for them.
|
||||||
if (itemML.get(1).equals(SFitemML.get(1)) && itemML.get(3).equals(SFitemML.get(3))) {
|
if (itemLore.get(1).equals(sfItemLore.get(1)) && itemLore.get(3).equals(sfItemLore.get(3))) {
|
||||||
if (p.getFoodLevel() >= 4 || p.getGameMode() == GameMode.CREATIVE) {
|
if (p.getFoodLevel() >= 4 || p.getGameMode() == GameMode.CREATIVE) {
|
||||||
// Get a target block with max. 30 blocks of distance
|
// Get a target block with max. 30 blocks of distance
|
||||||
Location loc = p.getTargetBlock(null, 30).getLocation();
|
Location loc = p.getTargetBlock(null, 30).getLocation();
|
||||||
@ -76,26 +75,19 @@ public class StormStaff extends SimpleSlimefunItem<ItemInteractionHandler> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (int i = MAX_USES; i > 0; i--) {
|
for (int i = MAX_USES; i > 0; i--) {
|
||||||
if (i == 1 && ChatColor.translateAlternateColorCodes('&', "&e1 Use &7left").equals(itemML.get(4))) {
|
if (i == 1 && ChatColor.translateAlternateColorCodes('&', "&e1 Use &7left").equals(itemLore.get(4))) {
|
||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
p.playSound(p.getLocation(), Sound.ENTITY_ITEM_BREAK, 1, 1);
|
p.playSound(p.getLocation(), Sound.ENTITY_ITEM_BREAK, 1, 1);
|
||||||
item.setAmount(0);
|
item.setAmount(0);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (ChatColor.translateAlternateColorCodes('&', "&e" + i + " Uses &7left").equals(itemML.get(4))) {
|
else if (ChatColor.translateAlternateColorCodes('&', "&e" + i + " Uses &7left").equals(itemLore.get(4))) {
|
||||||
itemML.set(4, ChatColor.translateAlternateColorCodes('&', "&e" + (i - 1) + " " + (i > 2 ? "Uses": "Use") + " &7left"));
|
itemLore.set(4, ChatColor.translateAlternateColorCodes('&', "&e" + (i - 1) + " " + (i > 2 ? "Uses": "Use") + " &7left"));
|
||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
|
|
||||||
// Saving the changes to lore and item.
|
// Saving the changes to lore and item.
|
||||||
itemM.setLore(itemML);
|
itemMeta.setLore(itemLore);
|
||||||
item.setItemMeta(itemM);
|
item.setItemMeta(itemMeta);
|
||||||
|
|
||||||
if (e.getParentEvent().getHand() == EquipmentSlot.HAND) {
|
|
||||||
p.getInventory().setItemInMainHand(item);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
p.getInventory().setItemInOffHand(item);
|
|
||||||
}
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -142,7 +142,7 @@ public class XPCollector extends SlimefunItem {
|
|||||||
super.register(slimefun);
|
super.register(slimefun);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void tick(Block b) throws Exception {
|
protected void tick(Block b) {
|
||||||
Iterator<Entity> iterator = XPCollectorHologram.getArmorStand(b, true).getNearbyEntities(4D, 4D, 4D).iterator();
|
Iterator<Entity> iterator = XPCollectorHologram.getArmorStand(b, true).getNearbyEntities(4D, 4D, 4D).iterator();
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
Entity n = iterator.next();
|
Entity n = iterator.next();
|
||||||
|
@ -114,7 +114,7 @@ public class AnimalGrowthAccelerator extends SlimefunItem {
|
|||||||
super.register(slimefun);
|
super.register(slimefun);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void tick(Block b) throws Exception {
|
protected void tick(Block b) {
|
||||||
for (Entity n : AnimalGrowthAcceleratorHologram.getArmorStand(b, true).getNearbyEntities(3D, 3D, 3D)) {
|
for (Entity n : AnimalGrowthAcceleratorHologram.getArmorStand(b, true).getNearbyEntities(3D, 3D, 3D)) {
|
||||||
if (n instanceof Ageable && !((Ageable) n).isAdult()) {
|
if (n instanceof Ageable && !((Ageable) n).isAdult()) {
|
||||||
for (int slot: getInputSlots()) {
|
for (int slot: getInputSlots()) {
|
||||||
|
@ -81,12 +81,16 @@ public class AutoDisenchanter extends AContainer {
|
|||||||
|
|
||||||
// Check if disenchantable
|
// Check if disenchantable
|
||||||
SlimefunItem sfItem = null;
|
SlimefunItem sfItem = null;
|
||||||
if ((item != null) && (item.getType() != Material.BOOK)) { // stops endless checks of getByItem for empty book stacks.
|
|
||||||
|
// stops endless checks of getByItem for empty book stacks.
|
||||||
|
if ((item != null) && (item.getType() != Material.BOOK)) {
|
||||||
sfItem = SlimefunItem.getByItem(item);
|
sfItem = SlimefunItem.getByItem(item);
|
||||||
}
|
}
|
||||||
if (sfItem != null && !sfItem.isDisenchantable()) return;
|
if (sfItem != null && !sfItem.isDisenchantable()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Disenchant
|
// Disenchanting
|
||||||
if (item != null && target != null && target.getType() == Material.BOOK) {
|
if (item != null && target != null && target.getType() == Material.BOOK) {
|
||||||
int amount = 0;
|
int amount = 0;
|
||||||
|
|
||||||
@ -107,6 +111,7 @@ public class AutoDisenchanter extends AContainer {
|
|||||||
book.setAmount(1);
|
book.setAmount(1);
|
||||||
book.setType(Material.ENCHANTED_BOOK);
|
book.setType(Material.ENCHANTED_BOOK);
|
||||||
EnchantmentStorageMeta meta = (EnchantmentStorageMeta) book.getItemMeta();
|
EnchantmentStorageMeta meta = (EnchantmentStorageMeta) book.getItemMeta();
|
||||||
|
|
||||||
for (Map.Entry<Enchantment,Integer> e: enchantments.entrySet()) {
|
for (Map.Entry<Enchantment,Integer> e: enchantments.entrySet()) {
|
||||||
newItem.removeEnchantment(e.getKey());
|
newItem.removeEnchantment(e.getKey());
|
||||||
meta.addStoredEnchant(e.getKey(), e.getValue(), true);
|
meta.addStoredEnchant(e.getKey(), e.getValue(), true);
|
||||||
|
@ -56,13 +56,14 @@ public class AutoDrier extends AContainer {
|
|||||||
else {
|
else {
|
||||||
MachineRecipe r = null;
|
MachineRecipe r = null;
|
||||||
int inputSlot = -1;
|
int inputSlot = -1;
|
||||||
|
|
||||||
for (int slot: getInputSlots()) {
|
for (int slot: getInputSlots()) {
|
||||||
ItemStack item = BlockStorage.getInventory(b).getItemInSlot(slot);
|
ItemStack item = BlockStorage.getInventory(b).getItemInSlot(slot);
|
||||||
if (item == null) continue;
|
if (item != null) {
|
||||||
|
|
||||||
// Checking if dryable
|
// Checking if dryable
|
||||||
Material mat = item.getType();
|
Material mat = item.getType();
|
||||||
ItemStack output;
|
ItemStack output = null;
|
||||||
|
|
||||||
if (mat == Material.ROTTEN_FLESH) {
|
if (mat == Material.ROTTEN_FLESH) {
|
||||||
output = new ItemStack(Material.LEATHER);
|
output = new ItemStack(Material.LEATHER);
|
||||||
}
|
}
|
||||||
@ -78,12 +79,14 @@ public class AutoDrier extends AContainer {
|
|||||||
else if (mat.name().contains("POTION")) {
|
else if (mat.name().contains("POTION")) {
|
||||||
output = new ItemStack(Material.GLASS_BOTTLE);
|
output = new ItemStack(Material.GLASS_BOTTLE);
|
||||||
}
|
}
|
||||||
else continue;
|
|
||||||
|
|
||||||
|
if (output != null) {
|
||||||
r = new MachineRecipe(5, new ItemStack[] {item}, new ItemStack[] {output});
|
r = new MachineRecipe(5, new ItemStack[] {item}, new ItemStack[] {output});
|
||||||
inputSlot = slot;
|
inputSlot = slot;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (r != null) {
|
if (r != null) {
|
||||||
if (inputSlot == -1) return;
|
if (inputSlot == -1) return;
|
||||||
|
@ -124,7 +124,7 @@ public abstract class CropGrowthAccelerator extends SlimefunItem {
|
|||||||
super.register(slimefun);
|
super.register(slimefun);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void tick(Block b) throws Exception {
|
protected void tick(Block b) {
|
||||||
if (work(b) > 0) {
|
if (work(b) > 0) {
|
||||||
for (int slot : getInputSlots()) {
|
for (int slot : getInputSlots()) {
|
||||||
if (SlimefunManager.isItemSimiliar(BlockStorage.getInventory(b).getItemInSlot(slot), SlimefunItems.FERTILIZER, false)) {
|
if (SlimefunManager.isItemSimiliar(BlockStorage.getInventory(b).getItemInSlot(slot), SlimefunItems.FERTILIZER, false)) {
|
||||||
|
@ -17,6 +17,7 @@ public class JetpackTask extends SlimefunTask {
|
|||||||
this.thrust = thrust;
|
this.thrust = thrust;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public void setID(int id) {
|
public void setID(int id) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@ public class CSCoreLibLoader {
|
|||||||
try {
|
try {
|
||||||
this.url = new URL("https://api.curseforge.com/servermods/files?projectIds=88802");
|
this.url = new URL("https://api.curseforge.com/servermods/files?projectIds=88802");
|
||||||
} catch (MalformedURLException e) {
|
} catch (MalformedURLException e) {
|
||||||
|
plugin.getLogger().log(Level.SEVERE, "The Auto-Updater URL is malformed!", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,17 +99,18 @@ public class CSCoreLibLoader {
|
|||||||
connection.setConnectTimeout(5000);
|
connection.setConnectTimeout(5000);
|
||||||
connection.addRequestProperty("User-Agent", "Auto Updater (by mrCookieSlime)");
|
connection.addRequestProperty("User-Agent", "Auto Updater (by mrCookieSlime)");
|
||||||
|
|
||||||
switch (connection.getResponseCode()) {
|
int response = connection.getResponseCode();
|
||||||
case HttpURLConnection.HTTP_MOVED_PERM:
|
|
||||||
case HttpURLConnection.HTTP_MOVED_TEMP:
|
if (response == HttpURLConnection.HTTP_MOVED_PERM || response == HttpURLConnection.HTTP_MOVED_TEMP) {
|
||||||
String loc = connection.getHeaderField("Location");
|
String loc = connection.getHeaderField("Location");
|
||||||
location = new URL(new URL(location), loc).toExternalForm();
|
location = new URL(new URL(location), loc).toExternalForm();
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return new URL(connection.getURL().toString().replaceAll(" ", "%20"));
|
return new URL(connection.getURL().toString().replace(" ", "%20"));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void install() {
|
private void install() {
|
||||||
|
@ -26,7 +26,6 @@ import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.ReplacingAlloy;
|
|||||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem;
|
||||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunMachine;
|
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunMachine;
|
||||||
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric.AutomatedCraftingChamber;
|
import me.mrCookieSlime.Slimefun.Objects.SlimefunItem.machines.electric.AutomatedCraftingChamber;
|
||||||
import me.mrCookieSlime.Slimefun.Setup.PostSlimefunLoadingHandler;
|
|
||||||
import me.mrCookieSlime.Slimefun.api.Slimefun;
|
import me.mrCookieSlime.Slimefun.api.Slimefun;
|
||||||
import me.mrCookieSlime.Slimefun.api.SlimefunRecipes;
|
import me.mrCookieSlime.Slimefun.api.SlimefunRecipes;
|
||||||
import me.mrCookieSlime.Slimefun.utils.Settings;
|
import me.mrCookieSlime.Slimefun.utils.Settings;
|
||||||
|
@ -30,6 +30,7 @@ import org.bukkit.event.block.BlockBreakEvent;
|
|||||||
import org.bukkit.event.block.BlockPlaceEvent;
|
import org.bukkit.event.block.BlockPlaceEvent;
|
||||||
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
import org.bukkit.event.entity.EntityDamageByEntityEvent;
|
||||||
import org.bukkit.event.entity.FoodLevelChangeEvent;
|
import org.bukkit.event.entity.FoodLevelChangeEvent;
|
||||||
|
import org.bukkit.event.player.PlayerItemConsumeEvent;
|
||||||
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 org.bukkit.inventory.meta.ItemMeta;
|
||||||
@ -154,6 +155,7 @@ import me.mrCookieSlime.Slimefun.Objects.handlers.BlockBreakHandler;
|
|||||||
import me.mrCookieSlime.Slimefun.Objects.handlers.BlockPlaceHandler;
|
import me.mrCookieSlime.Slimefun.Objects.handlers.BlockPlaceHandler;
|
||||||
import me.mrCookieSlime.Slimefun.Objects.handlers.BlockTicker;
|
import me.mrCookieSlime.Slimefun.Objects.handlers.BlockTicker;
|
||||||
import me.mrCookieSlime.Slimefun.Objects.handlers.BowShootHandler;
|
import me.mrCookieSlime.Slimefun.Objects.handlers.BowShootHandler;
|
||||||
|
import me.mrCookieSlime.Slimefun.Objects.handlers.ItemConsumptionHandler;
|
||||||
import me.mrCookieSlime.Slimefun.Objects.handlers.ItemInteractionHandler;
|
import me.mrCookieSlime.Slimefun.Objects.handlers.ItemInteractionHandler;
|
||||||
import me.mrCookieSlime.Slimefun.Objects.handlers.MultiBlockInteractionHandler;
|
import me.mrCookieSlime.Slimefun.Objects.handlers.MultiBlockInteractionHandler;
|
||||||
import me.mrCookieSlime.Slimefun.Objects.tasks.RainbowTicker;
|
import me.mrCookieSlime.Slimefun.Objects.tasks.RainbowTicker;
|
||||||
@ -1061,7 +1063,25 @@ public final class SlimefunSetup {
|
|||||||
|
|
||||||
new SlimefunItem(Categories.PORTABLE, SlimefunItems.MEDICINE, "MEDICINE", RecipeType.ENHANCED_CRAFTING_TABLE,
|
new SlimefunItem(Categories.PORTABLE, SlimefunItems.MEDICINE, "MEDICINE", RecipeType.ENHANCED_CRAFTING_TABLE,
|
||||||
new ItemStack[] {SlimefunItems.VITAMINS, new ItemStack(Material.GLASS_BOTTLE), SlimefunItems.HEAVY_CREAM, null, null, null, null, null, null})
|
new ItemStack[] {SlimefunItems.VITAMINS, new ItemStack(Material.GLASS_BOTTLE), SlimefunItems.HEAVY_CREAM, null, null, null, null, null, null})
|
||||||
.register(true);
|
.register(true, new ItemConsumptionHandler() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onConsume(PlayerItemConsumeEvent e, Player p, ItemStack item) {
|
||||||
|
if (SlimefunManager.isItemSimiliar(item, SlimefunItems.MEDICINE, true)) {
|
||||||
|
if (p.hasPotionEffect(PotionEffectType.POISON)) p.removePotionEffect(PotionEffectType.POISON);
|
||||||
|
if (p.hasPotionEffect(PotionEffectType.WITHER)) p.removePotionEffect(PotionEffectType.WITHER);
|
||||||
|
if (p.hasPotionEffect(PotionEffectType.SLOW)) p.removePotionEffect(PotionEffectType.SLOW);
|
||||||
|
if (p.hasPotionEffect(PotionEffectType.SLOW_DIGGING)) p.removePotionEffect(PotionEffectType.SLOW_DIGGING);
|
||||||
|
if (p.hasPotionEffect(PotionEffectType.WEAKNESS)) p.removePotionEffect(PotionEffectType.WEAKNESS);
|
||||||
|
if (p.hasPotionEffect(PotionEffectType.CONFUSION)) p.removePotionEffect(PotionEffectType.CONFUSION);
|
||||||
|
if (p.hasPotionEffect(PotionEffectType.BLINDNESS)) p.removePotionEffect(PotionEffectType.BLINDNESS);
|
||||||
|
|
||||||
|
p.setFireTicks(0);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
else return false;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
new SlimefunArmorPiece(Categories.TECH, SlimefunItems.NIGHT_VISION_GOGGLES, "NIGHT_VISION_GOGGLES", RecipeType.ARMOR_FORGE,
|
new SlimefunArmorPiece(Categories.TECH, SlimefunItems.NIGHT_VISION_GOGGLES, "NIGHT_VISION_GOGGLES", RecipeType.ARMOR_FORGE,
|
||||||
new ItemStack[] {new ItemStack(Material.COAL_BLOCK), new ItemStack(Material.COAL_BLOCK), new ItemStack(Material.COAL_BLOCK), new ItemStack(Material.LIME_STAINED_GLASS_PANE), new ItemStack(Material.COAL_BLOCK), new ItemStack(Material.LIME_STAINED_GLASS_PANE), new ItemStack(Material.COAL_BLOCK), null, new ItemStack(Material.COAL_BLOCK)},
|
new ItemStack[] {new ItemStack(Material.COAL_BLOCK), new ItemStack(Material.COAL_BLOCK), new ItemStack(Material.COAL_BLOCK), new ItemStack(Material.LIME_STAINED_GLASS_PANE), new ItemStack(Material.COAL_BLOCK), new ItemStack(Material.LIME_STAINED_GLASS_PANE), new ItemStack(Material.COAL_BLOCK), null, new ItemStack(Material.COAL_BLOCK)},
|
||||||
|
@ -295,7 +295,8 @@ public final class SlimefunPlugin extends JavaPlugin {
|
|||||||
p.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 400, 1));
|
p.addPotionEffect(new PotionEffect(PotionEffectType.SLOW, 400, 1));
|
||||||
p.addPotionEffect(new PotionEffect(PotionEffectType.SLOW_DIGGING, 400, 1));
|
p.addPotionEffect(new PotionEffect(PotionEffectType.SLOW_DIGGING, 400, 1));
|
||||||
p.setFireTicks(400);
|
p.setFireTicks(400);
|
||||||
break; // Break the loop to save some calculations
|
break;
|
||||||
|
// Break the loop to save some calculations
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -87,7 +87,8 @@ public class AncientAltarListener implements Listener {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
utilities.altarinuse.add(b.getLocation()); // make altarinuse simply because that was the last block clicked.
|
// Make altarinuse simply because that was the last block clicked.
|
||||||
|
utilities.altarinuse.add(b.getLocation());
|
||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
|
|
||||||
ItemStack catalyst = new CustomItem(e.getPlayer().getInventory().getItemInMainHand(), 1);
|
ItemStack catalyst = new CustomItem(e.getPlayer().getInventory().getItemInMainHand(), 1);
|
||||||
@ -118,7 +119,8 @@ public class AncientAltarListener implements Listener {
|
|||||||
|
|
||||||
pedestals.forEach(block -> utilities.altarinuse.remove(block.getLocation()));
|
pedestals.forEach(block -> utilities.altarinuse.remove(block.getLocation()));
|
||||||
|
|
||||||
utilities.altarinuse.remove(b.getLocation()); // bad recipe, no longer in use.
|
// Bad recipe, no longer in use.
|
||||||
|
utilities.altarinuse.remove(b.getLocation());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@ -127,13 +129,16 @@ public class AncientAltarListener implements Listener {
|
|||||||
|
|
||||||
pedestals.forEach(block -> utilities.altarinuse.remove(block.getLocation()));
|
pedestals.forEach(block -> utilities.altarinuse.remove(block.getLocation()));
|
||||||
|
|
||||||
utilities.altarinuse.remove(b.getLocation()); // unkown catalyst, no longer in use
|
// Unknown catalyst, no longer in use
|
||||||
|
utilities.altarinuse.remove(b.getLocation());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
altars.remove(e.getClickedBlock());
|
altars.remove(e.getClickedBlock());
|
||||||
Messages.local.sendTranslation(e.getPlayer(), "machines.ANCIENT_ALTAR.not-enough-pedestals", true, new Variable("%pedestals%", String.valueOf(pedestals.size())));
|
Messages.local.sendTranslation(e.getPlayer(), "machines.ANCIENT_ALTAR.not-enough-pedestals", true, new Variable("%pedestals%", String.valueOf(pedestals.size())));
|
||||||
utilities.altarinuse.remove(b.getLocation()); // not a valid altar so remove from inuse
|
|
||||||
|
// Not a valid altar so remove from inuse
|
||||||
|
utilities.altarinuse.remove(b.getLocation());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -293,7 +293,7 @@ public abstract class ProgrammableAndroid extends SlimefunItem {
|
|||||||
b.setBlockData(rotatableLeft);
|
b.setBlockData(rotatableLeft);
|
||||||
BlockStorage.addBlockInfo(b, "rotation", directions.get(indexLeft).toString());
|
BlockStorage.addBlockInfo(b, "rotation", directions.get(indexLeft).toString());
|
||||||
break;
|
break;
|
||||||
case TURN_RIGHT: {
|
case TURN_RIGHT:
|
||||||
int indexRight = directions.indexOf(BlockFace.valueOf(BlockStorage.getLocationInfo(b.getLocation(), "rotation"))) + 1;
|
int indexRight = directions.indexOf(BlockFace.valueOf(BlockStorage.getLocationInfo(b.getLocation(), "rotation"))) + 1;
|
||||||
if (indexRight == directions.size()) indexRight = 0;
|
if (indexRight == directions.size()) indexRight = 0;
|
||||||
Rotatable rotatableRight = (Rotatable) b.getBlockData();
|
Rotatable rotatableRight = (Rotatable) b.getBlockData();
|
||||||
@ -301,7 +301,6 @@ public abstract class ProgrammableAndroid extends SlimefunItem {
|
|||||||
b.setBlockData(rotatableRight);
|
b.setBlockData(rotatableRight);
|
||||||
BlockStorage.addBlockInfo(b, "rotation", directions.get(indexRight).toString());
|
BlockStorage.addBlockInfo(b, "rotation", directions.get(indexRight).toString());
|
||||||
break;
|
break;
|
||||||
}
|
|
||||||
case DIG_FORWARD:
|
case DIG_FORWARD:
|
||||||
mine(b, b.getRelative(face));
|
mine(b, b.getRelative(face));
|
||||||
break;
|
break;
|
||||||
|
@ -147,7 +147,10 @@ public class BlockStorage {
|
|||||||
long time = (System.currentTimeMillis() - start);
|
long time = (System.currentTimeMillis() - start);
|
||||||
Slimefun.getLogger().log(Level.INFO, "Loading Blocks... 100% (FINISHED - " + time + "ms)");
|
Slimefun.getLogger().log(Level.INFO, "Loading Blocks... 100% (FINISHED - " + time + "ms)");
|
||||||
Slimefun.getLogger().log(Level.INFO, "Loaded a total of " + totalBlocks + " Blocks for World \"" + world.getName() + "\"");
|
Slimefun.getLogger().log(Level.INFO, "Loaded a total of " + totalBlocks + " Blocks for World \"" + world.getName() + "\"");
|
||||||
if (totalBlocks > 0) System.out.println("[Slimefun] Avg: " + DoubleHandler.fixDouble((double) time / (double) totalBlocks, 3) + "ms/Block");
|
|
||||||
|
if (totalBlocks > 0) {
|
||||||
|
Slimefun.getLogger().log(Level.INFO, "Avg: " + DoubleHandler.fixDouble((double) time / (double) totalBlocks, 3) + "ms/Block");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else f.mkdirs();
|
else f.mkdirs();
|
||||||
@ -622,7 +625,7 @@ public class BlockStorage {
|
|||||||
if (menu != null) {
|
if (menu != null) {
|
||||||
for (HumanEntity human : new ArrayList<>(menu.toInventory().getViewers())) {
|
for (HumanEntity human : new ArrayList<>(menu.toInventory().getViewers())) {
|
||||||
// Prevents "java.lang.IllegalStateException: Asynchronous entity add!" when closing inventory while holding an item
|
// Prevents "java.lang.IllegalStateException: Asynchronous entity add!" when closing inventory while holding an item
|
||||||
Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, () -> human.closeInventory());
|
Bukkit.getScheduler().scheduleSyncDelayedTask(SlimefunPlugin.instance, human::closeInventory);
|
||||||
}
|
}
|
||||||
|
|
||||||
inventories.get(l).delete(l);
|
inventories.get(l).delete(l);
|
||||||
|
@ -196,7 +196,8 @@ public final class CargoManager {
|
|||||||
String id = BlockStorage.checkID(block);
|
String id = BlockStorage.checkID(block);
|
||||||
if (id.equals("CARGO_NODE_OUTPUT")) return true;
|
if (id.equals("CARGO_NODE_OUTPUT")) return true;
|
||||||
|
|
||||||
Config blockInfo = BlockStorage.getLocationInfo(block.getLocation()); // Store the returned Config instance to avoid heavy calls
|
// Store the returned Config instance to avoid heavy calls
|
||||||
|
Config blockInfo = BlockStorage.getLocationInfo(block.getLocation());
|
||||||
|
|
||||||
BlockMenu menu = BlockStorage.getInventory(block.getLocation());
|
BlockMenu menu = BlockStorage.getInventory(block.getLocation());
|
||||||
boolean lore = blockInfo.getString("filter-lore").equals("true");
|
boolean lore = blockInfo.getString("filter-lore").equals("true");
|
||||||
|
@ -9,6 +9,7 @@ import java.util.Iterator;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
import org.bukkit.ChatColor;
|
import org.bukkit.ChatColor;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
@ -27,6 +28,7 @@ import me.mrCookieSlime.CSCoreLibPlugin.general.Math.DoubleHandler;
|
|||||||
import me.mrCookieSlime.Slimefun.SlimefunPlugin;
|
import me.mrCookieSlime.Slimefun.SlimefunPlugin;
|
||||||
import me.mrCookieSlime.Slimefun.Setup.SlimefunManager;
|
import me.mrCookieSlime.Slimefun.Setup.SlimefunManager;
|
||||||
import me.mrCookieSlime.Slimefun.api.BlockStorage;
|
import me.mrCookieSlime.Slimefun.api.BlockStorage;
|
||||||
|
import me.mrCookieSlime.Slimefun.api.Slimefun;
|
||||||
import me.mrCookieSlime.Slimefun.api.inventory.BlockMenu;
|
import me.mrCookieSlime.Slimefun.api.inventory.BlockMenu;
|
||||||
import me.mrCookieSlime.Slimefun.api.inventory.UniversalBlockMenu;
|
import me.mrCookieSlime.Slimefun.api.inventory.UniversalBlockMenu;
|
||||||
import me.mrCookieSlime.Slimefun.api.network.Network;
|
import me.mrCookieSlime.Slimefun.api.network.Network;
|
||||||
@ -134,6 +136,8 @@ public class CargoNet extends Network {
|
|||||||
case "CT_EXPORT_BUS":
|
case "CT_EXPORT_BUS":
|
||||||
exports.add(l);
|
exports.add(l);
|
||||||
break;
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -529,8 +533,11 @@ public class CargoNet extends Network {
|
|||||||
private static int getFrequency(Location l) {
|
private static int getFrequency(Location l) {
|
||||||
int freq = 0;
|
int freq = 0;
|
||||||
try {
|
try {
|
||||||
freq = Integer.parseInt(BlockStorage.getLocationInfo(l).getString("frequency"));
|
String str = BlockStorage.getLocationInfo(l).getString("frequency");
|
||||||
} catch (Exception e) {}
|
if (str != null) freq = Integer.parseInt(str);
|
||||||
|
} catch (Exception x) {
|
||||||
|
Slimefun.getLogger().log(Level.SEVERE, "An Error occured while parsing a Cargo Node Frequency", x);
|
||||||
|
}
|
||||||
return freq;
|
return freq;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2,8 +2,8 @@ package me.mrCookieSlime.Slimefun.api.item_transport;
|
|||||||
|
|
||||||
public class ChannelIndex {
|
public class ChannelIndex {
|
||||||
|
|
||||||
public int channel;
|
private int channel;
|
||||||
public int index;
|
private int index;
|
||||||
|
|
||||||
public ChannelIndex(int channel, int index) {
|
public ChannelIndex(int channel, int index) {
|
||||||
this.channel = channel;
|
this.channel = channel;
|
||||||
|
@ -4,8 +4,8 @@ import org.bukkit.inventory.ItemStack;
|
|||||||
|
|
||||||
public class ItemSlot {
|
public class ItemSlot {
|
||||||
|
|
||||||
public int slot;
|
private int slot;
|
||||||
public ItemStack item;
|
private ItemStack item;
|
||||||
|
|
||||||
public ItemSlot(ItemStack item, int slot) {
|
public ItemSlot(ItemStack item, int slot) {
|
||||||
this.slot = slot;
|
this.slot = slot;
|
||||||
|
@ -4,8 +4,8 @@ import org.bukkit.inventory.ItemStack;
|
|||||||
|
|
||||||
public class StoredItem {
|
public class StoredItem {
|
||||||
|
|
||||||
public int amount;
|
private int amount;
|
||||||
public ItemStack item;
|
private ItemStack item;
|
||||||
|
|
||||||
public StoredItem(ItemStack item, int amount) {
|
public StoredItem(ItemStack item, int amount) {
|
||||||
this.amount = amount;
|
this.amount = amount;
|
||||||
|
@ -41,7 +41,7 @@ import me.mrCookieSlime.Slimefun.api.SlimefunGuideLayout;
|
|||||||
|
|
||||||
public class SlimefunCommand implements CommandExecutor, Listener {
|
public class SlimefunCommand implements CommandExecutor, Listener {
|
||||||
|
|
||||||
public SlimefunPlugin plugin;
|
private SlimefunPlugin plugin;
|
||||||
|
|
||||||
private List<String> arguments = new ArrayList<>();
|
private List<String> arguments = new ArrayList<>();
|
||||||
private List<String> descriptions = new ArrayList<>();
|
private List<String> descriptions = new ArrayList<>();
|
||||||
|
@ -134,12 +134,13 @@ public class BlockListener implements Listener {
|
|||||||
|
|
||||||
if (!multiblocks.isEmpty()) {
|
if (!multiblocks.isEmpty()) {
|
||||||
e.setCancelled(true);
|
e.setCancelled(true);
|
||||||
|
MultiBlock multiblock = multiblocks.get(multiblocks.size() - 1);
|
||||||
|
|
||||||
for (ItemHandler handler: SlimefunItem.getHandlers("MultiBlockInteractionHandler")) {
|
for (ItemHandler handler: SlimefunItem.getHandlers("MultiBlockInteractionHandler")) {
|
||||||
if (((MultiBlockInteractionHandler) handler).onInteract(p, multiblocks.get(multiblocks.size() - 1), b)) continue;
|
if (((MultiBlockInteractionHandler) handler).onInteract(p, multiblock, b)) break;
|
||||||
}
|
}
|
||||||
|
|
||||||
MultiBlockInteractEvent event = new MultiBlockInteractEvent(p, multiblocks.get(multiblocks.size() - 1), b);
|
MultiBlockInteractEvent event = new MultiBlockInteractEvent(p, multiblock, b);
|
||||||
Bukkit.getPluginManager().callEvent(event);
|
Bukkit.getPluginManager().callEvent(event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -85,20 +85,20 @@ public class DamageListener implements Listener {
|
|||||||
|
|
||||||
if (item != null && Slimefun.hasUnlocked(p, item, true) && SlimefunManager.isItemSimiliar(item, SlimefunItem.getItem("SWORD_OF_BEHEADING"), true)) {
|
if (item != null && Slimefun.hasUnlocked(p, item, true) && SlimefunManager.isItemSimiliar(item, SlimefunItem.getItem("SWORD_OF_BEHEADING"), true)) {
|
||||||
if (e.getEntity() instanceof Zombie) {
|
if (e.getEntity() instanceof Zombie) {
|
||||||
if (random.nextInt(100) < (Integer) Slimefun.getItemValue("SWORD_OF_BEHEADING", "chance.ZOMBIE")) {
|
if (random.nextInt(100) < (int) Slimefun.getItemValue("SWORD_OF_BEHEADING", "chance.ZOMBIE")) {
|
||||||
e.getDrops().add(new ItemStack(Material.ZOMBIE_HEAD));
|
e.getDrops().add(new ItemStack(Material.ZOMBIE_HEAD));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (e.getEntity() instanceof WitherSkeleton) {
|
else if (e.getEntity() instanceof WitherSkeleton) {
|
||||||
if (random.nextInt(100) < (Integer) Slimefun.getItemValue("SWORD_OF_BEHEADING", "chance.WITHER_SKELETON"))
|
if (random.nextInt(100) < (int) Slimefun.getItemValue("SWORD_OF_BEHEADING", "chance.WITHER_SKELETON"))
|
||||||
e.getDrops().add(new ItemStack(Material.WITHER_SKELETON_SKULL));
|
e.getDrops().add(new ItemStack(Material.WITHER_SKELETON_SKULL));
|
||||||
}
|
}
|
||||||
else if (e.getEntity() instanceof Skeleton) {
|
else if (e.getEntity() instanceof Skeleton) {
|
||||||
if (random.nextInt(100) < (Integer) Slimefun.getItemValue("SWORD_OF_BEHEADING", "chance.SKELETON"))
|
if (random.nextInt(100) < (int) Slimefun.getItemValue("SWORD_OF_BEHEADING", "chance.SKELETON"))
|
||||||
e.getDrops().add(new ItemStack(Material.SKELETON_SKULL));
|
e.getDrops().add(new ItemStack(Material.SKELETON_SKULL));
|
||||||
}
|
}
|
||||||
else if (e.getEntity() instanceof Creeper) {
|
else if (e.getEntity() instanceof Creeper) {
|
||||||
if (random.nextInt(100) < (Integer) Slimefun.getItemValue("SWORD_OF_BEHEADING", "chance.CREEPER")) {
|
if (random.nextInt(100) < (int) Slimefun.getItemValue("SWORD_OF_BEHEADING", "chance.CREEPER")) {
|
||||||
e.getDrops().add(new ItemStack(Material.CREEPER_HEAD));
|
e.getDrops().add(new ItemStack(Material.CREEPER_HEAD));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -126,7 +126,9 @@ public class DamageListener implements Listener {
|
|||||||
for(ItemStack invItem : ((ChestedHorse) e.getEntity()).getInventory().getStorageContents()) {
|
for(ItemStack invItem : ((ChestedHorse) e.getEntity()).getInventory().getStorageContents()) {
|
||||||
e.getDrops().remove(invItem);
|
e.getDrops().remove(invItem);
|
||||||
}
|
}
|
||||||
e.getDrops().remove(new ItemStack(Material.CHEST)); //The chest is not included in getStorageContents()
|
|
||||||
|
//The chest is not included in getStorageContents()
|
||||||
|
e.getDrops().remove(new ItemStack(Material.CHEST));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -222,6 +222,7 @@ public class ItemListener implements Listener {
|
|||||||
else p.chat("/sf cheat");
|
else p.chat("/sf cheat");
|
||||||
}
|
}
|
||||||
else if (SlimefunManager.isItemSimiliar(e.getPlayer().getInventory().getItemInMainHand(), SlimefunItems.DEBUG_FISH, true) || SlimefunManager.isItemSimiliar(e.getPlayer().getInventory().getItemInOffHand(), SlimefunItems.DEBUG_FISH, true)) {
|
else if (SlimefunManager.isItemSimiliar(e.getPlayer().getInventory().getItemInMainHand(), SlimefunItems.DEBUG_FISH, true) || SlimefunManager.isItemSimiliar(e.getPlayer().getInventory().getItemInOffHand(), SlimefunItems.DEBUG_FISH, true)) {
|
||||||
|
// Ignore the debug fish in here
|
||||||
}
|
}
|
||||||
else if (Slimefun.hasUnlocked(p, item, true)) {
|
else if (Slimefun.hasUnlocked(p, item, true)) {
|
||||||
for (ItemHandler handler : SlimefunItem.getHandlers("ItemInteractionHandler")) {
|
for (ItemHandler handler : SlimefunItem.getHandlers("ItemInteractionHandler")) {
|
||||||
@ -309,18 +310,11 @@ public class ItemListener implements Listener {
|
|||||||
if (((ItemConsumptionHandler) handler).onConsume(e, p, item)) return;
|
if (((ItemConsumptionHandler) handler).onConsume(e, p, item)) return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (SlimefunManager.isItemSimiliar(item, SlimefunItems.FORTUNE_COOKIE, true)) p.sendMessage(ChatColor.translateAlternateColorCodes('&', Messages.local.getTranslation("messages.fortune-cookie").get(CSCoreLib.randomizer().nextInt(Messages.local.getTranslation("messages.fortune-cookie").size()))));
|
if (SlimefunManager.isItemSimiliar(item, SlimefunItems.FORTUNE_COOKIE, true)) {
|
||||||
else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.BEEF_JERKY, true)) p.setSaturation((Integer) Slimefun.getItemValue("BEEF_JERKY", "Saturation"));
|
p.sendMessage(ChatColor.translateAlternateColorCodes('&', Messages.local.getTranslation("messages.fortune-cookie").get(CSCoreLib.randomizer().nextInt(Messages.local.getTranslation("messages.fortune-cookie").size()))));
|
||||||
else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.MEDICINE, true)) {
|
}
|
||||||
if (p.hasPotionEffect(PotionEffectType.POISON)) p.removePotionEffect(PotionEffectType.POISON);
|
else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.BEEF_JERKY, true)) {
|
||||||
if (p.hasPotionEffect(PotionEffectType.WITHER)) p.removePotionEffect(PotionEffectType.WITHER);
|
p.setSaturation((int) Slimefun.getItemValue("BEEF_JERKY", "Saturation"));
|
||||||
if (p.hasPotionEffect(PotionEffectType.SLOW)) p.removePotionEffect(PotionEffectType.SLOW);
|
|
||||||
if (p.hasPotionEffect(PotionEffectType.SLOW_DIGGING)) p.removePotionEffect(PotionEffectType.SLOW_DIGGING);
|
|
||||||
if (p.hasPotionEffect(PotionEffectType.WEAKNESS)) p.removePotionEffect(PotionEffectType.WEAKNESS);
|
|
||||||
if (p.hasPotionEffect(PotionEffectType.CONFUSION)) p.removePotionEffect(PotionEffectType.CONFUSION);
|
|
||||||
if (p.hasPotionEffect(PotionEffectType.BLINDNESS)) p.removePotionEffect(PotionEffectType.BLINDNESS);
|
|
||||||
|
|
||||||
p.setFireTicks(0);
|
|
||||||
}
|
}
|
||||||
else if (item.getType() == Material.POTION) {
|
else if (item.getType() == Material.POTION) {
|
||||||
SlimefunItem sfItem = SlimefunItem.getByItem(item);
|
SlimefunItem sfItem = SlimefunItem.getByItem(item);
|
||||||
|
@ -13,10 +13,7 @@ public interface DamageableItem {
|
|||||||
boolean isDamageable();
|
boolean isDamageable();
|
||||||
|
|
||||||
default void damageItem(Player p, ItemStack item) {
|
default void damageItem(Player p, ItemStack item) {
|
||||||
if (item == null || item.getType() == null || item.getType() == Material.AIR) {
|
if (item != null && item.getType() != null && item.getType() != Material.AIR && item.getAmount() > 0 && isDamageable() && !item.getEnchantments().containsKey(Enchantment.DURABILITY) || Math.random() * 100 <= (60 + Math.floorDiv(40, (item.getEnchantmentLevel(Enchantment.DURABILITY) + 1)))) {
|
||||||
return;
|
|
||||||
}
|
|
||||||
else if (item.getAmount() > 0 && isDamageable() && !item.getEnchantments().containsKey(Enchantment.DURABILITY) || Math.random() * 100 <= (60 + Math.floorDiv(40, (item.getEnchantmentLevel(Enchantment.DURABILITY) + 1)))) {
|
|
||||||
ItemMeta meta = item.getItemMeta();
|
ItemMeta meta = item.getItemMeta();
|
||||||
|
|
||||||
Damageable damageable = (Damageable) meta;
|
Damageable damageable = (Damageable) meta;
|
||||||
|
@ -6,22 +6,22 @@ import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
|
|||||||
|
|
||||||
public final class Settings {
|
public final class Settings {
|
||||||
|
|
||||||
public boolean printOutLoading;
|
public final boolean printOutLoading;
|
||||||
|
|
||||||
public boolean researchesEnabled;
|
public boolean researchesEnabled;
|
||||||
public boolean researchesFreeInCreative;
|
public final boolean researchesFreeInCreative;
|
||||||
public List<String> researchesTitles;
|
public final List<String> researchesTitles;
|
||||||
|
|
||||||
public int blocksInfoLoadingDelay;
|
public final int blocksInfoLoadingDelay;
|
||||||
public int blocksAutoSaveDelay;
|
public final int blocksAutoSaveDelay;
|
||||||
|
|
||||||
public boolean guideShowVanillaRecipes;
|
public final boolean guideShowVanillaRecipes;
|
||||||
|
|
||||||
public int emeraldEnchantsLimit;
|
public final int emeraldEnchantsLimit;
|
||||||
|
|
||||||
public boolean legacyDustWasher;
|
public final boolean legacyDustWasher;
|
||||||
public boolean legacyOreGrinder;
|
public final boolean legacyOreGrinder;
|
||||||
public boolean legacyOreWasher;
|
public final boolean legacyOreWasher;
|
||||||
|
|
||||||
public int smelteryFireBreakChance;
|
public int smelteryFireBreakChance;
|
||||||
|
|
||||||
|
@ -43,74 +43,74 @@ public final class Utilities {
|
|||||||
|
|
||||||
public int vanillaItems = 0;
|
public int vanillaItems = 0;
|
||||||
|
|
||||||
public Set<ItemStack> radioactiveItems = new HashSet<>();
|
public final Set<ItemStack> radioactiveItems = new HashSet<>();
|
||||||
public Map<String, Set<ItemHandler>> itemHandlers = new HashMap<>();
|
public final Map<String, Set<ItemHandler>> itemHandlers = new HashMap<>();
|
||||||
public Map<String, SlimefunBlockHandler> blockHandlers = new HashMap<>();
|
public final Map<String, SlimefunBlockHandler> blockHandlers = new HashMap<>();
|
||||||
public Set<String> tickers = new HashSet<>();
|
public final Set<String> tickers = new HashSet<>();
|
||||||
|
|
||||||
public Map<String, Integer> blocksEnergyCapacity = new HashMap<>();
|
public final Map<String, Integer> blocksEnergyCapacity = new HashMap<>();
|
||||||
public Set<String> rechargeableItems = new HashSet<>();
|
public final Set<String> rechargeableItems = new HashSet<>();
|
||||||
public Set<String> capacitorIDs = new HashSet<>();
|
public final Set<String> capacitorIDs = new HashSet<>();
|
||||||
|
|
||||||
public Set<String> energyNetInput = new HashSet<>();
|
public final Set<String> energyNetInput = new HashSet<>();
|
||||||
public Set<String> energyNetStorage = new HashSet<>();
|
public final Set<String> energyNetStorage = new HashSet<>();
|
||||||
public Set<String> energyNetOutput = new HashSet<>();
|
public final Set<String> energyNetOutput = new HashSet<>();
|
||||||
|
|
||||||
public Map<Location, Integer> roundRobin = new HashMap<>();
|
public final Map<Location, Integer> roundRobin = new HashMap<>();
|
||||||
public Set<ItemRequest> itemRequests = new HashSet<>();
|
public final Set<ItemRequest> itemRequests = new HashSet<>();
|
||||||
|
|
||||||
public Map<String, BlockMenuPreset> blockMenuPresets = new HashMap<>();
|
public final Map<String, BlockMenuPreset> blockMenuPresets = new HashMap<>();
|
||||||
|
|
||||||
public List<Category> currentlyEnabledCategories = new ArrayList<>();
|
public final List<Category> currentlyEnabledCategories = new ArrayList<>();
|
||||||
|
|
||||||
public Map<String, BlockStorage> worlds = new HashMap<>();
|
public final Map<String, BlockStorage> worlds = new HashMap<>();
|
||||||
public Set<String> loadedTickers = new HashSet<>();
|
public final Set<String> loadedTickers = new HashSet<>();
|
||||||
|
|
||||||
public Map<String, String> mapChunks = new HashMap<>();
|
public final Map<String, String> mapChunks = new HashMap<>();
|
||||||
public Map<String, Set<Location>> tickingChunks = new HashMap<>();
|
public final Map<String, Set<Location>> tickingChunks = new HashMap<>();
|
||||||
public Map<String, UniversalBlockMenu> universalInventories = new HashMap<>();
|
public final Map<String, UniversalBlockMenu> universalInventories = new HashMap<>();
|
||||||
|
|
||||||
public Map<UUID, PlayerProfile> profiles = new HashMap<>();
|
public final Map<UUID, PlayerProfile> profiles = new HashMap<>();
|
||||||
|
|
||||||
public Map<Integer, List<GuideHandler>> guideHandlers = new HashMap<>();
|
public final Map<Integer, List<GuideHandler>> guideHandlers = new HashMap<>();
|
||||||
public List<PostSlimefunLoadingHandler> postHandlers = new ArrayList<>();
|
public final List<PostSlimefunLoadingHandler> postHandlers = new ArrayList<>();
|
||||||
|
|
||||||
public Map<EntityType, List<ItemStack>> drops = new EnumMap<>(EntityType.class);
|
public final Map<EntityType, List<ItemStack>> drops = new EnumMap<>(EntityType.class);
|
||||||
|
|
||||||
public Map<UUID, Boolean> jumpState = new HashMap<>();
|
public final Map<UUID, Boolean> jumpState = new HashMap<>();
|
||||||
public Set<UUID> damage = new HashSet<>();
|
public final Set<UUID> damage = new HashSet<>();
|
||||||
public Map<UUID, Entity[]> remove = new HashMap<>();
|
public final Map<UUID, Entity[]> remove = new HashMap<>();
|
||||||
public Map<UUID, Integer> mode = new HashMap<>();
|
public final Map<UUID, Integer> mode = new HashMap<>();
|
||||||
|
|
||||||
public Map<UUID, Integer> enchanting = new HashMap<>();
|
public final Map<UUID, Integer> enchanting = new HashMap<>();
|
||||||
public Map<UUID, ItemStack> backpack = new HashMap<>();
|
public final Map<UUID, ItemStack> backpack = new HashMap<>();
|
||||||
|
|
||||||
public Set<Location> altarinuse = new HashSet<>();
|
public final Set<Location> altarinuse = new HashSet<>();
|
||||||
public Set<AltarRecipe> altarRecipes = new HashSet<>();
|
public final Set<AltarRecipe> altarRecipes = new HashSet<>();
|
||||||
|
|
||||||
public Map<UUID, Map<Integer, ItemStack>> soulbound = new HashMap<>();
|
public final Map<UUID, Map<Integer, ItemStack>> soulbound = new HashMap<>();
|
||||||
public List<UUID> blocks = new ArrayList<>();
|
public final List<UUID> blocks = new ArrayList<>();
|
||||||
public List<UUID> cancelPlace = new ArrayList<>();
|
public final List<UUID> cancelPlace = new ArrayList<>();
|
||||||
public Map<UUID, ItemStack> arrows = new HashMap<>();
|
public final Map<UUID, ItemStack> arrows = new HashMap<>();
|
||||||
|
|
||||||
public Set<UUID> elevatorUsers = new HashSet<>();
|
public final Set<UUID> elevatorUsers = new HashSet<>();
|
||||||
public Set<UUID> teleporterUsers = new HashSet<>();
|
public final Set<UUID> teleporterUsers = new HashSet<>();
|
||||||
|
|
||||||
public Map<String, OreGenResource> resources = new HashMap<>();
|
public final Map<String, OreGenResource> resources = new HashMap<>();
|
||||||
|
|
||||||
public Set<GitHubConnector> connectors = new HashSet<>();
|
public final Set<GitHubConnector> connectors = new HashSet<>();
|
||||||
public Map<String, String> contributorHeads = new HashMap<>();
|
public final Map<String, String> contributorHeads = new HashMap<>();
|
||||||
public List<Contributor> contributors = new ArrayList<>();
|
public final List<Contributor> contributors = new ArrayList<>();
|
||||||
|
|
||||||
public Map<UUID, List<Object>> guideHistory = new HashMap<>();
|
public final Map<UUID, List<Object>> guideHistory = new HashMap<>();
|
||||||
|
|
||||||
public List<CargoTransportEvent> cargoTransportEvents = new ArrayList<>();
|
public final List<CargoTransportEvent> cargoTransportEvents = new ArrayList<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Contains all the players (UUIDs) that are currently unlocking a research.
|
* Contains all the players (UUIDs) that are currently unlocking a research.
|
||||||
* @since 4.0
|
* @since 4.0
|
||||||
*/
|
*/
|
||||||
public Set<UUID> researching = new HashSet<>();
|
public final Set<UUID> researching = new HashSet<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Represents the current month of the year
|
* Represents the current month of the year
|
||||||
|
Loading…
Reference in New Issue
Block a user