mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-22 21:26:45 +01:00
fix for skull type
This commit is contained in:
parent
af76347a46
commit
7afe2c0799
@ -11,6 +11,7 @@ import org.bukkit.Chunk;
|
|||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.Note;
|
import org.bukkit.Note;
|
||||||
|
import org.bukkit.SkullType;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
import org.bukkit.block.Beacon;
|
import org.bukkit.block.Beacon;
|
||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
@ -341,7 +342,10 @@ public class ChunkManager {
|
|||||||
((Skull) (state)).setOwner((String) data[0]);
|
((Skull) (state)).setOwner((String) data[0]);
|
||||||
}
|
}
|
||||||
if (((Integer) data[1]) != 0) {
|
if (((Integer) data[1]) != 0) {
|
||||||
((Skull) (state)).setRotation(getRotation((Integer) data[1]));
|
((Skull) (state)).setRotation(BlockFace.values()[(int) data[1]]);
|
||||||
|
}
|
||||||
|
if (((Integer) data[2]) != 0) {
|
||||||
|
((Skull) (state)).setSkullType(SkullType.values()[(int) data[2]]);
|
||||||
}
|
}
|
||||||
state.update(true);
|
state.update(true);
|
||||||
}
|
}
|
||||||
@ -528,8 +532,10 @@ public class ChunkManager {
|
|||||||
bl = new BlockLoc(x, y, z);
|
bl = new BlockLoc(x, y, z);
|
||||||
Skull skull = (Skull) block.getState();
|
Skull skull = (Skull) block.getState();
|
||||||
String o = skull.getOwner();
|
String o = skull.getOwner();
|
||||||
short rot = (short) skull.getRotation().ordinal();
|
byte skulltype = getOrdinal(SkullType.values(),skull.getSkullType());
|
||||||
skullData.put(bl, new Object[] {o, rot});
|
BlockFace te = skull.getRotation();
|
||||||
|
short rot = (short) getOrdinal(BlockFace.values(), skull.getRotation());
|
||||||
|
skullData.put(bl, new Object[] {o, rot, skulltype});
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -539,59 +545,12 @@ public class ChunkManager {
|
|||||||
GENERATE_DATA.put(loc, datas);
|
GENERATE_DATA.put(loc, datas);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static BlockFace getRotation(int ordinal) {
|
private static byte getOrdinal(Object[] list, Object value) {
|
||||||
switch (ordinal) {
|
for (byte i = 0; i < list.length; i++) {
|
||||||
case 0: {
|
if (list[i].equals(value)) {
|
||||||
return BlockFace.NORTH;
|
return i;
|
||||||
}
|
|
||||||
case 1: {
|
|
||||||
return BlockFace.NORTH_NORTH_EAST;
|
|
||||||
}
|
|
||||||
case 2: {
|
|
||||||
return BlockFace.NORTH_EAST;
|
|
||||||
}
|
|
||||||
case 3: {
|
|
||||||
return BlockFace.EAST_NORTH_EAST;
|
|
||||||
}
|
|
||||||
case 4: {
|
|
||||||
return BlockFace.EAST;
|
|
||||||
}
|
|
||||||
case 5: {
|
|
||||||
return BlockFace.EAST_SOUTH_EAST;
|
|
||||||
}
|
|
||||||
case 6: {
|
|
||||||
return BlockFace.SOUTH_EAST;
|
|
||||||
}
|
|
||||||
case 7: {
|
|
||||||
return BlockFace.SOUTH_SOUTH_EAST;
|
|
||||||
}
|
|
||||||
case 8: {
|
|
||||||
return BlockFace.SOUTH;
|
|
||||||
}
|
|
||||||
case 9: {
|
|
||||||
return BlockFace.SOUTH_SOUTH_WEST;
|
|
||||||
}
|
|
||||||
case 10: {
|
|
||||||
return BlockFace.SOUTH_WEST;
|
|
||||||
}
|
|
||||||
case 11: {
|
|
||||||
return BlockFace.WEST_SOUTH_WEST;
|
|
||||||
}
|
|
||||||
case 12: {
|
|
||||||
return BlockFace.WEST;
|
|
||||||
}
|
|
||||||
case 13: {
|
|
||||||
return BlockFace.WEST_NORTH_WEST;
|
|
||||||
}
|
|
||||||
case 14: {
|
|
||||||
return BlockFace.NORTH_WEST;
|
|
||||||
}
|
|
||||||
case 15: {
|
|
||||||
return BlockFace.NORTH_NORTH_WEST;
|
|
||||||
}
|
|
||||||
default: {
|
|
||||||
return BlockFace.NORTH;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user