mirror of
https://github.com/plexusorg/Plex-FAWE.git
synced 2024-12-23 09:47:38 +00:00
Rectified that hopper fix being very incomplete (and unit test breaking!).
This commit is contained in:
parent
e207ccebe8
commit
06c248e518
@ -345,7 +345,7 @@ public final class BlockData {
|
|||||||
/* FALL-THROUGH */
|
/* FALL-THROUGH */
|
||||||
|
|
||||||
case BlockID.COCOA_PLANT:
|
case BlockID.COCOA_PLANT:
|
||||||
case BlockID.TRIPWIRE_HOOK:
|
case BlockID.TRIPWIRE_HOOK: {
|
||||||
int extra = data & ~0x3;
|
int extra = data & ~0x3;
|
||||||
int withoutFlags = data & 0x3;
|
int withoutFlags = data & 0x3;
|
||||||
switch (withoutFlags) {
|
switch (withoutFlags) {
|
||||||
@ -355,7 +355,7 @@ public final class BlockData {
|
|||||||
case 0: return 3 | extra;
|
case 0: return 3 | extra;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case BlockID.SIGN_POST:
|
case BlockID.SIGN_POST:
|
||||||
return (data + 12) % 16;
|
return (data + 12) % 16;
|
||||||
|
|
||||||
@ -366,15 +366,17 @@ public final class BlockData {
|
|||||||
case BlockID.BURNING_FURNACE:
|
case BlockID.BURNING_FURNACE:
|
||||||
case BlockID.ENDER_CHEST:
|
case BlockID.ENDER_CHEST:
|
||||||
case BlockID.TRAPPED_CHEST:
|
case BlockID.TRAPPED_CHEST:
|
||||||
case BlockID.HOPPER:
|
case BlockID.HOPPER: {
|
||||||
switch (data) {
|
int extra = data & 0x8;
|
||||||
case 5: return 2;
|
int withoutFlags = data & ~0x8;
|
||||||
case 4: return 3;
|
switch (withoutFlags) {
|
||||||
case 2: return 4;
|
case 5: return 2 | extra;
|
||||||
case 3: return 5;
|
case 4: return 3 | extra;
|
||||||
|
case 2: return 4 | extra;
|
||||||
|
case 3: return 5 | extra;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
case BlockID.DISPENSER:
|
case BlockID.DISPENSER:
|
||||||
case BlockID.DROPPER:
|
case BlockID.DROPPER:
|
||||||
int dispPower = data & 0x8;
|
int dispPower = data & 0x8;
|
||||||
@ -617,13 +619,15 @@ public final class BlockData {
|
|||||||
case BlockID.ENDER_CHEST:
|
case BlockID.ENDER_CHEST:
|
||||||
case BlockID.TRAPPED_CHEST:
|
case BlockID.TRAPPED_CHEST:
|
||||||
case BlockID.HOPPER:
|
case BlockID.HOPPER:
|
||||||
switch (data) {
|
int extra = data & 0x8;
|
||||||
|
int withoutFlags = data & ~0x8;
|
||||||
|
switch (withoutFlags) {
|
||||||
case 2:
|
case 2:
|
||||||
case 3:
|
case 3:
|
||||||
return data ^ flipZ;
|
return (data ^ flipZ) | extra;
|
||||||
case 4:
|
case 4:
|
||||||
case 5:
|
case 5:
|
||||||
return data ^ flipX;
|
return (data ^ flipX) | extra;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -912,8 +916,10 @@ public final class BlockData {
|
|||||||
case BlockID.ENDER_CHEST:
|
case BlockID.ENDER_CHEST:
|
||||||
case BlockID.TRAPPED_CHEST:
|
case BlockID.TRAPPED_CHEST:
|
||||||
case BlockID.HOPPER:
|
case BlockID.HOPPER:
|
||||||
if (data < 2 || data > 5) return -1;
|
int extra = data & 0x8;
|
||||||
return mod((data - 2 + increment), 4) + 2;
|
int withoutFlags = data & ~0x8;
|
||||||
|
if (withoutFlags < 2 || withoutFlags > 5) return -1;
|
||||||
|
return (mod((withoutFlags - 2 + increment), 4) + 2) | extra;
|
||||||
|
|
||||||
case BlockID.DISPENSER:
|
case BlockID.DISPENSER:
|
||||||
case BlockID.DROPPER:
|
case BlockID.DROPPER:
|
||||||
|
Loading…
Reference in New Issue
Block a user