Create Fabric

Create Fabric

10M Downloads

Crashing World at startup

Metry45tacos1 opened this issue · 6 comments

commented

Describe the Bug

Extracting water, using hose reel. Broke the attached tank by accident and now the world crashes my game. Can't get back into the world to remove anything or change it. Im using a creative motor to power it as i wanted to test it before i ran the actual power units.

Reproduction Steps

  1. Hose reel above the source ( mine was infinite )
  2. Attach proper attachments such as the mechanical pump and liquid tanks
  3. Remove Tanks with wrench.
    ...

Expected Result

Nothing.. I expected the hose reel to stop or hold its liquid.

Screenshots and Videos

No response

Crash Report or Log

https://pastebin.com/JrFcKXaR

Operating System

Windows 10

Mod Version

0.5.0i

Minecraft Version

1.19.2

Other Mods

🔨 Frame API
Additional Additions | Fabric
AOF Emotes
AppleSkin
Archeology Mod
Architectury API (Fabric/Forge)
Artifacts (Fabric)
Auto Config Updated API
BadStdOut
BCLib
Better Advancements
Better Compatibility Checker
Better Lily Pads
Better Sodium Video Settings Button
Better Villages - Fabric
BetterEnd
BetterNether
Bits And Chisels
Bookshelf
Bookshelf
Bridging Mod (Quark/Bedrock) [Fabric/Quilt]
Capybara [Fabric]
Cardinal Components
Charm
Chassis
Chunky (Fabric)
Cloth Config API
Cloth Config API (UNUSED)
Clumps
Coins JE
Collective
Collector's Album [Fabric | Forge]
Compressor (Fabric)
Configuration [Fabric | Forge]
Construction Deco
Continuity
Controlling
CraftTweaker
Create Crafts & Additions
Create Fabric
CreativeCore
Custom Splash Screen
Customizable Elytra (Fabric)
Data Attributes
Deeper and Darker
Default Dark Mode
Detail Armor Bar [Fabric]
Display Case
Doodads [Fabric]
Duckling
Emotecraft (Fabric)
Enchantment Descriptions
Entity Culling Fabric/Forge
Fabric API
Fabric Language Kotlin
Fabric Waystones
Farmer's Delight [Fabric]
Farmer's Respite (Fabric)
Faux Custom Entity Data
Forge Config API Port [Fabric]
GeckoLib
Harvest with ease
Iceberg [Fabric]
Immersive Aircraft [Fabric/Forge]
Indium
Infinity Buttons
Ingredient Extension API
Iris Shaders
Item Highlighter [Fabric]
ItemLocks
Jade 🔍
Joy of Painting
Just Enough Farmer's Recipes
Just Enough Items (JEI)
Just Enough Professions (JEP)
Just Enough Resources (JER)
KubeJS
Let Me Despawn
Library Ferret - Fabric
Light Overlay (Rift/Forge/Fabric)
Litematica
Lithium (Fabric)
Logical Zoom
Lootr (Fabric)
Macaw's Bridges
Macaw's Doors
Macaw's Fences and Walls
Macaw's Lights and Lamps
Macaw's Paintings
Macaw's Paths and Pavings
Macaw's Roofs
Macaw's Trapdoors
Macaw's Windows
Magnum Torch
MaLiLib
MegaParrot
Mining Gadgets Fabric
Mob Scarecrows
Mod Menu
Moonlight Lib
Mouse Tweaks
Music Maker Mod
Naturalist
Nature's Compass
Night Lights
No Chat Reports
oωo (owo-lib)
Patchouli (Fabric/Quilt)
Pehkui
PlayerEx
Plushie Mod
Polymorph (Fabric)
Puzzles Lib [Forge & Fabric]
Reese's Sodium Options
Replay Mod (Fabric)
Revelationary
Rhino
Shoppy
Show Me What You Got
Show Me Your Skin!
Shuffle
Simple Voice Chat
Simply Swords [Fabric & Forge]
SkyLib
Smooth Boot (Fabric)
Snowy Spirit
Sodium
spark
Spectrum
Starlight (Fabric)
Supplementaries
TerraBlender (Fabric)
Terralith
The Mushroom Update - AnimalMace Edition
The Twilight Forest
Tom's Simple Storage Mod (Fabric)
Trade Cycling
Traveler's Backpack [Fabric]
Tree Harvester
Trinkets (Fabric)
Twigs
VanillaTweaks [Fabric & Forge]
Vein Mining (Fabric 1.16.4 - 1.19.2)
Vertical Slabs Compat
Visual Workbench
When Dungeons Arise - Fabric!
Xaero's Minimap
Xaero's World Map
YetAnotherConfigLib
You're in Grave Danger

Additional Context

No response

commented

Are you able to get it to happen again in other worlds?

commented
commented

@TropheusJ
Hey, I was able to recreate the issue. I've prepared a little test setup in form of this region file. I should also note, that the world was created and played on in conjunction with the Create Live 4 modpack.

Here are the steps involved with recreating the bug:

  1. Create a new world in singleplayer.
  2. Exit the world, go back to singleplayer, select the world, click Edit and then Open World Folder.
  3. Paste the region file into the world's regions folder.
  4. Teleport to the setup with /tp 1703 106 472
  5. Pull the lever on the Clutch and watch everything (quite literally) descend into chaos, once the Hose Pulley is deep enough.

The resulting crash-report should look roughly like this one.

I hope this helps ^^

commented

Another odd behavior, I've noticed, is, that disabling infinite fluid sources for the Hose Pulley results in the fluid no longer being pumped, once a certain depth is reached.

commented

I have analyzed the problem further... When using @eingruenesbeb region file, the whole "water pool" was flowing. Because of that, the whole queue list gets emptied and therefore the first object is null. I have inserted an if statement in the while true loop to prevent the npe...

if (visited.size() > maxBlocks && canDrainInfinitely(fluid) && !queue.isEmpty()) {
	infinite = true;
	// Find first block with valid fluid
	while (true) {
+++		if(queue.isEmpty()) {
+++			infinite = false;
+++			return;
+++		}
		BlockPos first = queue.first().pos();
		if (canPullFluidsFrom(world.getBlockState(first), first) != FluidBlockType.SOURCE) {
			dequeue(queue);
			continue;
		}
		break;
	}
	BlockPos firstValid = queue.first().pos();
	frontier.clear();
	visited.clear();
	queue.clear();
	queue.add(new BlockPosEntry(firstValid, 0));
	tileEntity.sendData();
	return;
}

I don't know much about the rest of the code of the create mod so maybe you also need to call tileEntity.sendData() etc. @TropheusJ
When using this fix everything seems to work, but i didnt check performance etc.

Thank you!

commented

This is a forge issue too: Creators-of-Create#4665
I've added your fix for now, it seems to work fine.