GC-spigot / AdvancedEnchantments

Superior Custom Enchantments Creator for Minecraft And Spigot platform
154 stars 63 forks source link

It is not possible to use negative numbers in <random></random> tag #4300

Closed ArmonicPvP closed 4 months ago

ArmonicPvP commented 4 months ago

Describe the bug

Using negative numbers in the random tag does not work and gives an error.

How to reproduce

Use: <random>-9--1</random>


[19:43:39 WARN]: java.lang.NumberFormatException: For input string: "<random>"
[19:43:39 WARN]:        at java.base/java.lang.NumberFormatException.forInputString(Unknown Source)
[19:43:39 WARN]:        at java.base/java.lang.Integer.parseInt(Unknown Source)
[19:43:39 WARN]:        at java.base/java.lang.Integer.parseInt(Unknown Source)
[19:43:39 WARN]:        at AdvancedEnchantments-9.8.4.jar//net.advancedplugins.ae.impl.utils.ASManager.parseInt(ASManager.java:642)
[19:43:39 WARN]:        at AdvancedEnchantments-9.8.4.jar//net.advancedplugins.ae.impl.utils.ASManager.parseInt(ASManager.java:636)
[19:43:39 WARN]:        at AdvancedEnchantments-9.8.4.jar//net.advancedplugins.ae.impl.effects.effects.effects.internal.AddDurabilityCurrentItemEffect.executeEffect(AddDurabilityCurrentItemEffect.java:19)
[19:43:39 WARN]:        at AdvancedEnchantments-9.8.4.jar//net.advancedplugins.ae.impl.effects.effects.actions.execution.ExecutionTask.activate(ExecutionTask.java:204)
[19:43:39 WARN]:        at AdvancedEnchantments-9.8.4.jar//net.advancedplugins.ae.impl.effects.effects.actions.execution.ExecutionTask.init(ExecutionTask.java:122)
[19:43:39 WARN]:        at AdvancedEnchantments-9.8.4.jar//net.advancedplugins.ae.impl.effects.effects.actions.ActionExecution.run(ActionExecution.java:65)
[19:43:39 WARN]:        at AdvancedEnchantments-9.8.4.jar//net.advancedplugins.ae.impl.effects.effects.actions.ActionExecutionBuilder.buildAndExecute(ActionExecutionBuilder.java:80)
[19:43:39 WARN]:        at AdvancedEnchantments-9.8.4.jar//net.advancedplugins.ae.impl.effects.effects.mechanics.triggers.internal.MiningTrigger.onBlockBreak(MiningTrigger.java:130)
[19:43:39 WARN]:        at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor551.execute(Unknown Source)
[19:43:39 WARN]:        at org.bukkit.plugin.EventExecutor$2.execute(EventExecutor.java:77)
[19:43:39 WARN]:        at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:81)
[19:43:39 WARN]:        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70)
[19:43:39 WARN]:        at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54)
[19:43:39 WARN]:        at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126)
[19:43:39 WARN]:        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615)
[19:43:39 WARN]:        at net.minecraft.server.level.PlayerInteractManager.a(PlayerInteractManager.java:375)
[19:43:39 WARN]:        at net.minecraft.server.level.PlayerInteractManager.a(PlayerInteractManager.java:334)
[19:43:39 WARN]:        at net.minecraft.server.level.PlayerInteractManager.a(PlayerInteractManager.java:298)
[19:43:39 WARN]:        at net.minecraft.server.network.PlayerConnection.a(PlayerConnection.java:1847)
[19:43:39 WARN]:        at net.minecraft.network.protocol.game.PacketPlayInBlockDig.a(PacketPlayInBlockDig.java:42)
[19:43:39 WARN]:        at net.minecraft.network.protocol.game.PacketPlayInBlockDig.a(PacketPlayInBlockDig.java:15)
[19:43:39 WARN]:        at net.minecraft.network.protocol.PlayerConnectionUtils.lambda$ensureRunningOnSameThread$0(PlayerConnectionUtils.java:54)
[19:43:39 WARN]:        at net.minecraft.server.TickTask.run(TickTask.java:18)
[19:43:39 WARN]:        at net.minecraft.util.thread.IAsyncTaskHandler.d(IAsyncTaskHandler.java:149)
[19:43:39 WARN]:        at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.d(IAsyncTaskHandlerReentrant.java:24)
[19:43:39 WARN]:        at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1465)
[19:43:39 WARN]:        at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:194)
[19:43:39 WARN]:        at net.minecraft.util.thread.IAsyncTaskHandler.x(IAsyncTaskHandler.java:123)
[19:43:39 WARN]:        at net.minecraft.server.MinecraftServer.bl(MinecraftServer.java:1442)
[19:43:39 WARN]:        at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1365)
[19:43:39 WARN]:        at net.minecraft.util.thread.IAsyncTaskHandler.c(IAsyncTaskHandler.java:133)
[19:43:39 WARN]:        at net.minecraft.server.MinecraftServer.w_(MinecraftServer.java:1343)
[19:43:39 WARN]:        at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1232)
[19:43:39 WARN]:        at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:319)
[19:43:39 WARN]:        at java.base/java.lang.Thread.run(Unknown Source)```

The solution to this is simply: ```<math>-1 * <random>1-9</random></math>```, but this is not intuitive and unfriendly to users.

### Screenshots / Videos

_No response_

### "/ae plinfo" link

https://paste.md-5.net/aluheyicuk

### Server Log

_No response_
ThomasWega commented 4 months ago

What enchantment? What's your config? We need more info...

ArmonicPvP commented 4 months ago

What enchantment? What's your config? We need more info...

See edit. For some reason the tags disappeared and I had to put them in code blocks

ThomasWega commented 4 months ago

It's not <random> but rather <random number>. Like so:

<random number>-20--10</random number>

You don't have to enclose it in math. Full example:

ADD_DURABILITY_CURRENT_ITEM:<random number>-20--10</random number> @Self