Ender IO Forestry

Ender IO Forestry

954k Downloads

Travel upgrade can lead to falling into void at certain altitudes

707Alex707 opened this issue ยท 5 comments

commented

Issue Description:

Using the travel upgrade on ender IO tools (ex Dark Pick, The Ender) at altitudes 2048-4096, 6144-8192.... can lead to traveling below bedrock when attempting to travel to different altitudes using travel upgrade.

Steps to reproduce:

  1. Travel to y value in the range 2048-4096, 6144-8192.....
  2. Use "The Ender" with the travel upgrade to teleport to a different altitude (may work with other tools with travel upgrade)
  3. Should result with player ending up below bedrock

Environment

  • EnderIO: 5.0.46
  • EnderCore: 1.12.2-0.5.59
  • Minecraft: 1.12.2
  • Forge: 14.23.5.2836
  • Single Player and/or Server? Both

####Comments
Likely occurs due to a integer overflow.

commented

How are you at y2000? Are you using cubic chunks?

Also you are several months out of date.

commented

Just tested with EnderIO-5.1.51 and it still occurs. Also tested with only EnderIO, Thermal Expansion and its dependencies installed.

For the purposes of testing I am getting there via the tp command. Without cheating you can always use the teleportation on the dark tools to get upto 2048, you could get higher if this issue didn't occur. I know It's a niche problem, but its there.

commented
  • there is a config option to allow it to go past bedrock
commented

I am not attempting to directly teleport through bedrock though, I am using blink (I think its called that in configs) going from say y 2100 directly to -2000.

@tyler489 attempt to use teleport feature on the tools at say y 2500 and you'll see what I mean

commented

That's a limitation of the base game. The y-coordinate gets encoded in 12 bits when used as a block coordinate. That's -2048 to +2047.

Note that teleporting uses block coordinates (not entity coordinates), because the base game's teleportation APIs work that way. Entity coordinates could be used on top of that to get finer positioning, but wouldn't solve the underlying 'grid'.