From e3cc222984ec6f85fbe760997f289cf76548cfd8 Mon Sep 17 00:00:00 2001 From: Reider745 <70357814+Reider745@users.noreply.github.com> Date: Wed, 27 Mar 2024 21:38:41 +0300 Subject: [PATCH] =?UTF-8?q?Fixed:=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B0=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B0?= =?UTF-8?q?=20=D0=BE=D0=B1=20=D0=BE=D1=82=D1=81=D1=83=D0=B2=D0=B8=D0=B8=20?= =?UTF-8?q?runtime=20id?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../reider745/hooks/RuntimeItemsHooks.java | 29 +++++++------------ 1 file changed, 10 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/reider745/hooks/RuntimeItemsHooks.java b/src/main/java/com/reider745/hooks/RuntimeItemsHooks.java index 09c98295..52e70692 100644 --- a/src/main/java/com/reider745/hooks/RuntimeItemsHooks.java +++ b/src/main/java/com/reider745/hooks/RuntimeItemsHooks.java @@ -8,6 +8,7 @@ import cn.nukkit.item.RuntimeItems; import com.reider745.api.ReflectHelper; import com.reider745.api.hooks.HookClass; import com.reider745.api.hooks.annotation.Hooks; +import com.reider745.api.hooks.annotation.Inject; import com.reider745.block.CustomBlock; import com.reider745.item.CustomItem; import com.reider745.item.ItemMethod; @@ -20,6 +21,12 @@ import java.util.*; @Hooks(className = "cn.nukkit.item.RuntimeItemMapping") public class RuntimeItemsHooks implements HookClass { + private static HashMap protocols = new HashMap<>(); + + @Inject + public static void generatePalette(RuntimeItemMapping self){ + protocols.put(self.getProtocolId(), true); + } public static void register(int protocolId) { final Map legacyString2LegacyInt = ReflectHelper.getField(RuntimeItems.class, @@ -84,29 +91,13 @@ public class RuntimeItemsHooks implements HookClass { Method generatePalette = RuntimeItemMapping.class.getDeclaredMethod("generatePalette", new Class[0]); generatePalette.setAccessible(true); generatePalette.invoke(mapping, new Object[0]); - } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException - | SecurityException e) { + } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) { throw new UnsupportedOperationException(e); } } public static void register() { - register(361); - register(419); - register(440); - register(448); - register(475); - register(486); - register(503); - register(527); - register(534); - register(560); - register(567); - register(575); - register(582); - register(589); - register(594); - register(618); - register(630); + for(Integer id : protocols.keySet()) + register(id); } }