From 1ec92801dfd6f457ff8667db9edc64a9f01d3bcc Mon Sep 17 00:00:00 2001 From: Auxilor Date: Tue, 13 Jul 2021 12:02:56 +0200 Subject: [PATCH] Added ominous comments --- .../support/merging/anvil/AnvilListeners.java | 14 ++++++++++++++ .../support/merging/anvil/AnvilMerge.java | 9 ++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/merging/anvil/AnvilListeners.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/merging/anvil/AnvilListeners.java index 89a9ea54..335b6889 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/merging/anvil/AnvilListeners.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/merging/anvil/AnvilListeners.java @@ -48,6 +48,20 @@ public class AnvilListeners extends PluginDependent implements Listen */ @EventHandler(priority = EventPriority.HIGHEST) public void onAnvilPrepare(@NotNull final PrepareAnvilEvent event) { + /* + This code is almost as bad as AnvilMerge#doMerge + Inventory events fire three times so I have to do weird workarounds + I also don't know how any of this works - so many things are null + + Do I know when the items are changed? No + Do I know when the experience and name is set? No + Do I know when the merge has failed? No + But it works and I won't touch it. + + I wrote this code in July 2020 and I'm amazed that it holds up. + */ + + ItemStack left = event.getInventory().getItem(0); ItemStack right = event.getInventory().getItem(1); ItemStack out = event.getResult(); diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/merging/anvil/AnvilMerge.java b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/merging/anvil/AnvilMerge.java index 191f7c55..8c0b8a37 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/merging/anvil/AnvilMerge.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecoenchants/enchantments/support/merging/anvil/AnvilMerge.java @@ -51,7 +51,14 @@ public class AnvilMerge { @Nullable final ItemStack old, @NotNull final String itemName, @NotNull final Player player) { - // Here so it can be accessed later (scope) + /* + If you're currently looking at this code, + pray to whatever god you have that any changes + don't cause things to break. + + I have no idea how this code works, it does - and it scares me. + I'll just pretend that I understand it and never look at it again. + */ // Copied to non-final string. String name = itemName;