From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jake Potrebic Date: Sat, 16 Oct 2021 22:57:31 -0700 Subject: [PATCH] Add missing block data API General purpose patch adding missing getters/setters to BlockData and its child types. Co-authored-by: SoSeDiK Co-authored-by: Fabrizio La Rosa diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftBed.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftBed.java index 2ccf3fbe3f991b7a014cff3bcd424e6a81bc310a..e5450d3511389bf3bd6461fb6ec65ea82e4ae9f0 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftBed.java +++ b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftBed.java @@ -51,4 +51,11 @@ public final class CraftBed extends org.bukkit.craftbukkit.block.data.CraftBlock public java.util.Set getFaces() { return this.getValues(CraftBed.FACING, org.bukkit.block.BlockFace.class); } + + // Paper start + @Override + public void setOccupied(boolean occupied) { + set(CraftBed.OCCUPIED, occupied); + } + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCandle.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCandle.java index 2230160d5e04e979467a56346600436c1e5dd70c..08436bfeba2f35fb11b16c4f71f76e13c0d44b1a 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCandle.java +++ b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCandle.java @@ -31,6 +31,12 @@ public final class CraftCandle extends org.bukkit.craftbukkit.block.data.CraftBl public int getMaximumCandles() { return getMax(CraftCandle.CANDLES); } + // Paper start + @Override + public int getMinimumCandles() { + return getMin(CraftCandle.CANDLES); + } + // Paper end // org.bukkit.craftbukkit.block.data.CraftLightable diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCherryLeaves.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCherryLeaves.java index af29ff861eb2c504ef31cc3236adf1e7f6b46049..bc32c5d4c7568ed4392e4bdb5872066846aa62b6 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCherryLeaves.java +++ b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCherryLeaves.java @@ -51,4 +51,16 @@ public final class CraftCherryLeaves extends org.bukkit.craftbukkit.block.data.C public void setWaterlogged(boolean waterlogged) { this.set(CraftCherryLeaves.WATERLOGGED, waterlogged); } + + // Paper start + @Override + public int getMaximumDistance() { + return getMax(DISTANCE); + } + + @Override + public int getMinimumDistance() { + return getMin(DISTANCE); + } + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftComposter.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftComposter.java index 7ce2e8b733bcd496dcfccb1ddfcb7c5c1b64052e..5ae27fc8f9d18bae949d335ea53e7e70917f0e80 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftComposter.java +++ b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftComposter.java @@ -31,4 +31,11 @@ public final class CraftComposter extends org.bukkit.craftbukkit.block.data.Craf public int getMaximumLevel() { return getMax(CraftComposter.LEVEL); } + + // Paper start + @Override + public int getMinimumLevel() { + return getMin(CraftComposter.LEVEL); + } + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftDecoratedPot.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftDecoratedPot.java index 356230b9b266974e36d0508f8c239714d673504d..b7ea9a6fba6b4fc157dfcc4bee099871b8ad7380 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftDecoratedPot.java +++ b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftDecoratedPot.java @@ -45,4 +45,18 @@ public final class CraftDecoratedPot extends org.bukkit.craftbukkit.block.data.C public void setWaterlogged(boolean waterlogged) { this.set(CraftDecoratedPot.WATERLOGGED, waterlogged); } + + // Paper start - add missing block data api + private static final net.minecraft.world.level.block.state.properties.BooleanProperty CRACKED = getBoolean(net.minecraft.world.level.block.DecoratedPotBlock.class, "cracked"); + + @Override + public boolean isCracked() { + return this.get(CraftDecoratedPot.CRACKED); + } + + @Override + public void setCracked(final boolean cracked) { + this.set(CraftDecoratedPot.CRACKED, cracked); + } + // Paper end - add missing block data api } diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftFluids.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftFluids.java index 70d734fc71a4499bbf569b3908aa5fbbdf19e6a0..1af5fe48c5861077555e6bdeb6312859b7b37eb2 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftFluids.java +++ b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftFluids.java @@ -31,4 +31,11 @@ public final class CraftFluids extends org.bukkit.craftbukkit.block.data.CraftBl public int getMaximumLevel() { return getMax(CraftFluids.LEVEL); } + + // Paper start + @Override + public int getMinimumLevel() { + return getMin(CraftFluids.LEVEL); + } + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftLayeredCauldron.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftLayeredCauldron.java index bf0d53f65f8a672c385b2e798b109a9662725f9e..c0e0cbceb0b5c36f4ac4672f217027a5898900a6 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftLayeredCauldron.java +++ b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftLayeredCauldron.java @@ -31,4 +31,11 @@ public final class CraftLayeredCauldron extends org.bukkit.craftbukkit.block.dat public int getMaximumLevel() { return getMax(CraftLayeredCauldron.LEVEL); } + + // Paper start + @Override + public int getMinimumLevel() { + return getMin(CraftLayeredCauldron.LEVEL); + } + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftLeaves.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftLeaves.java index 33d9a950ed678595fe2573e9f89a8d1716040503..ab336b400c1937ff86b681b27b1550e4b7f1ab79 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftLeaves.java +++ b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftLeaves.java @@ -51,4 +51,16 @@ public final class CraftLeaves extends org.bukkit.craftbukkit.block.data.CraftBl public void setWaterlogged(boolean waterlogged) { this.set(CraftLeaves.WATERLOGGED, waterlogged); } + + // Paper start + @Override + public int getMaximumDistance() { + return getMax(CraftLeaves.DISTANCE); + } + + @Override + public int getMinimumDistance() { + return getMin(CraftLeaves.DISTANCE); + } + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftLight.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftLight.java index 49f314b1447212a1a5a7623d2302b5960a44ce6e..8c936a95effa84ba0337d2aaf880cc561591fb33 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftLight.java +++ b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftLight.java @@ -32,6 +32,13 @@ public final class CraftLight extends org.bukkit.craftbukkit.block.data.CraftBlo return getMax(CraftLight.LEVEL); } + // Paper start + @Override + public int getMinimumLevel() { + return getMin(CraftLight.LEVEL); + } + // Paper end + // org.bukkit.craftbukkit.block.data.CraftWaterlogged private static final net.minecraft.world.level.block.state.properties.BooleanProperty WATERLOGGED = getBoolean(net.minecraft.world.level.block.LightBlock.class, "waterlogged"); diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftMangroveLeaves.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftMangroveLeaves.java index 7a1f2fd2f7f8f1b46352fe2c4d0cdf23a88020fd..8b621aaeadcf2cc6e2ccdbab92f4ae2b89a6ca08 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftMangroveLeaves.java +++ b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftMangroveLeaves.java @@ -51,4 +51,16 @@ public final class CraftMangroveLeaves extends org.bukkit.craftbukkit.block.data public void setWaterlogged(boolean waterlogged) { this.set(CraftMangroveLeaves.WATERLOGGED, waterlogged); } + + // Paper start + @Override + public int getMinimumDistance() { + return getMin(CraftMangroveLeaves.DISTANCE); + } + + @Override + public int getMaximumDistance() { + return getMax(CraftMangroveLeaves.DISTANCE); + } + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftPinkPetals.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftPinkPetals.java index 78b220a6f460cd91ad1574c0d32f3e4288eaf431..0f7df1b4c58ba731832958043ba345ec77737e54 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftPinkPetals.java +++ b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftPinkPetals.java @@ -27,6 +27,13 @@ public final class CraftPinkPetals extends org.bukkit.craftbukkit.block.data.Cra this.set(CraftPinkPetals.FLOWER_AMOUNT, flower_amount); } + // Paper start + @Override + public int getMinimumFlowerAmount() { + return getMin(CraftPinkPetals.FLOWER_AMOUNT); + } + // Paper end + @Override public int getMaximumFlowerAmount() { return getMax(CraftPinkPetals.FLOWER_AMOUNT);