mirror of
https://github.com/songoda/FabledSkyBlock.git
synced 2024-09-15 16:39:59 +02:00
Fix fast block placing not existing on older versions
This commit is contained in:
parent
1c0af0765e
commit
164c7ae911
@ -527,10 +527,11 @@ public final class BlockUtil {
|
||||
return nearbyBlocks;
|
||||
}
|
||||
|
||||
private static Class<?> IBlockDataClass = NMSUtil.getNMSClass("IBlockData");
|
||||
private static Class<?> blocksClass = NMSUtil.getNMSClass("Blocks");
|
||||
|
||||
private static void setBlockFast(World world, int x, int y, int z, Material material, byte data) {
|
||||
try {
|
||||
Class<?> IBlockDataClass = NMSUtil.getNMSClass("IBlockData");
|
||||
|
||||
Object worldHandle = world.getClass().getMethod("getHandle").invoke(world);
|
||||
Object chunk = worldHandle.getClass().getMethod("getChunkAt", int.class, int.class).invoke(worldHandle,
|
||||
x >> 4, z >> 4);
|
||||
@ -538,7 +539,7 @@ public final class BlockUtil {
|
||||
.newInstance(x & 0xF, y, z & 0xF);
|
||||
|
||||
if (NMSUtil.getVersionNumber() > 12) {
|
||||
Object block = NMSUtil.getNMSClass("Blocks").getField(material.name()).get(null);
|
||||
Object block = blocksClass.getField(material.name()).get(null);
|
||||
Object IBlockData = block.getClass().getMethod("getBlockData").invoke(block);
|
||||
worldHandle.getClass().getMethod("setTypeAndData", blockPosition.getClass(), IBlockDataClass, int.class)
|
||||
.invoke(worldHandle, blockPosition, IBlockData, 2);
|
||||
@ -559,7 +560,9 @@ public final class BlockUtil {
|
||||
IBlockData);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
Block block = world.getBlockAt(x, y, z);
|
||||
block.getState().setRawData(data);
|
||||
block.setType(material);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user