Futurepack Mod - Now with flyable Spaceships!

Futurepack Mod - Now with flyable Spaceships!

1M Downloads

1.18.2 Crash seems related to Support Pipes

Yirok42 opened this issue ยท 5 comments

commented

Describe the bug
This might be the same issue as #878 or #772. It sounds similar, and though I have been using this MOD for awhile now I keep trying to set my Laboratory up "better" and I have the worst setup as it just crashes. The first time shocked me and so I kept trying to load the world. The second time (same seed, but restarted from scratch) I would zip up the saved world each day, and if I thought I was about to break it.

I typically build a wall of FP Tech (crusher, furnace, (2) assembly table, T1, T2, T3, Researcher, Neon Industrial Furnace, Centrifuge, and wardrobes and I started using cable and pipe together to have greater control of which items connect (using Scrench to disconnect, connect via cable, or connect via pipe). It seems the Support Pipe is the likely culprit. I am not using Flash Server or Insert Node, but I might have a hopper (Or I just replaced it with Piping). I do not remember if when it crashed I had a Transport Chip in the Centrifuge or not. If I did, then I would not have a hopper, but I would have had the Hopper before Menelaus and the Transport Chip after, so maybe I did have the Transport Chip as I had recently returned from Menelaus.

To Reproduce
Steps to reproduce the behavior:

  1. Have many FuturePack blocks connected with cable and pipe of various type: support, neon, normal
  2. I do not know what I did, but I had just viewed the contents of the Centrifuge and either left the view or was still on it.
  3. Crash
  4. Try to relaod world, go to Step 3
  5. Recreate from original and try to avoid Step 3

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
Using a saved world from just before the trip to Menelaus, I gave myself all Research (so I could finish this tonight) and tried recreating to get exactly the issue, and I realized I do not need all that piping. If I put the T1,2,3 on the left side instead of up the middle of my wall of tech, then I don't need piping if I enable IN/OUT via top of the furnace and IN/OUT via the bottom of the crusher. and only one pipe to load IN on the bottom of the Centrifuge, no crash! I had been using pipe (support or neon) to keep from connecting to the Network Cable (no network pipe??) but now that is on the left side so it is already separate.

Version
Operating System: Windows 10 version 10.0
Minecraft Version: 1.18.2
Java Version: 17.0.2, Oracle Corporation
corpse-1.18.2-1.0.1
create-mc1.18.1_v0.4.1
flywheel-forge-1.18-0.6.2
Futurepack-1.18.2-33.0.7482
jei-1.18.2-9.5.5.174
journeymap-1.18.2-5.8.0
client-1.17.1-20210706.113038-srg
forge-1.18.2-40.0.42-universal

Logs
https://pastebin.com/raw/y8rKbvff
Other logs are gnu-compressed but I can provide as-is if requested.

commented

I haven't played in a bit but I was thinking on this issue. Reading above it seems the problem was Support pipe which transfers objects and support points when connected to a block which only accepts objects, the connection should look like normal pipe, and when connected to a block which only accepts support points should look like support cable, but maybe that is the problem, that the support pipe connection logic needs to know how to discriminate how it connects before an object or support point tries to flow through it.
Not sure if it helps. If not, no worries, and if so, it helps you improve the mod (a crash that kills a world puts people off).

commented

YOu can reporduce this issue witrhout issue? this is amazign I have been trying to track it down for a very long time.

commented

as recently commented on #966, i have a wall of machines but specifically neon furnace below super crusher each set to send items in and out between them. I put support pipes to connect the neon furnace to a centrifuge (on the front) because I had neon cable connecting them on the back. Then I was replacing the neon cable with support cable (BUT ARGH!! I forgot to remove the support cable first), and as I was connecting the support cable . CRASH . I was able to reload the world but it just crashes. Argh! I knew better.

java.lang.NullPointerException:
tile had no capability! tile futurepack.common.block.modification.machines.TileEntityIndustrialNeonFurnace@31edf18
@
ParentCoords{x=765, y=66, z=-59};support is mode NONE

at futurepack.depend.api.helper.HelperEnergyTransfer.lambda$spreadPower$2(HelperEnergyTransfer.java:386)

~[Futurepack-1.18.2-33.0.7482.jar%2353!/:?] {re:classloading}

Runnable run = (Runnable) t.getCapability(cap, facing).orElseThrow(() -> new NullPointerException(crash + ";" + t.getCapability(CapabilityLogistic.cap_LOGISTIC, facing).map(l -> l.isTypeSupported(EnumLogisticType.SUPPORT) ? ("support is mode "+ l.getMode(EnumLogisticType.SUPPORT).name()) : "'support' not used" ).orElse("no logistic support")));

It seems the t.getCapability does not know what to do with a TileEntity of IndustrialNeonFurnace, but lambda and .orthrow is a newer version of Java than I use.

commented

this is assigned to me?!

commented

I unassigned myself since I do not know how to provide a fix. I tried to provide some simple language updates but either I did them wrong or they were rejected. That was my test of can updates be made by "others" I would like to participate beyond finding issues and trying to find simple ways to reproduce but I would need more assistance which you might not have time to provide.