From 279ba7546a635800f51b9b7b115b99d4caf6d34a Mon Sep 17 00:00:00 2001 From: christopherwalkerml Date: Fri, 28 Jan 2022 13:54:41 -0500 Subject: [PATCH 1/4] minor feature - 1.6.5 - Added messages to configuration about placing 1 shulker and not using it in pvp so that the configurator can modify it. Modific api-version: 1.19 --- pom.xml | 4 +-- .../shulkerpacks/CommandReload.java | 25 ++++++++++++++++ .../shulkerpacks/ConfigHandler.java | 28 +++++++++++++++++ .../shulkerpacks/ShulkerListener.java | 5 ++-- .../darkolythe/shulkerpacks/ShulkerPacks.java | 30 +++++++++---------- src/main/resources/config.yml | 9 ++++++ src/main/resources/plugin.yml | 10 +++++-- 7 files changed, 89 insertions(+), 22 deletions(-) create mode 100644 src/main/java/me/darkolythe/shulkerpacks/CommandReload.java create mode 100644 src/main/java/me/darkolythe/shulkerpacks/ConfigHandler.java diff --git a/pom.xml b/pom.xml index f5d73fd..68e72c4 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ me.Darkolythe ShulkerPacks - 1.6.3 + 1.6.5 jar @@ -48,7 +48,7 @@ maven-jar-plugin 2.3.1 - C:\Users\ChrisWalker\Desktop\1.17server\plugins + C:\Users\ChrisWalker\Desktop\1.18server\plugins diff --git a/src/main/java/me/darkolythe/shulkerpacks/CommandReload.java b/src/main/java/me/darkolythe/shulkerpacks/CommandReload.java new file mode 100644 index 0000000..0ceeaf0 --- /dev/null +++ b/src/main/java/me/darkolythe/shulkerpacks/CommandReload.java @@ -0,0 +1,25 @@ +package me.darkolythe.shulkerpacks; + +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; + +public class CommandReload implements CommandExecutor { + + private ShulkerPacks main = ShulkerPacks.getInstance(); + + @Override + public boolean onCommand(CommandSender sender, Command cmd, String commandlabel, String[] args) { + if (sender.isOp()) { + if (args.length == 0) { + sender.sendMessage("Invalid arguments. Usage: /shulkerpacks reload"); + } else { + if (args[0].equalsIgnoreCase("reload")) { + ConfigHandler.loadConfig(main); + sender.sendMessage(main.prefix + "Reloaded config."); + } + } + } + return true; + } +} diff --git a/src/main/java/me/darkolythe/shulkerpacks/ConfigHandler.java b/src/main/java/me/darkolythe/shulkerpacks/ConfigHandler.java new file mode 100644 index 0000000..4764b5c --- /dev/null +++ b/src/main/java/me/darkolythe/shulkerpacks/ConfigHandler.java @@ -0,0 +1,28 @@ +package me.darkolythe.shulkerpacks; + +import org.bukkit.ChatColor; +import org.bukkit.configuration.file.FileConfiguration; + +public class ConfigHandler { + + static void loadConfig(ShulkerPacks main) { + main.reloadConfig(); + FileConfiguration config = main.getConfig(); + + main.saveDefaultConfig(); + main.canopeninchests = config.getBoolean("canopeninchests"); + main.canopeninenderchest = config.getBoolean("canopeninenderchest", true); + main.canopeninbarrels = config.getBoolean("canopeninbarrels", true); + main.canopenininventory = config.getBoolean("canopenininventory", true); + main.canplaceshulker = config.getBoolean("canplaceshulker", true); + main.blacklist = config.getStringList("blacklistedinventories"); + main.canopeninair = config.getBoolean("canopeninair", true); + main.openpreviousinv = config.getBoolean("open-previous-inventory", false); + main.volume = (float) config.getDouble("shulkervolume", 1.0); + main.pvp_timer_enabled = config.getBoolean("disable-in-combat", true); + if (config.getString("defaultname") != null) { + main.defaultname = ChatColor.translateAlternateColorCodes('&', config.getString("defaultname")); + } + main.shiftclicktoopen = config.getBoolean("shiftclicktoopen"); + } +} diff --git a/src/main/java/me/darkolythe/shulkerpacks/ShulkerListener.java b/src/main/java/me/darkolythe/shulkerpacks/ShulkerListener.java index c5e1d2e..60c8d86 100644 --- a/src/main/java/me/darkolythe/shulkerpacks/ShulkerListener.java +++ b/src/main/java/me/darkolythe/shulkerpacks/ShulkerListener.java @@ -224,9 +224,10 @@ public void onClickAir(PlayerInteractEvent event) { } @EventHandler - public void onShulkerPlace(BlockPlaceEvent event) { + public void onShulkerPlace(BlockPlaceEvent event, Player player) { if (event.getBlockPlaced().getType().toString().contains("SHULKER_BOX")) { if (!main.canplaceshulker) { + player.sendMessage(main.prefix + main.noplaceshulker); event.setCancelled(true); } } @@ -298,7 +299,7 @@ public boolean openInventoryIfShulker(ItemStack item, Player player) { if (item.getAmount() == 1 && item.getType().toString().contains("SHULKER")) { if (main.getPvpTimer(player)) { - player.sendMessage(main.prefix + ChatColor.RED + "You cannot open shulkerboxes in combat!"); + player.sendMessage(main.prefix + main.notinpvp); return false; } diff --git a/src/main/java/me/darkolythe/shulkerpacks/ShulkerPacks.java b/src/main/java/me/darkolythe/shulkerpacks/ShulkerPacks.java index 74aff42..aef96c1 100644 --- a/src/main/java/me/darkolythe/shulkerpacks/ShulkerPacks.java +++ b/src/main/java/me/darkolythe/shulkerpacks/ShulkerPacks.java @@ -14,6 +14,8 @@ public final class ShulkerPacks extends JavaPlugin { ShulkerListener shulkerlistener; + private static ShulkerPacks plugin; + String prefix = ChatColor.WHITE.toString() + ChatColor.BOLD.toString() + "[" + ChatColor.BLUE.toString() + "ShulkerPacks" + ChatColor.WHITE.toString() + ChatColor.BOLD.toString() + "] "; static Map openshulkers = new HashMap<>(); @@ -25,7 +27,9 @@ public final class ShulkerPacks extends JavaPlugin { boolean openpreviousinv = false; List blacklist = new ArrayList<>(); String defaultname = ChatColor.BLUE + "Shulker Pack"; - private boolean pvp_timer_enabled = false; + String notinpvp = ChatColor.RED +"You cannot open shulkerboxes in combat!"; + String noplaceshulker = ChatColor.RED + "you cannot place the shulker."; + boolean pvp_timer_enabled = false; boolean shiftclicktoopen = false; boolean canopeninenderchest, canopeninbarrels, canplaceshulker, canopenininventory, canopeninair; float volume; @@ -35,25 +39,14 @@ public final class ShulkerPacks extends JavaPlugin { */ @Override public void onEnable() { + plugin = this; shulkerlistener = new ShulkerListener(this); getServer().getPluginManager().registerEvents(shulkerlistener, this); - saveDefaultConfig(); - canopeninchests = getConfig().getBoolean("canopeninchests"); - canopeninenderchest = getConfig().getBoolean("canopeninenderchest", true); - canopeninbarrels = getConfig().getBoolean("canopeninbarrels", true); - canopenininventory = getConfig().getBoolean("canopenininventory", true); - canplaceshulker = getConfig().getBoolean("canplaceshulker", true); - blacklist = getConfig().getStringList("blacklistedinventories"); - canopeninair = getConfig().getBoolean("canopeninair", true); - openpreviousinv = getConfig().getBoolean("open-previous-inventory", false); - volume = (float) getConfig().getDouble("shulkervolume", 1.0); - pvp_timer_enabled = getConfig().getBoolean("disable-in-combat", true); - if (getConfig().getString("defaultname") != null) { - defaultname = ChatColor.translateAlternateColorCodes('&', getConfig().getString("defaultname")); - } - shiftclicktoopen = getConfig().getBoolean("shiftclicktoopen"); + getCommand("shulkerpacks").setExecutor(new CommandReload()); + + ConfigHandler.loadConfig(this); @SuppressWarnings("unused") Metrics metrics = new Metrics(this); @@ -76,6 +69,11 @@ public void onDisable() { } + public static ShulkerPacks getInstance() { + return plugin; + } + + public boolean getPvpTimer(Player player) { if (pvp_timer.containsKey(player)) { return System.currentTimeMillis() - pvp_timer.get(player) < 7000; diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 9f2350a..71dc91b 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,3 +1,8 @@ +# BLACKLIST AUCTION INVENTORIES HERE +# blacklist works as follows: +# if you include the word "a" in the blacklist, every inventory with the letter "a" will be blocked. +# because of this, try to be as precise as possible. +# If your inventory contains extra characters, such as "Auction Page 8", simply blacklisting "Auction Page" will block every page blacklistedinventories: ["&4&lMineXChange", "test inventory"] canopeninair: true #false will prevent users from opening shulkerboxes by clicking the air @@ -16,3 +21,7 @@ shulkervolume: 1 #0.1 is quiet, 1 is loud #shift click to open applies to both ingame and in inventory open-previous-inventory: false + +#lang +notinpvp: "&4You cannot open shulkerboxes in combat!" +noplaceshulker: "&4you cannot place the shulker!" \ No newline at end of file diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index cd9c9a7..4c41307 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,7 +1,13 @@ name: ShulkerPacks -version: 1.6.3 +version: 1.6.5 main: me.darkolythe.shulkerpacks.ShulkerPacks -api-version: 1.13 +api-version: 1.19 + +commands: + shulkerpacks: + usage: / reload + description: reloads the shulkerpacks config + permission: op permissions: shulkerpacks.use: From 081966d746f70c73b433bf84cca3713a647a2fc3 Mon Sep 17 00:00:00 2001 From: dinobossytnew Date: Mon, 24 Apr 2023 12:03:22 -0300 Subject: [PATCH 2/4] minor feature - 1.6.5 - Added messages to configuration about placing 1 shulker and not using it in pvp so that the configurator can modify it. Modific api-version: 1.19 --- src/main/resources/config.yml | 6 +++--- src/main/resources/plugin.yml | 10 ---------- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 71dc91b..7129393 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -15,7 +15,7 @@ canplaceshulker: true #false will prevent users from placing shulkerboxe #true will prevent users from opening shulkerboxes within 7 seconds of being hit by a player disable-in-combat: false -defaultname: "&9Shulker Pack" +defaultname: '&9Shulker Pack' shiftclicktoopen: false shulkervolume: 1 #0.1 is quiet, 1 is loud #shift click to open applies to both ingame and in inventory @@ -23,5 +23,5 @@ shulkervolume: 1 #0.1 is quiet, 1 is loud open-previous-inventory: false #lang -notinpvp: "&4You cannot open shulkerboxes in combat!" -noplaceshulker: "&4you cannot place the shulker!" \ No newline at end of file +notinpvp: '&4You cannot open shulkerboxes in combat!' +noplaceshulker: '&4you cannot place the shulker!' \ No newline at end of file diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 613f0da..4c41307 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,18 +1,8 @@ name: ShulkerPacks -<<<<<<< HEAD version: 1.6.5 -======= -version: 1.6.4 ->>>>>>> dced6c46672cc1e29813df6885c58ed6ab0d273e main: me.darkolythe.shulkerpacks.ShulkerPacks api-version: 1.19 -commands: - shulkerpacks: - usage: / reload - description: reloads the shulkerpacks config - permission: op - commands: shulkerpacks: usage: / reload From b0bb9218f01d0aad67f991cc74a3138764a4e3d8 Mon Sep 17 00:00:00 2001 From: dinobossytnew Date: Mon, 24 Apr 2023 12:03:22 -0300 Subject: [PATCH 3/4] minor feature - 1.6.5 - Added messages to configuration about placing 1 shulker and not using it in pvp so that the configurator can modify it. Modific api-version: 1.19 --- .run/ShulkerPacks.run.xml | 25 ++++++++++++++++ pom.xml | 9 ++---- .../darkolythe/shulkerpacks/ShulkerPacks.java | 3 -- src/main/resources/config.yml | 6 ++-- src/main/resources/plugin.yml | 10 ------- target/classes/config.yml | 27 ++++++++++++++++++ .../shulkerpacks/CommandReload.class | Bin 0 -> 1594 bytes .../shulkerpacks/ConfigHandler.class | Bin 0 -> 1898 bytes .../shulkerpacks/ShulkerHolder.class | Bin 0 -> 472 bytes .../shulkerpacks/ShulkerListener$1.class | Bin 0 -> 1349 bytes .../shulkerpacks/ShulkerListener$2.class | Bin 0 -> 1354 bytes .../shulkerpacks/ShulkerListener$3.class | Bin 0 -> 1305 bytes .../shulkerpacks/ShulkerListener$4.class | Bin 0 -> 1976 bytes .../shulkerpacks/ShulkerListener$5.class | Bin 0 -> 1941 bytes .../shulkerpacks/ShulkerListener.class | Bin 0 -> 13684 bytes .../shulkerpacks/ShulkerPacks.class | Bin 0 -> 5114 bytes target/classes/plugin.yml | 24 ++++++++++++++++ target/maven-archiver/pom.properties | 5 ++++ .../compile/default-compile/createdFiles.lst | 10 +++++++ .../compile/default-compile/inputFiles.lst | 5 ++++ target/original-ShulkerPacks-1.6.5.jar | Bin 0 -> 19352 bytes 21 files changed, 102 insertions(+), 22 deletions(-) create mode 100644 .run/ShulkerPacks.run.xml create mode 100644 target/classes/config.yml create mode 100644 target/classes/me/darkolythe/shulkerpacks/CommandReload.class create mode 100644 target/classes/me/darkolythe/shulkerpacks/ConfigHandler.class create mode 100644 target/classes/me/darkolythe/shulkerpacks/ShulkerHolder.class create mode 100644 target/classes/me/darkolythe/shulkerpacks/ShulkerListener$1.class create mode 100644 target/classes/me/darkolythe/shulkerpacks/ShulkerListener$2.class create mode 100644 target/classes/me/darkolythe/shulkerpacks/ShulkerListener$3.class create mode 100644 target/classes/me/darkolythe/shulkerpacks/ShulkerListener$4.class create mode 100644 target/classes/me/darkolythe/shulkerpacks/ShulkerListener$5.class create mode 100644 target/classes/me/darkolythe/shulkerpacks/ShulkerListener.class create mode 100644 target/classes/me/darkolythe/shulkerpacks/ShulkerPacks.class create mode 100644 target/classes/plugin.yml create mode 100644 target/maven-archiver/pom.properties create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst create mode 100644 target/original-ShulkerPacks-1.6.5.jar diff --git a/.run/ShulkerPacks.run.xml b/.run/ShulkerPacks.run.xml new file mode 100644 index 0000000..16cc78a --- /dev/null +++ b/.run/ShulkerPacks.run.xml @@ -0,0 +1,25 @@ + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 1770862..1f74787 100644 --- a/pom.xml +++ b/pom.xml @@ -6,11 +6,7 @@ me.Darkolythe ShulkerPacks -<<<<<<< HEAD 1.6.5 -======= - 1.6.4 ->>>>>>> dced6c46672cc1e29813df6885c58ed6ab0d273e jar @@ -34,7 +30,7 @@ org.spigotmc spigot-api - 1.13.2-R0.1-SNAPSHOT + 1.19.4-R0.1-SNAPSHOT provided @@ -46,13 +42,14 @@ + install org.apache.maven.plugins maven-jar-plugin 2.3.1 - C:\Users\ChrisWalker\Desktop\1.18server\plugins + C:\Users\dinob\Documents\plugins diff --git a/src/main/java/me/darkolythe/shulkerpacks/ShulkerPacks.java b/src/main/java/me/darkolythe/shulkerpacks/ShulkerPacks.java index 08ed77a..aef96c1 100644 --- a/src/main/java/me/darkolythe/shulkerpacks/ShulkerPacks.java +++ b/src/main/java/me/darkolythe/shulkerpacks/ShulkerPacks.java @@ -27,11 +27,8 @@ public final class ShulkerPacks extends JavaPlugin { boolean openpreviousinv = false; List blacklist = new ArrayList<>(); String defaultname = ChatColor.BLUE + "Shulker Pack"; -<<<<<<< HEAD String notinpvp = ChatColor.RED +"You cannot open shulkerboxes in combat!"; String noplaceshulker = ChatColor.RED + "you cannot place the shulker."; -======= ->>>>>>> dced6c46672cc1e29813df6885c58ed6ab0d273e boolean pvp_timer_enabled = false; boolean shiftclicktoopen = false; boolean canopeninenderchest, canopeninbarrels, canplaceshulker, canopenininventory, canopeninair; diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 71dc91b..7129393 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -15,7 +15,7 @@ canplaceshulker: true #false will prevent users from placing shulkerboxe #true will prevent users from opening shulkerboxes within 7 seconds of being hit by a player disable-in-combat: false -defaultname: "&9Shulker Pack" +defaultname: '&9Shulker Pack' shiftclicktoopen: false shulkervolume: 1 #0.1 is quiet, 1 is loud #shift click to open applies to both ingame and in inventory @@ -23,5 +23,5 @@ shulkervolume: 1 #0.1 is quiet, 1 is loud open-previous-inventory: false #lang -notinpvp: "&4You cannot open shulkerboxes in combat!" -noplaceshulker: "&4you cannot place the shulker!" \ No newline at end of file +notinpvp: '&4You cannot open shulkerboxes in combat!' +noplaceshulker: '&4you cannot place the shulker!' \ No newline at end of file diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 613f0da..4c41307 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,18 +1,8 @@ name: ShulkerPacks -<<<<<<< HEAD version: 1.6.5 -======= -version: 1.6.4 ->>>>>>> dced6c46672cc1e29813df6885c58ed6ab0d273e main: me.darkolythe.shulkerpacks.ShulkerPacks api-version: 1.19 -commands: - shulkerpacks: - usage: / reload - description: reloads the shulkerpacks config - permission: op - commands: shulkerpacks: usage: / reload diff --git a/target/classes/config.yml b/target/classes/config.yml new file mode 100644 index 0000000..7129393 --- /dev/null +++ b/target/classes/config.yml @@ -0,0 +1,27 @@ +# BLACKLIST AUCTION INVENTORIES HERE +# blacklist works as follows: +# if you include the word "a" in the blacklist, every inventory with the letter "a" will be blocked. +# because of this, try to be as precise as possible. +# If your inventory contains extra characters, such as "Auction Page 8", simply blacklisting "Auction Page" will block every page +blacklistedinventories: ["&4&lMineXChange", "test inventory"] + +canopeninair: true #false will prevent users from opening shulkerboxes by clicking the air +canopenininventory: true #false will prevent users from opening shulkerboxes in their inventory +canopeninchests: true #false will prevent users from opening shulkerboxes in chests +canopeninenderchest: true #false will prevent users from opening shulkerboxes in enderchests +canopeninbarrels: true #false will prevent users from opening shulkerboxes in barrels +canplaceshulker: true #false will prevent users from placing shulkerboxes by accident + +#true will prevent users from opening shulkerboxes within 7 seconds of being hit by a player +disable-in-combat: false + +defaultname: '&9Shulker Pack' +shiftclicktoopen: false +shulkervolume: 1 #0.1 is quiet, 1 is loud +#shift click to open applies to both ingame and in inventory + +open-previous-inventory: false + +#lang +notinpvp: '&4You cannot open shulkerboxes in combat!' +noplaceshulker: '&4you cannot place the shulker!' \ No newline at end of file diff --git a/target/classes/me/darkolythe/shulkerpacks/CommandReload.class b/target/classes/me/darkolythe/shulkerpacks/CommandReload.class new file mode 100644 index 0000000000000000000000000000000000000000..dc89c26e512aeecdd27c265a214275d1b47c9c21 GIT binary patch literal 1594 zcma)6SyK~15dJ2KY!Vj5AS!qTRLCJ&6}$+Z5flvpjZ!5(O*TVVv)PTi8%uwR{sCWn zu?jh~iU%M4QIcn#rx2 zHeY!obdRBH%CHRY4nsJVUW_A(n1Z;9Zm0~S4WU)JQ@70z-ipxNm6ll-PLu0(S1Y%L z1t~Ce*Mv7~xgNK4!H`X*iwAVg$8Z=&6!fY%iUdQdgI~dJG`LlLE=-$O86pjCSPTbG z)s185S8!a#37lj|+D=WYwCZ)k)AV*|El5!oR#iBZ!f@xCJ~c~G3^L?qt#{lss!8tD zS`A@&ZZ7%KW?9rl`Ra8XQ!Y+`HYZ|uKsS}V- z^qnGKC}J2A$yq`H^bihOl=K;-YDTD@G4!EGn@pmcXd?*F5f(hcV;^w|vv}gyQo>V= ZQ%w195pz^oiS7}E2CtCiJl#WB_ydPesi^<} literal 0 HcmV?d00001 diff --git a/target/classes/me/darkolythe/shulkerpacks/ConfigHandler.class b/target/classes/me/darkolythe/shulkerpacks/ConfigHandler.class new file mode 100644 index 0000000000000000000000000000000000000000..e2d277a26e415e4be5fbec2c06781b9963820cb9 GIT binary patch literal 1898 zcmb7FZFdtz6n>@+WE-aTy+xoF5ZfdrT@h3?6@|o#ngZHdvA)#FW|~a1*^RriIS0S` z2Rs}<>W|<nyF@}+*)OMHQa=uUtqo!L=+HIv>F9j!& z&?*evUFA!6jf6!Hw#&xX1jnSIGZBlPtjb-H_yeB~rWwXO5rkbCsK9HX3#E8Zt_` z7%JxskMj((M>yKHo-S}KVBWzZRp`)5T||`B*xZ!oSTyz`!{nh|1w9$)FuG?D7deUs zv0~HF^@S$~!tpxZU>K$NZKO4VF__2=wOxlbg|W~m#=o(hw=bU-qV z^9D!7;gyU1gWun{b?r7DK(T)rZtl?mj;Y7oBY9K6^EsoD| z*K)DhWmx?G%%+cY&~G_xXFHHJ&iJ?yB3H#EJ@bm>KdUTeNcNo6+~N;;QnMmy%tr2!Gy6DA+Dn-}&hF!7QeUy^5~&5NE|Xfas!QsnJ}&R$P14GC^Bq#( z9ZnrwC$&1($J&qk_=xmd7I9~Ja-)yW9%8aMzG(H|@WnoM2vSc;G)z##FhQ+hg5(G? z$dTk2rOzDw{G7)aN*KpgvRCLQWF1quOEcTU3__X?-xKNwoWy;c!p}IJCS}$JPWEo< Z^Cx_Vh|&_%$^rWe_p@}8LDPB&$v^c8@`?Ze literal 0 HcmV?d00001 diff --git a/target/classes/me/darkolythe/shulkerpacks/ShulkerHolder.class b/target/classes/me/darkolythe/shulkerpacks/ShulkerHolder.class new file mode 100644 index 0000000000000000000000000000000000000000..69f6e8a0b11a38f2a8a9cd81f1698b83e5c93f99 GIT binary patch literal 472 zcma)2%}xR_7@Uv46i&?Dfql`12bRv_;Y$&bv`g>S&6Fn#NqyMgQK?ujnZJs3@cYD#_ zt8u0^FojLjjb3f?>vLzmDjXr;1_@2B(=)foxXns16LY=)3VK;xhm8K(;|^n38nBBt eD{deAj6QtI?0pq__Q=k4viT!f*(5tF*TEO!cx`(C literal 0 HcmV?d00001 diff --git a/target/classes/me/darkolythe/shulkerpacks/ShulkerListener$1.class b/target/classes/me/darkolythe/shulkerpacks/ShulkerListener$1.class new file mode 100644 index 0000000000000000000000000000000000000000..ce9c1c9962d119ee01a25d88c6c827cce074032f GIT binary patch literal 1349 zcmb7ETTc@~6#k~IT__7wsEBw2tk^Dv1-x7I1u>EoHJ0>&_%dxL?a*bG?4{bj;=eF~ zn)u)k@JAWXEH$)VxHRdUGqdNM@0)X(A3wi+2k-#ThY>^EK*Gc&BpC|(!me|#X=x^NouFhW0L>?A{>5E{4tD0~eQD;cx zcJmbj1%`DEm=0|g&<)j;brtPNJ~%+@XHOqg4W=6u89zAt>t($uEG zu!wj%t%nyNNdp;4dOhetiP3)&OC*;`drdMyGGi?sfmwwk7}nAeMy#(G{}Nf-v?eJg zuz(d>r=kcMtYVFJ4 literal 0 HcmV?d00001 diff --git a/target/classes/me/darkolythe/shulkerpacks/ShulkerListener$2.class b/target/classes/me/darkolythe/shulkerpacks/ShulkerListener$2.class new file mode 100644 index 0000000000000000000000000000000000000000..87d286287129caa483429340d2024e2efce94bc4 GIT binary patch literal 1354 zcmb7ETTc@~6#k~IT__7wsEBw2tk^D>MettqrNKy2)L7C7;>)z1v_qF!vX`3v6%vhq z!31jJgFnC@WjwRgP`q$y(m6A;=bZ05xB2n&+jjsD@O%(4#0?}&TtbpzVOQ97?zLQ} z6EubGH$$f-yggoP`F8o}P?CNil<=}E49TD={p>Q?mCkQi(3k@z29aV&wYihsb9hI1 z3{xf7YuMGW)slfNR3L+n{Wkg**_bAVF~TsYZA6+3=aX7Yy-SzLLTOt{Rv$aSc-pOZ^1T zMq@Ar4h=Oz68MNoe4=nZN08=`lOE*5NS95M;v?F|@EA`>CTNPDVvTkwQrA(^ F?-w=RZUg`T literal 0 HcmV?d00001 diff --git a/target/classes/me/darkolythe/shulkerpacks/ShulkerListener$3.class b/target/classes/me/darkolythe/shulkerpacks/ShulkerListener$3.class new file mode 100644 index 0000000000000000000000000000000000000000..1e1c01f834b0e915991f0963185b0371241b3d4b GIT binary patch literal 1305 zcmb7EZBG+H5PtSrd$t_3A|Rq5YK68ShXTGG;s+uLNl_xEe%_W%yYzb3+)GV=mPv`h z55^BBzWgZT>;ZBW66+wV#bQYB$-2XX(4$ZZFQg{R?75*=6I)Ud8vE;pEh*NN)Jvyk zyS{YlJ0fVf`v%tWoMBuw&#osr(hdDsDW>~Mah|HN?NGCA+T8brk6F5l28au^Tuxm{ zfM$9N=y}lS&tjS82PAFMoKP#Jg+s8?;vw|XM+|+43?I^%A{gK+R%o0!abCq5X$nR` zGCU$#Lyn}!(Wrpy1gkvPNIhzML_z77&VE=+LpGq@s*e;vJgrzzO;%#V{QAJLiaWUt0~;JS#NrJwKFiJ=L=i7nOTMbe^Yvy>x45-4lF32r#J?YVn}V7 zR;F#4+rnj-FdVm`uLsSh^mSqT(%;sXLtBX99H;RKgQhUj-eQ=H0%(RXj=QbT_j)00 znBxr2GMoxwzGxkdBV*O4U<)aX;GBk0jxmfg48JzFOx-f=hF)2JE$TjnepA}gzs-=y z=4wNjz-Jmh=lB9&GK?P;2E%EmE$n@M4CU-`A>@u(P?O^Kf+8@66pV;l4gbTS!S(r}sM3bGVogmTph>M18y)3D*bhXo{r^X|FjNATrTHoipWnK1>9udDzV-B;xVL+P%?opEq&2! zQ-W^ej)uD&_b^8?h*?QQ?SM3OBilhmgjP5_lRG@6h}`EWDI#e_q<0sj@KmG^I38l2 zvP{yb#07Xcu8$rta*0BLrLX`)!y?BLDhyK*xf}r@Cgg3^X-CvPb*!_3hM!4c2ls6y zux)eQqNM$iJ%K`c)u|B8SiF=(Eg#?>Lq_cTwINp{%@&;vqLenIEtZ1Tx^P!JB!K{xfsDLYk!RGY5vh`0 zw;WH}jYZ*aIvX4>u}0T9R(a-s>w+0>#U%fsh@&SKKg-;6QvSS6&q2{LJx_R;q~bmT zhGis&hgFRSsHM6cwp572mL3~=fBNV@h81e7)LWvqpW2E1)m^as^e(jgwOtJ5&nI`0 z&cDH@e}$M;`VNo>u)BCn{n2or3Dod}Mub;S8QGswzYpWodlr6`k3Y#qNW9AL(C#}J z+Qa!iJn4?KJ$%LRH!jkc?I5=Uo$ukhewzBRyCl7bTZs_RSx`KHmKpxRqmKQ6>8Of{ u73tl&PnEHRJFHCEcn~t@9WGtw2|N!O|AJqsO;SaDfmhT^(JFOP^m_-^&nGSb literal 0 HcmV?d00001 diff --git a/target/classes/me/darkolythe/shulkerpacks/ShulkerListener$5.class b/target/classes/me/darkolythe/shulkerpacks/ShulkerListener$5.class new file mode 100644 index 0000000000000000000000000000000000000000..9d5e3df98ae8b249688b1d6c74e9e38c3547b512 GIT binary patch literal 1941 zcmb7E-*XdH6#h;UyG?TYgAz(bMXD8&v~)!&sHqh!ps`6?o04Jyb-TGV+iZ8^X2Y1j z!9T#!2OnX4l&N*$WRjD_sO}i$&x?$EDda1oASPfq~(wmqe^!Zh*G4VR% z3Wo>g66i-a6*!JD!a&b1*HDwKlH_8Jq%&Pe4l(is zUeNHOz)LvUgA4%umM=ZScRj*r4>sS4Gr=j0Yj{QARZI{@{yREMA!t>ju_(Xf0$7A~ zg*Yv625Caf3Bsw6yGy#9hAd&s^)~g5X02xVx^#TYZ|Tdn(UP8Oc}n0crkQn9HFrAQ z?yZ}n({6W217GsVE?UdE%gnCV(z)X8lFy1KpyLgJH*ubeXY$onT@sFSm0h@^!5UbG zor~iFE^2s7;BCA^IJ!>`*LXR02G+Y*VAM=Fl zvmFzfn#J8VEQgRegrNhQaU+AcDsWACb3i%HbRC~L+G>9&kjF=aWGC8KkS*?LKh@VY z6b=+QY%PfeED9`PnK@bHf@>PS<#NSO2_0_m+qQy|hE;*oS5U8#aTI`dL(T>jF1%i%}Jx1%_ktHIJpcK_PK2bEWUn7*87hX!tyIdf=>;rsEhJ zHe>blA;b=ED3{?TV)Jf=fkOqBd9k^@A-&Z$)rdOTE*oqyrtSn|YDy8N|Hmm4GdXsj z*JNF(PB_usT+bWDX#;`#d7^ZVOO)KEXUc1q>Mixu)SOnYI#+(xQI@rw&7$AHQNkXcCln_4 z@G{{WJmiPh2)`mzmJ2egB^9bDn{2NA}7)e{Op3wtOM z9-@Bm*7bw7cJVPYuMzIy+(9{<-u_y4}A#EC+QlVu4&WsK7rF3=6k z(mIytCbsAnzNg#xoj%1MWa3Y%{43x%Q&wRGQaK1Yt0D6k-#+G? aC~CYHfsJkckMV$VQ0J!v%dM`AKmP#Uy8HM5 literal 0 HcmV?d00001 diff --git a/target/classes/me/darkolythe/shulkerpacks/ShulkerListener.class b/target/classes/me/darkolythe/shulkerpacks/ShulkerListener.class new file mode 100644 index 0000000000000000000000000000000000000000..fb46e9855a8d67e74a0f3c4d997c6c1aa58fc945 GIT binary patch literal 13684 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 D`W<~i literal 0 HcmV?d00001 diff --git a/target/classes/plugin.yml b/target/classes/plugin.yml new file mode 100644 index 0000000..4c41307 --- /dev/null +++ b/target/classes/plugin.yml @@ -0,0 +1,24 @@ +name: ShulkerPacks +version: 1.6.5 +main: me.darkolythe.shulkerpacks.ShulkerPacks +api-version: 1.19 + +commands: + shulkerpacks: + usage: / reload + description: reloads the shulkerpacks config + permission: op + +permissions: + shulkerpacks.use: + description: gives player permission to open shulker boxes in their inventory + default: op + shulkerpacks.open_in_air: + description: allows the player to open the shulkerbox in the air (if config enables it) if the player has "shulkerpacks.use" + default: true + shulkerpacks.open_in_inventory: + description: allows the player to open the shulkerbox in their inventory (if config enables it) if the player has "shulkerpacks.use" + default: true + shulkerpacks.open_in_chests: + description: allows the player to open the shulkerbox in a chest (if config enables it) if the player has "shulkerpacks.use" + default: true diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties new file mode 100644 index 0000000..09ab9b8 --- /dev/null +++ b/target/maven-archiver/pom.properties @@ -0,0 +1,5 @@ +#Generated by Maven +#Mon Apr 24 16:47:55 UYT 2023 +artifactId=ShulkerPacks +groupId=me.Darkolythe +version=1.6.5 diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..158f15b --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,10 @@ +me\darkolythe\shulkerpacks\ShulkerListener$3.class +me\darkolythe\shulkerpacks\ShulkerHolder.class +me\darkolythe\shulkerpacks\ShulkerPacks.class +me\darkolythe\shulkerpacks\ShulkerListener$2.class +me\darkolythe\shulkerpacks\ShulkerListener$4.class +me\darkolythe\shulkerpacks\ShulkerListener.class +me\darkolythe\shulkerpacks\ConfigHandler.class +me\darkolythe\shulkerpacks\ShulkerListener$1.class +me\darkolythe\shulkerpacks\CommandReload.class +me\darkolythe\shulkerpacks\ShulkerListener$5.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..582aed0 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,5 @@ +C:\Users\dinob\IdeaProjects\ShulkerPacks\src\main\java\me\darkolythe\shulkerpacks\CommandReload.java +C:\Users\dinob\IdeaProjects\ShulkerPacks\src\main\java\me\darkolythe\shulkerpacks\ShulkerListener.java +C:\Users\dinob\IdeaProjects\ShulkerPacks\src\main\java\me\darkolythe\shulkerpacks\ShulkerHolder.java +C:\Users\dinob\IdeaProjects\ShulkerPacks\src\main\java\me\darkolythe\shulkerpacks\ShulkerPacks.java +C:\Users\dinob\IdeaProjects\ShulkerPacks\src\main\java\me\darkolythe\shulkerpacks\ConfigHandler.java diff --git a/target/original-ShulkerPacks-1.6.5.jar b/target/original-ShulkerPacks-1.6.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..fe0851d7879a7cfc905dd380faa20df6ae2154dd GIT binary patch literal 19352 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 literal 0 HcmV?d00001 From f7f088dec9436c3f885a63855b4812cbf7217dda Mon Sep 17 00:00:00 2001 From: dinobossytnew Date: Mon, 24 Apr 2023 18:30:39 -0300 Subject: [PATCH 4/4] Fixed Dupeo for packets https://www.youtube.com/watch?v=-we4y8b-IYg&feature=youtu.be&ab_channel=Aum13 thanks !mathy for help --- pom.xml | 8 +++- .../darkolythe/shulkerpacks/OpenShulker.java | 41 ++++++++++++++++++ .../shulkerpacks/ShulkerListener.java | 31 ++++++++++--- .../darkolythe/shulkerpacks/ShulkerPacks.java | 5 ++- src/main/resources/plugin.yml | 2 +- .../shulkerpacks/ShulkerListener$1.class | Bin 1349 -> 1349 bytes .../shulkerpacks/ShulkerListener$2.class | Bin 1354 -> 1354 bytes .../shulkerpacks/ShulkerListener$3.class | Bin 1305 -> 1305 bytes .../shulkerpacks/ShulkerListener$4.class | Bin 1976 -> 1976 bytes .../shulkerpacks/ShulkerListener$5.class | Bin 1941 -> 1941 bytes .../shulkerpacks/ShulkerListener.class | Bin 13684 -> 14756 bytes .../shulkerpacks/ShulkerPacks.class | Bin 5114 -> 5408 bytes target/classes/plugin.yml | 2 +- target/maven-archiver/pom.properties | 4 +- .../compile/default-compile/createdFiles.lst | 9 ++-- 15 files changed, 86 insertions(+), 16 deletions(-) create mode 100644 src/main/java/me/darkolythe/shulkerpacks/OpenShulker.java diff --git a/pom.xml b/pom.xml index 1f74787..75d12b6 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ me.Darkolythe ShulkerPacks - 1.6.5 + 1.6.6 jar @@ -27,6 +27,12 @@ + + org.projectlombok + lombok + 1.18.20 + provided + org.spigotmc spigot-api diff --git a/src/main/java/me/darkolythe/shulkerpacks/OpenShulker.java b/src/main/java/me/darkolythe/shulkerpacks/OpenShulker.java new file mode 100644 index 0000000..e9ce86a --- /dev/null +++ b/src/main/java/me/darkolythe/shulkerpacks/OpenShulker.java @@ -0,0 +1,41 @@ +package me.darkolythe.shulkerpacks; + +import lombok.Data; +import lombok.RequiredArgsConstructor; +import org.bukkit.Location; +import org.bukkit.entity.HumanEntity; +import org.bukkit.entity.Player; +import org.bukkit.event.inventory.InventoryType; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.ItemStack; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +@Data +@RequiredArgsConstructor +public class OpenShulker { + private ShulkerPacks plugin; + private HashMap openShulkerInventories = new HashMap<>(); + private HashMap lastOpened = new HashMap<>(); + + private ItemStack itemStack; + private Location openLocation; + private InventoryType.SlotType slotType; + private int rawSlot; + + public OpenShulker(ItemStack itemStack) { + this.itemStack = itemStack; + } + public boolean doesPlayerShulkerOpen(UUID uuid) { + for (Inventory inv : openShulkerInventories.keySet()) { + for (HumanEntity he : inv.getViewers()) { + if (he.getUniqueId().equals(uuid)) { + return true; + } + } + } + return false; + } +} diff --git a/src/main/java/me/darkolythe/shulkerpacks/ShulkerListener.java b/src/main/java/me/darkolythe/shulkerpacks/ShulkerListener.java index 60c8d86..7d1cf34 100644 --- a/src/main/java/me/darkolythe/shulkerpacks/ShulkerListener.java +++ b/src/main/java/me/darkolythe/shulkerpacks/ShulkerListener.java @@ -8,11 +8,13 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; +import org.bukkit.event.Cancellable; import org.bukkit.event.block.Action; import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.entity.ProjectileHitEvent; import org.bukkit.event.inventory.*; +import org.bukkit.event.player.PlayerInteractEntityEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; @@ -22,10 +24,15 @@ import java.util.List; public class ShulkerListener implements Listener { + private OpenShulker os; + private ShulkerPacks plugin; public ShulkerPacks main; + public ShulkerListener(ShulkerPacks plugin) { + this.main = plugin; //set it equal to an instance of main + plugin.getServer().getPluginManager().registerEvents(this, plugin); } /* @@ -68,10 +75,10 @@ public void onInventoryMoveItem(InventoryMoveItemEvent event) { */ @EventHandler public void onInventoryClick(InventoryClickEvent event) { - if (event.isCancelled()) { - return; - } - + if (event.isCancelled()) { + return; + } + Player player = (Player) event.getWhoClicked(); if (ShulkerPacks.openshulkers.containsKey(player)) { @@ -118,7 +125,7 @@ public void onInventoryClick(InventoryClickEvent event) { // prevent the player from opening it in the inventory if they have no permission if ((player.getInventory() == event.getClickedInventory())) { if (!main.canopenininventory || !player.hasPermission("shulkerpacks.open_in_inventory")) { - return; + return; } } @@ -128,7 +135,7 @@ public void onInventoryClick(InventoryClickEvent event) { } if(event.getClickedInventory() != null && event.getClickedInventory().getHolder() != null && event.getClickedInventory().getHolder().getClass().toString().endsWith(".CraftBarrel") && !main.canopeninbarrels) { - return; + return; } if (!main.canopeninenderchest && type == InventoryType.ENDER_CHEST) { @@ -225,6 +232,7 @@ public void onClickAir(PlayerInteractEvent event) { @EventHandler public void onShulkerPlace(BlockPlaceEvent event, Player player) { + onPlayerPlackets(event.getPlayer(), event); if (event.getBlockPlaced().getType().toString().contains("SHULKER_BOX")) { if (!main.canplaceshulker) { player.sendMessage(main.prefix + main.noplaceshulker); @@ -356,4 +364,15 @@ public void run() { } }, 1L, 1L); } + public void onPlayerPlackets(Player p, Cancellable c) { + if (p.getOpenInventory().getType() != InventoryType.SHULKER_BOX) return; + if(p.getOpenInventory().getTopInventory().getLocation() != null) return; + if(!os.doesPlayerShulkerOpen(p.getUniqueId())) return; + c.setCancelled(true); + } + @EventHandler + public void onItemFrameInteract(PlayerInteractEntityEvent e){ + onPlayerPlackets(e.getPlayer(), e); + } } + diff --git a/src/main/java/me/darkolythe/shulkerpacks/ShulkerPacks.java b/src/main/java/me/darkolythe/shulkerpacks/ShulkerPacks.java index aef96c1..099061b 100644 --- a/src/main/java/me/darkolythe/shulkerpacks/ShulkerPacks.java +++ b/src/main/java/me/darkolythe/shulkerpacks/ShulkerPacks.java @@ -19,7 +19,10 @@ public final class ShulkerPacks extends JavaPlugin { String prefix = ChatColor.WHITE.toString() + ChatColor.BOLD.toString() + "[" + ChatColor.BLUE.toString() + "ShulkerPacks" + ChatColor.WHITE.toString() + ChatColor.BOLD.toString() + "] "; static Map openshulkers = new HashMap<>(); - Map fromhand = new HashMap<>(); + Map fromhand = new HashMap<>();; + private HashMap openShulkerInventories = new HashMap<>(); + private HashMap lastOpened = new HashMap<>(); + Map openinventories = new HashMap<>(); Map opencontainer = new HashMap<>(); private Map pvp_timer = new HashMap<>(); diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 4c41307..b33b14c 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ name: ShulkerPacks -version: 1.6.5 +version: 1.6.6 main: me.darkolythe.shulkerpacks.ShulkerPacks api-version: 1.19 diff --git a/target/classes/me/darkolythe/shulkerpacks/ShulkerListener$1.class b/target/classes/me/darkolythe/shulkerpacks/ShulkerListener$1.class index ce9c1c9962d119ee01a25d88c6c827cce074032f..23848585d345e452a02009a3bf03c47c6aec279f 100644 GIT binary patch delta 27 jcmX@gb(CwvBo;>9$&*>KI1Lyi7z`N{7>p;gvDyOwZt@0M delta 27 jcmX@gb(CwvBo;=s$&*>KI5in07_=A^7<4AHvDyOwZLkJC diff --git a/target/classes/me/darkolythe/shulkerpacks/ShulkerListener$2.class b/target/classes/me/darkolythe/shulkerpacks/ShulkerListener$2.class index 87d286287129caa483429340d2024e2efce94bc4..cbbc3e2b56aec777d124b7d9224c66aade9b8804 100644 GIT binary patch delta 27 jcmX@bb&6}lbQZ>ilV`AGaV}wyU|7naz_5HWH>*7Wg`fyR delta 27 jcmX@bb&6}lbQZ>0lV`AGan5CsV3^0Cz_4I4H>*7WgkA_H diff --git a/target/classes/me/darkolythe/shulkerpacks/ShulkerListener$3.class b/target/classes/me/darkolythe/shulkerpacks/ShulkerListener$3.class index 1e1c01f834b0e915991f0963185b0371241b3d4b..f08f7502babca536a1fd90198920e8399f70b321 100644 GIT binary patch delta 27 jcmbQqHIr*YGz;VD$uTT-oaY!67|t`8FkG1Yn8geLew+yn delta 27 jcmbQqHIr*YGz;UA$uTT-oW~gy7)~&lFr1wHn8geLeOd_d diff --git a/target/classes/me/darkolythe/shulkerpacks/ShulkerListener$4.class b/target/classes/me/darkolythe/shulkerpacks/ShulkerListener$4.class index 92e4c7c5b3668aefd562f96e24d241182674d1a2..ac7eff65a9ef0a91d47f6f59f3721348cbeb9b29 100644 GIT binary patch delta 35 rcmdnNzk`3naW+Pe$tT!W3VJi}G5Rp*G5RvtGx{;aGx|?%VmAW-zC{Tk delta 35 rcmdnNzk`3naW+PW$tT!W3OY0JF}g75F}gC?GrBRvGrCW1VmAW-yJZOR diff --git a/target/classes/me/darkolythe/shulkerpacks/ShulkerListener$5.class b/target/classes/me/darkolythe/shulkerpacks/ShulkerListener$5.class index 9d5e3df98ae8b249688b1d6c74e9e38c3547b512..b95ba650db3d7c42b152e38800f4ae01123b6642 100644 GIT binary patch delta 56 zcmbQrKb3#OPgch0&A(V>7**pK6dB_g%or0GY#5Um{27xOvKUhsRx+kCTx3jRxXzf( MaEmc#vNd}Y0I`A&-T(jq delta 56 zcmbQrKb3#OPgcg@&A(V>7*)d<6dA)A%ormWY#5^${28MevKV6+Rx-viTx5)6xXzf& MaEmczvNd}Y0I1Rqh5!Hn diff --git a/target/classes/me/darkolythe/shulkerpacks/ShulkerListener.class b/target/classes/me/darkolythe/shulkerpacks/ShulkerListener.class index fb46e9855a8d67e74a0f3c4d997c6c1aa58fc945..c3737faf9f98297a7b06a6abf069456f4aca5e5f 100644 GIT binary patch literal 14756 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 literal 13684 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 FzX9d}|7idK delta 2087 zcmZ`(d3aMr5dUr8OJ0smTif*Fs2mmAaI_!-1;qlbP^qO{g@PO*O=)PF)F!QfXc1Aw z3+w`lqJpR(B1cO?14_XY@WKlbMU+oaJOJ@V1m`7>n$Pd^pPikZnVsKnXJ*&f&UZH* zxVUpSfPT!n&2))1^kIne);K*bPrcLQ_tv_cJ|nuJKgR%&&7#^IUXS1I@;GZ%OD@MC z)ncrvubJ+5RYy**<+u(*=q`ud6S>Y&>Gb)13~aI*mB%qOY*&pnwa$8%x6Vg7GZhSH zNStl2w`bS+UGD6mwYB!SMJ}J;gkg}>&>J{LU}U4zRevK#GDe9ksqf&M82Gr#I(L<` zwo{4SQKdSL<|u)U!CdaFu-Cc$9(%RZ2s6fVj6)oQG`1k$fC*xy)Z03dW0LA?@Ob?$ z4^c5-vN$Yd$TxFLZIn~=(>Z2fi0CM%cAd%LP_f7RDqR(Rhuh_-@_SVtYEmah1!jp! z@&M)%%j9fJC8{`da5MDGED~ds_F{o-;aR1svxmcrnnqoLzLvuWzZj+KX0FGr3g&Rk z#XK=zH`+WOw=1}VqX7%VAze+og+$dCp;|*seI~kS5y#!QN6gTVWcP|x=9$8xyIaS&T6mMH0l6?jwyxk_wNx^%9@;~cA@r#w_N zM^#}(som`=SMxl{@f6mGb4st+r?F1KGaS$2IffK*(2yeX4c)C9IG$G@S2tp8K|!$r zFEFHwcvEtc(_^3Mc9wTG;YDm#u!UnQwuy~~@#bc1R}kO`Vuvsqv&|vwRIrQVCA=(# z8~dAEu}8sPj#u!iSY+&;*oxOV-oTp-vd1~c&tT0It)?V-KSOFGPfa&tAKv14TV)XI zaC?2uLamwS8t|^Lm@*8_ILPrnJ`lO4O!G(hSivEVPjFbcP1$5T!tohC7wb%YI($KQ zguBsg_sq&J@_J^Oa1>v1d_~@8O(}+>IKgoe--tMK7YaSa@g2Swx#j}-M~>5Cp?R}d zYaS}5aAR|Vr75N%nTCyuPOC}n6p}y|Y_uA18hyZUhW0TyOKVP){uAl_qV#j5(@3`Y zpQ9KW#5VnBveO9C3U$=NlIEtN&EXe1qWK6LsQ1HiswSz`!#eeOSpKTX-!%EVCjZdn zpPD?6zsO&q96IP}y#TP`kZ1>-uLsCIxUk9S)4I(3e;(rZeRKxhohSL8S$}StGs8>%@7yC8>5re-$lQami zq*x#$5ykY0lpzJ>NTtH0VIJC%M|&(n2P{QLY(P5p;z}GrCmcg(T%<@IVT4QJ0y3hf zv85)JDGA`QHKUwBRhAL$*#T7Bg19AwItJVJ2GT;fO@b}q&LHmEg~h~mNf7thTCi*v zR;VG56xp_;I*7+8?ujO>)gFWnuOezqSg+FG7-1R2rZ#Rgq((|_BN#mpk6!4CY+Ox! zF@U-!5B=%y97y?*8|IN5!K(4dLvO}d3~^&jYGV}87?n`&z9BR*gwVoJ)FXu5469(J z&1(#MurGuI4C^nQ`X9*QioHXS8>p5VW?8KV6+lO89^$A|Q|X`2LOw>LAPQoM29Z3N z%ya}$PZ4SvA}7>x%s?kb#9Tm}g4Q$`nUR^ufqIZCsdgYBH=%qhRhLvXuUa&qkYdeD zy-RhSqtVSFx&w*Ydojc@qXi#o`lm5O^=J^soK_rPz8Z?W9T&*rfD$JDD5