If you place a pipe low enough and it doesn't find a suitable cave to teleport you to, it can end up below bedrock, at least in Mineclonia (with the singlenode mapgen).
Please add a chueck to prevent it from spawning or being placed on mcl_core:bedrock, and other bedrock types (e.g. from minetest_game).
Thank you for reporting this bug.
I fixed it in a different manner. It still goes through bedrock.
However on Mineclonia maps below bedrock generate mcl_core:void (an airlike material) which is not buildable_to.
There was a bug. Unloaded blocks have this placeholder "ignore" which is buildable_to which caused mcl_core:void to be treated like air and the second pipe to randomly spawn somewhere below bedrock. I fixed it by explicitly ignoring nodes with the name "ignore". It should no longer place any pipes below bedrock unless you've purposefully destroyed mcl_core:void blocks with something like WorldEdit. At least it didn't in my testing.
Are you sure that void is generated all the way through up to the bedrock layer?
For me, pipes still generate there and teleport me below bedrock. This might be caused by the custom singlenode mapgen implemented in lua, so please test that too.
It could also be caused by me generating the bedrock layer (and/or perhaps below it?) by manually emerging a ton of map blocks. I think simply blacklisting bedrock explicitly should do the trick regardless of mapgen or messed up map blocks.
By the way, how do I deal with ungenerated or unloaded map blocks and the cannon?
If you shoot yourself far enough, you eventually outrun the map block loader and bump into an invisible wall that lets you slide off to the side. Do you think it's possible to hijack the block loader and basically reuse the trajectory predictor function to pre-load any blocks you'll fly through, + 4 nodes or so in all directions to account for jagged map block edges if you happen to fly right along the corner of a map block? My idea would be to ensure that those blocks you are predicted to fly through are enforced to be generated and loaded before the cannon even fires (or at least before you enter them, which would make flight look a little janky for the first time per route, but probably work).
Alternatively, do you think it's possible to hack around unloaded block bounds preventing you from entering them? I don't know how that would affect custom player physics in mineclonia specifically.
I generated a fresh map with the generator "flat" in the newest version of Mineclonia and enabled the newest version of Traverse. There was void blocks underneath and the pipes did not go through bedrock. If you use a custom map generator then improve it. If you can build there, you can pipe there. If you don't want people to build there, prevent them from doing so. Or you might as well just generate all the way down since it's not Minecraft. People could pick varying node names for their favorite bedrock, so I'm not going to compose a list of bedrock variant node names from different games and mods and bedrock specific behavior. I hope you understand.
And what difference does it make in the first place if there is bedrock or air nodes generating underneath the map if you don't want people to go there?
If someone else made it, file a bug report to him.
If you shoot yourself far enough
Yes, I know. The mod is not designed to be safe at all. Are you trying to make it multiplayer safe?
My idea would be to ensure that those blocks you are predicted to fly
It would probably be easiest to just enforce a speed limit. Cap takeoff speed, cap fall speed
If you place a pipe low enough and it doesn't find a suitable cave to teleport you to, it can end up below bedrock, at least in Mineclonia (with the singlenode mapgen).
Please add a chueck to prevent it from spawning or being placed on mcl_core:bedrock, and other bedrock types (e.g. from minetest_game).
Thank you for reporting this bug. I fixed it in a different manner. It still goes through bedrock. However on Mineclonia maps below bedrock generate mcl_core:void (an airlike material) which is not buildable_to. There was a bug. Unloaded blocks have this placeholder "ignore" which is buildable_to which caused mcl_core:void to be treated like air and the second pipe to randomly spawn somewhere below bedrock. I fixed it by explicitly ignoring nodes with the name "ignore". It should no longer place any pipes below bedrock unless you've purposefully destroyed mcl_core:void blocks with something like WorldEdit. At least it didn't in my testing.
Thanks!
Are you sure that void is generated all the way through up to the bedrock layer?
For me, pipes still generate there and teleport me below bedrock. This might be caused by the custom singlenode mapgen implemented in lua, so please test that too. It could also be caused by me generating the bedrock layer (and/or perhaps below it?) by manually emerging a ton of map blocks. I think simply blacklisting bedrock explicitly should do the trick regardless of mapgen or messed up map blocks.
By the way, how do I deal with ungenerated or unloaded map blocks and the cannon?
If you shoot yourself far enough, you eventually outrun the map block loader and bump into an invisible wall that lets you slide off to the side. Do you think it's possible to hijack the block loader and basically reuse the trajectory predictor function to pre-load any blocks you'll fly through, + 4 nodes or so in all directions to account for jagged map block edges if you happen to fly right along the corner of a map block? My idea would be to ensure that those blocks you are predicted to fly through are enforced to be generated and loaded before the cannon even fires (or at least before you enter them, which would make flight look a little janky for the first time per route, but probably work).
Alternatively, do you think it's possible to hack around unloaded block bounds preventing you from entering them? I don't know how that would affect custom player physics in mineclonia specifically.
I generated a fresh map with the generator "flat" in the newest version of Mineclonia and enabled the newest version of Traverse. There was void blocks underneath and the pipes did not go through bedrock. If you use a custom map generator then improve it. If you can build there, you can pipe there. If you don't want people to build there, prevent them from doing so. Or you might as well just generate all the way down since it's not Minecraft. People could pick varying node names for their favorite bedrock, so I'm not going to compose a list of bedrock variant node names from different games and mods and bedrock specific behavior. I hope you understand.
And what difference does it make in the first place if there is bedrock or air nodes generating underneath the map if you don't want people to go there?
If someone else made it, file a bug report to him.
Yes, I know. The mod is not designed to be safe at all. Are you trying to make it multiplayer safe?
It would probably be easiest to just enforce a speed limit. Cap takeoff speed, cap fall speed