From 4fd996e2fc50d31965b218850abf3c613ff85e2a Mon Sep 17 00:00:00 2001 From: NihilistBrew Date: Mon, 19 Aug 2019 20:15:25 +0200 Subject: [PATCH 1/2] Add double-chest backpack (Radiant Backpack) --- .../Slimefun/Lists/SlimefunItems.java | 2 ++ .../Slimefun/Setup/ResearchSetup.java | 3 ++- .../Slimefun/Setup/SlimefunSetup.java | 6 ++++- .../Slimefun/listeners/BackpackListener.java | 25 +++++++++++++++++++ .../Slimefun/listeners/ToolListener.java | 1 + 5 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/me/mrCookieSlime/Slimefun/Lists/SlimefunItems.java b/src/me/mrCookieSlime/Slimefun/Lists/SlimefunItems.java index 6427ccd68..a0456b9d1 100644 --- a/src/me/mrCookieSlime/Slimefun/Lists/SlimefunItems.java +++ b/src/me/mrCookieSlime/Slimefun/Lists/SlimefunItems.java @@ -50,6 +50,7 @@ public class SlimefunItems { public static ItemStack BACKPACK_LARGE = null; public static ItemStack WOVEN_BACKPACK = null; public static ItemStack GILDED_BACKPACK = null; + public static ItemStack RADIANT_BACKPACK = null; public static ItemStack BOUND_BACKPACK = null; public static ItemStack COOLER = null; @@ -671,6 +672,7 @@ public class SlimefunItems { BACKPACK_LARGE = new CustomItem(CustomSkull.getItem("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDBjYjFlNjdiNTEyYWIyZDRiZjNkN2FjZTBlYWFmNjFjMzJjZDQ2ODFkZGMzOTg3Y2ViMzI2NzA2YTMzZmEifX19"), "&eLarge Backpack", new String[] {"", "&7Size: &e27", "&7ID: ", "", "&7&eRight Click&7 to open"}); WOVEN_BACKPACK = new CustomItem(CustomSkull.getItem("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDBjYjFlNjdiNTEyYWIyZDRiZjNkN2FjZTBlYWFmNjFjMzJjZDQ2ODFkZGMzOTg3Y2ViMzI2NzA2YTMzZmEifX19"), "&eWoven Backpack", new String[] {"", "&7Size: &e36", "&7ID: ", "", "&7&eRight Click&7 to open"}); GILDED_BACKPACK = new CustomItem(CustomSkull.getItem("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDBjYjFlNjdiNTEyYWIyZDRiZjNkN2FjZTBlYWFmNjFjMzJjZDQ2ODFkZGMzOTg3Y2ViMzI2NzA2YTMzZmEifX19"), "&eGilded Backpack", new String[] {"", "&7Size: &e45", "&7ID: ", "", "&7&eRight Click&7 to open"}); + RADIANT_BACKPACK = new CustomItem(CustomSkull.getItem("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDBjYjFlNjdiNTEyYWIyZDRiZjNkN2FjZTBlYWFmNjFjMzJjZDQ2ODFkZGMzOTg3Y2ViMzI2NzA2YTMzZmEifX19"), "&eRadiant Backpack", new String[] {"", "&7Size: &e54 (Double chest)", "&7ID: ", "", "&7&eRight Click&7 to open"}); BOUND_BACKPACK = new CustomItem(CustomSkull.getItem("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmEzYjM0ODYyYjlhZmI2M2NmOGQ1Nzc5OTY2ZDNmYmE3MGFmODJiMDRlODNmM2VhZjY0NDlhZWJhIn19fQ=="), "&cSoulbound Backpack", new String[] {"", "&7Size: &e36", "&7ID: ", "", "&7&eRight Click&7 to open"}); COOLER = new CustomItem(CustomSkull.getItem("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDRjMTU3MjU4NGViNWRlMjI5ZGU5ZjVhNGY3NzlkMGFhY2JhZmZkMzNiY2IzM2ViNDUzNmE2YTJiYzZhMSJ9fX0="), "&bCooler", new String[] {"&rAllows you to store Juices/Smoothies", "&rand automatically consumes them when you are hungry", "&rand you have this in your Inventory", "", "&7Size: &e27", "&7ID: ", "", "&7&eRight Click&7 to open"}); ENDER_BACKPACK = new CustomItem(CustomSkull.getItem("eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmEzYjM0ODYyYjlhZmI2M2NmOGQ1Nzc5OTY2ZDNmYmE3MGFmODJiMDRlODNmM2VhZjY0NDlhZWJhIn19fQ=="), "&6Ender Backpack", new String[] {"&a&oA portable Ender Chest", "", "&eRight Click&7 to open"}); diff --git a/src/me/mrCookieSlime/Slimefun/Setup/ResearchSetup.java b/src/me/mrCookieSlime/Slimefun/Setup/ResearchSetup.java index 97371241c..03bddc0da 100644 --- a/src/me/mrCookieSlime/Slimefun/Setup/ResearchSetup.java +++ b/src/me/mrCookieSlime/Slimefun/Setup/ResearchSetup.java @@ -236,6 +236,7 @@ public class ResearchSetup { Slimefun.registerResearch(new Research(237, "Blistering Radioactivity", 38), SlimefunItems.BLISTERING_INGOT, SlimefunItems.BLISTERING_INGOT_2, SlimefunItems.BLISTERING_INGOT_3); Slimefun.registerResearch(new Research(239, "Automatic Ignition Chamber", 12), SlimefunItems.IGNITION_CHAMBER); Slimefun.registerResearch(new Research(240, "Basic machinery output chest", 20), SlimefunItems.OUTPUT_CHEST); - Slimefun.registerResearch(new Research(241, "Thinned-down Conductivity", 15), SlimefunItems.COPPER_WIRE); + Slimefun.registerResearch(new Research(241, "Thinned-down Conductivity", 15), SlimefunItems.COPPER_WIRE); + Slimefun.registerResearch(new Research(242, "Radiant Backpack", 25), SlimefunItems.RADIANT_BACKPACK); } } diff --git a/src/me/mrCookieSlime/Slimefun/Setup/SlimefunSetup.java b/src/me/mrCookieSlime/Slimefun/Setup/SlimefunSetup.java index 1ff5130f0..668214462 100644 --- a/src/me/mrCookieSlime/Slimefun/Setup/SlimefunSetup.java +++ b/src/me/mrCookieSlime/Slimefun/Setup/SlimefunSetup.java @@ -2416,6 +2416,10 @@ public class SlimefunSetup { new ItemStack[] {SlimefunItems.GOLD_22K, null, SlimefunItems.GOLD_22K, new ItemStack(Material.LEATHER), SlimefunItems.WOVEN_BACKPACK, new ItemStack(Material.LEATHER), SlimefunItems.GOLD_22K, null, SlimefunItems.GOLD_22K}) .register(true); + new SlimefunBackpack(54, Categories.PORTABLE, SlimefunItems.RADIANT_BACKPACK, "RADIANT_BACKPACK", RecipeType.ENHANCED_CRAFTING_TABLE, + new ItemStack[] {SlimefunItems.GOLD_24K, null, SlimefunItems.GOLD_24K, new ItemStack(Material.LEATHER), SlimefunItems.GILDED_BACKPACK, new ItemStack(Material.LEATHER), SlimefunItems.GOLD_24K, null, SlimefunItems.GOLD_24K}) + .register(true); + new Alloy(Categories.TECH_MISC, SlimefunItems.MAGNET, "MAGNET", new ItemStack[] {SlimefunItems.NICKEL_INGOT, SlimefunItems.ALUMINUM_DUST, SlimefunItems.IRON_DUST, SlimefunItems.COBALT_INGOT, null, null, null, null, null}) .register(true); @@ -2437,7 +2441,7 @@ public class SlimefunSetup { .register(true); new SoulboundBackpack(36, Categories.PORTABLE, SlimefunItems.BOUND_BACKPACK, "BOUND_BACKPACK", - new ItemStack[] {SlimefunItems.ENDER_LUMP_2, null, SlimefunItems.ENDER_LUMP_2, SlimefunItems.ESSENCE_OF_AFTERLIFE, SlimefunItems.GILDED_BACKPACK, SlimefunItems.ESSENCE_OF_AFTERLIFE, SlimefunItems.ENDER_LUMP_2, null, SlimefunItems.ENDER_LUMP_2}) + new ItemStack[] {SlimefunItems.ENDER_LUMP_2, null, SlimefunItems.ENDER_LUMP_2, SlimefunItems.ESSENCE_OF_AFTERLIFE, SlimefunItems.RADIANT_BACKPACK, SlimefunItems.ESSENCE_OF_AFTERLIFE, SlimefunItems.ENDER_LUMP_2, null, SlimefunItems.ENDER_LUMP_2}) .register(true); new JetBoots(SlimefunItems.DURALUMIN_JETBOOTS, "DURALUMIN_JETBOOTS", diff --git a/src/me/mrCookieSlime/Slimefun/listeners/BackpackListener.java b/src/me/mrCookieSlime/Slimefun/listeners/BackpackListener.java index dc014d7dc..f5680c5fc 100644 --- a/src/me/mrCookieSlime/Slimefun/listeners/BackpackListener.java +++ b/src/me/mrCookieSlime/Slimefun/listeners/BackpackListener.java @@ -210,6 +210,31 @@ public class BackpackListener implements Listener { else Messages.local.sendTranslation(p, "backpack.no-stack", true); } } + else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.RADIANT_BACKPACK, false)) { + e.setCancelled(true); + if (Slimefun.hasUnlocked(p, SlimefunItems.RADIANT_BACKPACK, true)) { + if (item.getAmount() == 1) { + for (int line = 0; line < item.getItemMeta().getLore().size(); line++) { + if (item.getItemMeta().getLore().get(line).equals(ChatColor.translateAlternateColorCodes('&', "&7ID: "))) { + ItemMeta im = item.getItemMeta(); + List lore = im.getLore(); + lore.set(line, lore.get(line).replace("", Backpacks.createBackpack(p, 54))); + im.setLore(lore); + item.setItemMeta(im); + break; + } + } + if(!Variables.backpack.containsValue(item)) + { + Backpacks.openBackpack(p, item); + p.playSound(p.getLocation(), Sound.ENTITY_HORSE_ARMOR, 1F, 1F); + Variables.backpack.put(p.getUniqueId(), item); + } + else Messages.local.sendTranslation(p, "backpack.already-open", true); + } + else Messages.local.sendTranslation(p, "backpack.no-stack", true); + } + } else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.BOUND_BACKPACK, false)) { e.setCancelled(true); if (Slimefun.hasUnlocked(p, SlimefunItems.BOUND_BACKPACK, true)) { diff --git a/src/me/mrCookieSlime/Slimefun/listeners/ToolListener.java b/src/me/mrCookieSlime/Slimefun/listeners/ToolListener.java index 8a34433f3..ca69c0d2b 100644 --- a/src/me/mrCookieSlime/Slimefun/listeners/ToolListener.java +++ b/src/me/mrCookieSlime/Slimefun/listeners/ToolListener.java @@ -88,6 +88,7 @@ public class ToolListener implements Listener { else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.BACKPACK_LARGE, false)) e.setCancelled(true); else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.WOVEN_BACKPACK, false)) e.setCancelled(true); else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.GILDED_BACKPACK, false)) e.setCancelled(true); + else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.RADIANT_BACKPACK, false)) e.setCancelled(true); else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.BOUND_BACKPACK, false)) e.setCancelled(true); else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.COOLER, false)) e.setCancelled(true); else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.ENDER_BACKPACK, false)) e.setCancelled(true); From ce1e3fb07c87bac82e0706c20fa338fe6e673831 Mon Sep 17 00:00:00 2001 From: NihilistBrew Date: Mon, 19 Aug 2019 20:24:08 +0200 Subject: [PATCH 2/2] Fix indents --- src/me/mrCookieSlime/Slimefun/Setup/ResearchSetup.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/me/mrCookieSlime/Slimefun/Setup/ResearchSetup.java b/src/me/mrCookieSlime/Slimefun/Setup/ResearchSetup.java index 03bddc0da..b35fed5c4 100644 --- a/src/me/mrCookieSlime/Slimefun/Setup/ResearchSetup.java +++ b/src/me/mrCookieSlime/Slimefun/Setup/ResearchSetup.java @@ -236,7 +236,7 @@ public class ResearchSetup { Slimefun.registerResearch(new Research(237, "Blistering Radioactivity", 38), SlimefunItems.BLISTERING_INGOT, SlimefunItems.BLISTERING_INGOT_2, SlimefunItems.BLISTERING_INGOT_3); Slimefun.registerResearch(new Research(239, "Automatic Ignition Chamber", 12), SlimefunItems.IGNITION_CHAMBER); Slimefun.registerResearch(new Research(240, "Basic machinery output chest", 20), SlimefunItems.OUTPUT_CHEST); - Slimefun.registerResearch(new Research(241, "Thinned-down Conductivity", 15), SlimefunItems.COPPER_WIRE); - Slimefun.registerResearch(new Research(242, "Radiant Backpack", 25), SlimefunItems.RADIANT_BACKPACK); + Slimefun.registerResearch(new Research(241, "Thinned-down Conductivity", 15), SlimefunItems.COPPER_WIRE); + Slimefun.registerResearch(new Research(242, "Radiant Backpack", 25), SlimefunItems.RADIANT_BACKPACK); } }