DimensionalThreading icon indicating copy to clipboard operation
DimensionalThreading copied to clipboard

Gravity duping is removed.

Open ZuccySuccy opened this issue 4 years ago • 22 comments

Not sure if it works with the 4 gravity block types or all dupers, but I know that it is fixed with a ray style duper. The blocks on the overworld side stay as expected, but the gravity entity on the end side is not there which is the expected behavior

ZuccySuccy avatar Dec 05 '20 02:12 ZuccySuccy

Bug confirmed with dragon egg duper, someone's efficient rewiring of ilmango's design I found on discord.

This feature usually useful for some redstone used server

Apricityx avatar Aug 14 '21 15:08 Apricityx

Issue is caused by EntityMixin.java, when removed sand duping works as in vanilla.

coke-the-gal avatar Jan 23 '22 13:01 coke-the-gal

Issue is caused by EntityMixin.java, when removed sand duping works as in vanilla.

So I can fix it by just deleting EntityMixin.java?

Apricityx avatar Jan 25 '22 08:01 Apricityx

Ehh, no. Removing the file fixes it in singleplayer worlds, but on servers, when you activate the duper, it causes a server crash. Would have put this in originally, but I couldnt test it on a server until yesterday.

coke-the-gal avatar Jan 25 '22 11:01 coke-the-gal

Ehh, no. Removing the file fixes it in singleplayer worlds, but on servers, when you activate the duper, it causes a server crash. Would have put this in originally, but I couldnt test it on a server until yesterday.

Then how can i fix it on my server?

Apricityx avatar Feb 02 '22 12:02 Apricityx

No clue, just documenting my attempts

coke-the-gal avatar Feb 02 '22 12:02 coke-the-gal

Fine,thank you

Apricityx avatar Feb 02 '22 12:02 Apricityx

TL;DR: DimensionalThreading is dangerous for it breaks vanilla cross-dimensional entity behavior. For the fix check the fork or grab a prebuilt jar.

To prevent race conditions, DimThread delays the moveToWorld function to the end of the tick. The scheduled function call from sand dupers will find the entity removed and won't execute anymore.

https://github.com/WearBlackAllDay/DimensionalThreading/blob/a60f0983cd65416e9b60ce648d78de8dcdee3215/src/main/java/wearblackallday/dimthread/mixin/EntityMixin.java#L18

The patch manually checks and forces the moveToWorld to execute by redirecting isRemoved here. However the fix is ugly and may cause problems so i won't open a PR for this.

yikerman avatar Feb 18 '22 13:02 yikerman

Get a crash with your fix:

net.minecraft.class_148: Exception ticking world
        at wearblackallday.dimthread.util.CrashInfo.crash(CrashInfo.java:12) ~[DimThread-1.2.6-sand-duper-fix.jar:?]
        at net.minecraft.server.MinecraftServer.handler$zim000$tickWorlds(MinecraftServer.java:4336) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:896) ~[server-intermediary.jar:?]
        at net.minecraft.class_3176.method_3813(class_3176.java:322) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:851) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.handler$zbe000$modifiedRunLoop(MinecraftServer.java:2896) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:676) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:273) ~[server-intermediary.jar:?]
        at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.lang.ClassCastException
[19:29:48] [Server thread/ERROR]: This crash report has been saved to: /home/container/./crash-reports/crash-2022-03-15_19.29.48-server.txt
[19:29:48] [Server thread/INFO]: Stopping server

Syntax3rror404 avatar Mar 15 '22 20:03 Syntax3rror404

Get a crash with your fix:

net.minecraft.class_148: Exception ticking world
        at wearblackallday.dimthread.util.CrashInfo.crash(CrashInfo.java:12) ~[DimThread-1.2.6-sand-duper-fix.jar:?]
        at net.minecraft.server.MinecraftServer.handler$zim000$tickWorlds(MinecraftServer.java:4336) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:896) ~[server-intermediary.jar:?]
        at net.minecraft.class_3176.method_3813(class_3176.java:322) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:851) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.handler$zbe000$modifiedRunLoop(MinecraftServer.java:2896) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:676) ~[server-intermediary.jar:?]
        at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:273) ~[server-intermediary.jar:?]
        at java.lang.Thread.run(Thread.java:833) [?:?]
Caused by: java.lang.ClassCastException
[19:29:48] [Server thread/ERROR]: This crash report has been saved to: /home/container/./crash-reports/crash-2022-03-15_19.29.48-server.txt
[19:29:48] [Server thread/INFO]: Stopping server

@Syntax3rror404 No idea why this crashed. It works on both my local test environment and @Apricityx ‘s server.

NOTE 'works' means not to crash.

What’s the version of your Minecraft & Fabric?

yikerman avatar Mar 16 '22 02:03 yikerman

It runs on mc 1.18.2 with latest fabric and fabric api only with the mods carpet, litihum, phosphor and voicechat. It have 4 GB RAM and 12 CPU Cores. Without the dimthread mod it runs fine but with players in end, nether, overworld the mspt gets near 40 with your mod we have 17

Syntax3rror404 avatar Mar 16 '22 09:03 Syntax3rror404

@Syntax3rror404 I have bumped dependency versions here: https://github.com/MCTown/DimensionalThreading/releases/download/v1.2.6-sand-duper-fix/DimThread-1.2.6-1.18.2-sand-duper-fix.jar. I don’t know if it will work.

Note that the fix still have some known bugs about dragon eggs. Don’t rely on it.

BTW you have way too much CPUs and too little RAM.

PS. Your issue seems to be the same one as #58.

yikerman avatar Mar 16 '22 10:03 yikerman

@xiaoyu2006 While your fix does solve part of the problem, it still isn't exactly vanilla behavior, below I've attached 2 videos The first one showing the dupe running in vanilla, and the other running w/ your fix.

Without:

https://user-images.githubusercontent.com/39219859/163069390-adddf12a-b5f4-463c-9e12-b03875e093b9.mp4

With:

https://user-images.githubusercontent.com/39219859/163069416-d4ab4ea6-c720-40dd-8494-e06b1c6c59f9.mp4

LarveyOfficial avatar Apr 12 '22 23:04 LarveyOfficial

@xiaoyu2006 While your fix does solve part of the problem, it still isn't exactly vanilla behavior, below I've attached 2 videos The first one showing the dupe running in vanilla, and the other running w/ your fix.

Without:

javaw_6fVArPvEWj.mp4

With:

javaw_rpVMedUPLe.mp4

@LarveyOfficial Please provide an game archive for further debugging.

yikerman avatar Apr 12 '22 23:04 yikerman

@xiaoyu2006 While your fix does solve part of the problem, it still isn't exactly vanilla behavior, below I've attached 2 videos The first one showing the dupe running in vanilla, and the other running w/ your fix. Without: javaw_6fVArPvEWj.mp4 With: javaw_rpVMedUPLe.mp4

@LarveyOfficial Please provide an game archive for further debugging.

@xiaoyu2006 Here is a google drive with the server I was using to test. https://drive.google.com/file/d/1AUqoEQqRB9fuRttlGEgcoKIO8ZxqrSty/view?usp=sharing Strong hold at /execute in minecraft:overworld run tp @s 1544.13 -25.76 -595.81 75.59 13.66

LarveyOfficial avatar Apr 12 '22 23:04 LarveyOfficial

@LarveyOfficial Sure. I’ll take a look when I have time.

yikerman avatar Apr 12 '22 23:04 yikerman

@xiaoyu2006 Any updates?

LarveyOfficial avatar Apr 14 '22 21:04 LarveyOfficial

@LarveyOfficial There’s a more elegant hack in commit https://github.com/MCTown/DimensionalThreading/commit/a912fcf0c96ef37b2ec07ce78996d8571a62c6ab, however it will create a lot of spam messages in server console. (I have no more time to debug it. My time is very limited.)

Download the fix here. I will release it when I have more time to fix the spammed console.


UPDATE: There’re still severe bugs. Don’t use it yet.

yikerman avatar Apr 20 '22 23:04 yikerman

Released at https://github.com/MCTown/DimensionalThreading/releases/tag/v1.2.6-sand-duper-fix.2.

It will cause a weird client-side animation glitch… And still has problems with some concrete solidificaters for unknown reasons.

yikerman avatar Apr 23 '22 14:04 yikerman

any updates to this

micrwvae avatar Jul 29 '22 16:07 micrwvae

Not that I've heard of no

LarveyOfficial avatar Jul 29 '22 16:07 LarveyOfficial