3
0
Mirror von https://github.com/IntellectualSites/FastAsyncWorldEdit.git synchronisiert 2024-11-19 17:30:08 +01:00

Merge remote-tracking branch 'origin/main' into feat/spongeSchemV3

# Conflicts:
#	worldedit-core/src/main/java/com/sk89q/worldedit/extent/clipboard/io/sponge/SpongeSchematicV2Writer.java
Dieser Commit ist enthalten in:
Pierre Maurice Schwang 2024-06-12 18:43:40 +02:00
Commit 500812efe1
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 37E613079F3E5BB9
94 geänderte Dateien mit 306 neuen und 285 gelöschten Zeilen

Datei anzeigen

@ -14,7 +14,7 @@ mapmanager = "1.8.0-SNAPSHOT"
griefprevention = "17.0.0" griefprevention = "17.0.0"
griefdefender = "2.1.0-SNAPSHOT" griefdefender = "2.1.0-SNAPSHOT"
residence = "4.5._13.1" residence = "4.5._13.1"
towny = "0.100.2.12" towny = "0.100.2.14"
plotsquared = "7.3.8" plotsquared = "7.3.8"
# Third party # Third party

Datei anzeigen

@ -283,11 +283,11 @@ public final class PaperweightAdapter implements BukkitImplAdapter<net.minecraft
private static Block getBlockFromType(BlockType blockType) { private static Block getBlockFromType(BlockType blockType) {
return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.BLOCK).get(ResourceLocation.tryParse(blockType.getId())); return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.BLOCK).get(ResourceLocation.tryParse(blockType.id()));
} }
private static Item getItemFromType(ItemType itemType) { private static Item getItemFromType(ItemType itemType) {
return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(itemType.getId())); return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(itemType.id()));
} }
@Override @Override
@ -440,7 +440,7 @@ public final class PaperweightAdapter implements BukkitImplAdapter<net.minecraft
CraftWorld craftWorld = ((CraftWorld) location.getWorld()); CraftWorld craftWorld = ((CraftWorld) location.getWorld());
ServerLevel worldServer = craftWorld.getHandle(); ServerLevel worldServer = craftWorld.getHandle();
Entity createdEntity = createEntityFromId(state.getType().getId(), craftWorld.getHandle()); Entity createdEntity = createEntityFromId(state.getType().id(), craftWorld.getHandle());
if (createdEntity != null) { if (createdEntity != null) {
CompoundBinaryTag nativeTag = state.getNbt(); CompoundBinaryTag nativeTag = state.getNbt();
@ -547,7 +547,7 @@ public final class PaperweightAdapter implements BukkitImplAdapter<net.minecraft
@Override @Override
public org.bukkit.inventory.ItemStack adapt(BaseItemStack item) { public org.bukkit.inventory.ItemStack adapt(BaseItemStack item) {
ItemStack stack = new ItemStack( ItemStack stack = new ItemStack(
DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(item.getType().getId())), DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(item.getType().id())),
item.getAmount() item.getAmount()
); );
stack.setTag(((net.minecraft.nbt.CompoundTag) fromNative(item.getNbtData()))); stack.setTag(((net.minecraft.nbt.CompoundTag) fromNative(item.getNbtData())));

Datei anzeigen

@ -480,7 +480,7 @@ public final class PaperweightFaweAdapter extends FaweAdapter<net.minecraft.nbt.
public org.bukkit.inventory.ItemStack adapt(BaseItemStack baseItemStack) { public org.bukkit.inventory.ItemStack adapt(BaseItemStack baseItemStack) {
ItemStack stack = new ItemStack( ItemStack stack = new ItemStack(
DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM) DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM)
.get(ResourceLocation.tryParse(baseItemStack.getType().getId())), .get(ResourceLocation.tryParse(baseItemStack.getType().id())),
baseItemStack.getAmount() baseItemStack.getAmount()
); );
stack.setTag(((net.minecraft.nbt.CompoundTag) fromNative(baseItemStack.getNbtData()))); stack.setTag(((net.minecraft.nbt.CompoundTag) fromNative(baseItemStack.getNbtData())));
@ -547,7 +547,7 @@ public final class PaperweightFaweAdapter extends FaweAdapter<net.minecraft.nbt.
.getServer() .getServer()
.registryAccess() .registryAccess()
.registryOrThrow(BIOME); .registryOrThrow(BIOME);
ResourceLocation resourceLocation = ResourceLocation.tryParse(biomeType.getId()); ResourceLocation resourceLocation = ResourceLocation.tryParse(biomeType.id());
Biome biome = registry.get(resourceLocation); Biome biome = registry.get(resourceLocation);
return registry.getId(biome); return registry.getId(biome);
} }

Datei anzeigen

@ -246,7 +246,7 @@ public class PaperweightFaweWorldNativeAccess implements WorldNativeAccess<Level
return; return;
} }
for (IntPair chunk : toSend) { for (IntPair chunk : toSend) {
PaperweightPlatformAdapter.sendChunk(getLevel().getWorld().getHandle(), chunk.x(), chunk.z(), false); PaperweightPlatformAdapter.sendChunk(chunk, getLevel().getWorld().getHandle(), chunk.x(), chunk.z());
} }
} }
}; };
@ -262,7 +262,7 @@ public class PaperweightFaweWorldNativeAccess implements WorldNativeAccess<Level
sideEffectSet != null && sideEffectSet.shouldApply(SideEffect.UPDATE) sideEffectSet != null && sideEffectSet.shouldApply(SideEffect.UPDATE)
)); ));
for (IntPair chunk : cachedChunksToSend) { for (IntPair chunk : cachedChunksToSend) {
PaperweightPlatformAdapter.sendChunk(getLevel().getWorld().getHandle(), chunk.x(), chunk.z(), false); PaperweightPlatformAdapter.sendChunk(chunk, getLevel().getWorld().getHandle(), chunk.x(), chunk.z());
} }
} }
}; };

Datei anzeigen

@ -823,7 +823,7 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
nmsChunk.setUnsaved(true); nmsChunk.setUnsaved(true);
// send to player // send to player
if (Settings.settings().LIGHTING.MODE == 0 || !Settings.settings().LIGHTING.DELAY_PACKET_SENDING) { if (Settings.settings().LIGHTING.MODE == 0 || !Settings.settings().LIGHTING.DELAY_PACKET_SENDING) {
this.send(finalMask, finalLightUpdate); this.send();
} }
if (finalizer != null) { if (finalizer != null) {
finalizer.run(); finalizer.run();
@ -919,9 +919,9 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
} }
@Override @Override
public void send(int mask, boolean lighting) { public void send() {
synchronized (sendLock) { synchronized (sendLock) {
PaperweightPlatformAdapter.sendChunk(serverLevel, chunkX, chunkZ, lighting); PaperweightPlatformAdapter.sendChunk(this, serverLevel, chunkX, chunkZ);
} }
} }

Datei anzeigen

@ -26,6 +26,7 @@ import net.minecraft.core.Holder;
import net.minecraft.core.IdMap; import net.minecraft.core.IdMap;
import net.minecraft.core.Registry; import net.minecraft.core.Registry;
import net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket; import net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.ChunkHolder; import net.minecraft.server.level.ChunkHolder;
import net.minecraft.server.level.ChunkMap; import net.minecraft.server.level.ChunkMap;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
@ -318,7 +319,7 @@ public final class PaperweightPlatformAdapter extends NMSAdapter {
} }
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
public static void sendChunk(ServerLevel nmsWorld, int chunkX, int chunkZ, boolean lighting) { public static void sendChunk(Object chunk, ServerLevel nmsWorld, int chunkX, int chunkZ) {
ChunkHolder chunkHolder = getPlayerChunk(nmsWorld, chunkX, chunkZ); ChunkHolder chunkHolder = getPlayerChunk(nmsWorld, chunkX, chunkZ);
if (chunkHolder == null) { if (chunkHolder == null) {
return; return;
@ -339,26 +340,30 @@ public final class PaperweightPlatformAdapter extends NMSAdapter {
if (levelChunk == null) { if (levelChunk == null) {
return; return;
} }
TaskManager.taskManager().task(() -> { MinecraftServer.getServer().execute(() -> {
ClientboundLevelChunkWithLightPacket packet; ClientboundLevelChunkWithLightPacket packet;
if (PaperLib.isPaper()) { if (PaperLib.isPaper()) {
packet = new ClientboundLevelChunkWithLightPacket( synchronized (chunk) {
levelChunk, packet = new ClientboundLevelChunkWithLightPacket(
nmsWorld.getChunkSource().getLightEngine(), levelChunk,
null, nmsWorld.getChunkSource().getLightEngine(),
null, null,
true, null,
false // last false is to not bother with x-ray true,
); false // last false is to not bother with x-ray
);
}
} else { } else {
// deprecated on paper - deprecation suppressed synchronized (chunk) {
packet = new ClientboundLevelChunkWithLightPacket( // deprecated on paper - deprecation suppressed
levelChunk, packet = new ClientboundLevelChunkWithLightPacket(
nmsWorld.getChunkSource().getLightEngine(), levelChunk,
null, nmsWorld.getChunkSource().getLightEngine(),
null, null,
true null,
); true
);
}
} }
nearbyPlayers(nmsWorld, coordIntPair).forEach(p -> p.connection.send(packet)); nearbyPlayers(nmsWorld, coordIntPair).forEach(p -> p.connection.send(packet));
}); });

Datei anzeigen

@ -67,7 +67,7 @@ public class PaperweightStarlightRelighter extends StarlightRelighter<ServerLeve
int x = pos.x; int x = pos.x;
int z = pos.z; int z = pos.z;
if (delay) { // we still need to send the block changes of that chunk if (delay) { // we still need to send the block changes of that chunk
PaperweightPlatformAdapter.sendChunk(serverLevel, x, z, false); PaperweightPlatformAdapter.sendChunk(pos, serverLevel, x, z);
} }
serverLevel.getChunkSource().removeTicketAtLevel(FAWE_TICKET, pos, LIGHT_LEVEL, Unit.INSTANCE); serverLevel.getChunkSource().removeTicketAtLevel(FAWE_TICKET, pos, LIGHT_LEVEL, Unit.INSTANCE);
} }

Datei anzeigen

@ -284,11 +284,11 @@ public final class PaperweightAdapter implements BukkitImplAdapter<net.minecraft
private static Block getBlockFromType(BlockType blockType) { private static Block getBlockFromType(BlockType blockType) {
return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.BLOCK).get(ResourceLocation.tryParse(blockType.getId())); return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.BLOCK).get(ResourceLocation.tryParse(blockType.id()));
} }
private static Item getItemFromType(ItemType itemType) { private static Item getItemFromType(ItemType itemType) {
return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(itemType.getId())); return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(itemType.id()));
} }
@Override @Override
@ -480,7 +480,7 @@ public final class PaperweightAdapter implements BukkitImplAdapter<net.minecraft
CraftWorld craftWorld = ((CraftWorld) location.getWorld()); CraftWorld craftWorld = ((CraftWorld) location.getWorld());
ServerLevel worldServer = craftWorld.getHandle(); ServerLevel worldServer = craftWorld.getHandle();
Entity createdEntity = createEntityFromId(state.getType().getId(), craftWorld.getHandle()); Entity createdEntity = createEntityFromId(state.getType().id(), craftWorld.getHandle());
if (createdEntity != null) { if (createdEntity != null) {
CompoundBinaryTag nativeTag = state.getNbt(); CompoundBinaryTag nativeTag = state.getNbt();
@ -598,7 +598,7 @@ public final class PaperweightAdapter implements BukkitImplAdapter<net.minecraft
@Override @Override
public org.bukkit.inventory.ItemStack adapt(BaseItemStack item) { public org.bukkit.inventory.ItemStack adapt(BaseItemStack item) {
ItemStack stack = new ItemStack( ItemStack stack = new ItemStack(
DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(item.getType().getId())), DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(item.getType().id())),
item.getAmount() item.getAmount()
); );
stack.setTag(((net.minecraft.nbt.CompoundTag) fromNative(item.getNbtData()))); stack.setTag(((net.minecraft.nbt.CompoundTag) fromNative(item.getNbtData())));

Datei anzeigen

@ -480,7 +480,7 @@ public final class PaperweightFaweAdapter extends FaweAdapter<net.minecraft.nbt.
public org.bukkit.inventory.ItemStack adapt(BaseItemStack baseItemStack) { public org.bukkit.inventory.ItemStack adapt(BaseItemStack baseItemStack) {
ItemStack stack = new ItemStack( ItemStack stack = new ItemStack(
DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM) DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM)
.get(ResourceLocation.tryParse(baseItemStack.getType().getId())), .get(ResourceLocation.tryParse(baseItemStack.getType().id())),
baseItemStack.getAmount() baseItemStack.getAmount()
); );
stack.setTag(((net.minecraft.nbt.CompoundTag) fromNative(baseItemStack.getNbtData()))); stack.setTag(((net.minecraft.nbt.CompoundTag) fromNative(baseItemStack.getNbtData())));
@ -547,7 +547,7 @@ public final class PaperweightFaweAdapter extends FaweAdapter<net.minecraft.nbt.
.getServer() .getServer()
.registryAccess() .registryAccess()
.registryOrThrow(BIOME); .registryOrThrow(BIOME);
ResourceLocation resourceLocation = ResourceLocation.tryParse(biomeType.getId()); ResourceLocation resourceLocation = ResourceLocation.tryParse(biomeType.id());
Biome biome = registry.get(resourceLocation); Biome biome = registry.get(resourceLocation);
return registry.getId(biome); return registry.getId(biome);
} }

Datei anzeigen

@ -247,7 +247,7 @@ public class PaperweightFaweWorldNativeAccess implements WorldNativeAccess<Level
return; return;
} }
for (IntPair chunk : toSend) { for (IntPair chunk : toSend) {
PaperweightPlatformAdapter.sendChunk(getLevel().getWorld().getHandle(), chunk.x(), chunk.z(), false); PaperweightPlatformAdapter.sendChunk(chunk, getLevel().getWorld().getHandle(), chunk.x(), chunk.z());
} }
} }
}; };
@ -263,7 +263,7 @@ public class PaperweightFaweWorldNativeAccess implements WorldNativeAccess<Level
sideEffectSet != null && sideEffectSet.shouldApply(SideEffect.UPDATE) sideEffectSet != null && sideEffectSet.shouldApply(SideEffect.UPDATE)
)); ));
for (IntPair chunk : cachedChunksToSend) { for (IntPair chunk : cachedChunksToSend) {
PaperweightPlatformAdapter.sendChunk(getLevel().getWorld().getHandle(), chunk.x(), chunk.z(), false); PaperweightPlatformAdapter.sendChunk(chunk, getLevel().getWorld().getHandle(), chunk.x(), chunk.z());
} }
} }
}; };

Datei anzeigen

@ -821,7 +821,7 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
nmsChunk.setUnsaved(true); nmsChunk.setUnsaved(true);
// send to player // send to player
if (Settings.settings().LIGHTING.MODE == 0 || !Settings.settings().LIGHTING.DELAY_PACKET_SENDING) { if (Settings.settings().LIGHTING.MODE == 0 || !Settings.settings().LIGHTING.DELAY_PACKET_SENDING) {
this.send(finalMask, finalLightUpdate); this.send();
} }
if (finalizer != null) { if (finalizer != null) {
finalizer.run(); finalizer.run();
@ -917,9 +917,9 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
} }
@Override @Override
public void send(int mask, boolean lighting) { public void send() {
synchronized (sendLock) { synchronized (sendLock) {
PaperweightPlatformAdapter.sendChunk(serverLevel, chunkX, chunkZ, lighting); PaperweightPlatformAdapter.sendChunk(this, serverLevel, chunkX, chunkZ);
} }
} }

Datei anzeigen

@ -26,6 +26,7 @@ import net.minecraft.core.Holder;
import net.minecraft.core.IdMap; import net.minecraft.core.IdMap;
import net.minecraft.core.Registry; import net.minecraft.core.Registry;
import net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket; import net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.ChunkHolder; import net.minecraft.server.level.ChunkHolder;
import net.minecraft.server.level.ChunkMap; import net.minecraft.server.level.ChunkMap;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
@ -342,7 +343,7 @@ public final class PaperweightPlatformAdapter extends NMSAdapter {
} }
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
public static void sendChunk(ServerLevel nmsWorld, int chunkX, int chunkZ, boolean lighting) { public static void sendChunk(Object chunk, ServerLevel nmsWorld, int chunkX, int chunkZ) {
ChunkHolder chunkHolder = getPlayerChunk(nmsWorld, chunkX, chunkZ); ChunkHolder chunkHolder = getPlayerChunk(nmsWorld, chunkX, chunkZ);
if (chunkHolder == null) { if (chunkHolder == null) {
return; return;
@ -363,24 +364,28 @@ public final class PaperweightPlatformAdapter extends NMSAdapter {
if (levelChunk == null) { if (levelChunk == null) {
return; return;
} }
TaskManager.taskManager().task(() -> { MinecraftServer.getServer().execute(() -> {
ClientboundLevelChunkWithLightPacket packet; ClientboundLevelChunkWithLightPacket packet;
if (PaperLib.isPaper()) { if (PaperLib.isPaper()) {
packet = new ClientboundLevelChunkWithLightPacket( synchronized (chunk) {
levelChunk, packet = new ClientboundLevelChunkWithLightPacket(
nmsWorld.getChunkSource().getLightEngine(), levelChunk,
null, nmsWorld.getChunkSource().getLightEngine(),
null null,
// last false is to not bother with x-ray null,
); false // last false is to not bother with x-ray
);
}
} else { } else {
// deprecated on paper - deprecation suppressed synchronized (chunk) {
packet = new ClientboundLevelChunkWithLightPacket( // deprecated on paper - deprecation suppressed
levelChunk, packet = new ClientboundLevelChunkWithLightPacket(
nmsWorld.getChunkSource().getLightEngine(), levelChunk,
null, nmsWorld.getChunkSource().getLightEngine(),
null null,
); null
);
}
} }
nearbyPlayers(nmsWorld, coordIntPair).forEach(p -> p.connection.send(packet)); nearbyPlayers(nmsWorld, coordIntPair).forEach(p -> p.connection.send(packet));
}); });

Datei anzeigen

@ -67,7 +67,7 @@ public class PaperweightStarlightRelighter extends StarlightRelighter<ServerLeve
int x = pos.x; int x = pos.x;
int z = pos.z; int z = pos.z;
if (delay) { // we still need to send the block changes of that chunk if (delay) { // we still need to send the block changes of that chunk
PaperweightPlatformAdapter.sendChunk(serverLevel, x, z, false); PaperweightPlatformAdapter.sendChunk(pos, serverLevel, x, z);
} }
serverLevel.getChunkSource().removeTicketAtLevel(FAWE_TICKET, pos, LIGHT_LEVEL, Unit.INSTANCE); serverLevel.getChunkSource().removeTicketAtLevel(FAWE_TICKET, pos, LIGHT_LEVEL, Unit.INSTANCE);
} }

Datei anzeigen

@ -281,11 +281,11 @@ public final class PaperweightAdapter implements BukkitImplAdapter<net.minecraft
private static Block getBlockFromType(BlockType blockType) { private static Block getBlockFromType(BlockType blockType) {
return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.BLOCK).get(ResourceLocation.tryParse(blockType.getId())); return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.BLOCK).get(ResourceLocation.tryParse(blockType.id()));
} }
private static Item getItemFromType(ItemType itemType) { private static Item getItemFromType(ItemType itemType) {
return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(itemType.getId())); return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(itemType.id()));
} }
@Override @Override
@ -440,7 +440,7 @@ public final class PaperweightAdapter implements BukkitImplAdapter<net.minecraft
CraftWorld craftWorld = ((CraftWorld) location.getWorld()); CraftWorld craftWorld = ((CraftWorld) location.getWorld());
ServerLevel worldServer = craftWorld.getHandle(); ServerLevel worldServer = craftWorld.getHandle();
Entity createdEntity = createEntityFromId(state.getType().getId(), craftWorld.getHandle()); Entity createdEntity = createEntityFromId(state.getType().id(), craftWorld.getHandle());
if (createdEntity != null) { if (createdEntity != null) {
CompoundBinaryTag nativeTag = state.getNbt(); CompoundBinaryTag nativeTag = state.getNbt();
@ -547,7 +547,7 @@ public final class PaperweightAdapter implements BukkitImplAdapter<net.minecraft
@Override @Override
public org.bukkit.inventory.ItemStack adapt(BaseItemStack item) { public org.bukkit.inventory.ItemStack adapt(BaseItemStack item) {
ItemStack stack = new ItemStack( ItemStack stack = new ItemStack(
DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(item.getType().getId())), DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(item.getType().id())),
item.getAmount() item.getAmount()
); );
stack.setTag(((net.minecraft.nbt.CompoundTag) fromNative(item.getNbtData()))); stack.setTag(((net.minecraft.nbt.CompoundTag) fromNative(item.getNbtData())));

Datei anzeigen

@ -483,7 +483,7 @@ public final class PaperweightFaweAdapter extends FaweAdapter<net.minecraft.nbt.
public org.bukkit.inventory.ItemStack adapt(BaseItemStack baseItemStack) { public org.bukkit.inventory.ItemStack adapt(BaseItemStack baseItemStack) {
ItemStack stack = new ItemStack( ItemStack stack = new ItemStack(
DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM) DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM)
.get(ResourceLocation.tryParse(baseItemStack.getType().getId())), .get(ResourceLocation.tryParse(baseItemStack.getType().id())),
baseItemStack.getAmount() baseItemStack.getAmount()
); );
stack.setTag(((net.minecraft.nbt.CompoundTag) fromNative(baseItemStack.getNbtData()))); stack.setTag(((net.minecraft.nbt.CompoundTag) fromNative(baseItemStack.getNbtData())));
@ -550,7 +550,7 @@ public final class PaperweightFaweAdapter extends FaweAdapter<net.minecraft.nbt.
.getServer() .getServer()
.registryAccess() .registryAccess()
.registryOrThrow(BIOME); .registryOrThrow(BIOME);
ResourceLocation resourceLocation = ResourceLocation.tryParse(biomeType.getId()); ResourceLocation resourceLocation = ResourceLocation.tryParse(biomeType.id());
Biome biome = registry.get(resourceLocation); Biome biome = registry.get(resourceLocation);
return registry.getId(biome); return registry.getId(biome);
} }

Datei anzeigen

@ -247,7 +247,7 @@ public class PaperweightFaweWorldNativeAccess implements WorldNativeAccess<Level
return; return;
} }
for (IntPair chunk : toSend) { for (IntPair chunk : toSend) {
PaperweightPlatformAdapter.sendChunk(getLevel().getWorld().getHandle(), chunk.x(), chunk.z(), false); PaperweightPlatformAdapter.sendChunk(chunk, getLevel().getWorld().getHandle(), chunk.x(), chunk.z());
} }
} }
}; };
@ -263,7 +263,7 @@ public class PaperweightFaweWorldNativeAccess implements WorldNativeAccess<Level
sideEffectSet != null && sideEffectSet.shouldApply(SideEffect.UPDATE) sideEffectSet != null && sideEffectSet.shouldApply(SideEffect.UPDATE)
)); ));
for (IntPair chunk : cachedChunksToSend) { for (IntPair chunk : cachedChunksToSend) {
PaperweightPlatformAdapter.sendChunk(getLevel().getWorld().getHandle(), chunk.x(), chunk.z(), false); PaperweightPlatformAdapter.sendChunk(chunk, getLevel().getWorld().getHandle(), chunk.x(), chunk.z());
} }
} }
}; };

Datei anzeigen

@ -808,7 +808,7 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
nmsChunk.setUnsaved(true); nmsChunk.setUnsaved(true);
// send to player // send to player
if (Settings.settings().LIGHTING.MODE == 0 || !Settings.settings().LIGHTING.DELAY_PACKET_SENDING) { if (Settings.settings().LIGHTING.MODE == 0 || !Settings.settings().LIGHTING.DELAY_PACKET_SENDING) {
this.send(finalMask, finalLightUpdate); this.send();
} }
if (finalizer != null) { if (finalizer != null) {
finalizer.run(); finalizer.run();
@ -904,9 +904,9 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
} }
@Override @Override
public void send(int mask, boolean lighting) { public void send() {
synchronized (sendLock) { synchronized (sendLock) {
PaperweightPlatformAdapter.sendChunk(serverLevel, chunkX, chunkZ, lighting); PaperweightPlatformAdapter.sendChunk(this, serverLevel, chunkX, chunkZ);
} }
} }

Datei anzeigen

@ -26,6 +26,7 @@ import net.minecraft.core.Holder;
import net.minecraft.core.IdMap; import net.minecraft.core.IdMap;
import net.minecraft.core.Registry; import net.minecraft.core.Registry;
import net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket; import net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.ChunkHolder; import net.minecraft.server.level.ChunkHolder;
import net.minecraft.server.level.ChunkMap; import net.minecraft.server.level.ChunkMap;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
@ -333,7 +334,7 @@ public final class PaperweightPlatformAdapter extends NMSAdapter {
} }
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
public static void sendChunk(ServerLevel nmsWorld, int chunkX, int chunkZ, boolean lighting) { public static void sendChunk(Object chunk, ServerLevel nmsWorld, int chunkX, int chunkZ) {
ChunkHolder chunkHolder = getPlayerChunk(nmsWorld, chunkX, chunkZ); ChunkHolder chunkHolder = getPlayerChunk(nmsWorld, chunkX, chunkZ);
if (chunkHolder == null) { if (chunkHolder == null) {
return; return;
@ -354,24 +355,28 @@ public final class PaperweightPlatformAdapter extends NMSAdapter {
if (levelChunk == null) { if (levelChunk == null) {
return; return;
} }
TaskManager.taskManager().task(() -> { MinecraftServer.getServer().execute(() -> {
ClientboundLevelChunkWithLightPacket packet; ClientboundLevelChunkWithLightPacket packet;
if (PaperLib.isPaper()) { if (PaperLib.isPaper()) {
packet = new ClientboundLevelChunkWithLightPacket( synchronized (chunk) {
levelChunk, packet = new ClientboundLevelChunkWithLightPacket(
nmsWorld.getChunkSource().getLightEngine(), levelChunk,
null, nmsWorld.getChunkSource().getLightEngine(),
null null,
// last false is to not bother with x-ray null,
); false // last false is to not bother with x-ray
);
}
} else { } else {
// deprecated on paper - deprecation suppressed synchronized (chunk) {
packet = new ClientboundLevelChunkWithLightPacket( // deprecated on paper - deprecation suppressed
levelChunk, packet = new ClientboundLevelChunkWithLightPacket(
nmsWorld.getChunkSource().getLightEngine(), levelChunk,
null, nmsWorld.getChunkSource().getLightEngine(),
null null,
); null
);
}
} }
nearbyPlayers(nmsWorld, coordIntPair).forEach(p -> p.connection.send(packet)); nearbyPlayers(nmsWorld, coordIntPair).forEach(p -> p.connection.send(packet));
}); });

Datei anzeigen

@ -67,7 +67,7 @@ public class PaperweightStarlightRelighter extends StarlightRelighter<ServerLeve
int x = pos.x; int x = pos.x;
int z = pos.z; int z = pos.z;
if (delay) { // we still need to send the block changes of that chunk if (delay) { // we still need to send the block changes of that chunk
PaperweightPlatformAdapter.sendChunk(serverLevel, x, z, false); PaperweightPlatformAdapter.sendChunk(pos, serverLevel, x, z);
} }
serverLevel.getChunkSource().removeTicketAtLevel(FAWE_TICKET, pos, LIGHT_LEVEL, Unit.INSTANCE); serverLevel.getChunkSource().removeTicketAtLevel(FAWE_TICKET, pos, LIGHT_LEVEL, Unit.INSTANCE);
} }

Datei anzeigen

@ -281,11 +281,11 @@ public final class PaperweightAdapter implements BukkitImplAdapter<net.minecraft
private static Block getBlockFromType(BlockType blockType) { private static Block getBlockFromType(BlockType blockType) {
return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.BLOCK).get(ResourceLocation.tryParse(blockType.getId())); return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.BLOCK).get(ResourceLocation.tryParse(blockType.id()));
} }
private static Item getItemFromType(ItemType itemType) { private static Item getItemFromType(ItemType itemType) {
return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(itemType.getId())); return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(itemType.id()));
} }
@Override @Override
@ -440,7 +440,7 @@ public final class PaperweightAdapter implements BukkitImplAdapter<net.minecraft
CraftWorld craftWorld = ((CraftWorld) location.getWorld()); CraftWorld craftWorld = ((CraftWorld) location.getWorld());
ServerLevel worldServer = craftWorld.getHandle(); ServerLevel worldServer = craftWorld.getHandle();
Entity createdEntity = createEntityFromId(state.getType().getId(), craftWorld.getHandle()); Entity createdEntity = createEntityFromId(state.getType().id(), craftWorld.getHandle());
if (createdEntity != null) { if (createdEntity != null) {
CompoundBinaryTag nativeTag = state.getNbt(); CompoundBinaryTag nativeTag = state.getNbt();
@ -547,7 +547,7 @@ public final class PaperweightAdapter implements BukkitImplAdapter<net.minecraft
@Override @Override
public org.bukkit.inventory.ItemStack adapt(BaseItemStack item) { public org.bukkit.inventory.ItemStack adapt(BaseItemStack item) {
ItemStack stack = new ItemStack( ItemStack stack = new ItemStack(
DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(item.getType().getId())), DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(item.getType().id())),
item.getAmount() item.getAmount()
); );
stack.setTag(((net.minecraft.nbt.CompoundTag) fromNative(item.getNbtData()))); stack.setTag(((net.minecraft.nbt.CompoundTag) fromNative(item.getNbtData())));

Datei anzeigen

@ -483,7 +483,7 @@ public final class PaperweightFaweAdapter extends FaweAdapter<net.minecraft.nbt.
public org.bukkit.inventory.ItemStack adapt(BaseItemStack baseItemStack) { public org.bukkit.inventory.ItemStack adapt(BaseItemStack baseItemStack) {
ItemStack stack = new ItemStack( ItemStack stack = new ItemStack(
DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM) DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM)
.get(ResourceLocation.tryParse(baseItemStack.getType().getId())), .get(ResourceLocation.tryParse(baseItemStack.getType().id())),
baseItemStack.getAmount() baseItemStack.getAmount()
); );
stack.setTag(((net.minecraft.nbt.CompoundTag) fromNative(baseItemStack.getNbtData()))); stack.setTag(((net.minecraft.nbt.CompoundTag) fromNative(baseItemStack.getNbtData())));
@ -550,7 +550,7 @@ public final class PaperweightFaweAdapter extends FaweAdapter<net.minecraft.nbt.
.getServer() .getServer()
.registryAccess() .registryAccess()
.registryOrThrow(BIOME); .registryOrThrow(BIOME);
ResourceLocation resourceLocation = ResourceLocation.tryParse(biomeType.getId()); ResourceLocation resourceLocation = ResourceLocation.tryParse(biomeType.id());
Biome biome = registry.get(resourceLocation); Biome biome = registry.get(resourceLocation);
return registry.getId(biome); return registry.getId(biome);
} }

Datei anzeigen

@ -246,7 +246,7 @@ public class PaperweightFaweWorldNativeAccess implements WorldNativeAccess<Level
return; return;
} }
for (IntPair chunk : toSend) { for (IntPair chunk : toSend) {
PaperweightPlatformAdapter.sendChunk(getLevel().getWorld().getHandle(), chunk.x(), chunk.z(), false); PaperweightPlatformAdapter.sendChunk(chunk, getLevel().getWorld().getHandle(), chunk.x(), chunk.z());
} }
} }
}; };
@ -262,7 +262,7 @@ public class PaperweightFaweWorldNativeAccess implements WorldNativeAccess<Level
sideEffectSet != null && sideEffectSet.shouldApply(SideEffect.UPDATE) sideEffectSet != null && sideEffectSet.shouldApply(SideEffect.UPDATE)
)); ));
for (IntPair chunk : cachedChunksToSend) { for (IntPair chunk : cachedChunksToSend) {
PaperweightPlatformAdapter.sendChunk(getLevel().getWorld().getHandle(), chunk.x(), chunk.z(), false); PaperweightPlatformAdapter.sendChunk(chunk, getLevel().getWorld().getHandle(), chunk.x(), chunk.z());
} }
} }
}; };

Datei anzeigen

@ -87,7 +87,6 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
private final Registry<Biome> biomeRegistry; private final Registry<Biome> biomeRegistry;
private final IdMap<Holder<Biome>> biomeHolderIdMap; private final IdMap<Holder<Biome>> biomeHolderIdMap;
private final ConcurrentHashMap<Integer, PaperweightGetBlocks_Copy> copies = new ConcurrentHashMap<>(); private final ConcurrentHashMap<Integer, PaperweightGetBlocks_Copy> copies = new ConcurrentHashMap<>();
private final Object sendLock = new Object();
private LevelChunkSection[] sections; private LevelChunkSection[] sections;
private LevelChunk levelChunk; private LevelChunk levelChunk;
private DataLayer[] blockLight; private DataLayer[] blockLight;
@ -808,7 +807,7 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
nmsChunk.setUnsaved(true); nmsChunk.setUnsaved(true);
// send to player // send to player
if (Settings.settings().LIGHTING.MODE == 0 || !Settings.settings().LIGHTING.DELAY_PACKET_SENDING) { if (Settings.settings().LIGHTING.MODE == 0 || !Settings.settings().LIGHTING.DELAY_PACKET_SENDING) {
this.send(finalMask, finalLightUpdate); this.send();
} }
if (finalizer != null) { if (finalizer != null) {
finalizer.run(); finalizer.run();
@ -904,10 +903,8 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
} }
@Override @Override
public void send(int mask, boolean lighting) { public void send() {
synchronized (sendLock) { PaperweightPlatformAdapter.sendChunk(this, serverLevel, chunkX, chunkZ);
PaperweightPlatformAdapter.sendChunk(serverLevel, chunkX, chunkZ, lighting);
}
} }
/** /**

Datei anzeigen

@ -26,6 +26,7 @@ import net.minecraft.core.Holder;
import net.minecraft.core.IdMap; import net.minecraft.core.IdMap;
import net.minecraft.core.Registry; import net.minecraft.core.Registry;
import net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket; import net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.ChunkHolder; import net.minecraft.server.level.ChunkHolder;
import net.minecraft.server.level.ChunkMap; import net.minecraft.server.level.ChunkMap;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
@ -332,7 +333,7 @@ public final class PaperweightPlatformAdapter extends NMSAdapter {
} }
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
public static void sendChunk(ServerLevel nmsWorld, int chunkX, int chunkZ, boolean lighting) { public static void sendChunk(Object chunk, ServerLevel nmsWorld, int chunkX, int chunkZ) {
ChunkHolder chunkHolder = getPlayerChunk(nmsWorld, chunkX, chunkZ); ChunkHolder chunkHolder = getPlayerChunk(nmsWorld, chunkX, chunkZ);
if (chunkHolder == null) { if (chunkHolder == null) {
return; return;
@ -353,24 +354,28 @@ public final class PaperweightPlatformAdapter extends NMSAdapter {
if (levelChunk == null) { if (levelChunk == null) {
return; return;
} }
TaskManager.taskManager().task(() -> { MinecraftServer.getServer().execute(() -> {
ClientboundLevelChunkWithLightPacket packet; ClientboundLevelChunkWithLightPacket packet;
if (PaperLib.isPaper()) { if (PaperLib.isPaper()) {
packet = new ClientboundLevelChunkWithLightPacket( synchronized (chunk) {
levelChunk, packet = new ClientboundLevelChunkWithLightPacket(
nmsWorld.getChunkSource().getLightEngine(), levelChunk,
null, nmsWorld.getChunkSource().getLightEngine(),
null null,
// last false is to not bother with x-ray null,
); false // last false is to not bother with x-ray
);
}
} else { } else {
// deprecated on paper - deprecation suppressed synchronized (chunk) {
packet = new ClientboundLevelChunkWithLightPacket( // deprecated on paper - deprecation suppressed
levelChunk, packet = new ClientboundLevelChunkWithLightPacket(
nmsWorld.getChunkSource().getLightEngine(), levelChunk,
null, nmsWorld.getChunkSource().getLightEngine(),
null null,
); null
);
}
} }
nearbyPlayers(nmsWorld, coordIntPair).forEach(p -> p.connection.send(packet)); nearbyPlayers(nmsWorld, coordIntPair).forEach(p -> p.connection.send(packet));
}); });

Datei anzeigen

@ -67,7 +67,7 @@ public class PaperweightStarlightRelighter extends StarlightRelighter<ServerLeve
int x = pos.x; int x = pos.x;
int z = pos.z; int z = pos.z;
if (delay) { // we still need to send the block changes of that chunk if (delay) { // we still need to send the block changes of that chunk
PaperweightPlatformAdapter.sendChunk(serverLevel, x, z, false); PaperweightPlatformAdapter.sendChunk(pos, serverLevel, x, z);
} }
serverLevel.getChunkSource().removeTicketAtLevel(FAWE_TICKET, pos, LIGHT_LEVEL, Unit.INSTANCE); serverLevel.getChunkSource().removeTicketAtLevel(FAWE_TICKET, pos, LIGHT_LEVEL, Unit.INSTANCE);
} }

Datei anzeigen

@ -12,6 +12,6 @@ repositories {
dependencies { dependencies {
// url=https://repo.papermc.io/service/rest/repository/browse/maven-public/io/papermc/paper/dev-bundle/1.20.6-R0.1-SNAPSHOT/ // url=https://repo.papermc.io/service/rest/repository/browse/maven-public/io/papermc/paper/dev-bundle/1.20.6-R0.1-SNAPSHOT/
the<PaperweightUserDependenciesExtension>().paperDevBundle("1.20.6-R0.1-20240602.222958-106") the<PaperweightUserDependenciesExtension>().paperDevBundle("1.20.6-R0.1-20240604.210637-112")
compileOnly(libs.paperlib) compileOnly(libs.paperlib)
} }

Datei anzeigen

@ -291,12 +291,12 @@ public final class PaperweightAdapter implements BukkitImplAdapter<net.minecraft
private static Block getBlockFromType(BlockType blockType) { private static Block getBlockFromType(BlockType blockType) {
return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.BLOCK).get(ResourceLocation.tryParse( return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.BLOCK).get(ResourceLocation.tryParse(
blockType.getId())); blockType.id()));
} }
private static Item getItemFromType(ItemType itemType) { private static Item getItemFromType(ItemType itemType) {
return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse( return DedicatedServer.getServer().registryAccess().registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(
itemType.getId())); itemType.id()));
} }
@Override @Override
@ -470,7 +470,7 @@ public final class PaperweightAdapter implements BukkitImplAdapter<net.minecraft
CraftWorld craftWorld = ((CraftWorld) location.getWorld()); CraftWorld craftWorld = ((CraftWorld) location.getWorld());
ServerLevel worldServer = craftWorld.getHandle(); ServerLevel worldServer = craftWorld.getHandle();
Entity createdEntity = createEntityFromId(state.getType().getId(), craftWorld.getHandle()); Entity createdEntity = createEntityFromId(state.getType().id(), craftWorld.getHandle());
if (createdEntity != null) { if (createdEntity != null) {
CompoundBinaryTag nativeTag = state.getNbt(); CompoundBinaryTag nativeTag = state.getNbt();
@ -598,7 +598,7 @@ public final class PaperweightAdapter implements BukkitImplAdapter<net.minecraft
public org.bukkit.inventory.ItemStack adapt(BaseItemStack item) { public org.bukkit.inventory.ItemStack adapt(BaseItemStack item) {
final RegistryAccess.Frozen registryAccess = DedicatedServer.getServer().registryAccess(); final RegistryAccess.Frozen registryAccess = DedicatedServer.getServer().registryAccess();
ItemStack stack = new ItemStack( ItemStack stack = new ItemStack(
registryAccess.registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(item.getType().getId())), registryAccess.registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(item.getType().id())),
item.getAmount() item.getAmount()
); );
final CompoundTag nbt = (net.minecraft.nbt.CompoundTag) fromNative(item.getNbtData()); final CompoundTag nbt = (net.minecraft.nbt.CompoundTag) fromNative(item.getNbtData());

Datei anzeigen

@ -492,7 +492,7 @@ public final class PaperweightFaweAdapter extends FaweAdapter<net.minecraft.nbt.
public org.bukkit.inventory.ItemStack adapt(BaseItemStack baseItemStack) { public org.bukkit.inventory.ItemStack adapt(BaseItemStack baseItemStack) {
final RegistryAccess.Frozen registryAccess = DedicatedServer.getServer().registryAccess(); final RegistryAccess.Frozen registryAccess = DedicatedServer.getServer().registryAccess();
ItemStack stack = new ItemStack( ItemStack stack = new ItemStack(
registryAccess.registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(baseItemStack.getType().getId())), registryAccess.registryOrThrow(Registries.ITEM).get(ResourceLocation.tryParse(baseItemStack.getType().id())),
baseItemStack.getAmount() baseItemStack.getAmount()
); );
final CompoundTag nbt = (net.minecraft.nbt.CompoundTag) fromNative(baseItemStack.getNbtData()); final CompoundTag nbt = (net.minecraft.nbt.CompoundTag) fromNative(baseItemStack.getNbtData());
@ -572,7 +572,7 @@ public final class PaperweightFaweAdapter extends FaweAdapter<net.minecraft.nbt.
.getServer() .getServer()
.registryAccess() .registryAccess()
.registryOrThrow(BIOME); .registryOrThrow(BIOME);
ResourceLocation resourceLocation = ResourceLocation.tryParse(biomeType.getId()); ResourceLocation resourceLocation = ResourceLocation.tryParse(biomeType.id());
Biome biome = registry.get(resourceLocation); Biome biome = registry.get(resourceLocation);
return registry.getId(biome); return registry.getId(biome);
} }

Datei anzeigen

@ -247,7 +247,7 @@ public class PaperweightFaweWorldNativeAccess implements WorldNativeAccess<Level
return; return;
} }
for (IntPair chunk : toSend) { for (IntPair chunk : toSend) {
PaperweightPlatformAdapter.sendChunk(getLevel().getWorld().getHandle(), chunk.x(), chunk.z(), false); PaperweightPlatformAdapter.sendChunk(chunk, getLevel().getWorld().getHandle(), chunk.x(), chunk.z());
} }
} }
}; };
@ -263,7 +263,7 @@ public class PaperweightFaweWorldNativeAccess implements WorldNativeAccess<Level
sideEffectSet != null && sideEffectSet.shouldApply(SideEffect.UPDATE) sideEffectSet != null && sideEffectSet.shouldApply(SideEffect.UPDATE)
)); ));
for (IntPair chunk : cachedChunksToSend) { for (IntPair chunk : cachedChunksToSend) {
PaperweightPlatformAdapter.sendChunk(getLevel().getWorld().getHandle(), chunk.x(), chunk.z(), false); PaperweightPlatformAdapter.sendChunk(chunk, getLevel().getWorld().getHandle(), chunk.x(), chunk.z());
} }
} }
}; };

Datei anzeigen

@ -810,7 +810,7 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
nmsChunk.setUnsaved(true); nmsChunk.setUnsaved(true);
// send to player // send to player
if (Settings.settings().LIGHTING.MODE == 0 || !Settings.settings().LIGHTING.DELAY_PACKET_SENDING) { if (Settings.settings().LIGHTING.MODE == 0 || !Settings.settings().LIGHTING.DELAY_PACKET_SENDING) {
this.send(finalMask, finalLightUpdate); this.send();
} }
if (finalizer != null) { if (finalizer != null) {
finalizer.run(); finalizer.run();
@ -906,9 +906,9 @@ public class PaperweightGetBlocks extends CharGetBlocks implements BukkitGetBloc
} }
@Override @Override
public void send(int mask, boolean lighting) { public void send() {
synchronized (sendLock) { synchronized (sendLock) {
PaperweightPlatformAdapter.sendChunk(serverLevel, chunkX, chunkZ, lighting); PaperweightPlatformAdapter.sendChunk(this, serverLevel, chunkX, chunkZ);
} }
} }

Datei anzeigen

@ -26,6 +26,7 @@ import net.minecraft.core.Holder;
import net.minecraft.core.IdMap; import net.minecraft.core.IdMap;
import net.minecraft.core.Registry; import net.minecraft.core.Registry;
import net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket; import net.minecraft.network.protocol.game.ClientboundLevelChunkWithLightPacket;
import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.ChunkHolder; import net.minecraft.server.level.ChunkHolder;
import net.minecraft.server.level.ChunkMap; import net.minecraft.server.level.ChunkMap;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
@ -332,7 +333,7 @@ public final class PaperweightPlatformAdapter extends NMSAdapter {
} }
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
public static void sendChunk(ServerLevel nmsWorld, int chunkX, int chunkZ, boolean lighting) { public static void sendChunk(Object chunk, ServerLevel nmsWorld, int chunkX, int chunkZ) {
ChunkHolder chunkHolder = getPlayerChunk(nmsWorld, chunkX, chunkZ); ChunkHolder chunkHolder = getPlayerChunk(nmsWorld, chunkX, chunkZ);
if (chunkHolder == null) { if (chunkHolder == null) {
return; return;
@ -351,24 +352,28 @@ public final class PaperweightPlatformAdapter extends NMSAdapter {
if (levelChunk == null) { if (levelChunk == null) {
return; return;
} }
TaskManager.taskManager().task(() -> { MinecraftServer.getServer().execute(() -> {
ClientboundLevelChunkWithLightPacket packet; ClientboundLevelChunkWithLightPacket packet;
if (PaperLib.isPaper()) { if (PaperLib.isPaper()) {
packet = new ClientboundLevelChunkWithLightPacket( synchronized (chunk) {
levelChunk, packet = new ClientboundLevelChunkWithLightPacket(
nmsWorld.getChunkSource().getLightEngine(), levelChunk,
null, nmsWorld.getChunkSource().getLightEngine(),
null null,
// last false is to not bother with x-ray null,
); false // last false is to not bother with x-ray
);
}
} else { } else {
// deprecated on paper - deprecation suppressed synchronized (chunk) {
packet = new ClientboundLevelChunkWithLightPacket( // deprecated on paper - deprecation suppressed
levelChunk, packet = new ClientboundLevelChunkWithLightPacket(
nmsWorld.getChunkSource().getLightEngine(), levelChunk,
null, nmsWorld.getChunkSource().getLightEngine(),
null null,
); null
);
}
} }
nearbyPlayers(nmsWorld, coordIntPair).forEach(p -> p.connection.send(packet)); nearbyPlayers(nmsWorld, coordIntPair).forEach(p -> p.connection.send(packet));
}); });

Datei anzeigen

@ -67,7 +67,7 @@ public class PaperweightStarlightRelighter extends StarlightRelighter<ServerLeve
int x = pos.x; int x = pos.x;
int z = pos.z; int z = pos.z;
if (delay) { // we still need to send the block changes of that chunk if (delay) { // we still need to send the block changes of that chunk
PaperweightPlatformAdapter.sendChunk(serverLevel, x, z, false); PaperweightPlatformAdapter.sendChunk(pos, serverLevel, x, z);
} }
serverLevel.getChunkSource().removeTicketAtLevel(FAWE_TICKET, pos, LIGHT_LEVEL, Unit.INSTANCE); serverLevel.getChunkSource().removeTicketAtLevel(FAWE_TICKET, pos, LIGHT_LEVEL, Unit.INSTANCE);
} }

Datei anzeigen

@ -2,6 +2,6 @@ package com.fastasyncworldedit.bukkit.adapter;
public interface BukkitGetBlocks { public interface BukkitGetBlocks {
void send(int mask, boolean lighting); void send();
} }

Datei anzeigen

@ -166,10 +166,10 @@ public interface IBukkitAdapter {
*/ */
default Material adapt(ItemType itemType) { default Material adapt(ItemType itemType) {
checkNotNull(itemType); checkNotNull(itemType);
if (!itemType.getId().startsWith("minecraft:")) { if (!itemType.id().startsWith("minecraft:")) {
throw new IllegalArgumentException("Bukkit only supports Minecraft items"); throw new IllegalArgumentException("Bukkit only supports Minecraft items");
} }
return Material.getMaterial(itemType.getId().substring(10).toUpperCase(Locale.ROOT)); return Material.getMaterial(itemType.id().substring(10).toUpperCase(Locale.ROOT));
} }
/** /**
@ -180,10 +180,10 @@ public interface IBukkitAdapter {
*/ */
default Material adapt(BlockType blockType) { default Material adapt(BlockType blockType) {
checkNotNull(blockType); checkNotNull(blockType);
if (!blockType.getId().startsWith("minecraft:")) { if (!blockType.id().startsWith("minecraft:")) {
throw new IllegalArgumentException("Bukkit only supports Minecraft blocks"); throw new IllegalArgumentException("Bukkit only supports Minecraft blocks");
} }
String id = blockType.getId().substring(10).toUpperCase(Locale.ROOT); String id = blockType.id().substring(10).toUpperCase(Locale.ROOT);
return Material.getMaterial(id); return Material.getMaterial(id);
} }
@ -293,11 +293,11 @@ public interface IBukkitAdapter {
} }
default Biome adapt(BiomeType biomeType) { default Biome adapt(BiomeType biomeType) {
if (!biomeType.getId().startsWith("minecraft:")) { if (!biomeType.id().startsWith("minecraft:")) {
throw new IllegalArgumentException("Bukkit only supports vanilla biomes"); throw new IllegalArgumentException("Bukkit only supports vanilla biomes");
} }
try { try {
return Biome.valueOf(biomeType.getId().substring(10).toUpperCase(Locale.ROOT)); return Biome.valueOf(biomeType.id().substring(10).toUpperCase(Locale.ROOT));
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {
return null; return null;
} }

Datei anzeigen

@ -137,7 +137,7 @@ public class NMSAdapter implements FAWEPlatformAdapterImpl {
if (!(chunk instanceof BukkitGetBlocks)) { if (!(chunk instanceof BukkitGetBlocks)) {
throw new IllegalArgumentException("(IChunkGet) chunk not of type BukkitGetBlocks"); throw new IllegalArgumentException("(IChunkGet) chunk not of type BukkitGetBlocks");
} }
((BukkitGetBlocks) chunk).send(mask, lighting); ((BukkitGetBlocks) chunk).send();
} }
} }

Datei anzeigen

@ -40,7 +40,7 @@ class BukkitBiomeRegistry implements BiomeRegistry {
@Override @Override
public Component getRichName(BiomeType biomeType) { public Component getRichName(BiomeType biomeType) {
return TranslatableComponent.of( return TranslatableComponent.of(
TranslationManager.makeTranslationKey("biome", biomeType.getId()) TranslationManager.makeTranslationKey("biome", biomeType.id())
); );
} }

Datei anzeigen

@ -162,7 +162,7 @@ public class BukkitPlayer extends AbstractPlayerActor {
final PlayerInventory inv = player.getInventory(); final PlayerInventory inv = player.getInventory();
ItemStack newItem = BukkitAdapter.adapt(itemStack); ItemStack newItem = BukkitAdapter.adapt(itemStack);
TaskManager.taskManager().sync(() -> { TaskManager.taskManager().sync(() -> {
if (itemStack.getType().getId().equalsIgnoreCase(WorldEdit.getInstance().getConfiguration().wandItem)) { if (itemStack.getType().id().equalsIgnoreCase(WorldEdit.getInstance().getConfiguration().wandItem)) {
inv.remove(newItem); inv.remove(newItem);
} }
final ItemStack item = player.getInventory().getItemInMainHand(); final ItemStack item = player.getInventory().getItemInMainHand();
@ -267,7 +267,7 @@ public class BukkitPlayer extends AbstractPlayerActor {
@Override @Override
public void setGameMode(GameMode gameMode) { public void setGameMode(GameMode gameMode) {
player.setGameMode(org.bukkit.GameMode.valueOf(gameMode.getId().toUpperCase(Locale.ROOT))); player.setGameMode(org.bukkit.GameMode.valueOf(gameMode.id().toUpperCase(Locale.ROOT)));
} }
@Override @Override

Datei anzeigen

@ -230,7 +230,7 @@ public class BukkitServerInterface extends AbstractPlatform implements MultiUser
//FAWE start //FAWE start
@Override @Override
public String getId() { public String id() {
return "intellectualsites:bukkit"; return "intellectualsites:bukkit";
} }
//FAWE end //FAWE end

Datei anzeigen

@ -224,7 +224,7 @@ public class BukkitWorld extends AbstractWorld {
//FAWE end //FAWE end
@Override @Override
public String getId() { public String id() {
return getWorld().getName().replace(" ", "_").toLowerCase(Locale.ROOT); return getWorld().getName().replace(" ", "_").toLowerCase(Locale.ROOT);
} }

Datei anzeigen

@ -68,7 +68,7 @@ public class CLIBlockRegistry extends BundledBlockRegistry {
@Override @Override
public Map<String, ? extends Property<?>> getProperties(BlockType blockType) { public Map<String, ? extends Property<?>> getProperties(BlockType blockType) {
Map<String, FileRegistries.BlockProperty> properties = Map<String, FileRegistries.BlockProperty> properties =
CLIWorldEdit.inst.getFileRegistries().getDataFile().blocks.get(blockType.getId()).properties; CLIWorldEdit.inst.getFileRegistries().getDataFile().blocks.get(blockType.id()).properties;
Maps.EntryTransformer<String, FileRegistries.BlockProperty, Property<?>> entryTransform = Maps.EntryTransformer<String, FileRegistries.BlockProperty, Property<?>> entryTransform =
(key, value) -> createProperty(value.type, key, value.values); (key, value) -> createProperty(value.type, key, value.values);
return ImmutableMap.copyOf(Maps.transformEntries(properties, entryTransform)); return ImmutableMap.copyOf(Maps.transformEntries(properties, entryTransform));

Datei anzeigen

@ -115,7 +115,7 @@ class CLIPlatform extends AbstractPlatform {
@Override @Override
public World matchWorld(World world) { public World matchWorld(World world) {
return this.worlds.stream() return this.worlds.stream()
.filter(w -> w.getId().equals(world.getId())) .filter(w -> w.id().equals(world.id()))
.findAny() .findAny()
.orElse(null); .orElse(null);
} }

Datei anzeigen

@ -85,7 +85,7 @@ public class ClipboardWorld extends AbstractWorld implements Clipboard, CLIWorld
//FAWE end //FAWE end
@Override @Override
public String getId() { public String id() {
return getName().replace(" ", "_").toLowerCase(Locale.ROOT); return getName().replace(" ", "_").toLowerCase(Locale.ROOT);
} }

Datei anzeigen

@ -101,7 +101,7 @@ public class DisallowedBlocksExtent extends AbstractDelegateExtent implements IB
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
private <B extends BlockStateHolder<B>> B checkBlock(B block) { private <B extends BlockStateHolder<B>> B checkBlock(B block) {
if (blockedBlocks != null) { if (blockedBlocks != null) {
if (blockedBlocks.contains(block.getBlockType().getId())) { if (blockedBlocks.contains(block.getBlockType().id())) {
return (B) (block instanceof BlockState ? RESERVED : RESERVED.toBaseBlock()); // set to reserved/empty return (B) (block instanceof BlockState ? RESERVED : RESERVED.toBaseBlock()); // set to reserved/empty
} }
} }
@ -140,7 +140,7 @@ public class DisallowedBlocksExtent extends AbstractDelegateExtent implements IB
} }
BlockState state = BlockTypesCache.states[block]; BlockState state = BlockTypesCache.states[block];
if (blockedBlocks != null) { if (blockedBlocks != null) {
if (blockedBlocks.contains(state.getBlockType().getId())) { if (blockedBlocks.contains(state.getBlockType().id())) {
blocks[i] = BlockTypesCache.ReservedIDs.__RESERVED__; blocks[i] = BlockTypesCache.ReservedIDs.__RESERVED__;
continue; continue;
} }

Datei anzeigen

@ -110,7 +110,7 @@ public class HistoryExtent extends AbstractDelegateExtent {
@Override @Override
public boolean setBiome(BlockVector3 position, BiomeType newBiome) { public boolean setBiome(BlockVector3 position, BiomeType newBiome) {
BiomeType oldBiome = this.getBiome(position); BiomeType oldBiome = this.getBiome(position);
if (!oldBiome.getId().equals(newBiome.getId())) { if (!oldBiome.id().equals(newBiome.id())) {
this.changeSet.addBiomeChange(position.x(), position.y(), position.z(), oldBiome, newBiome); this.changeSet.addBiomeChange(position.x(), position.y(), position.z(), oldBiome, newBiome);
return getExtent().setBiome(position, newBiome); return getExtent().setBiome(position, newBiome);
} else { } else {
@ -121,7 +121,7 @@ public class HistoryExtent extends AbstractDelegateExtent {
@Override @Override
public boolean setBiome(int x, int y, int z, BiomeType newBiome) { public boolean setBiome(int x, int y, int z, BiomeType newBiome) {
BiomeType oldBiome = this.getBiome(mutable.setComponents(x, y, z)); BiomeType oldBiome = this.getBiome(mutable.setComponents(x, y, z));
if (!oldBiome.getId().equals(newBiome.getId())) { if (!oldBiome.id().equals(newBiome.id())) {
this.changeSet.addBiomeChange(x, y, z, oldBiome, newBiome); this.changeSet.addBiomeChange(x, y, z, oldBiome, newBiome);
return getExtent().setBiome(x, y, z, newBiome); return getExtent().setBiome(x, y, z, newBiome);
} else { } else {

Datei anzeigen

@ -237,7 +237,7 @@ public class FastSchematicWriterV2 implements ClipboardWriter {
if (!brokenEntities) { if (!brokenEntities) {
loc = loc.setPosition(loc.add(min.toVector3())); loc = loc.setPosition(loc.add(min.toVector3()));
} }
values.put("Id", new StringTag(state.getType().getId())); values.put("Id", new StringTag(state.getType().id()));
values.put("Pos", writeVector(loc)); values.put("Pos", writeVector(loc));
values.put("Rotation", writeRotation(entity.getLocation())); values.put("Rotation", writeRotation(entity.getLocation()));
@ -297,7 +297,7 @@ public class FastSchematicWriterV2 implements ClipboardWriter {
for (int i = 0; i < paletteList.size(); i++) { for (int i = 0; i < paletteList.size(); i++) {
int ordinal = paletteList.get(i); int ordinal = paletteList.get(i);
BiomeType state = BiomeTypes.get(ordinal); BiomeType state = BiomeTypes.get(ordinal);
out12.writeNamedTag(state.getId(), i); out12.writeNamedTag(state.id(), i);
} }
}); });

Datei anzeigen

@ -183,7 +183,7 @@ public class MinecraftStructure implements ClipboardReader, ClipboardWriter {
indexes.put(combined, (Integer) palette.size()); indexes.put(combined, (Integer) palette.size());
HashMap<String, Object> paletteEntry = new HashMap<>(); HashMap<String, Object> paletteEntry = new HashMap<>();
paletteEntry.put("Name", type.getId()); paletteEntry.put("Name", type.id());
if (block.getInternalId() != type.getInternalId()) { if (block.getInternalId() != type.getInternalId()) {
Map<String, Object> properties = null; Map<String, Object> properties = null;
for (AbstractProperty property : (List<AbstractProperty<?>>) type.getProperties()) { for (AbstractProperty property : (List<AbstractProperty<?>>) type.getProperties()) {
@ -239,7 +239,7 @@ public class MinecraftStructure implements ClipboardReader, ClipboardWriter {
Map<String, Tag> nbtMap = nbt.getValue(); Map<String, Tag> nbtMap = nbt.getValue();
// Replace rotation data // Replace rotation data
nbtMap.put("Rotation", writeRotation(entity.getLocation())); nbtMap.put("Rotation", writeRotation(entity.getLocation()));
nbtMap.put("id", new StringTag(state.getType().getId())); nbtMap.put("id", new StringTag(state.getType().id()));
Map<String, Object> entityMap = FaweCache.INSTANCE.asMap("pos", pos, "blockPos", blockPos, "nbt", nbt); Map<String, Object> entityMap = FaweCache.INSTANCE.asMap("pos", pos, "blockPos", blockPos, "nbt", nbt);
entities.add(entityMap); entities.add(entityMap);
} }

Datei anzeigen

@ -346,7 +346,7 @@ public class NMSRelighter implements Relighter {
} }
int lightLevel = iChunk.getEmittedLight(node.x() & 15, node.y(), node.z() & 15); int lightLevel = iChunk.getEmittedLight(node.x() & 15, node.y(), node.z() & 15);
BlockState state = this.queue.getBlock(node.x(), node.y(), node.z()); BlockState state = this.queue.getBlock(node.x(), node.y(), node.z());
String id = state.getBlockType().getId().toLowerCase(Locale.ROOT); String id = state.getBlockType().id().toLowerCase(Locale.ROOT);
if (lightLevel <= 1) { if (lightLevel <= 1) {
continue; continue;
} }
@ -396,7 +396,7 @@ public class NMSRelighter implements Relighter {
if (!(checkStairEast(state) && isStairOrTrueTop(state, top) && isSlabOrTrueValue(state, top ? "top" : "bottom"))) { if (!(checkStairEast(state) && isStairOrTrueTop(state, top) && isSlabOrTrueValue(state, top ? "top" : "bottom"))) {
break east; break east;
} }
if (!state.getBlockType().getId().toLowerCase(Locale.ROOT).contains("stair")) { if (!state.getBlockType().id().toLowerCase(Locale.ROOT).contains("stair")) {
this.computeSpreadBlockLight(x + 1, y, z, currentLight, queue, visited); this.computeSpreadBlockLight(x + 1, y, z, currentLight, queue, visited);
break east; break east;
} }
@ -449,7 +449,7 @@ public class NMSRelighter implements Relighter {
if (!(checkStairWest(state) && isStairOrTrueTop(state, top) && isSlabOrTrueValue(state, top ? "top" : "bottom"))) { if (!(checkStairWest(state) && isStairOrTrueTop(state, top) && isSlabOrTrueValue(state, top ? "top" : "bottom"))) {
break west; break west;
} }
if (!state.getBlockType().getId().toLowerCase(Locale.ROOT).contains("stair")) { if (!state.getBlockType().id().toLowerCase(Locale.ROOT).contains("stair")) {
this.computeSpreadBlockLight(x - 1, y, z, currentLight, queue, visited); this.computeSpreadBlockLight(x - 1, y, z, currentLight, queue, visited);
break west; break west;
} }
@ -502,7 +502,7 @@ public class NMSRelighter implements Relighter {
if (!(checkStairSouth(state) && isStairOrTrueTop(state, top) && isSlabOrTrueValue(state, top ? "top" : "bottom"))) { if (!(checkStairSouth(state) && isStairOrTrueTop(state, top) && isSlabOrTrueValue(state, top ? "top" : "bottom"))) {
break south; break south;
} }
if (!state.getBlockType().getId().toLowerCase(Locale.ROOT).contains("stair")) { if (!state.getBlockType().id().toLowerCase(Locale.ROOT).contains("stair")) {
this.computeSpreadBlockLight(x, y, z + 1, currentLight, queue, visited); this.computeSpreadBlockLight(x, y, z + 1, currentLight, queue, visited);
break south; break south;
} }
@ -555,7 +555,7 @@ public class NMSRelighter implements Relighter {
if (!(checkStairNorth(state) && isStairOrTrueTop(state, top) && isSlabOrTrueValue(state, top ? "top" : "bottom"))) { if (!(checkStairNorth(state) && isStairOrTrueTop(state, top) && isSlabOrTrueValue(state, top ? "top" : "bottom"))) {
break north; break north;
} }
if (!state.getBlockType().getId().toLowerCase(Locale.ROOT).contains("stair")) { if (!state.getBlockType().id().toLowerCase(Locale.ROOT).contains("stair")) {
this.computeSpreadBlockLight(x, y, z - 1, currentLight, queue, visited); this.computeSpreadBlockLight(x, y, z - 1, currentLight, queue, visited);
break north; break north;
} }
@ -707,7 +707,7 @@ public class NMSRelighter implements Relighter {
} }
private boolean checkStairNorth(BlockState state) { private boolean checkStairNorth(BlockState state) {
if (!state.getBlockType().getId().toLowerCase(Locale.ROOT).contains("stair")) { if (!state.getBlockType().id().toLowerCase(Locale.ROOT).contains("stair")) {
return true; return true;
} }
Direction direction = getStairDir(state); Direction direction = getStairDir(state);
@ -725,7 +725,7 @@ public class NMSRelighter implements Relighter {
} }
private boolean checkStairSouth(BlockState state) { private boolean checkStairSouth(BlockState state) {
if (!state.getBlockType().getId().toLowerCase(Locale.ROOT).contains("stair")) { if (!state.getBlockType().id().toLowerCase(Locale.ROOT).contains("stair")) {
return true; return true;
} }
Direction direction = getStairDir(state); Direction direction = getStairDir(state);
@ -743,7 +743,7 @@ public class NMSRelighter implements Relighter {
} }
private boolean checkStairEast(BlockState state) { private boolean checkStairEast(BlockState state) {
if (!state.getBlockType().getId().toLowerCase(Locale.ROOT).contains("stair")) { if (!state.getBlockType().id().toLowerCase(Locale.ROOT).contains("stair")) {
return true; return true;
} }
Direction direction = getStairDir(state); Direction direction = getStairDir(state);
@ -761,7 +761,7 @@ public class NMSRelighter implements Relighter {
} }
private boolean checkStairWest(BlockState state) { private boolean checkStairWest(BlockState state) {
if (!state.getBlockType().getId().toLowerCase(Locale.ROOT).contains("stair")) { if (!state.getBlockType().id().toLowerCase(Locale.ROOT).contains("stair")) {
return true; return true;
} }
Direction direction = getStairDir(state); Direction direction = getStairDir(state);
@ -787,11 +787,11 @@ public class NMSRelighter implements Relighter {
} }
private boolean isStairOrTrueTop(BlockState state, boolean top) { private boolean isStairOrTrueTop(BlockState state, boolean top) {
return !state.getBlockType().getId().contains("stair") || state.getState(stairHalf).equals("top") == top; return !state.getBlockType().id().contains("stair") || state.getState(stairHalf).equals("top") == top;
} }
private boolean isSlabOrTrueValue(BlockState state, String value) { private boolean isSlabOrTrueValue(BlockState state, String value) {
return !state.getBlockType().getId().contains("slab") || state.getState(slabHalf).equals(value); return !state.getBlockType().id().contains("slab") || state.getState(slabHalf).equals(value);
} }
private void computeRemoveBlockLight( private void computeRemoveBlockLight(

Datei anzeigen

@ -236,7 +236,7 @@ public class CavesGen extends GenBase {
BlockState material = chunk.getBlock(bx + local_x, local_y, bz + local_z); BlockState material = chunk.getBlock(bx + local_x, local_y, bz + local_z);
BlockState materialAbove = chunk.getBlock(bx + local_x, local_y + 1, bz + local_z); BlockState materialAbove = chunk.getBlock(bx + local_x, local_y + 1, bz + local_z);
BlockType blockType = material.getBlockType(); BlockType blockType = material.getBlockType();
switch (blockType.getId()) { switch (blockType.id()) {
case "minecraft:mycelium", "minecraft:grass_block" -> grassFound = true; case "minecraft:mycelium", "minecraft:grass_block" -> grassFound = true;
} }
if (this.isSuitableBlock(material, materialAbove)) { if (this.isSuitableBlock(material, materialAbove)) {
@ -277,7 +277,7 @@ public class CavesGen extends GenBase {
} }
protected boolean isSuitableBlock(BlockStateHolder material, BlockStateHolder materialAbove) { protected boolean isSuitableBlock(BlockStateHolder material, BlockStateHolder materialAbove) {
return switch (material.getBlockType().getId()) { return switch (material.getBlockType().id()) {
case "minecraft:air", "minecraft:cave_air", "minecraft:void_air", "minecraft:water", "minecraft:lava", "minecraft:bedrock" -> false; case "minecraft:air", "minecraft:cave_air", "minecraft:void_air", "minecraft:water", "minecraft:lava", "minecraft:bedrock" -> false;
default -> true; default -> true;
}; };

Datei anzeigen

@ -40,7 +40,7 @@ public abstract class ABlockMask extends AbstractExtentMask {
List<BlockState> all = type.getAllStates(); List<BlockState> all = type.getAllStates();
hasAll = all.stream().map(this::test).reduce(true, (a, b) -> a && b); hasAll = all.stream().map(this::test).reduce(true, (a, b) -> a && b);
if (hasAll) { if (hasAll) {
strings.add(type.getId()); strings.add(type.id());
} else { } else {
for (BlockState state : all) { for (BlockState state : all) {
if (test(state)) { if (test(state)) {

Datei anzeigen

@ -183,7 +183,7 @@ public class BlockMaskBuilder {
builders = new ArrayList<>(); builders = new ArrayList<>();
Pattern pattern = Pattern.compile("(minecraft:)?" + regex); Pattern pattern = Pattern.compile("(minecraft:)?" + regex);
for (BlockType type : BlockTypesCache.values) { for (BlockType type : BlockTypesCache.values) {
if (pattern.matcher(type.getId()).find()) { if (pattern.matcher(type.id()).find()) {
blockTypeList.add(type); blockTypeList.add(type);
builders.add(new FuzzyStateAllowingBuilder(type)); builders.add(new FuzzyStateAllowingBuilder(type));
add(type); add(type);
@ -284,7 +284,7 @@ public class BlockMaskBuilder {
} else { } else {
boolean success = false; boolean success = false;
for (BlockType myType : BlockTypesCache.values) { for (BlockType myType : BlockTypesCache.values) {
if (myType.getId().matches("(minecraft:)?" + input)) { if (myType.id().matches("(minecraft:)?" + input)) {
add(myType); add(myType);
success = true; success = true;
} }
@ -571,7 +571,7 @@ public class BlockMaskBuilder {
throw new IllegalArgumentException(String.format( throw new IllegalArgumentException(String.format(
"Property %s cannot be applied to block type %s", "Property %s cannot be applied to block type %s",
property.getName(), property.getName(),
type.getId() type.id()
)); ));
} }
masked.computeIfAbsent(property, k -> new ArrayList<>()).add(index); masked.computeIfAbsent(property, k -> new ArrayList<>()).add(index);

Datei anzeigen

@ -79,7 +79,7 @@ public class TypeSwapPattern extends AbstractExtentPattern {
} }
private BlockState getNewBlock(BlockState existing) { private BlockState getNewBlock(BlockState existing) {
String oldId = existing.getBlockType().getId(); String oldId = existing.getBlockType().id();
String newId = oldId; String newId = oldId;
if (inputPattern != null) { if (inputPattern != null) {
newId = inputPattern.matcher(oldId).replaceAll(outputString); newId = inputPattern.matcher(oldId).replaceAll(outputString);

Datei anzeigen

@ -297,7 +297,7 @@ public abstract class AbstractChangeSet implements ChangeSet, IBatchProcessor {
public void add(BlockChange change) { public void add(BlockChange change) {
try { try {
BlockVector3 loc = change.getPosition(); BlockVector3 loc = change.getPosition();
BaseBlock from = change.getPrevious(); BaseBlock from = change.previous();
BaseBlock to = change.getCurrent(); BaseBlock to = change.getCurrent();
add(loc, from, to); add(loc, from, to);
} catch (Exception e) { } catch (Exception e) {

Datei anzeigen

@ -444,7 +444,7 @@ public class MainUtil {
@Nonnull @Nonnull
public static CompoundTag setEntityInfo(@Nonnull CompoundTag tag, @Nonnull Entity entity) { public static CompoundTag setEntityInfo(@Nonnull CompoundTag tag, @Nonnull Entity entity) {
Map<String, Tag> map = new HashMap<>(tag.getValue()); Map<String, Tag> map = new HashMap<>(tag.getValue());
map.put("Id", new StringTag(entity.getState().getType().getId())); map.put("Id", new StringTag(entity.getState().getType().id()));
ListTag pos = (ListTag) map.get("Pos"); ListTag pos = (ListTag) map.get("Pos");
if (pos != null) { if (pos != null) {
Location loc = entity.getLocation(); Location loc = entity.getLocation();

Datei anzeigen

@ -929,10 +929,10 @@ public class TextureUtil implements TextureHolder {
}.getType(); }.getType();
for (BlockType blockType : BlockTypesCache.values) { for (BlockType blockType : BlockTypesCache.values) {
if (!blockType.getMaterial().isFullCube() || blockType.getId().toLowerCase().contains("shulker")) { if (!blockType.getMaterial().isFullCube() || blockType.id().toLowerCase().contains("shulker")) {
continue; continue;
} }
switch (blockType.getId().toLowerCase(Locale.ROOT)) { switch (blockType.id().toLowerCase(Locale.ROOT)) {
case "slime_block": case "slime_block":
case "honey_block": case "honey_block":
case "mob_spawner": case "mob_spawner":
@ -940,7 +940,7 @@ public class TextureUtil implements TextureHolder {
continue; continue;
} }
int combined = blockType.getInternalId(); int combined = blockType.getInternalId();
String id = blockType.getId(); String id = blockType.id();
String[] split = id.split(":", 2); String[] split = id.split(":", 2);
String name = split.length == 1 ? id : split[1]; String name = split.length == 1 ? id : split[1];
String nameSpace = split.length == 1 ? "" : split[0]; String nameSpace = split.length == 1 ? "" : split[0];

Datei anzeigen

@ -196,7 +196,7 @@ public abstract class LocalConfiguration {
BlockTypes.BEDROCK BlockTypes.BEDROCK
FAWE end*/ FAWE end*/
); );
return blockTypes.stream().filter(Objects::nonNull).map(BlockType::getId).toArray(String[]::new); return blockTypes.stream().filter(Objects::nonNull).map(BlockType::id).toArray(String[]::new);
} }
/** /**
@ -277,7 +277,7 @@ public abstract class LocalConfiguration {
id = Integer.parseInt(splitter[0]); id = Integer.parseInt(splitter[0]);
data = Byte.parseByte(splitter[1]); data = Byte.parseByte(splitter[1]);
} }
item = LegacyMapper.getInstance().getItemFromLegacy(id, data).getId(); item = LegacyMapper.getInstance().getItemFromLegacy(id, data).id();
} catch (Throwable ignored) { } catch (Throwable ignored) {
} }

Datei anzeigen

@ -1899,7 +1899,7 @@ public class LocalSession implements TextureHolder {
*/ */
@Deprecated @Deprecated
public String getWandItem() { public String getWandItem() {
return wandItem.getType().getId(); return wandItem.getType().id();
} }
/** /**
@ -1910,7 +1910,7 @@ public class LocalSession implements TextureHolder {
*/ */
@Deprecated @Deprecated
public String getNavWandItem() { public String getNavWandItem() {
return navWandItem.getType().getId(); return navWandItem.getType().id();
} }
//FAWE start //FAWE start

Datei anzeigen

@ -129,7 +129,7 @@ public class BaseItem implements NbtValued {
} }
} }
return getType().getId() + nbtString; return getType().id() + nbtString;
} }
//FAWE end //FAWE end
} }

Datei anzeigen

@ -98,7 +98,7 @@ public class BiomeCommands {
PaginationBox paginationBox = PaginationBox.fromComponents("Available Biomes", "/biomelist -p %page%", PaginationBox paginationBox = PaginationBox.fromComponents("Available Biomes", "/biomelist -p %page%",
BiomeType.REGISTRY.values().stream() BiomeType.REGISTRY.values().stream()
.map(biomeType -> TextComponent.builder() .map(biomeType -> TextComponent.builder()
.append(biomeType.getId()) .append(biomeType.id())
.append(" (") .append(" (")
.append(biomeRegistry.getRichName(biomeType)) .append(biomeRegistry.getRichName(biomeType))
.append(")") .append(")")
@ -166,7 +166,7 @@ public class BiomeCommands {
List<Component> components = biomes.stream().map(biome -> List<Component> components = biomes.stream().map(biome ->
biomeRegistry.getRichName(biome).hoverEvent( biomeRegistry.getRichName(biome).hoverEvent(
HoverEvent.showText(TextComponent.of(biome.getId())) HoverEvent.showText(TextComponent.of(biome.id()))
) )
).collect(Collectors.toList()); ).collect(Collectors.toList());
actor.print(Caption.of(messageKey, TextUtils.join(components, TextComponent.of(", ")))); actor.print(Caption.of(messageKey, TextUtils.join(components, TextComponent.of(", "))));

Datei anzeigen

@ -349,7 +349,7 @@ public class GeneralCommands {
if (world == null) { if (world == null) {
actor.print(Caption.of("worldedit.world.remove")); actor.print(Caption.of("worldedit.world.remove"));
} else { } else {
actor.print(Caption.of("worldedit.world.set", TextComponent.of(world.getId()))); actor.print(Caption.of("worldedit.world.set", TextComponent.of(world.id())));
} }
} }
@ -641,7 +641,7 @@ public class GeneralCommands {
if (itemsOnly && searchType.hasBlockType()) { if (itemsOnly && searchType.hasBlockType()) {
continue; continue;
} }
final String id = searchType.getId(); final String id = searchType.id();
if (id.contains(idMatch)) { if (id.contains(idMatch)) {
Component name = searchType.getRichName(); Component name = searchType.getRichName();
results.put(id, TextComponent.builder() results.put(id, TextComponent.builder()

Datei anzeigen

@ -79,8 +79,6 @@ import com.sk89q.worldedit.util.formatting.text.format.TextColor;
import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.World;
import com.sk89q.worldedit.world.block.BlockState; import com.sk89q.worldedit.world.block.BlockState;
import com.sk89q.worldedit.world.block.BlockType; import com.sk89q.worldedit.world.block.BlockType;
import com.sk89q.worldedit.world.item.ItemType;
import com.sk89q.worldedit.world.item.ItemTypes;
import com.sk89q.worldedit.world.storage.ChunkStore; import com.sk89q.worldedit.world.storage.ChunkStore;
import org.enginehub.piston.annotation.Command; import org.enginehub.piston.annotation.Command;
import org.enginehub.piston.annotation.CommandContainer; import org.enginehub.piston.annotation.CommandContainer;
@ -841,7 +839,7 @@ public class SelectionCommands {
toolTip = TextComponent.of(state.getAsString()); toolTip = TextComponent.of(state.getAsString());
blockName = blockName.append(TextComponent.of("*")); blockName = blockName.append(TextComponent.of("*"));
} else { } else {
toolTip = TextComponent.of(blockType.getId()); toolTip = TextComponent.of(blockType.id());
} }
blockName = blockName.hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, toolTip)); blockName = blockName.hoverEvent(HoverEvent.of(HoverEvent.Action.SHOW_TEXT, toolTip));
line.append(blockName); line.append(blockName);

Datei anzeigen

@ -65,7 +65,7 @@ public class WorldConverter implements ArgumentConverter<World> {
@Override @Override
public List<String> getSuggestions(String input, InjectedValueAccess context) { public List<String> getSuggestions(String input, InjectedValueAccess context) {
return getWorlds() return getWorlds()
.map(World::getId) .map(World::id)
.filter(world -> world.startsWith(input)) .filter(world -> world.startsWith(input))
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
@ -73,7 +73,7 @@ public class WorldConverter implements ArgumentConverter<World> {
@Override @Override
public ConversionResult<World> convert(String s, InjectedValueAccess injectedValueAccess) { public ConversionResult<World> convert(String s, InjectedValueAccess injectedValueAccess) {
World result = getWorlds() World result = getWorlds()
.filter(world -> world.getId().equals(s)) .filter(world -> world.id().equals(s))
.findAny().orElse(null); .findAny().orElse(null);
return result == null return result == null
? FailedConversion.from(new IllegalArgumentException( ? FailedConversion.from(new IllegalArgumentException(

Datei anzeigen

@ -66,7 +66,7 @@ public class BlockDataCyler implements DoubleActionBlockTool {
if (!config.allowedDataCycleBlocks.isEmpty() if (!config.allowedDataCycleBlocks.isEmpty()
&& !player.hasPermission("worldedit.override.data-cycler") && !player.hasPermission("worldedit.override.data-cycler")
&& !config.allowedDataCycleBlocks.contains(block.getBlockType().getId())) { && !config.allowedDataCycleBlocks.contains(block.getBlockType().id())) {
player.print(Caption.of("worldedit.tool.data-cycler.block-not-permitted")); player.print(Caption.of("worldedit.tool.data-cycler.block-not-permitted"));
return true; return true;
} }

Datei anzeigen

@ -135,42 +135,42 @@ public class DefaultBlockParser extends InputParser<BaseBlock> {
private String woolMapper(String string) { private String woolMapper(String string) {
switch (string.toLowerCase(Locale.ROOT)) { switch (string.toLowerCase(Locale.ROOT)) {
case "white": case "white":
return BlockTypes.WHITE_WOOL.getId(); return BlockTypes.WHITE_WOOL.id();
case "black": case "black":
return BlockTypes.BLACK_WOOL.getId(); return BlockTypes.BLACK_WOOL.id();
case "blue": case "blue":
return BlockTypes.BLUE_WOOL.getId(); return BlockTypes.BLUE_WOOL.id();
case "brown": case "brown":
return BlockTypes.BROWN_WOOL.getId(); return BlockTypes.BROWN_WOOL.id();
case "cyan": case "cyan":
return BlockTypes.CYAN_WOOL.getId(); return BlockTypes.CYAN_WOOL.id();
case "gray": case "gray":
case "grey": case "grey":
return BlockTypes.GRAY_WOOL.getId(); return BlockTypes.GRAY_WOOL.id();
case "green": case "green":
return BlockTypes.GREEN_WOOL.getId(); return BlockTypes.GREEN_WOOL.id();
case "light_blue": case "light_blue":
case "lightblue": case "lightblue":
return BlockTypes.LIGHT_BLUE_WOOL.getId(); return BlockTypes.LIGHT_BLUE_WOOL.id();
case "light_gray": case "light_gray":
case "light_grey": case "light_grey":
case "lightgray": case "lightgray":
case "lightgrey": case "lightgrey":
return BlockTypes.LIGHT_GRAY_WOOL.getId(); return BlockTypes.LIGHT_GRAY_WOOL.id();
case "lime": case "lime":
return BlockTypes.LIME_WOOL.getId(); return BlockTypes.LIME_WOOL.id();
case "magenta": case "magenta":
return BlockTypes.MAGENTA_WOOL.getId(); return BlockTypes.MAGENTA_WOOL.id();
case "orange": case "orange":
return BlockTypes.ORANGE_WOOL.getId(); return BlockTypes.ORANGE_WOOL.id();
case "pink": case "pink":
return BlockTypes.PINK_WOOL.getId(); return BlockTypes.PINK_WOOL.id();
case "purple": case "purple":
return BlockTypes.PURPLE_WOOL.getId(); return BlockTypes.PURPLE_WOOL.id();
case "yellow": case "yellow":
return BlockTypes.YELLOW_WOOL.getId(); return BlockTypes.YELLOW_WOOL.id();
case "red": case "red":
return BlockTypes.RED_WOOL.getId(); return BlockTypes.RED_WOOL.id();
default: default:
return string; return string;
} }
@ -194,7 +194,7 @@ public class DefaultBlockParser extends InputParser<BaseBlock> {
if (input.indexOf('[') == -1 && input.indexOf(']') == -1) { if (input.indexOf('[') == -1 && input.indexOf(']') == -1) {
continue; continue;
} }
if (!type.getId().equalsIgnoreCase(input.substring(0, input.indexOf('[')))) { if (!type.id().equalsIgnoreCase(input.substring(0, input.indexOf('[')))) {
continue; continue;
} }
String[] properties = input.substring(input.indexOf('[') + 1, input.indexOf(']')).split(","); String[] properties = input.substring(input.indexOf('[') + 1, input.indexOf(']')).split(",");
@ -249,10 +249,10 @@ public class DefaultBlockParser extends InputParser<BaseBlock> {
throw new NoMatchException(Caption.of( throw new NoMatchException(Caption.of(
"worldedit.error.parser.unknown-property", "worldedit.error.parser.unknown-property",
TextComponent.of(parts[0]), TextComponent.of(parts[0]),
TextComponent.of(type.getId()) TextComponent.of(type.id())
)); ));
} else { } else {
WorldEdit.logger.debug("Unknown property " + parts[0] + " for block " + type.getId()); WorldEdit.logger.debug("Unknown property " + parts[0] + " for block " + type.id());
} }
return Maps.newHashMap(); return Maps.newHashMap();
} }
@ -516,20 +516,20 @@ public class DefaultBlockParser extends InputParser<BaseBlock> {
//FAWE start - per-limit disallowed blocks //FAWE start - per-limit disallowed blocks
if (actor != null) { if (actor != null) {
if (!actor.hasPermission("worldedit.anyblock") if (!actor.hasPermission("worldedit.anyblock")
&& worldEdit.getConfiguration().disallowedBlocks.contains(blockType.getId().toLowerCase(Locale.ROOT))) { && worldEdit.getConfiguration().disallowedBlocks.contains(blockType.id().toLowerCase(Locale.ROOT))) {
throw new DisallowedUsageException(Caption.of( throw new DisallowedUsageException(Caption.of(
"worldedit.error.disallowed-block", "worldedit.error.disallowed-block",
TextComponent.of(blockType.getId()) TextComponent.of(blockType.id())
)); ));
} }
FaweLimit limit = actor.getLimit(); FaweLimit limit = actor.getLimit();
if (!limit.isUnlimited()) { if (!limit.isUnlimited()) {
// No need to account for blocked states/properties as it will simply return false in the equality check // No need to account for blocked states/properties as it will simply return false in the equality check
// during contains. // during contains.
if (limit.DISALLOWED_BLOCKS.contains(blockType.getId().toLowerCase(Locale.ROOT))) { if (limit.DISALLOWED_BLOCKS.contains(blockType.id().toLowerCase(Locale.ROOT))) {
throw new DisallowedUsageException(Caption.of( throw new DisallowedUsageException(Caption.of(
"fawe.error.limit.disallowed-block", "fawe.error.limit.disallowed-block",
TextComponent.of(blockType.getId()) TextComponent.of(blockType.id())
)); ));
} }
} }
@ -559,14 +559,14 @@ public class DefaultBlockParser extends InputParser<BaseBlock> {
if (ent == null) { if (ent == null) {
throw new NoMatchException(Caption.of("worldedit.error.unknown-entity", TextComponent.of(mobName))); throw new NoMatchException(Caption.of("worldedit.error.unknown-entity", TextComponent.of(mobName)));
} }
mobName = ent.getId(); mobName = ent.id();
if (!worldEdit.getPlatformManager().queryCapability(Capability.USER_COMMANDS).isValidMobType(mobName)) { if (!worldEdit.getPlatformManager().queryCapability(Capability.USER_COMMANDS).isValidMobType(mobName)) {
throw new NoMatchException(Caption.of("worldedit.error.unknown-mob", TextComponent.of(mobName))); throw new NoMatchException(Caption.of("worldedit.error.unknown-mob", TextComponent.of(mobName)));
} }
return validate(context, new MobSpawnerBlock(state, mobName)); return validate(context, new MobSpawnerBlock(state, mobName));
} else { } else {
//noinspection ConstantConditions //noinspection ConstantConditions
return validate(context, new MobSpawnerBlock(state, EntityTypes.PIG.getId())); return validate(context, new MobSpawnerBlock(state, EntityTypes.PIG.id()));
} }
} else if (blockType == BlockTypes.PLAYER_HEAD || blockType == BlockTypes.PLAYER_WALL_HEAD) { } else if (blockType == BlockTypes.PLAYER_HEAD || blockType == BlockTypes.PLAYER_WALL_HEAD) {
// allow setting type/player/rotation // allow setting type/player/rotation

Datei anzeigen

@ -71,7 +71,7 @@ public class BlockCategoryPatternParser extends InputParser<Pattern> implements
Set<BlockType> blocks = category.getAll(); Set<BlockType> blocks = category.getAll();
if (blocks.isEmpty()) { if (blocks.isEmpty()) {
throw new InputParseException(Caption.of("worldedit.error.empty-tag", TextComponent.of(category.getId()))); throw new InputParseException(Caption.of("worldedit.error.empty-tag", TextComponent.of(category.id())));
} }
if (anyState) { if (anyState) {

Datei anzeigen

@ -233,7 +233,7 @@ public interface Platform extends Keyed {
*/ */
@NonAbstractForCompatibility(delegateName = "getPlatformName", delegateParams = {}) @NonAbstractForCompatibility(delegateName = "getPlatformName", delegateParams = {})
@Override @Override
default String getId() { default String id() {
return "legacy:" + getPlatformName().toLowerCase(Locale.ROOT).replaceAll("[^a-z_.-]", "_"); return "legacy:" + getPlatformName().toLowerCase(Locale.ROOT).replaceAll("[^a-z_.-]", "_");
} }

Datei anzeigen

@ -423,7 +423,7 @@ public interface Clipboard extends Extent, Iterable<BlockVector3>, Closeable, Fl
if (pasteEntities) { if (pasteEntities) {
for (Entity entity : this.getEntities()) { for (Entity entity : this.getEntities()) {
// skip players on pasting schematic // skip players on pasting schematic
if (entity.getState() != null && entity.getState().getType().getId() if (entity.getState() != null && entity.getState().getType().id()
.equals("minecraft:player")) { .equals("minecraft:player")) {
continue; continue;
} }

Datei anzeigen

@ -84,7 +84,7 @@ public class FlowerPotCompatibilityHandler implements NBTCompatibilityHandler {
} else { } else {
BlockState plantedWithData = LegacyMapper.getInstance().getBlockFromLegacy(newId, data); BlockState plantedWithData = LegacyMapper.getInstance().getBlockFromLegacy(newId, data);
if (plantedWithData != null) { if (plantedWithData != null) {
plantedName = plantedWithData.getBlockType().getId().substring(10); // remove "minecraft:" plantedName = plantedWithData.getBlockType().id().substring(10); // remove "minecraft:"
} }
} }
if (plantedName != null) { if (plantedName != null) {

Datei anzeigen

@ -29,7 +29,7 @@ public class Pre13HangingCompatibilityHandler implements EntityNBTCompatibilityH
@Override @Override
public boolean isAffectedEntity(EntityType type, CompoundTag tag) { public boolean isAffectedEntity(EntityType type, CompoundTag tag) {
if (!type.getId().startsWith("minecraft:")) { if (!type.id().startsWith("minecraft:")) {
return false; return false;
} }
boolean hasLegacyDirection = tag.containsKey("Dir") || tag.containsKey("Direction"); boolean hasLegacyDirection = tag.containsKey("Dir") || tag.containsKey("Direction");

Datei anzeigen

@ -243,7 +243,7 @@ public class SpongeSchematicV2Writer implements ClipboardWriter {
BlockVector3 pt = BlockVector3.at(x0, min.y(), z0); BlockVector3 pt = BlockVector3.at(x0, min.y(), z0);
BiomeType biome = clipboard.getBiome(pt); BiomeType biome = clipboard.getBiome(pt);
String biomeKey = biome.getId(); String biomeKey = biome.id();
int biomeId; int biomeId;
if (palette.containsKey(biomeKey)) { if (palette.containsKey(biomeKey)) {
biomeId = palette.get(biomeKey); biomeId = palette.get(biomeKey);

Datei anzeigen

@ -441,7 +441,7 @@ public class BlockTransformExtent extends ResettableExtent {
if (Settings.settings().ENABLED_COMPONENTS.DEBUG) { if (Settings.settings().ENABLED_COMPONENTS.DEBUG) {
LOGGER.warn(String.format( LOGGER.warn(String.format(
"Index outside direction array length found for block:{%s} property:{%s}", "Index outside direction array length found for block:{%s} property:{%s}",
state.getBlockType().getId(), state.getBlockType().id(),
property.getName() property.getName()
)); ));
} }

Datei anzeigen

@ -116,7 +116,7 @@ public class SnowSimulator implements LayerFunction {
if (!above.getBlockType().getMaterial().isAir() && (!stack || above.getBlockType() != BlockTypes.SNOW)) { if (!above.getBlockType().getMaterial().isAir() && (!stack || above.getBlockType() != BlockTypes.SNOW)) {
return false; return false;
//FAWE start //FAWE start
} else if (!block.getBlockType().getId().toLowerCase(Locale.ROOT).contains("ice") && this.extent.getEmittedLight( } else if (!block.getBlockType().id().toLowerCase(Locale.ROOT).contains("ice") && this.extent.getEmittedLight(
abovePosition) > 10) { abovePosition) > 10) {
return false; return false;
} else if (!block.getBlockType().getMaterial().isFullCube()) { } else if (!block.getBlockType().getMaterial().isFullCube()) {
@ -132,7 +132,7 @@ public class SnowSimulator implements LayerFunction {
return false; return false;
} }
//FAWE end //FAWE end
} else if (!block.getBlockType().getId().toLowerCase(Locale.ROOT).contains("ice") && block } else if (!block.getBlockType().id().toLowerCase(Locale.ROOT).contains("ice") && block
.getBlockType() .getBlockType()
.getMaterial() .getMaterial()
.isTranslucent()) { .isTranslucent()) {

Datei anzeigen

@ -56,7 +56,7 @@ public class BlockOptimizedHistory extends ArrayListHistory {
BlockChange blockChange = (BlockChange) change; BlockChange blockChange = (BlockChange) change;
BlockVector3 position = blockChange.getPosition(); BlockVector3 position = blockChange.getPosition();
if (!previous.containsLocation(position)) { if (!previous.containsLocation(position)) {
previous.add(position, blockChange.getPrevious()); previous.add(position, blockChange.previous());
} }
current.add(position, blockChange.getCurrent()); current.add(position, blockChange.getCurrent());
} else { } else {

Datei anzeigen

@ -165,7 +165,7 @@ public class ServerCUIHandler {
structureTag.putString("mode", "SAVE"); structureTag.putString("mode", "SAVE");
structureTag.putByte("ignoreEntities", (byte) 1); structureTag.putByte("ignoreEntities", (byte) 1);
structureTag.putByte("showboundingbox", (byte) 1); structureTag.putByte("showboundingbox", (byte) 1);
structureTag.putString("id", BlockTypes.STRUCTURE_BLOCK.getId()); structureTag.putString("id", BlockTypes.STRUCTURE_BLOCK.id());
return BlockTypes.STRUCTURE_BLOCK.getDefaultState().toBaseBlock(structureTag.build()); return BlockTypes.STRUCTURE_BLOCK.getDefaultState().toBaseBlock(structureTag.build());
//FAWE end //FAWE end

Datei anzeigen

@ -25,7 +25,7 @@ import java.util.HashSet;
import java.util.Set; import java.util.Set;
//FAWE start - implements RegistryItem //FAWE start - implements RegistryItem
public abstract class Category<T extends Keyed> implements RegistryItem { public abstract class Category<T extends Keyed> implements RegistryItem, Keyed {
//FAWE end //FAWE end
private final Set<T> set = new HashSet<>(); private final Set<T> set = new HashSet<>();
@ -36,7 +36,8 @@ public abstract class Category<T extends Keyed> implements RegistryItem {
this.id = id; this.id = id;
} }
public final String getId() { @Override
public final String id() {
return this.id; return this.id;
} }
@ -81,7 +82,7 @@ public abstract class Category<T extends Keyed> implements RegistryItem {
@Override @Override
public String toString() { public String toString() {
return getId(); return id();
} }
} }

Datei anzeigen

@ -114,7 +114,7 @@ public class PropertiesConfiguration extends LocalConfiguration {
registerHelp = getBool("register-help", registerHelp); registerHelp = getBool("register-help", registerHelp);
wandItem = getString("wand-item", wandItem); wandItem = getString("wand-item", wandItem);
try { try {
wandItem = LegacyMapper.getInstance().getItemFromLegacy(Integer.parseInt(wandItem)).getId(); wandItem = LegacyMapper.getInstance().getItemFromLegacy(Integer.parseInt(wandItem)).id();
} catch (Throwable ignored) { } catch (Throwable ignored) {
} }
superPickaxeDrop = getBool("super-pickaxe-drop-items", superPickaxeDrop); superPickaxeDrop = getBool("super-pickaxe-drop-items", superPickaxeDrop);
@ -124,7 +124,7 @@ public class PropertiesConfiguration extends LocalConfiguration {
useInventoryCreativeOverride = getBool("use-inventory-creative-override", useInventoryCreativeOverride); useInventoryCreativeOverride = getBool("use-inventory-creative-override", useInventoryCreativeOverride);
navigationWand = getString("nav-wand-item", navigationWand); navigationWand = getString("nav-wand-item", navigationWand);
try { try {
navigationWand = LegacyMapper.getInstance().getItemFromLegacy(Integer.parseInt(navigationWand)).getId(); navigationWand = LegacyMapper.getInstance().getItemFromLegacy(Integer.parseInt(navigationWand)).id();
} catch (Throwable ignored) { } catch (Throwable ignored) {
} }
navigationWandMaxDistance = getInt("nav-wand-distance", navigationWandMaxDistance); navigationWandMaxDistance = getInt("nav-wand-distance", navigationWandMaxDistance);

Datei anzeigen

@ -78,7 +78,7 @@ public class NullWorld extends AbstractWorld {
//FAWE end //FAWE end
@Override @Override
public String getId() { public String id() {
return "null"; return "null";
} }

Datei anzeigen

@ -419,7 +419,7 @@ public interface World extends Extent, Keyed, IChunkCache<IChunkGet> {
} }
@Override @Override
default String getId() { default String id() {
return getName().replace(" ", "_").toLowerCase(Locale.ROOT); return getName().replace(" ", "_").toLowerCase(Locale.ROOT);
} }

Datei anzeigen

@ -291,7 +291,7 @@ public final class BiomeTypes {
} }
public static BiomeType register(final BiomeType biome) { public static BiomeType register(final BiomeType biome) {
return BiomeType.REGISTRY.register(biome.getId(), biome); return BiomeType.REGISTRY.register(biome.id(), biome);
} }
public static BiomeType getLegacy(int legacyId) { public static BiomeType getLegacy(int legacyId) {

Datei anzeigen

@ -154,7 +154,7 @@ public class BlockState implements BlockStateHolder<BlockState>, Pattern {
String input = key.toString(); String input = key.toString();
throw new SuggestInputParseException(Caption.of("fawe.error.invalid-block-type", TextComponent.of(input)), () -> Stream.of( throw new SuggestInputParseException(Caption.of("fawe.error.invalid-block-type", TextComponent.of(input)), () -> Stream.of(
BlockTypesCache.values) BlockTypesCache.values)
.map(BlockType::getId) .map(BlockType::id)
.filter(id -> StringMan.blockStateMatches(input, id)) .filter(id -> StringMan.blockStateMatches(input, id))
.sorted(StringMan.blockStateComparator(input)) .sorted(StringMan.blockStateComparator(input))
.collect(Collectors.toList()) .collect(Collectors.toList())

Datei anzeigen

@ -204,14 +204,14 @@ public interface BlockStateHolder<B extends BlockStateHolder<B>> extends TileEnt
default String getAsString() { default String getAsString() {
if (getStates().isEmpty()) { if (getStates().isEmpty()) {
return this.getBlockType().getId(); return this.getBlockType().id();
} else { } else {
String properties = getStates().entrySet().stream() String properties = getStates().entrySet().stream()
.map(entry -> entry.getKey().getName() .map(entry -> entry.getKey().getName()
+ "=" + "="
+ entry.getValue().toString().toLowerCase(Locale.ROOT)) + entry.getValue().toString().toLowerCase(Locale.ROOT))
.collect(Collectors.joining(",")); .collect(Collectors.joining(","));
return this.getBlockType().getId() + "[" + properties + "]"; return this.getBlockType().id() + "[" + properties + "]";
} }
} }

Datei anzeigen

@ -124,7 +124,7 @@ public class BlockType implements Keyed, Pattern {
* @return The id * @return The id
*/ */
@Override @Override
public String getId() { public String id() {
return this.id; return this.id;
} }
@ -135,13 +135,13 @@ public class BlockType implements Keyed, Pattern {
//FAWE start //FAWE start
public String getNamespace() { public String getNamespace() {
String id = getId(); String id = id();
int i = id.indexOf(':'); int i = id.indexOf(':');
return i == -1 ? "minecraft" : id.substring(0, i); return i == -1 ? "minecraft" : id.substring(0, i);
} }
public String getResource() { public String getResource() {
String id = getId(); String id = id();
return id.substring(id.indexOf(':') + 1); return id.substring(id.indexOf(':') + 1);
} }
//FAWE end //FAWE end
@ -156,7 +156,7 @@ public class BlockType implements Keyed, Pattern {
public String getName() { public String getName() {
String name = this.name.getValue(); String name = this.name.getValue();
if (name == null || name.isEmpty()) { if (name == null || name.isEmpty()) {
return getId(); return id();
} }
return name; return name;
} }
@ -180,7 +180,7 @@ public class BlockType implements Keyed, Pattern {
LOGGER.error( LOGGER.error(
"Attempted to load blockstate with id {} of type {} outside of state ordinals length. Using default state.", "Attempted to load blockstate with id {} of type {} outside of state ordinals length. Using default state.",
propertyId, propertyId,
getId() id()
); );
return settings.defaultState; return settings.defaultState;
} }
@ -189,7 +189,7 @@ public class BlockType implements Keyed, Pattern {
LOGGER.error( LOGGER.error(
"Attempted to load blockstate with ordinal {} of type {} outside of states length. Using default state. Using default state.", "Attempted to load blockstate with ordinal {} of type {} outside of states length. Using default state. Using default state.",
ordinal, ordinal,
getId() id()
); );
return settings.defaultState; return settings.defaultState;
} }
@ -405,7 +405,7 @@ public class BlockType implements Keyed, Pattern {
@Override @Override
public String toString() { public String toString() {
return getId(); return id();
} }
//FAWE start //FAWE start

Datei anzeigen

@ -2235,8 +2235,8 @@ public final class BlockTypes {
throw new SuggestInputParseException(Caption.of("fawe.error.invalid-block-type", TextComponent.of(input)), () -> Stream.of( throw new SuggestInputParseException(Caption.of("fawe.error.invalid-block-type", TextComponent.of(input)), () -> Stream.of(
BlockTypesCache.values) BlockTypesCache.values)
.filter(b -> StringMan.blockStateMatches(inputLower, b.getId())) .filter(b -> StringMan.blockStateMatches(inputLower, b.id()))
.map(BlockType::getId) .map(BlockType::id)
.sorted(StringMan.blockStateComparator(inputLower)) .sorted(StringMan.blockStateComparator(inputLower))
.collect(Collectors.toList()) .collect(Collectors.toList())
); );

Datei anzeigen

@ -125,7 +125,7 @@ public class AnvilChunk13 implements Chunk {
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {
throw new InvalidFormatException("Invalid block state for " + blockState throw new InvalidFormatException("Invalid block state for " + blockState
.getBlockType() .getBlockType()
.getId() + ", " + property.getName() + ": " + value); .id() + ", " + property.getName() + ": " + value);
} }
} }
} }

Datei anzeigen

@ -133,7 +133,7 @@ public class AnvilChunk17 implements Chunk {
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {
throw new InvalidFormatException("Invalid block state for " + blockState throw new InvalidFormatException("Invalid block state for " + blockState
.getBlockType() .getBlockType()
.getId() + ", " + property.getName() + ": " + value); .id() + ", " + property.getName() + ": " + value);
} }
} }
} }

Datei anzeigen

@ -146,7 +146,7 @@ public class AnvilChunk18 implements Chunk {
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {
throw new InvalidFormatException("Invalid block state for " + blockState throw new InvalidFormatException("Invalid block state for " + blockState
.getBlockType() .getBlockType()
.getId() + ", " + property.getName() + ": " + value); .id() + ", " + property.getName() + ": " + value);
} }
} }
} }

Datei anzeigen

@ -37,7 +37,7 @@ public final class FluidCategories {
} }
public static FluidCategory register(final FluidCategory tag) { public static FluidCategory register(final FluidCategory tag) {
return FluidCategory.REGISTRY.register(tag.getId(), tag); return FluidCategory.REGISTRY.register(tag.id(), tag);
} }
@Nullable @Nullable

Datei anzeigen

@ -40,7 +40,7 @@ public final class FluidTypes {
} }
public static FluidType register(final FluidType fluid) { public static FluidType register(final FluidType fluid) {
return FluidType.REGISTRY.register(fluid.getId(), fluid); return FluidType.REGISTRY.register(fluid.id(), fluid);
} }
@Nullable @Nullable

Datei anzeigen

@ -36,7 +36,7 @@ public final class GameModes {
} }
public static GameMode register(final GameMode gameMode) { public static GameMode register(final GameMode gameMode) {
return GameMode.REGISTRY.register(gameMode.getId(), gameMode); return GameMode.REGISTRY.register(gameMode.id(), gameMode);
} }
@Nullable @Nullable

Datei anzeigen

@ -49,7 +49,7 @@ public class ItemType implements RegistryItem, Keyed {
.getRegistries().getItemRegistry().getName(this), .getRegistries().getItemRegistry().getName(this),
"" ""
); );
return name.isEmpty() ? getId() : name; return name.isEmpty() ? id() : name;
}); });
@SuppressWarnings("this-escape") @SuppressWarnings("this-escape")
private transient final LazyReference<Component> richName = LazyReference.from(() -> private transient final LazyReference<Component> richName = LazyReference.from(() ->
@ -76,7 +76,7 @@ public class ItemType implements RegistryItem, Keyed {
} }
@Override @Override
public String getId() { public String id() {
return this.id; return this.id;
} }
@ -153,7 +153,7 @@ public class ItemType implements RegistryItem, Keyed {
@Override @Override
public String toString() { public String toString() {
return getId(); return id();
} }
@Override @Override

Datei anzeigen

@ -41,7 +41,7 @@ public class BundledBlockRegistry implements BlockRegistry {
@Override @Override
public Component getRichName(BlockType blockType) { public Component getRichName(BlockType blockType) {
BundledBlockData.BlockEntry blockEntry = BundledBlockData.getInstance().findById(blockType.getId()); BundledBlockData.BlockEntry blockEntry = BundledBlockData.getInstance().findById(blockType.id());
if (blockEntry != null) { if (blockEntry != null) {
// This is more likely to be "right", but not translated // This is more likely to be "right", but not translated
// Some vanilla MC blocks have overrides so we need this name here // Some vanilla MC blocks have overrides so we need this name here
@ -50,7 +50,7 @@ public class BundledBlockRegistry implements BlockRegistry {
return TextComponent.of(blockEntry.localizedName); return TextComponent.of(blockEntry.localizedName);
} }
return Caption.of( return Caption.of(
TranslationManager.makeTranslationKey("block", blockType.getId()) TranslationManager.makeTranslationKey("block", blockType.id())
); );
} }
@ -60,14 +60,14 @@ public class BundledBlockRegistry implements BlockRegistry {
// dumb_intellij.jpg - Ok?? // dumb_intellij.jpg - Ok??
@SuppressWarnings("deprecation") @SuppressWarnings("deprecation")
public String getName(BlockType blockType) { public String getName(BlockType blockType) {
BundledBlockData.BlockEntry blockEntry = BundledBlockData.getInstance().findById(blockType.getId()); BundledBlockData.BlockEntry blockEntry = BundledBlockData.getInstance().findById(blockType.id());
return blockEntry != null ? blockEntry.localizedName : null; return blockEntry != null ? blockEntry.localizedName : null;
} }
@Nullable @Nullable
@Override @Override
public BlockMaterial getMaterial(BlockType blockType) { public BlockMaterial getMaterial(BlockType blockType) {
return new PassthroughBlockMaterial(BundledBlockData.getInstance().getMaterialById(blockType.getId())); return new PassthroughBlockMaterial(BundledBlockData.getInstance().getMaterialById(blockType.id()));
} }
@Nullable @Nullable

Datei anzeigen

@ -34,7 +34,7 @@ import javax.annotation.Nullable;
public class BundledItemRegistry implements ItemRegistry { public class BundledItemRegistry implements ItemRegistry {
private BundledItemData.ItemEntry getEntryById(ItemType itemType) { private BundledItemData.ItemEntry getEntryById(ItemType itemType) {
return BundledItemData.getInstance().findById(itemType.getId()); return BundledItemData.getInstance().findById(itemType.id());
} }
@Override @Override
@ -48,7 +48,7 @@ public class BundledItemRegistry implements ItemRegistry {
return TextComponent.of(itemEntry.localizedName); return TextComponent.of(itemEntry.localizedName);
} }
return Caption.of( return Caption.of(
TranslationManager.makeTranslationKey("item", itemType.getId()) TranslationManager.makeTranslationKey("item", itemType.id())
); );
} }
@ -62,7 +62,7 @@ public class BundledItemRegistry implements ItemRegistry {
if (itemEntry != null) { if (itemEntry != null) {
String localized = itemEntry.localizedName; String localized = itemEntry.localizedName;
if (localized.equals("Air")) { if (localized.equals("Air")) {
String id = itemType.getId(); String id = itemType.id();
int c = id.indexOf(':'); int c = id.indexOf(':');
return c < 0 ? id : id.substring(c + 1); return c < 0 ? id : id.substring(c + 1);
} }
@ -74,7 +74,7 @@ public class BundledItemRegistry implements ItemRegistry {
@Nullable @Nullable
@Override @Override
public ItemMaterial getMaterial(ItemType itemType) { public ItemMaterial getMaterial(ItemType itemType) {
return new PassthroughItemMaterial(BundledItemData.getInstance().getMaterialById(itemType.getId())); return new PassthroughItemMaterial(BundledItemData.getInstance().getMaterialById(itemType.id()));
} }
} }

Datei anzeigen

@ -38,7 +38,7 @@ public interface CategoryRegistry<T extends Keyed> {
Set<T> getCategorisedByName(String category); Set<T> getCategorisedByName(String category);
default Set<T> getAll(final Category<T> category) { default Set<T> getAll(final Category<T> category) {
return getCategorisedByName(category.getId()); return getCategorisedByName(category.id());
} }
} }

Datei anzeigen

@ -41,7 +41,7 @@ public class NullBiomeRegistry implements BiomeRegistry {
@Override @Override
public Component getRichName(BiomeType biomeType) { public Component getRichName(BiomeType biomeType) {
return Caption.of( return Caption.of(
TranslationManager.makeTranslationKey("biome", biomeType.getId()) TranslationManager.makeTranslationKey("biome", biomeType.id())
); );
} }

Datei anzeigen

@ -35,7 +35,7 @@ public final class WeatherTypes {
} }
public static WeatherType register(WeatherType weather) { public static WeatherType register(WeatherType weather) {
return WeatherType.REGISTRY.register(weather.getId(), weather); return WeatherType.REGISTRY.register(weather.id(), weather);
} }
@Nullable @Nullable