merge Jigsaw.Orientation and Crafter.Orientation

This commit is contained in:
Lulu13022002 2024-03-14 19:57:40 +01:00
parent 10db421e7e
commit 7865c84cbd
No known key found for this signature in database
GPG Key ID: 491C8F0B8ACDEB01
7 changed files with 179 additions and 8 deletions

View File

@ -1,9 +1,13 @@
package org.bukkit.craftbukkit.block.impl;
import com.google.common.base.Preconditions;
import io.papermc.paper.generated.GeneratedFrom;
import net.minecraft.core.FrontAndTop;
import net.minecraft.world.level.block.CrafterBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
import net.minecraft.world.level.block.state.properties.BooleanProperty;
import net.minecraft.world.level.block.state.properties.EnumProperty;
import org.bukkit.block.data.type.Crafter;
import org.bukkit.craftbukkit.block.data.CraftBlockData;
@ -12,6 +16,8 @@ import org.bukkit.craftbukkit.block.data.CraftBlockData;
public class CraftCrafter extends CraftBlockData implements Crafter {
private static final BooleanProperty CRAFTING = CrafterBlock.CRAFTING;
private static final EnumProperty<FrontAndTop> ORIENTATION = BlockStateProperties.ORIENTATION;
private static final BooleanProperty TRIGGERED = CrafterBlock.TRIGGERED;
public CraftCrafter(BlockState state) {
@ -28,6 +34,17 @@ public class CraftCrafter extends CraftBlockData implements Crafter {
this.set(CRAFTING, crafting);
}
@Override
public org.bukkit.block.Orientation getOrientation() {
return this.get(ORIENTATION, org.bukkit.block.Orientation.class);
}
@Override
public void setOrientation(final org.bukkit.block.Orientation orientation) {
Preconditions.checkArgument(orientation != null, "orientation cannot be null!");
this.set(ORIENTATION, orientation);
}
@Override
public boolean isTriggered() {
return this.get(TRIGGERED);

View File

@ -1,14 +1,31 @@
package org.bukkit.craftbukkit.block.impl;
import com.google.common.base.Preconditions;
import io.papermc.paper.generated.GeneratedFrom;
import net.minecraft.core.FrontAndTop;
import net.minecraft.world.level.block.JigsawBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.block.state.properties.EnumProperty;
import org.bukkit.block.data.type.Jigsaw;
import org.bukkit.craftbukkit.block.data.CraftBlockData;
@GeneratedFrom("1.20.4")
@SuppressWarnings("unused")
public class CraftJigsaw extends CraftBlockData implements Jigsaw {
private static final EnumProperty<FrontAndTop> ORIENTATION = JigsawBlock.ORIENTATION;
public CraftJigsaw(BlockState state) {
super(state);
}
@Override
public org.bukkit.block.Orientation getOrientation() {
return this.get(ORIENTATION, org.bukkit.block.Orientation.class);
}
@Override
public void setOrientation(final org.bukkit.block.Orientation orientation) {
Preconditions.checkArgument(orientation != null, "orientation cannot be null!");
this.set(ORIENTATION, orientation);
}
}

View File

@ -18,7 +18,6 @@ import io.papermc.generator.types.craftblockdata.property.holder.converter.DataC
import io.papermc.generator.utils.Annotations;
import io.papermc.generator.utils.BlockStateMapping;
import io.papermc.generator.utils.NamingManager;
import net.minecraft.core.FrontAndTop;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.BrewingStandBlock;
import net.minecraft.world.level.block.ChiseledBookShelfBlock;
@ -109,10 +108,6 @@ public class CraftBlockDataGenerator<T extends BlockData> extends StructuredGene
TypeSpec.Builder typeBuilder = this.propertyHolder();
for (Property<?> property : this.blockData.properties()) {
if (property.getValueClass() == FrontAndTop.class) {
continue; // broken todo change api a bit? to avoid duplicate enum (jigsaw+crafter)
}
String fieldName = this.blockData.fieldNames().get(property.getName());
Class<?> fieldAccess = this.blockClass;
if (fieldName == null) {

View File

@ -83,7 +83,7 @@ public class DataPropertyWriter<T extends Property<?>> extends DataPropertyWrite
fieldBuilder.initializer("$[$T.$L.entrySet().stream()\n.collect($T.toMap(entry -> $T.notchToBlockFace(entry.getKey()), entry -> entry.getValue()))$]",
this.blockClass, this.field.getName(), Collectors.class, Types.CRAFT_BLOCK);
} else {
fieldBuilder.initializer("$T.$N", this.blockClass, this.field.getName());
fieldBuilder.initializer("$T.$L", this.blockClass, this.field.getName());
}
} else {
if (this.type == DataHolderType.ARRAY || this.type == DataHolderType.LIST) {

View File

@ -21,9 +21,9 @@ import java.util.Set;
import java.util.function.BiConsumer;
import com.google.common.collect.ImmutableMultimap;
import com.google.common.collect.Multimap;
import io.papermc.generator.types.craftblockdata.property.holder.DataHolderType;
import io.papermc.generator.types.craftblockdata.property.holder.VirtualFieldInfo;
import net.minecraft.core.Direction;
import net.minecraft.core.FrontAndTop;
import net.minecraft.util.StringRepresentable;
import net.minecraft.world.level.block.AbstractFurnaceBlock;
import net.minecraft.world.level.block.BigDripleafStemBlock;
@ -59,6 +59,7 @@ import net.minecraft.world.level.block.state.properties.WallSide;
import org.bukkit.Axis;
import org.bukkit.Instrument;
import org.bukkit.block.BlockFace;
import org.bukkit.block.Orientation;
import org.bukkit.block.data.Ageable;
import org.bukkit.block.data.AnaloguePowerable;
import org.bukkit.block.data.Bisected;
@ -300,8 +301,8 @@ public final class BlockStateMapping {
.put(Direction.Axis.class, Axis.class)
.put(BambooLeaves.class, Bamboo.Leaves.class)
.put(TrialSpawnerState.class, TrialSpawner.State.class)
.put(FrontAndTop.class, Orientation.class)
.build();
// todo a mess: Crafter.Orientation / Jigsaw.Orientation = FrontAndTop
/*
TODO:

View File

@ -113,6 +113,32 @@ index 63ff4ab251f27c3c94ba775dc288ff8ef9b3b334..1d0ecea530caa5febbe3f08e77ff7c80
/**
* BlockData: {@link Directional}
*/
diff --git a/src/main/java/org/bukkit/block/Orientation.java b/src/main/java/org/bukkit/block/Orientation.java
new file mode 100644
index 0000000000000000000000000000000000000000..f6b25ac08db75d4ddec498295b932d8efccdcfd4
--- /dev/null
+++ b/src/main/java/org/bukkit/block/Orientation.java
@@ -0,0 +1,20 @@
+package org.bukkit.block;
+
+/**
+ * Represents the face and the direction of a block
+ */
+public enum Orientation {
+
+ DOWN_EAST,
+ DOWN_NORTH,
+ DOWN_SOUTH,
+ DOWN_WEST,
+ UP_EAST,
+ UP_NORTH,
+ UP_SOUTH,
+ UP_WEST,
+ WEST_UP,
+ EAST_UP,
+ NORTH_UP,
+ SOUTH_UP;
+}
diff --git a/src/main/java/org/bukkit/block/data/type/CaveVinesPlant.java b/src/main/java/org/bukkit/block/data/type/CaveVinesPlant.java
index a7f75a98e018c63280f49aff1654ed1baea1f97f..2255ed831d0779d140cca5a6ec04f4db5c27ef9f 100644
--- a/src/main/java/org/bukkit/block/data/type/CaveVinesPlant.java
@ -140,6 +166,36 @@ index a7f75a98e018c63280f49aff1654ed1baea1f97f..2255ed831d0779d140cca5a6ec04f4db
/**
* Sets the value of the 'berries' property.
diff --git a/src/main/java/org/bukkit/block/data/type/Crafter.java b/src/main/java/org/bukkit/block/data/type/Crafter.java
index 282188ffa8f3314f3e48de0e18ffe854a55da06b..d9559718ecfcc808800b3be3f60cf346e3585a59 100644
--- a/src/main/java/org/bukkit/block/data/type/Crafter.java
+++ b/src/main/java/org/bukkit/block/data/type/Crafter.java
@@ -52,18 +52,23 @@ public interface Crafter extends BlockData {
* @return the 'orientation' value
*/
@NotNull
- Orientation getOrientation();
+ org.bukkit.block.Orientation getOrientation(); // Paper
/**
* Sets the value of the 'orientation' property.
*
* @param orientation the new 'orientation' value
*/
- void setOrientation(@NotNull Orientation orientation);
+ void setOrientation(@NotNull org.bukkit.block.Orientation orientation); // Paper
/**
* The directions the Crafter can be oriented.
+ *
+ * @deprecated This property is not specific to the Crafter, use
+ * {@link org.bukkit.block.Orientation} instead. All references
+ * to this enum will be redirected to that enum at runtime.
*/
+ @Deprecated // Paper
public enum Orientation {
DOWN_EAST,
diff --git a/src/main/java/org/bukkit/block/data/type/DecoratedPot.java b/src/main/java/org/bukkit/block/data/type/DecoratedPot.java
index eb0ffa977450ef0c79caa78302cfe75ee35b34b7..d03f03449af356d71344595255acda0f4490f845 100644
--- a/src/main/java/org/bukkit/block/data/type/DecoratedPot.java
@ -165,6 +221,36 @@ index eb0ffa977450ef0c79caa78302cfe75ee35b34b7..d03f03449af356d71344595255acda0f
+ void setCracked(boolean cracked);
+ // Paper end - missing api
}
diff --git a/src/main/java/org/bukkit/block/data/type/Jigsaw.java b/src/main/java/org/bukkit/block/data/type/Jigsaw.java
index c70c755cdb36c8afc70988340b061c39c492e14e..3b6758acd79fbfbce85d0d083304934874bf4796 100644
--- a/src/main/java/org/bukkit/block/data/type/Jigsaw.java
+++ b/src/main/java/org/bukkit/block/data/type/Jigsaw.java
@@ -14,18 +14,23 @@ public interface Jigsaw extends BlockData {
* @return the 'orientation' value
*/
@NotNull
- Orientation getOrientation();
+ org.bukkit.block.Orientation getOrientation(); // Paper
/**
* Sets the value of the 'orientation' property.
*
* @param orientation the new 'orientation' value
*/
- void setOrientation(@NotNull Orientation orientation);
+ void setOrientation(@NotNull org.bukkit.block.Orientation orientation); // Paper
/**
* The directions the Jigsaw can be oriented.
+ *
+ * @deprecated This property is not specific to the Jigsaw, use
+ * {@link org.bukkit.block.Orientation} instead. All references
+ * to this enum will be redirected to that enum at runtime.
*/
+ @Deprecated // Paper
public enum Orientation {
DOWN_EAST,
diff --git a/src/main/java/org/bukkit/block/data/type/Jukebox.java b/src/main/java/org/bukkit/block/data/type/Jukebox.java
index 5e37136207e939c6278c6c2589051fc34eca3496..e599824cc4e9c6e32cf37c2301bb767e4bc67dd9 100644
--- a/src/main/java/org/bukkit/block/data/type/Jukebox.java

View File

@ -949,6 +949,26 @@ index 0928c60c29a32336db3a6f0a623da516542315d6..970669c8bdf5b060ea3aa934dc0939a0
+ this.set(CraftCoralWallFan.WATERLOGGED, waterlogged);
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCrafter.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCrafter.java
index 78b8a7cda5171cd10fdc8f0986b62052cd7b9c88..458e9a835723d65f8b0afecd2c31180b56d3cdf4 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCrafter.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCrafter.java
@@ -40,12 +40,12 @@ public final class CraftCrafter extends org.bukkit.craftbukkit.block.data.CraftB
}
@Override
- public org.bukkit.block.data.type.Crafter.Orientation getOrientation() {
- return this.get(CraftCrafter.ORIENTATION, org.bukkit.block.data.type.Crafter.Orientation.class);
+ public org.bukkit.block.Orientation getOrientation() {
+ return this.get(CraftCrafter.ORIENTATION, org.bukkit.block.Orientation.class);
}
@Override
- public void setOrientation(org.bukkit.block.data.type.Crafter.Orientation orientation) {
+ public void setOrientation(org.bukkit.block.Orientation orientation) {
this.set(CraftCrafter.ORIENTATION, orientation);
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftReed.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftCrop.java
similarity index 65%
rename from src/main/java/org/bukkit/craftbukkit/block/impl/CraftReed.java
@ -1339,6 +1359,26 @@ index 5698cb115ba6dcf50686bb8cfb82e97d6afecd9f..74b7a975885730d6015edf128c6de558
+ this.set(CraftFurnace.LIT, lit);
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftJigsaw.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftJigsaw.java
index 12237538df404ebe6820418be0151ade2d6715f0..bc02aa25d3899c1dfdd3f9c2ccd217e69518f273 100644
--- a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftJigsaw.java
+++ b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftJigsaw.java
@@ -18,12 +18,12 @@ public final class CraftJigsaw extends org.bukkit.craftbukkit.block.data.CraftBl
private static final net.minecraft.world.level.block.state.properties.EnumProperty<?> ORIENTATION = getEnum(net.minecraft.world.level.block.JigsawBlock.class, "orientation");
@Override
- public org.bukkit.block.data.type.Jigsaw.Orientation getOrientation() {
- return this.get(CraftJigsaw.ORIENTATION, org.bukkit.block.data.type.Jigsaw.Orientation.class);
+ public org.bukkit.block.Orientation getOrientation() {
+ return this.get(CraftJigsaw.ORIENTATION, org.bukkit.block.Orientation.class);
}
@Override
- public void setOrientation(org.bukkit.block.data.type.Jigsaw.Orientation orientation) {
+ public void setOrientation(org.bukkit.block.Orientation orientation) {
this.set(CraftJigsaw.ORIENTATION, orientation);
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/block/impl/CraftJukeBox.java b/src/main/java/org/bukkit/craftbukkit/block/impl/CraftJukebox.java
similarity index 62%
rename from src/main/java/org/bukkit/craftbukkit/block/impl/CraftJukeBox.java
@ -3432,3 +3472,18 @@ index 67b212d9395335f59b6f33741aac7a57c823c966..ca232ba24a66d234155fbb706c5b30c6
+ return this.getValues(CraftWitherWallSkull.FACING, org.bukkit.block.BlockFace.class);
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
index bc008773f8cf0d416182152ecfc5a64b70744009..7f8871faafb13f5c5265bb833b096e18d07a82b2 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java
@@ -52,7 +52,9 @@ public class Commodore {
private static final Map<String, String> RENAMES = Map.of(
"org/bukkit/entity/TextDisplay$TextAligment", "org/bukkit/entity/TextDisplay$TextAlignment", // SPIGOT-7335
"org/spigotmc/event/entity/EntityMountEvent", "org/bukkit/event/entity/EntityMountEvent",
- "org/spigotmc/event/entity/EntityDismountEvent", "org/bukkit/event/entity/EntityDismountEvent"
+ "org/spigotmc/event/entity/EntityDismountEvent", "org/bukkit/event/entity/EntityDismountEvent",
+ "org/bukkit/block/data/type/Crafter$Orientation", "org/bukkit/block/Orientation", // Paper
+ "org/bukkit/block/data/type/Jigsaw$Orientation", "org/bukkit/block/Orientation" // Paper
);
// Paper start - Plugin rewrites