From c49bbe2fcb39b88c6cb6a1e00c9b7bab8c8d16cd Mon Sep 17 00:00:00 2001 From: Reider745 <70357814+Reider745@users.noreply.github.com> Date: Sat, 9 Dec 2023 10:01:53 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - добавлена настройка develop-mode - фикс рекурсии в createFoodItem - убраны RuntimeException, от туда где их быть не должно --- README.md | 1 + src/main/java/com/reider745/InnerCoreServer.java | 6 +++++- src/main/java/com/zhekasmirnov/apparatus/Apparatus.java | 4 +++- .../java/com/zhekasmirnov/innercore/api/NativeAPI.java | 5 ++--- .../java/com/zhekasmirnov/innercore/api/NativeItem.java | 7 ++----- .../com/zhekasmirnov/innercore/api/NativeItemInstance.java | 2 +- .../innercore/api/mod/adaptedscript/AdaptedScriptAPI.java | 2 +- 7 files changed, 15 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 24f61e19..3f40b1dc 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ ZotCoreLoader - серверное ядро предназначенное дл * inner-core-pack-name - имя пака inner core * inner_core.runtime_exception - выдовать RuntimeException об использовании не поддерживаемых методов(по умолчанию false) * eval-enable - вкр\выкл использование eval(по умолчанию true) + * develop-mode - режим разработки ## ВНИМАНИЕ! Использование eval, requireGlobal не рекомендуется! diff --git a/src/main/java/com/reider745/InnerCoreServer.java b/src/main/java/com/reider745/InnerCoreServer.java index e11c9f02..ee59786c 100644 --- a/src/main/java/com/reider745/InnerCoreServer.java +++ b/src/main/java/com/reider745/InnerCoreServer.java @@ -91,8 +91,12 @@ public class InnerCoreServer { return server.getPropertyBoolean("eval-enable", true); } + public static boolean isDevelopMode(){ + return server.getPropertyBoolean("develop-mode", false); + } + public static boolean isRuntimeException(){ - return server.getPropertyBoolean("inner_core.runtime_exception", false); + return server.getPropertyBoolean("inner_core.runtime_exception", isDevelopMode()); } private static void processFile(ZipFile file, String uncompressedDirectory, ZipEntry entry) throws IOException { diff --git a/src/main/java/com/zhekasmirnov/apparatus/Apparatus.java b/src/main/java/com/zhekasmirnov/apparatus/Apparatus.java index 0b24eaa2..e5d76206 100644 --- a/src/main/java/com/zhekasmirnov/apparatus/Apparatus.java +++ b/src/main/java/com/zhekasmirnov/apparatus/Apparatus.java @@ -1,7 +1,9 @@ package com.zhekasmirnov.apparatus; +import com.reider745.InnerCoreServer; + public class Apparatus { public static boolean isDevelop() { - return false; + return InnerCoreServer.isDevelopMode(); } } diff --git a/src/main/java/com/zhekasmirnov/innercore/api/NativeAPI.java b/src/main/java/com/zhekasmirnov/innercore/api/NativeAPI.java index 0675b1bf..07531222 100644 --- a/src/main/java/com/zhekasmirnov/innercore/api/NativeAPI.java +++ b/src/main/java/com/zhekasmirnov/innercore/api/NativeAPI.java @@ -67,11 +67,11 @@ public class NativeAPI { } public static void sendCachedItemNameOverride(int id, int data, String overrideCache) { - InnerCoreServer.useNotCurrentSupport("NativeAPI.sendCachedItemNameOverride(id, data, overrideCache)"); + // InnerCoreServer.useNotCurrentSupport("NativeAPI.sendCachedItemNameOverride(id, data, overrideCache)"); } public static void setItemNameOverrideCallbackForced(int id, boolean forces) { - InnerCoreServer.useNotCurrentSupport("NativeAPI.setItemNameOverrideCallbackForced(id, forces)"); + //InnerCoreServer.useNotCurrentSupport("NativeAPI.setItemNameOverrideCallbackForced(id, forces)"); } public static void setBlockChangeCallbackEnabled(int id, boolean enabled) { @@ -628,7 +628,6 @@ public class NativeAPI { } public static void setItemRequiresIconOverride(int id, boolean enabled) { - InnerCoreServer.useClientMethod("NativeAPI.setItemRequiresIconOverride(id, enabled)"); } public static void setItemToDrop(long entity, int id, int count, int data, long extra) { diff --git a/src/main/java/com/zhekasmirnov/innercore/api/NativeItem.java b/src/main/java/com/zhekasmirnov/innercore/api/NativeItem.java index 3fbc77ba..ae3e6a25 100644 --- a/src/main/java/com/zhekasmirnov/innercore/api/NativeItem.java +++ b/src/main/java/com/zhekasmirnov/innercore/api/NativeItem.java @@ -61,7 +61,6 @@ public class NativeItem { } public void setGlint(boolean val) { - InnerCoreServer.useNotCurrentSupport("NativeItem.setGlint(val)"); } public void setHandEquipped(boolean val) { @@ -73,7 +72,6 @@ public class NativeItem { } public void setUseAnimation(int val) { - InnerCoreServer.useNotCurrentSupport("NativeItem.setUseAnimation(val)"); } public void setMaxUseDuration(int val) { @@ -101,7 +99,7 @@ public class NativeItem { } public void setProperties(String val) { - InnerCoreServer.useNotCurrentSupport("NativeItem.setProperties(val)"); + //InnerCoreServer.useNotCurrentSupport("NativeItem.setProperties(val)"); } public void setEnchantType(int type, int value) { @@ -220,7 +218,6 @@ public class NativeItem { } public static void setUseAnimation(long ptr, int val) { - InnerCoreServer.useNotSupport("NativeItem.setUseAnimation(ptr, val)"); } public static void setMaxUseDuration(long ptr, int val) { @@ -276,7 +273,7 @@ public class NativeItem { } public static void setCreativeCategoryForId(int id, int category) { - InnerCoreServer.useNotCurrentSupport("NativeItem.setCreativeCategoryForId(id, category)"); + ItemMethod.setCreativeCategory(CustomManager.getFor(id), category); } public static String getNameForId(int id, int data) { diff --git a/src/main/java/com/zhekasmirnov/innercore/api/NativeItemInstance.java b/src/main/java/com/zhekasmirnov/innercore/api/NativeItemInstance.java index 1c85d1d7..31dc0fcb 100644 --- a/src/main/java/com/zhekasmirnov/innercore/api/NativeItemInstance.java +++ b/src/main/java/com/zhekasmirnov/innercore/api/NativeItemInstance.java @@ -27,7 +27,7 @@ public class NativeItemInstance { this.id = this.count = this.data = 0; this.extra = null; } else { - item = ptr; + this.item = item; this.id = item.getId(); this.count = item.getCount(); this.data = item.getAttackDamage() == 0 ? item.getAttackDamage() : item.getDamage(); diff --git a/src/main/java/com/zhekasmirnov/innercore/api/mod/adaptedscript/AdaptedScriptAPI.java b/src/main/java/com/zhekasmirnov/innercore/api/mod/adaptedscript/AdaptedScriptAPI.java index 9352d654..3762c7d8 100644 --- a/src/main/java/com/zhekasmirnov/innercore/api/mod/adaptedscript/AdaptedScriptAPI.java +++ b/src/main/java/com/zhekasmirnov/innercore/api/mod/adaptedscript/AdaptedScriptAPI.java @@ -1337,7 +1337,7 @@ public class AdaptedScriptAPI extends API { item.setUseAnimation(1); item.setMaxUseDuration(32); return item;*/ - NativeItem item = createFoodItem(id, nameId, name, iconName, iconIndex, food); + NativeItem item = NativeItem.createFoodItem(id, nameId, name, iconName, iconIndex, food); //item.setProperties(null); item.setUseAnimation(1); item.setMaxUseDuration(32);