TeamDman / SuperFactoryManager

Mozilla Public License 2.0
35 stars 15 forks source link

invalid program? #100

Closed instinxx closed 11 months ago

instinxx commented 11 months ago

Not sure what is wrong with this code, it is telling me invalid program. it seems like it does not like the last code block? Is there a limit to the amount of blocks I can use?

`name "Precision Mech"

every 20 ticks do input 1 from DeployChest_1 output retain 1 to Deployer_1 west side END every 20 ticks do input 1 from DeployChest_2 output retain 1 to Deployer_2 west side END every 20 ticks do input 1 from DeployChest_3 output retain 1 to Deployer_3 west side END every 20 ticks do input 1 alltheores:gold_plate from IOChest output retain 1 to Depot_1 END every 20 ticks do -- Clear items from Depots where they dont belong if Depot_3 has = 1 alltheores:gold_plate then input from Depot_3 output to IOChest END every 20 ticks do -- Clear items from Depots where they dont belong if Depot_2 has = 1 alltheores:gold_plate then input from Depot_2 output to IOChest END END `

https://pastebin.com/Sy7E93Q4

This is from Super Factory Manager-1.20-4.10.2 -

ALSO I am seeing this on the server console,

java.lang.NullPointerException: Cannot invoke "ca.teamdman.sfml.SFMLParser$LabelaccessContext.label()" because "ctx" is null at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfml.ast.ASTBuilder.visitLabelaccess(ASTBuilder.java:171) at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfml.ast.ASTBuilder.visitInputstatement(ASTBuilder.java:154) at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfml.ast.ASTBuilder.visitInputstatement(ASTBuilder.java:12) at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfml.SFMLParser$InputstatementContext.accept(SFMLParser.java:651) at MC-BOOTSTRAP/org.antlr.antlr4.runtime@4.9.1/org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visit(AbstractParseTreeVisitor.java:18) at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfml.ast.ASTBuilder.visitInputStatementStatement(ASTBuilder.java:144) at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfml.ast.ASTBuilder.visitInputStatementStatement(ASTBuilder.java:12) at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfml.SFMLParser$InputStatementStatementContext.accept(SFMLParser.java:557) at MC-BOOTSTRAP/org.antlr.antlr4.runtime@4.9.1/org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visit(AbstractParseTreeVisitor.java:18) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfml.ast.ASTBuilder.visitBlock(ASTBuilder.java:379) at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfml.ast.ASTBuilder.visitTimerTrigger(ASTBuilder.java:87) at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfml.ast.ASTBuilder.visitTimerTrigger(ASTBuilder.java:12) at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfml.SFMLParser$TimerTriggerContext.accept(SFMLParser.java:301) at MC-BOOTSTRAP/org.antlr.antlr4.runtime@4.9.1/org.antlr.v4.runtime.tree.AbstractParseTreeVisitor.visit(AbstractParseTreeVisitor.java:18) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfml.ast.ASTBuilder.visitProgram(ASTBuilder.java:75) at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfml.ast.Program.compile(Program.java:54) at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfm.common.item.DiskItem.updateDetails(DiskItem.java:53) at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfm.common.blockentity.ManagerBlockEntity.lambda$rebuildProgramAndUpdateDisk$4(ManagerBlockEntity.java:136) at java.base/java.util.Optional.flatMap(Optional.java:289) at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfm.common.blockentity.ManagerBlockEntity.rebuildProgramAndUpdateDisk(ManagerBlockEntity.java:136) at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfm.common.blockentity.ManagerBlockEntity.lambda$setProgram$2(ManagerBlockEntity.java:94) at java.base/java.util.Optional.ifPresent(Optional.java:178) at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfm.common.blockentity.ManagerBlockEntity.setProgram(ManagerBlockEntity.java:92) at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfm.common.net.ServerboundManagerProgramPacket.lambda$handle$0(ServerboundManagerProgramPacket.java:40) at TRANSFORMER/sfm@4.10.2/ca.teamdman.sfm.common.registry.SFMPackets.lambda$handleServerboundContainerPacket$0(SFMPackets.java:131) at TRANSFORMER/minecraft@1.20.1/net.minecraft.util.thread.BlockableEventLoop.m_18693_(BlockableEventLoop.java:67) at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768) at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.TickTask.run(TickTask.java:18) at TRANSFORMER/minecraft@1.20.1/net.minecraft.util.thread.BlockableEventLoop.m_6367_(BlockableEventLoop.java:156) at TRANSFORMER/minecraft@1.20.1/net.minecraft.util.thread.ReentrantBlockableEventLoop.m_6367_(ReentrantBlockableEventLoop.java:23) at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.MinecraftServer.m_6367_(MinecraftServer.java:772) at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.MinecraftServer.m_6367_(MinecraftServer.java:161) at TRANSFORMER/minecraft@1.20.1/net.minecraft.util.thread.BlockableEventLoop.m_7245_(BlockableEventLoop.java:130) at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.MinecraftServer.m_129961_(MinecraftServer.java:755) at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.MinecraftServer.m_7245_(MinecraftServer.java:749) at TRANSFORMER/minecraft@1.20.1/net.minecraft.util.thread.BlockableEventLoop.m_18701_(BlockableEventLoop.java:139) at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.MinecraftServer.m_130012_(MinecraftServer.java:735) at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:667) at TRANSFORMER/minecraft@1.20.1/net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:251) at java.base/java.lang.Thread.run(Thread.java:833)

TeamDman commented 11 months ago

Your second-to-last block with Depot_3 is missing an END token 😎🔚

instinxx commented 11 months ago

image

Its here no?

TeamDman commented 11 months ago

The if statement and the timer trigger both need an END