update items

This commit is contained in:
Jesse Boyd
2019-07-10 20:58:27 +10:00
parent 2e9c5e6804
commit 50e649acb8
9 changed files with 122 additions and 77 deletions

View File

@ -184,14 +184,14 @@ public class BukkitChunk_1_14 extends IntFaweChunk<Chunk, BukkitQueue_1_14> {
ChunkSection newSection = new ChunkSection(current.getYPosition());
// Copy counters
Object nonEmptyBlockCount = BukkitQueue_1_14.fieldNonEmptyBlockCount.get(current);
BukkitQueue_1_14.fieldNonEmptyBlockCount.set(newSection, nonEmptyBlockCount);
short nonEmptyBlockCount = BukkitQueue_1_14.fieldNonEmptyBlockCount.getShort(current);
BukkitQueue_1_14.fieldNonEmptyBlockCount.setShort(newSection, nonEmptyBlockCount);
Object tickingBlockCount = BukkitQueue_1_14.fieldTickingBlockCount.get(current);
BukkitQueue_1_14.fieldTickingBlockCount.set(newSection, tickingBlockCount);
short tickingBlockCount = BukkitQueue_1_14.fieldTickingBlockCount.getShort(current);
BukkitQueue_1_14.fieldTickingBlockCount.setShort(newSection, tickingBlockCount);
Object liquidCount = BukkitQueue_1_14.fieldLiquidCount.get(current);
BukkitQueue_1_14.fieldLiquidCount.set(newSection, liquidCount);
short liquidCount = BukkitQueue_1_14.fieldFluidCount.getShort(current);
BukkitQueue_1_14.fieldFluidCount.setShort(newSection, liquidCount);
// Copy blocks
DataPaletteBlock<IBlockData> blocks = current.getBlocks();

View File

@ -92,10 +92,6 @@ public class BukkitQueue_1_14 extends BukkitQueue_0<net.minecraft.server.v1_14_R
protected final static Field fieldTickingBlockCount;
protected final static Field fieldNonEmptyBlockCount;
protected final static Field fieldSection;
protected final static Field fieldLiquidCount;
protected final static Field fieldEmittedLight;
protected final static Field fieldSkyLight;
// protected final static Field fieldBiomes;
@ -118,13 +114,7 @@ public class BukkitQueue_1_14 extends BukkitQueue_0<net.minecraft.server.v1_14_R
try {
emptySection = new ChunkSection(0);
fieldSection = ChunkSection.class.getDeclaredField("blockIds");
fieldLiquidCount = ChunkSection.class.getDeclaredField("e");
fieldEmittedLight = ChunkSection.class.getDeclaredField("emittedLight");
fieldSkyLight = ChunkSection.class.getDeclaredField("skyLight");
fieldSection.setAccessible(true);
fieldLiquidCount.setAccessible(true);
fieldEmittedLight.setAccessible(true);
fieldSkyLight.setAccessible(true);
fieldFluidCount = ChunkSection.class.getDeclaredField("e");
fieldTickingBlockCount = ChunkSection.class.getDeclaredField("tickingBlockCount");
@ -192,7 +182,7 @@ public class BukkitQueue_1_14 extends BukkitQueue_0<net.minecraft.server.v1_14_R
// methodResize.setAccessible(true);
fieldDirtyCount = PlayerChunk.class.getDeclaredField("dirtyCount");
fieldDirtyBits = PlayerChunk.class.getDeclaredField("h");
fieldDirtyBits = PlayerChunk.class.getDeclaredField("r");
fieldDirtyCount.setAccessible(true);
fieldDirtyBits.setAccessible(true);
@ -793,13 +783,13 @@ public class BukkitQueue_1_14 extends BukkitQueue_0<net.minecraft.server.v1_14_R
}
public static void setCount(int tickingBlockCount, int nonEmptyBlockCount, ChunkSection section) throws NoSuchFieldException, IllegalAccessException {
fieldFluidCount.set(section, 0); // TODO FIXME
fieldTickingBlockCount.set(section, tickingBlockCount);
fieldNonEmptyBlockCount.set(section, nonEmptyBlockCount);
fieldFluidCount.setShort(section, (short) 0); // TODO FIXME
fieldTickingBlockCount.setShort(section, (short) tickingBlockCount);
fieldNonEmptyBlockCount.setShort(section, (short) nonEmptyBlockCount);
}
public int getNonEmptyBlockCount(ChunkSection section) throws IllegalAccessException {
return (int) fieldNonEmptyBlockCount.get(section);
return fieldNonEmptyBlockCount.getShort(section);
}
public void setPalette(ChunkSection section, DataPaletteBlock palette) throws NoSuchFieldException, IllegalAccessException {

View File

@ -198,13 +198,13 @@ public class WorldEditPlugin extends JavaPlugin { //implements TabCompleter
// platforms to be worried about... at the current time of writing
WorldEdit.getInstance().getEventBus().post(new PlatformReadyEvent());
// Register 1.13 Material ids with LegacyMapper
LegacyMapper legacyMapper = LegacyMapper.getInstance();
for (Material m : Material.values()) {
if (!m.isLegacy() && m.isBlock()) {
legacyMapper.register(m.getId(), 0, BukkitAdapter.adapt(m).getDefaultState());
}
}
// // Register 1.13 Material ids with LegacyMapper
// LegacyMapper legacyMapper = LegacyMapper.getInstance();
// for (Material m : Material.values()) {
// if (!m.isLegacy() && m.isBlock()) {
// legacyMapper.register(m.getId(), 0, BukkitAdapter.adapt(m).getDefaultState());
// }
// }
}
public void setupRegistries() {