RFTools

RFTools

74M Downloads

RFTools Elevator Throwing Errors

pmar0 opened this issue ยท 0 comments

commented

Issue description:

RFTools elevator is throwing errors due to a block being put in front of the elevator while the elevator is running (eg. while the platform is mid-transit between two elevator blocks). This is not a game crashing bug, but it sounds like something that could be fixed/avoided, from the little experience I have.

Also note that I am on a modded minecraft server that is running Foolcraft 3 version 1.5.1.

Steps to reproduce:

To follow exactly what I did, do this:

  1. Place two elevator blocks about 15 blocks apart, or far enough apart that it will give some transit time for you to interfere. Set up the elevator platform at the bottom one. (Moving forward, I will use "platform" to refer to the set of blocks that will be moving in between the elevator blocks to avoid confusion)

  2. Set up a sticky piston with a block on top of it immediately below the platform that is on the bottom floor. So it would be block of platform, block that's on sticky piston, then sticky piston, going from top to bottom.

  3. Use a button or whatever other redstone signalling (I use a button) to call the platform up, but also make sure that the same button is hooked up to the piston, to push it up immediately when you call the platform upward. I have my button hooked up to a t-gate/flip-flop to make it so the button circuit that goes to the piston keeps the piston extended (as if it's a switch that's powering it, that's what a t-gate does). The t-gate element might be required, as I'm not sure how long the block needs to be in front of the elevator block to register the error.

  4. Smack the button, and while the platform is being called up, the piston should shove a new block in front of the bottom elevator block (where the platform just left) mid-transit, forcing the entire platform (that's in motion, currently) to be deleted from existence (presumably due to the way the entire elevator platform is stored as on object or entity) and throwing the error.

Otherwise, you can likely just run an elevator similarly to above and put a block in front of the elevator block that the platform just left, and that should do the trick.

Versions:

  • Minecraft: 1.12.2
  • Forge: 14.23.4.2758
  • CompatLayer (only if on Minecraft 1.10 or 1.11): N/A (see above minecraft version)
  • McJtyLib: 3.0.4
  • RFTools: 7.55

Possibly incompatible mods and versions:

(Reiterated from above)

Also note that I am on a modded minecraft server that is running Foolcraft 3 version 1.5.1.

Edit 9/18/18: I should also add that both blocks I'm using are modded, one from enderIO (quite clear glass, white), the other from chisel mod (chiseled marble block).

I'm not entirely sure if there's any possibly incompatible mods, but I'd assume most things are alright, as it's a tested modpack (it's a release version).

Relevant logs, if any:

******Click for crash report****** Description: Error executing task

java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at net.minecraft.util.Util.runTask(SourceFile:531)
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1087)
at net.minecraft.client.Minecraft.run(Minecraft.java:3940)
at net.minecraft.client.main.Main.main(SourceFile:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

Caused by: java.lang.NullPointerException
at mcjty.rftools.blocks.elevator.ElevatorTileEntity.readFromNBT(ElevatorTileEntity.java:737)
at net.minecraft.tileentity.TileEntity.handleUpdateTag(TileEntity.java:331)

at net.minecraft.client.network.NetHandlerPlayClient.handleChunkData(NetHandlerPlayClient.java:760)
at net.minecraft.network.play.server.SPacketChunkData.processPacket(SourceFile:96)
at net.minecraft.network.play.server.SPacketChunkData.processPacket(SourceFile:18)
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at net.minecraft.util.Util.runTask(SourceFile:529)