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