Hotfix ShieldPrinting pasting AIR, it should not
All checks were successful
SteamWarCI Build successful

This commit is contained in:
2025-03-08 18:34:22 +01:00
parent 17eaefe3d0
commit 82723e4c31

View File

@ -160,6 +160,11 @@ public class ShieldPrinting implements Listener {
private void paste(Map<Material, BlockDataConfiguration<?>[]> stateConfiguration) {
for (Map.Entry<Vector, BlockData> entry : shieldData.entrySet()) {
BlockData copied = entry.getValue();
if (copied.getMaterial().isAir()) {
continue;
}
Block block = entry.getKey().toLocation(WORLD).getBlock();
if (entry.getValue().getMaterial() != block.getType()) {
block.setBlockData(entry.getValue(), false);
@ -170,19 +175,12 @@ public class ShieldPrinting implements Listener {
}
BlockDataConfiguration[] stateConfigurations = stateConfiguration.get(entry.getValue().getMaterial());
BlockData copied = entry.getValue();
if (stateConfigurations == null) {
if (!copied.getMaterial().isAir()) {
block.setBlockData(copied, false);
}
continue;
}
BlockData worldOriginal = block.getBlockData();
copied = copied.clone();
if (copied.getMaterial().isAir()) {
continue;
}
for (BlockDataConfiguration blockDataConfiguration : stateConfigurations) {
if (blockDataConfiguration == null) continue;
blockDataConfiguration.apply(copied, worldOriginal);