Only able to use portals once per session due to/with Cubic Chunks
Hyxaru opened this issue ยท 10 comments
When using cubic chunks, and only when on worlds that are cubic, I can only use a portal once. Afterwards, I am unable to phase through to the other dimension. Restarting my world allows me to cross once again, for one time.
Only using Forgelin, Better Portals and Cubic Chunks, Cubic Worldgen, Malisiscore.
Is this the debug.log?
DEBUG_1564660738890.txt
Where did you get that file O.o
It was output of one of my special debug builds to test for some bug. debug.log
is in logs
folder.
Considering that noone else seems to he running into this issue, it's probably some other mod causing it. You should probably upload debug.log file
I can't find a debug.log file inside the logs folder. It is literaly named debug.log right? Or just the date, say 2019-09-24.log?
This one perhaps?
2019-09-24-1.log.gz
It should be named debug.log
. Unless you are using twitch launcher, which somehow manages to break forge logging for some people (and I've seen reports of that in some versions of new Mojang launcher, but I think it has been fixed).
There is no way to be sure that the log you have actually shows the issue. It should be fresh debug.log file from the game run where you got your issue.
Also apparently other people seem to confirm it. It might be something I changed recently, but I really don't know what it is as the code still runs and shows no extra mixin warnings.
Can confirm with BP 0.3.5 and CC 1003 (latest) or 970 (version which BP builds against).
I usually test in a vanilla world, so I probably broke this at some point without noticing. Looking into it.
Edit: Determined via git-bisect to be caused by 87f0b54.
Is there some cubic chunks specific behavior that requires the isSwapInProgress check to be added in various places? It seems weird that the vanilla version of the same code doesn't seem to do that. The CC code for it is intended to closely replicate vanilla behavior.
@Barteks2x
BP actually handles vanilla and CC quite differently (primarily because the vanilla way was difficult to implement with CC because some of its classes are default-access rather than public).
For CC, BP simply removes and re-adds the player by calling the normal methods with that swapInProgress flag set (code) and then uses mixin to skip packet sending and as of above commit also not resetting the tracked cubes.
For vanilla on the other hand, BP more or less re-implements the relevant stuff from the remove and add methods (code) and just leaves out the packet sending. The mixin into the vanilla code is then never used for swapping, only for regular removing.
Now, with hindsight (and knowledge of how things will probably need to be changed for 1.14.4), I'll probably change the vanilla handling to be more like CC handling (probably with BP 0.4).