BetterPortals

BetterPortals

1M Downloads

Only able to use portals once per session due to/with Cubic Chunks

Hyxaru opened this issue ยท 10 comments

commented

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.

commented

Is this the debug.log?
DEBUG_1564660738890.txt

commented

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.

commented

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

commented

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

commented

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.

commented

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.

commented

This is the debug log of a session where I created a fresh cubic world and made a nether portal, went through, and tried but failed to return to the overworld again.
debug.log

And this should be non-cubic.
debug.log

commented

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.

commented

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.

commented

@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).