CyclopsMC / IntegratedScripting

Create scripts for handling complex operations in Integrated Dynamics
MIT License
8 stars 1 forks source link

`apply0` crashes on function with inputs #11

Closed met4000 closed 2 months ago

met4000 commented 3 months ago

Issue type:


Short description:

apply0 on a function with inputs causes a crash.

Steps to reproduce the problem:

  1. Make a function with inputs and an output, e.g. function f(v) { return 1; }
  2. apply0 the function and put the output in a display panel
  3. Crashes, and upon adding/removing a cable after reloading the world (removing and re-inserting variable cards into displays doesn't crash and doesn't update display panels - I assume that behaviour is intentional to allow people to remove the bugged cards)

Expected behaviour:

An error instead of a crash.


Versions:

image

Log file:

---- Minecraft Crash Report ----
// Don't do that.

Time: [REDACTED]
Description: Exception in server tick loop

java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
    at org.cyclops.integrateddynamics.core.evaluate.operator.OperatorBase$SafeVariablesGetter.getValue(OperatorBase.java:276) ~[IntegratedDynamics-1.20.1-1.22.0.jar%23167!/:1.22.0] {re:classloading}
    at org.cyclops.integrateddynamics.core.evaluate.OperatorBuilders.lambda$static$10(OperatorBuilders.java:204) ~[IntegratedDynamics-1.20.1-1.22.0.jar%23167!/:1.22.0] {re:classloading}
    at org.cyclops.integrateddynamics.core.evaluate.operator.IterativeFunction.evaluate(IterativeFunction.java:28) ~[IntegratedDynamics-1.20.1-1.22.0.jar%23167!/:1.22.0] {re:classloading}
    at org.cyclops.integrateddynamics.core.evaluate.operator.OperatorBase.evaluate(OperatorBase.java:214) ~[IntegratedDynamics-1.20.1-1.22.0.jar%23167!/:1.22.0] {re:classloading}
    at org.cyclops.integrateddynamics.core.evaluate.expression.LazyExpression.evaluate(LazyExpression.java:43) ~[IntegratedDynamics-1.20.1-1.22.0.jar%23167!/:1.22.0] {re:classloading}
    at org.cyclops.integrateddynamics.core.evaluate.expression.LazyExpression.getValue(LazyExpression.java:65) ~[IntegratedDynamics-1.20.1-1.22.0.jar%23167!/:1.22.0] {re:classloading}
    at org.cyclops.integrateddynamics.core.part.panel.PartTypePanelVariableDriven.update(PartTypePanelVariableDriven.java:129) ~[IntegratedDynamics-1.20.1-1.22.0.jar%23167!/:1.22.0] {re:classloading}
    at org.cyclops.integrateddynamics.core.part.panel.PartTypePanelVariableDriven.update(PartTypePanelVariableDriven.java:68) ~[IntegratedDynamics-1.20.1-1.22.0.jar%23167!/:1.22.0] {re:classloading}
    at org.cyclops.integrateddynamics.core.network.PartNetworkElement.update(PartNetworkElement.java:168) ~[IntegratedDynamics-1.20.1-1.22.0.jar%23167!/:1.22.0] {re:classloading}
    at org.cyclops.integrateddynamics.core.network.Network.update(Network.java:409) ~[IntegratedDynamics-1.20.1-1.22.0.jar%23167!/:1.22.0] {re:classloading}
    at org.cyclops.integrateddynamics.core.TickHandler.onTick(TickHandler.java:74) ~[IntegratedDynamics-1.20.1-1.22.0.jar%23167!/:1.22.0] {re:classloading}
    at org.cyclops.integrateddynamics.core.__TickHandler_onTick_TickEvent.invoke(.dynamic) ~[IntegratedDynamics-1.20.1-1.22.0.jar%23167!/:1.22.0] {re:classloading,pl:eventbus:B}
    at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:73) ~[eventbus-6.0.5.jar%2387!/:?] {}
    at net.minecraftforge.eventbus.EventBus.post(EventBus.java:315) ~[eventbus-6.0.5.jar%2387!/:?] {}
    at net.minecraftforge.eventbus.EventBus.post(EventBus.java:296) ~[eventbus-6.0.5.jar%2387!/:?] {}
    at net.minecraftforge.event.ForgeEventFactory.onPostServerTick(ForgeEventFactory.java:950) ~[forge-1.20.1-47.2.0-universal.jar%23177!/:?] {re:classloading}
    at net.minecraft.server.MinecraftServer.m_5705_(MinecraftServer.java:835) ~[client-1.20.1-20230612.114412-srg.jar%23172!/:?] {re:classloading,pl:accesstransformer:B}
    at net.minecraft.client.server.IntegratedServer.m_5705_(IntegratedServer.java:89) ~[client-1.20.1-20230612.114412-srg.jar%23172!/:?] {re:classloading,pl:runtimedistcleaner:A}
    at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:661) ~[client-1.20.1-20230612.114412-srg.jar%23172!/:?] {re:classloading,pl:accesstransformer:B}
    at net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:251) ~[client-1.20.1-20230612.114412-srg.jar%23172!/:?] {re:classloading,pl:accesstransformer:B}
    at java.lang.Thread.run(Thread.java:833) ~[?:?] {}
rubensworks commented 3 months ago

Thanks for reporting!