[MC-6141] Enderman NBT Data sign bit error Created: 05/Jan/13 Updated: 09/May/17 Resolved: 21/Jan/14 |
|
| Status: | Resolved |
| Project: | Minecraft: Java Edition |
| Component/s: | None |
| Affects Version/s: | Minecraft 1.4.6, Minecraft 1.4.7, Minecraft 1.5, Minecraft 1.6.1, Minecraft 1.6.2 |
| Fix Version/s: | None |
| Type: | Bug | ||
| Reporter: | Gonçalo Baltazar | Assignee: | Unassigned |
| Resolution: | Incomplete | Votes: | 4 |
| Labels: | NBT, enderman | ||
| Environment: |
Not relevant |
||
| Attachments: |
|
| Confirmation Status: | Unconfirmed |
| Description |
|
The issue is that enderman cannot carry blocks with id larger then 127, the block will not render and the game will crash when they try to swap the block again. They WILL carry any block with id under 127. All tests where done using the emerald block (id 133). It first happened when I was creating a bukkit plugin that edited the carried and carriedData NBT tags for the enderman, I was able to spawn them but, as said before, the block did not render and the server crashed when one of these enderman tried to pick another block. Then I edited some more enderman (with emerald block) and closed the server before they picked any other block, then after loading the map on single player and waiting a few seconds, one of the enderman picked a block and the game crashed. It seems that as the block id is internally saved as byte it is not properly converted to int when using it as a index of the "material array"..... The same may occur for carriedData (not tested) Crash reports below! |
| Comments |
| Comment by Galaxy_2Alex [ 21/Jan/14 ] |
|
This ticket is incomplete without the requested information, no response has been received within a reasonable time and we are assuming the issue has been resolved. If you are still experiencing this issue, we can reopen it at your request. |
| Comment by Talven81 [ 26/Nov/13 ] |
|
Is this still a concern in the current Minecraft version 1.7.2 / Launcher version 1.3.4 ? If so, please update the affected versions in order to best aid Mojang ensuring bugs are still valid in the latest releases/pre-releases. |
| Comment by Tails [ 28/Jul/13 ] |
|
Description: Ticking entity java.lang.ArrayIndexOutOfBoundsException: -123 at adr.a(SourceFile:47) at adq.a(SourceFile:365) at abv.f(SourceFile:306) at tf.c(SourceFile:158) at oe.l_(SourceFile:1176) at of.l_(SourceFile:169) at tl.l_(SourceFile:29) at abv.a(SourceFile:1349) at jr.a(SourceFile:479) at abv.g(SourceFile:1327) at abv.h(SourceFile:1234) at jr.h(SourceFile:364) at net.minecraft.server.MinecraftServer.t(SourceFile:470) at net.minecraft.server.MinecraftServer.s(SourceFile:405) at bkw.s(SourceFile:124) at net.minecraft.server.MinecraftServer.run(SourceFile:339) at hh.run(SourceFile:582) |
| Comment by Gonçalo Baltazar [ 28/Jul/13 ] |
|
Still happens in 1.6.2, just updated using a new crash report! |
| Comment by Pedro M. Zamboni [ 07/Jul/13 ] |
|
what about 1.6? |
| Comment by D4rKDeagle [ 07/Jul/13 ] |
|
Confirmed on release 1.5.2. |
| Comment by Gonçalo Baltazar [ 18/Mar/13 ] |
|
I just tested it and, yes, it's still present on 1.5, just updated the affected versions... |
| Comment by Alex Campbell [ 22/Feb/13 ] |
|
It might affect adventure maps. |
| Comment by Gonçalo Baltazar [ 05/Jan/13 ] |
|
@Xavier Brown, You are right they by default all blocks carried by enderman are with id under 127. But i still think that they are not working right. If they would have programmed enderman to pick up emerald blocks by default it would have crashed the game. This does not affect the normal user but is an inconsistency in the code. |
| Comment by FireHunterX [ 05/Jan/13 ] |
|
Enderman aren't supposed to carry those blocks. See the wiki for the blocks that they are supposed to carry. Your making them do something unintended. |