CyclopsMC/IntegratedScripting

`apply0` crashes on function with inputs

Closed this issue ยท 1 comments

Issue type:

  • ๐Ÿ› Bug

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) ~[?:?] {}

Thanks for reporting!