From 5c9ba0a94feb6097f582fe6e5ee2bcabd923b1da Mon Sep 17 00:00:00 2001 From: ajan-12 <36973731+ajan-12@users.noreply.github.com> Date: Fri, 6 Sep 2019 23:57:47 +0300 Subject: [PATCH 1/8] Hopefully fixes #1085 --- src/me/mrCookieSlime/Slimefun/listeners/FurnaceListener.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/me/mrCookieSlime/Slimefun/listeners/FurnaceListener.java b/src/me/mrCookieSlime/Slimefun/listeners/FurnaceListener.java index 829fd1d14..b51d9e86b 100644 --- a/src/me/mrCookieSlime/Slimefun/listeners/FurnaceListener.java +++ b/src/me/mrCookieSlime/Slimefun/listeners/FurnaceListener.java @@ -26,7 +26,7 @@ public class FurnaceListener implements Listener { SlimefunItem furnace = BlockStorage.check(e.getBlock()); if (furnace instanceof EnhancedFurnace && ((EnhancedFurnace) furnace).getFuelEfficiency() > 0) { - e.setBurnTime(((int) ((1 + 0.2 * ((EnhancedFurnace) furnace).getFuelEfficiency()) * e.getBurnTime()))); + e.setBurnTime(1 + (int) (0.2 * ((EnhancedFurnace) furnace).getFuelEfficiency() * e.getBurnTime())); } } @@ -40,7 +40,7 @@ public class FurnaceListener implements Listener { ItemStack result = f.getInventory().getResult() == null ? RecipeCalculator.getSmeltedOutput(f.getInventory().getSmelting().getType()) : f.getInventory().getResult().clone(); if (result != null) { - f.getInventory().setResult(new CustomItem(result, result.getAmount() + amount > result.getMaxStackSize() ? result.getMaxStackSize() : result.getAmount() + amount)); + f.getInventory().setResult(new CustomItem(result, Math.min(result.getAmount() + amount, result.getMaxStackSize()))); } } } From 23819a1d83c508c7d02bf1b39d59c5133ac438a2 Mon Sep 17 00:00:00 2001 From: ajan-12 <36973731+ajan-12@users.noreply.github.com> Date: Sat, 7 Sep 2019 00:15:17 +0300 Subject: [PATCH 2/8] Fixes #1085 for real. --- src/me/mrCookieSlime/Slimefun/listeners/FurnaceListener.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/me/mrCookieSlime/Slimefun/listeners/FurnaceListener.java b/src/me/mrCookieSlime/Slimefun/listeners/FurnaceListener.java index b51d9e86b..fcfdff55a 100644 --- a/src/me/mrCookieSlime/Slimefun/listeners/FurnaceListener.java +++ b/src/me/mrCookieSlime/Slimefun/listeners/FurnaceListener.java @@ -26,7 +26,7 @@ public class FurnaceListener implements Listener { SlimefunItem furnace = BlockStorage.check(e.getBlock()); if (furnace instanceof EnhancedFurnace && ((EnhancedFurnace) furnace).getFuelEfficiency() > 0) { - e.setBurnTime(1 + (int) (0.2 * ((EnhancedFurnace) furnace).getFuelEfficiency() * e.getBurnTime())); + e.setBurnTime(((EnhancedFurnace) furnace).getFuelEfficiency() * e.getBurnTime()); } } From 643cfadaf40319d9f9876e0196808d5ece72d291 Mon Sep 17 00:00:00 2001 From: ajan-12 <36973731+ajan-12@users.noreply.github.com> Date: Sun, 8 Sep 2019 10:12:45 +0300 Subject: [PATCH 3/8] Fixes #1098. --- src/me/mrCookieSlime/Slimefun/Objects/tasks/RainbowTicker.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/me/mrCookieSlime/Slimefun/Objects/tasks/RainbowTicker.java b/src/me/mrCookieSlime/Slimefun/Objects/tasks/RainbowTicker.java index cab0bf760..63f1e20e0 100644 --- a/src/me/mrCookieSlime/Slimefun/Objects/tasks/RainbowTicker.java +++ b/src/me/mrCookieSlime/Slimefun/Objects/tasks/RainbowTicker.java @@ -49,7 +49,7 @@ public class RainbowTicker extends BlockTicker { @Override public void uniqueTick() { - index = ((index == queue.length - 1) ? 0: index + 1); + index = ((index == queue[queue.length - 1]) ? 0: index + 1); meta = queue[index]; } From 7c50faf1403cc07ee34140e4ebcdc21d9e0463a9 Mon Sep 17 00:00:00 2001 From: Alex Mercer Date: Sun, 8 Sep 2019 03:47:09 -0700 Subject: [PATCH 4/8] Changed item-permission to be per item rather than one global list --- .../Slimefun/Objects/SlimefunItem/SlimefunItem.java | 5 ++++- src/me/mrCookieSlime/Slimefun/Setup/Messages.java | 2 -- src/me/mrCookieSlime/Slimefun/SlimefunGuide.java | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java index e829d129c..ce9941c09 100644 --- a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java +++ b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java @@ -50,6 +50,7 @@ public class SlimefunItem { private boolean replacing = false; private boolean addon = false; private String permission = ""; + private String[] permissionMessage = {"&4&lLOCKED", "", "&rYou do not have Permission", "&rto access this Item"}; private Set itemhandlers = new HashSet<>(); private boolean ticking = false; private BlockTicker blockTicker; @@ -178,6 +179,7 @@ public class SlimefunItem { * @since 4.1.11 */ public String getPermission() { return permission; } + public String[] getPermissionMessage() { return permissionMessage; } public Set getHandlers() { return itemhandlers; } public boolean isTicking() { return ticking; } /** @@ -216,7 +218,8 @@ public class SlimefunItem { SlimefunPlugin.getItemCfg().setDefaultValue(this.id + ".allow-enchanting", this.enchantable); SlimefunPlugin.getItemCfg().setDefaultValue(this.id + ".allow-disenchanting", this.disenchantable); SlimefunPlugin.getItemCfg().setDefaultValue(this.id + ".required-permission", this.permission); - + SlimefunPlugin.getItemCfg().setDefaultValue(this.id + ".permission-message", this.permissionMessage); + if (this.keys != null && this.values != null) { for (int i = 0; i < this.keys.length; i++) { SlimefunPlugin.getItemCfg().setDefaultValue(this.id + '.' + this.keys[i], this.values[i]); diff --git a/src/me/mrCookieSlime/Slimefun/Setup/Messages.java b/src/me/mrCookieSlime/Slimefun/Setup/Messages.java index a98c4e735..d6b1fff38 100644 --- a/src/me/mrCookieSlime/Slimefun/Setup/Messages.java +++ b/src/me/mrCookieSlime/Slimefun/Setup/Messages.java @@ -69,8 +69,6 @@ public final class Messages { local.setDefault("messages.cannot-place" ,"&cYou cannot place that block there!"); local.setDefault("messages.no-pvp" ,"&cYou cannot pvp in here!"); - local.setDefault("tooltips.item-permission", "", "&rYou do not have Permission", "&rto access this Item"); - local.setDefault("machines.pattern-not-found", "&eSorry, I could not recognize this Pattern. Please place the Items in the correct Pattern into the Dispenser."); local.setDefault("machines.unknown-material", "&eSorry, I could not recognize the Item in my Dispenser. Please put something in that I know."); local.setDefault("machines.wrong-item", "&eSorry, I could not recognize the Item you right clicked me with. Check the Recipes and see which Items you can use."); diff --git a/src/me/mrCookieSlime/Slimefun/SlimefunGuide.java b/src/me/mrCookieSlime/Slimefun/SlimefunGuide.java index 5a8e6c9e8..20a378032 100644 --- a/src/me/mrCookieSlime/Slimefun/SlimefunGuide.java +++ b/src/me/mrCookieSlime/Slimefun/SlimefunGuide.java @@ -713,8 +713,8 @@ public final class SlimefunGuide { index++; } else { - List tooltip = Messages.local.getTranslation("tooltips.item-permission"); - menu.addItem(index, new CustomItem(Material.BARRIER, StringUtils.formatItemName(sfitem.getItem(), false), tooltip.toArray(new String[tooltip.size()]))); + List message = SlimefunPlugin.getItemCfg().getStringList(sfitem.getID() + ".permission-message"); + menu.addItem(index, new CustomItem(Material.BARRIER, StringUtils.formatItemName(sfitem.getItem(), false), message.toArray(new String[message.size()]))); menu.addMenuClickHandler(index, (pl, slot, item, action) -> false); index++; } From 22fcb992fd1c0f949fc470f2a2b8f5916fca2e83 Mon Sep 17 00:00:00 2001 From: Alex Mercer Date: Sun, 8 Sep 2019 06:04:50 -0700 Subject: [PATCH 5/8] Changed the way it works --- .../Slimefun/Objects/SlimefunItem/SlimefunItem.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java index ce9941c09..9f66b8d2d 100644 --- a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java +++ b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java @@ -50,7 +50,6 @@ public class SlimefunItem { private boolean replacing = false; private boolean addon = false; private String permission = ""; - private String[] permissionMessage = {"&4&lLOCKED", "", "&rYou do not have Permission", "&rto access this Item"}; private Set itemhandlers = new HashSet<>(); private boolean ticking = false; private BlockTicker blockTicker; @@ -179,7 +178,6 @@ public class SlimefunItem { * @since 4.1.11 */ public String getPermission() { return permission; } - public String[] getPermissionMessage() { return permissionMessage; } public Set getHandlers() { return itemhandlers; } public boolean isTicking() { return ticking; } /** @@ -218,7 +216,7 @@ public class SlimefunItem { SlimefunPlugin.getItemCfg().setDefaultValue(this.id + ".allow-enchanting", this.enchantable); SlimefunPlugin.getItemCfg().setDefaultValue(this.id + ".allow-disenchanting", this.disenchantable); SlimefunPlugin.getItemCfg().setDefaultValue(this.id + ".required-permission", this.permission); - SlimefunPlugin.getItemCfg().setDefaultValue(this.id + ".permission-message", this.permissionMessage); + SlimefunPlugin.getItemCfg().setDefaultValue(this.id + ".permission-message", new String[] {"&4&lLOCKED", "", "&rYou do not have Permission", "&rto access this Item"}); if (this.keys != null && this.values != null) { for (int i = 0; i < this.keys.length; i++) { From ead25ceaac2679765fd4d540949542bbf9d280b6 Mon Sep 17 00:00:00 2001 From: Alex Mercer Date: Sun, 8 Sep 2019 06:22:15 -0700 Subject: [PATCH 6/8] Changed it again --- .../Slimefun/Objects/SlimefunItem/SlimefunItem.java | 12 ++++++++++++ src/me/mrCookieSlime/Slimefun/SlimefunGuide.java | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java index 9f66b8d2d..de02095c7 100644 --- a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java +++ b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java @@ -50,6 +50,7 @@ public class SlimefunItem { private boolean replacing = false; private boolean addon = false; private String permission = ""; + private List noPermissionTooltip; private Set itemhandlers = new HashSet<>(); private boolean ticking = false; private BlockTicker blockTicker; @@ -178,6 +179,7 @@ public class SlimefunItem { * @since 4.1.11 */ public String getPermission() { return permission; } + public List getNoPermissionTooltip() { return noPermissionTooltip; } public Set getHandlers() { return itemhandlers; } public boolean isTicking() { return ticking; } /** @@ -244,6 +246,7 @@ public class SlimefunItem { this.enchantable = SlimefunPlugin.getItemCfg().getBoolean(this.id + ".allow-enchanting"); this.disenchantable = SlimefunPlugin.getItemCfg().getBoolean(this.id + ".allow-disenchanting"); this.permission = SlimefunPlugin.getItemCfg().getString(this.id + ".required-permission"); + this.noPermissionTooltip = SlimefunPlugin.getItemCfg().getStringList(this.id + ".permission-message"); SlimefunPlugin.getUtilities().enabledItems.add(this); if (slimefun) SlimefunPlugin.getUtilities().vanillaItems++; SlimefunPlugin.getUtilities().itemIDs.put(this.id, this); @@ -337,6 +340,15 @@ public class SlimefunItem { return null; } + public static List getNoPermissionTooltip(ItemStack item) { + for (SlimefunItem i: SlimefunPlugin.getUtilities().allItems) { + if (i.isItem(item)) { + return i.noPermissionTooltip; + } + } + return null; + } + public boolean isItem(ItemStack item) { if (item == null) return false; if (this instanceof ChargableItem && SlimefunManager.isItemSimiliar(item, this.item, false)) return true; diff --git a/src/me/mrCookieSlime/Slimefun/SlimefunGuide.java b/src/me/mrCookieSlime/Slimefun/SlimefunGuide.java index 20a378032..9f31df0da 100644 --- a/src/me/mrCookieSlime/Slimefun/SlimefunGuide.java +++ b/src/me/mrCookieSlime/Slimefun/SlimefunGuide.java @@ -713,7 +713,7 @@ public final class SlimefunGuide { index++; } else { - List message = SlimefunPlugin.getItemCfg().getStringList(sfitem.getID() + ".permission-message"); + List message = SlimefunItem.getNoPermissionTooltip(sfitem.getItem()); menu.addItem(index, new CustomItem(Material.BARRIER, StringUtils.formatItemName(sfitem.getItem(), false), message.toArray(new String[message.size()]))); menu.addMenuClickHandler(index, (pl, slot, item, action) -> false); index++; From a00d2c9f59b197562a7c92f17e58d66020777852 Mon Sep 17 00:00:00 2001 From: LinoxGH <54643600+LinoxGH@users.noreply.github.com> Date: Sun, 8 Sep 2019 17:20:12 +0300 Subject: [PATCH 7/8] Hopefully fizes #1098 in a better way. --- src/me/mrCookieSlime/Slimefun/Objects/tasks/RainbowTicker.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/me/mrCookieSlime/Slimefun/Objects/tasks/RainbowTicker.java b/src/me/mrCookieSlime/Slimefun/Objects/tasks/RainbowTicker.java index 63f1e20e0..af8a91e4c 100644 --- a/src/me/mrCookieSlime/Slimefun/Objects/tasks/RainbowTicker.java +++ b/src/me/mrCookieSlime/Slimefun/Objects/tasks/RainbowTicker.java @@ -49,7 +49,7 @@ public class RainbowTicker extends BlockTicker { @Override public void uniqueTick() { - index = ((index == queue[queue.length - 1]) ? 0: index + 1); + index = ((index >= queue.length - 1) ? 0: index + 1); meta = queue[index]; } From 834fddf84de0189ead30cd85bdada4e5be31868d Mon Sep 17 00:00:00 2001 From: Alex Mercer Date: Sun, 8 Sep 2019 19:10:53 -0700 Subject: [PATCH 8/8] Changed permission-message and other things --- .../Slimefun/Objects/SlimefunItem/SlimefunItem.java | 13 ++----------- src/me/mrCookieSlime/Slimefun/SlimefunGuide.java | 2 +- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java index de02095c7..6e031919b 100644 --- a/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java +++ b/src/me/mrCookieSlime/Slimefun/Objects/SlimefunItem/SlimefunItem.java @@ -218,7 +218,7 @@ public class SlimefunItem { SlimefunPlugin.getItemCfg().setDefaultValue(this.id + ".allow-enchanting", this.enchantable); SlimefunPlugin.getItemCfg().setDefaultValue(this.id + ".allow-disenchanting", this.disenchantable); SlimefunPlugin.getItemCfg().setDefaultValue(this.id + ".required-permission", this.permission); - SlimefunPlugin.getItemCfg().setDefaultValue(this.id + ".permission-message", new String[] {"&4&lLOCKED", "", "&rYou do not have Permission", "&rto access this Item"}); + SlimefunPlugin.getItemCfg().setDefaultValue(this.id + ".no-permission-tooltip", new String[] {"&4&lLOCKED", "", "&rYou do not have Permission", "&rto access this Item"}); if (this.keys != null && this.values != null) { for (int i = 0; i < this.keys.length; i++) { @@ -246,7 +246,7 @@ public class SlimefunItem { this.enchantable = SlimefunPlugin.getItemCfg().getBoolean(this.id + ".allow-enchanting"); this.disenchantable = SlimefunPlugin.getItemCfg().getBoolean(this.id + ".allow-disenchanting"); this.permission = SlimefunPlugin.getItemCfg().getString(this.id + ".required-permission"); - this.noPermissionTooltip = SlimefunPlugin.getItemCfg().getStringList(this.id + ".permission-message"); + this.noPermissionTooltip = SlimefunPlugin.getItemCfg().getStringList(this.id + ".no-permission-tooltip"); SlimefunPlugin.getUtilities().enabledItems.add(this); if (slimefun) SlimefunPlugin.getUtilities().vanillaItems++; SlimefunPlugin.getUtilities().itemIDs.put(this.id, this); @@ -340,15 +340,6 @@ public class SlimefunItem { return null; } - public static List getNoPermissionTooltip(ItemStack item) { - for (SlimefunItem i: SlimefunPlugin.getUtilities().allItems) { - if (i.isItem(item)) { - return i.noPermissionTooltip; - } - } - return null; - } - public boolean isItem(ItemStack item) { if (item == null) return false; if (this instanceof ChargableItem && SlimefunManager.isItemSimiliar(item, this.item, false)) return true; diff --git a/src/me/mrCookieSlime/Slimefun/SlimefunGuide.java b/src/me/mrCookieSlime/Slimefun/SlimefunGuide.java index 9f31df0da..71260ec6b 100644 --- a/src/me/mrCookieSlime/Slimefun/SlimefunGuide.java +++ b/src/me/mrCookieSlime/Slimefun/SlimefunGuide.java @@ -713,7 +713,7 @@ public final class SlimefunGuide { index++; } else { - List message = SlimefunItem.getNoPermissionTooltip(sfitem.getItem()); + List message = sfitem.getNoPermissionTooltip(); menu.addItem(index, new CustomItem(Material.BARRIER, StringUtils.formatItemName(sfitem.getItem(), false), message.toArray(new String[message.size()]))); menu.addMenuClickHandler(index, (pl, slot, item, action) -> false); index++;