mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Improve JS exec return value handling (#1290)
This commit is contained in:
@@ -769,7 +769,7 @@ index 106e01b931f5b04269b280bbb82a732caaba9259..9e73c3c79fcbbb17015f00cf300de3e5
|
||||
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
index fd9c107bbaea0daea1882f3715956c28448580b8..cabe7101fc6e43ece67f7e4f647dd2eef1255c60 100644
|
||||
index fd9c107bbaea0daea1882f3715956c28448580b8..8a592993aedc72d8ffe1b1ad5e526cc292d69737 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -116,6 +116,21 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -782,9 +782,9 @@ index fd9c107bbaea0daea1882f3715956c28448580b8..cabe7101fc6e43ece67f7e4f647dd2ee
|
||||
+ Double value = cache.get().get(size);
|
||||
+ if (value == null) {
|
||||
+ try {
|
||||
+ scriptEngine.eval("size = " + size);
|
||||
+ value = (double) scriptEngine.eval(equation.get());
|
||||
+ } catch (Exception e) {
|
||||
+ value = ((Number) scriptEngine.eval("let size = " + size + "; " + equation.get())).doubleValue();
|
||||
+ } catch (javax.script.ScriptException e) {
|
||||
+ e.printStackTrace();
|
||||
+ value = defaultValue.get();
|
||||
+ }
|
||||
+ cache.get().put(size, value);
|
||||
@@ -887,7 +887,7 @@ index c871416d5ec80a41034c14dce4e8c839b3091e3e..46caa30dec30b62add4cdb41932f3268
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
index 19e1c0bd1516732826672642e54dc0813d413f10..e99f6f6e4aa490eeaa95892ea61c972ca159425e 100644
|
||||
index 19e1c0bd1516732826672642e54dc0813d413f10..a773fc3a5f7a16c382188e2419d58d009a2af5a7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java
|
||||
@@ -104,6 +104,37 @@ public class Slime extends Mob implements Enemy {
|
||||
@@ -916,9 +916,9 @@ index 19e1c0bd1516732826672642e54dc0813d413f10..e99f6f6e4aa490eeaa95892ea61c972c
|
||||
+ Double value = cache.get().get(size);
|
||||
+ if (value == null) {
|
||||
+ try {
|
||||
+ scriptEngine.eval("size = " + size);
|
||||
+ value = (double) scriptEngine.eval(equation.get());
|
||||
+ } catch (Exception e) {
|
||||
+ value = ((Number) scriptEngine.eval("let size = " + size + "; " + equation.get())).doubleValue();
|
||||
+ } catch (javax.script.ScriptException e) {
|
||||
+ e.printStackTrace();
|
||||
+ value = defaultValue.get();
|
||||
+ }
|
||||
+ cache.get().put(size, value);
|
||||
|
||||
Reference in New Issue
Block a user