Update to Minecraft 1.19.3

By: md_5 <git@md-5.net>
This commit is contained in:
CraftBukkit/Spigot
2022-12-08 03:00:00 +11:00
parent a13136ada2
commit 8b26bb8f3e
305 changed files with 3331 additions and 2864 deletions

View File

@@ -11,6 +11,8 @@ import net.minecraft.core.BlockPosition;
import net.minecraft.core.EnumDirection;
import net.minecraft.core.Holder;
import net.minecraft.core.IRegistry;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.core.registries.Registries;
import net.minecraft.resources.ResourceKey;
import net.minecraft.server.level.WorldServer;
import net.minecraft.world.EnumHand;
@@ -360,7 +362,7 @@ public class CraftBlock implements Block {
return null;
}
return registry.getHolderOrThrow(ResourceKey.create(IRegistry.BIOME_REGISTRY, CraftNamespacedKey.toMinecraft(bio.getKey())));
return registry.getHolderOrThrow(ResourceKey.create(Registries.BIOME, CraftNamespacedKey.toMinecraft(bio.getKey())));
}
@Override

View File

@@ -11,6 +11,8 @@ import javax.annotation.Nullable;
import net.minecraft.core.BlockPosition;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.level.GeneratorAccess;
import net.minecraft.world.level.block.entity.ChiseledBookShelfBlockEntity;
import net.minecraft.world.level.block.entity.HangingSignBlockEntity;
import net.minecraft.world.level.block.entity.SculkCatalystBlockEntity;
import net.minecraft.world.level.block.entity.SculkSensorBlockEntity;
import net.minecraft.world.level.block.entity.SculkShriekerBlockEntity;
@@ -124,6 +126,8 @@ public final class CraftBlockStates {
Arrays.asList(
Material.ACACIA_SIGN,
Material.ACACIA_WALL_SIGN,
Material.BAMBOO_SIGN,
Material.BAMBOO_WALL_SIGN,
Material.BIRCH_SIGN,
Material.BIRCH_WALL_SIGN,
Material.CRIMSON_SIGN,
@@ -143,12 +147,39 @@ public final class CraftBlockStates {
), CraftSign.class, CraftSign::new, TileEntitySign::new
);
register(
Arrays.asList(
Material.ACACIA_HANGING_SIGN,
Material.ACACIA_WALL_HANGING_SIGN,
Material.BAMBOO_HANGING_SIGN,
Material.BAMBOO_WALL_HANGING_SIGN,
Material.BIRCH_HANGING_SIGN,
Material.BIRCH_WALL_HANGING_SIGN,
Material.CRIMSON_HANGING_SIGN,
Material.CRIMSON_WALL_HANGING_SIGN,
Material.DARK_OAK_HANGING_SIGN,
Material.DARK_OAK_WALL_HANGING_SIGN,
Material.JUNGLE_HANGING_SIGN,
Material.JUNGLE_WALL_HANGING_SIGN,
Material.MANGROVE_HANGING_SIGN,
Material.MANGROVE_WALL_HANGING_SIGN,
Material.OAK_HANGING_SIGN,
Material.OAK_WALL_HANGING_SIGN,
Material.SPRUCE_HANGING_SIGN,
Material.SPRUCE_WALL_HANGING_SIGN,
Material.WARPED_HANGING_SIGN,
Material.WARPED_WALL_HANGING_SIGN
), CraftHangingSign.class, CraftHangingSign::new, HangingSignBlockEntity::new
);
register(
Arrays.asList(
Material.CREEPER_HEAD,
Material.CREEPER_WALL_HEAD,
Material.DRAGON_HEAD,
Material.DRAGON_WALL_HEAD,
Material.PIGLIN_HEAD,
Material.PIGLIN_WALL_HEAD,
Material.PLAYER_HEAD,
Material.PLAYER_WALL_HEAD,
Material.SKELETON_SKULL,
@@ -268,6 +299,7 @@ public final class CraftBlockStates {
register(Material.BLAST_FURNACE, CraftBlastFurnace.class, CraftBlastFurnace::new, TileEntityBlastFurnace::new);
register(Material.BREWING_STAND, CraftBrewingStand.class, CraftBrewingStand::new, TileEntityBrewingStand::new);
register(Material.CHEST, CraftChest.class, CraftChest::new, TileEntityChest::new);
register(Material.CHISELED_BOOKSHELF, CraftChiseledBookshelf.class, CraftChiseledBookshelf::new, ChiseledBookShelfBlockEntity::new);
register(Material.COMPARATOR, CraftComparator.class, CraftComparator::new, TileEntityComparator::new);
register(Material.CONDUIT, CraftConduit.class, CraftConduit::new, TileEntityConduit::new);
register(Material.DAYLIGHT_DETECTOR, CraftDaylightDetector.class, CraftDaylightDetector::new, TileEntityLightDetector::new);

View File

@@ -0,0 +1,38 @@
package org.bukkit.craftbukkit.block;
import net.minecraft.world.level.block.entity.ChiseledBookShelfBlockEntity;
import org.bukkit.World;
import org.bukkit.block.ChiseledBookshelf;
import org.bukkit.craftbukkit.inventory.CraftInventoryChiseledBookshelf;
import org.bukkit.inventory.ChiseledBookshelfInventory;
public class CraftChiseledBookshelf extends CraftBlockEntityState<ChiseledBookShelfBlockEntity> implements ChiseledBookshelf {
public CraftChiseledBookshelf(World world, ChiseledBookShelfBlockEntity tileEntity) {
super(world, tileEntity);
}
@Override
public int getLastInteractedSlot() {
return getSnapshot().getLastInteractedSlot();
}
@Override
public void setLastInteractedSlot(int lastInteractedSlot) {
getSnapshot().lastInteractedSlot = lastInteractedSlot;
}
@Override
public ChiseledBookshelfInventory getSnapshotInventory() {
return new CraftInventoryChiseledBookshelf(this.getSnapshot());
}
@Override
public ChiseledBookshelfInventory getInventory() {
if (!this.isPlaced()) {
return this.getSnapshotInventory();
}
return new CraftInventoryChiseledBookshelf(this.getTileEntity());
}
}

View File

@@ -26,7 +26,7 @@ public class CraftCreatureSpawner extends CraftBlockEntityState<TileEntityMobSpa
throw new IllegalArgumentException("Can't spawn EntityType " + entityType + " from mobspawners!");
}
this.getSnapshot().getSpawner().setEntityId(EntityTypes.byString(entityType.getName()).get());
this.getSnapshot().setEntityId(EntityTypes.byString(entityType.getName()).get(), this.getWorldHandle().getRandom());
}
@Override

View File

@@ -0,0 +1,12 @@
package org.bukkit.craftbukkit.block;
import net.minecraft.world.level.block.entity.HangingSignBlockEntity;
import org.bukkit.World;
import org.bukkit.block.HangingSign;
public class CraftHangingSign extends CraftSign<HangingSignBlockEntity> implements HangingSign {
public CraftHangingSign(World world, HangingSignBlockEntity tileEntity) {
super(world, tileEntity);
}
}

View File

@@ -11,13 +11,13 @@ import org.bukkit.craftbukkit.entity.CraftPlayer;
import org.bukkit.craftbukkit.util.CraftChatMessage;
import org.bukkit.entity.Player;
public class CraftSign extends CraftBlockEntityState<TileEntitySign> implements Sign {
public class CraftSign<T extends TileEntitySign> extends CraftBlockEntityState<T> implements Sign {
// Lazily initialized only if requested:
private String[] originalLines = null;
private String[] lines = null;
public CraftSign(World world, TileEntitySign tileEntity) {
public CraftSign(World world, T tileEntity) {
super(world, tileEntity);
}
@@ -75,7 +75,7 @@ public class CraftSign extends CraftBlockEntityState<TileEntitySign> implements
}
@Override
public void applyTo(TileEntitySign sign) {
public void applyTo(T sign) {
super.applyTo(sign);
if (lines != null) {
@@ -94,7 +94,7 @@ public class CraftSign extends CraftBlockEntityState<TileEntitySign> implements
Preconditions.checkArgument(sign.isPlaced(), "Sign must be placed");
Preconditions.checkArgument(sign.getWorld() == player.getWorld(), "Sign must be in same world as Player");
TileEntitySign handle = ((CraftSign) sign).getTileEntity();
TileEntitySign handle = ((CraftSign<?>) sign).getTileEntity();
handle.isEditable = true;
((CraftPlayer) player).getHandle().openTextEdit(handle);

View File

@@ -149,6 +149,9 @@ public class CraftSkull extends CraftBlockEntityState<TileEntitySkull> implement
case ZOMBIE_HEAD:
case ZOMBIE_WALL_HEAD:
return SkullType.ZOMBIE;
case PIGLIN_HEAD:
case PIGLIN_WALL_HEAD:
return SkullType.PIGLIN;
case PLAYER_HEAD:
case PLAYER_WALL_HEAD:
return SkullType.PLAYER;

View File

@@ -12,7 +12,7 @@ import java.util.stream.Collectors;
import net.minecraft.commands.arguments.blocks.ArgumentBlock;
import net.minecraft.core.BlockPosition;
import net.minecraft.core.EnumDirection;
import net.minecraft.core.IRegistry;
import net.minecraft.core.registries.BuiltInRegistries;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.INamable;
import net.minecraft.world.level.BlockAccessAir;
@@ -227,7 +227,7 @@ public class CraftBlockData implements BlockData {
// Mimicked from BlockDataAbstract#toString()
public String toString(Map<IBlockState<?>, Comparable<?>> states) {
StringBuilder stateString = new StringBuilder(IRegistry.BLOCK.getKey(state.getBlock()).toString());
StringBuilder stateString = new StringBuilder(BuiltInRegistries.BLOCK.getKey(state.getBlock()).toString());
if (!states.isEmpty()) {
stateString.append('[');
@@ -306,7 +306,7 @@ public class CraftBlockData implements BlockData {
private static IBlockState<?> getState(Class<? extends Block> block, String name, boolean optional) {
IBlockState<?> state = null;
for (Block instance : IRegistry.BLOCK) {
for (Block instance : BuiltInRegistries.BLOCK) {
if (instance.getClass() == block) {
if (state == null) {
state = instance.getStateDefinition().getProperty(name);
@@ -363,6 +363,7 @@ public class CraftBlockData implements BlockData {
register(net.minecraft.world.level.block.BlockBlastFurnace.class, org.bukkit.craftbukkit.block.impl.CraftBlastFurnace::new);
register(net.minecraft.world.level.block.BlockBrewingStand.class, org.bukkit.craftbukkit.block.impl.CraftBrewingStand::new);
register(net.minecraft.world.level.block.BlockBubbleColumn.class, org.bukkit.craftbukkit.block.impl.CraftBubbleColumn::new);
register(net.minecraft.world.level.block.BlockButtonAbstract.class, org.bukkit.craftbukkit.block.impl.CraftButtonAbstract::new);
register(net.minecraft.world.level.block.BlockCactus.class, org.bukkit.craftbukkit.block.impl.CraftCactus::new);
register(net.minecraft.world.level.block.BlockCake.class, org.bukkit.craftbukkit.block.impl.CraftCake::new);
register(net.minecraft.world.level.block.BlockCampfire.class, org.bukkit.craftbukkit.block.impl.CraftCampfire::new);
@@ -453,7 +454,6 @@ public class CraftBlockData implements BlockData {
register(net.minecraft.world.level.block.BlockStem.class, org.bukkit.craftbukkit.block.impl.CraftStem::new);
register(net.minecraft.world.level.block.BlockStemAttached.class, org.bukkit.craftbukkit.block.impl.CraftStemAttached::new);
register(net.minecraft.world.level.block.BlockStepAbstract.class, org.bukkit.craftbukkit.block.impl.CraftStepAbstract::new);
register(net.minecraft.world.level.block.BlockStoneButton.class, org.bukkit.craftbukkit.block.impl.CraftStoneButton::new);
register(net.minecraft.world.level.block.BlockStonecutter.class, org.bukkit.craftbukkit.block.impl.CraftStonecutter::new);
register(net.minecraft.world.level.block.BlockStructure.class, org.bukkit.craftbukkit.block.impl.CraftStructure::new);
register(net.minecraft.world.level.block.BlockSweetBerryBush.class, org.bukkit.craftbukkit.block.impl.CraftSweetBerryBush::new);
@@ -472,11 +472,12 @@ public class CraftBlockData implements BlockData {
register(net.minecraft.world.level.block.BlockWeepingVines.class, org.bukkit.craftbukkit.block.impl.CraftWeepingVines::new);
register(net.minecraft.world.level.block.BlockWitherSkull.class, org.bukkit.craftbukkit.block.impl.CraftWitherSkull::new);
register(net.minecraft.world.level.block.BlockWitherSkullWall.class, org.bukkit.craftbukkit.block.impl.CraftWitherSkullWall::new);
register(net.minecraft.world.level.block.BlockWoodButton.class, org.bukkit.craftbukkit.block.impl.CraftWoodButton::new);
register(net.minecraft.world.level.block.CandleBlock.class, org.bukkit.craftbukkit.block.impl.CraftCandle::new);
register(net.minecraft.world.level.block.CandleCakeBlock.class, org.bukkit.craftbukkit.block.impl.CraftCandleCake::new);
register(net.minecraft.world.level.block.CaveVinesBlock.class, org.bukkit.craftbukkit.block.impl.CraftCaveVines::new);
register(net.minecraft.world.level.block.CaveVinesPlantBlock.class, org.bukkit.craftbukkit.block.impl.CraftCaveVinesPlant::new);
register(net.minecraft.world.level.block.CeilingHangingSignBlock.class, org.bukkit.craftbukkit.block.impl.CraftCeilingHangingSign::new);
register(net.minecraft.world.level.block.ChiseledBookShelfBlock.class, org.bukkit.craftbukkit.block.impl.CraftChiseledBookShelf::new);
register(net.minecraft.world.level.block.GlowLichenBlock.class, org.bukkit.craftbukkit.block.impl.CraftGlowLichen::new);
register(net.minecraft.world.level.block.HangingRootsBlock.class, org.bukkit.craftbukkit.block.impl.CraftHangingRoots::new);
register(net.minecraft.world.level.block.InfestedRotatedPillarBlock.class, org.bukkit.craftbukkit.block.impl.CraftInfestedRotatedPillar::new);
@@ -486,6 +487,7 @@ public class CraftBlockData implements BlockData {
register(net.minecraft.world.level.block.MangroveLeavesBlock.class, org.bukkit.craftbukkit.block.impl.CraftMangroveLeaves::new);
register(net.minecraft.world.level.block.MangrovePropaguleBlock.class, org.bukkit.craftbukkit.block.impl.CraftMangrovePropagule::new);
register(net.minecraft.world.level.block.MangroveRootsBlock.class, org.bukkit.craftbukkit.block.impl.CraftMangroveRoots::new);
register(net.minecraft.world.level.block.PiglinWallSkullBlock.class, org.bukkit.craftbukkit.block.impl.CraftPiglinWallSkull::new);
register(net.minecraft.world.level.block.PointedDripstoneBlock.class, org.bukkit.craftbukkit.block.impl.CraftPointedDripstone::new);
register(net.minecraft.world.level.block.PowderSnowCauldronBlock.class, org.bukkit.craftbukkit.block.impl.CraftPowderSnowCauldron::new);
register(net.minecraft.world.level.block.SculkCatalystBlock.class, org.bukkit.craftbukkit.block.impl.CraftSculkCatalyst::new);
@@ -494,6 +496,7 @@ public class CraftBlockData implements BlockData {
register(net.minecraft.world.level.block.SculkVeinBlock.class, org.bukkit.craftbukkit.block.impl.CraftSculkVein::new);
register(net.minecraft.world.level.block.SmallDripleafBlock.class, org.bukkit.craftbukkit.block.impl.CraftSmallDripleaf::new);
register(net.minecraft.world.level.block.TallSeagrassBlock.class, org.bukkit.craftbukkit.block.impl.CraftTallSeagrass::new);
register(net.minecraft.world.level.block.WallHangingSignBlock.class, org.bukkit.craftbukkit.block.impl.CraftWallHangingSign::new);
register(net.minecraft.world.level.block.WeatheringCopperSlabBlock.class, org.bukkit.craftbukkit.block.impl.CraftWeatheringCopperSlab::new);
register(net.minecraft.world.level.block.WeatheringCopperStairBlock.class, org.bukkit.craftbukkit.block.impl.CraftWeatheringCopperStair::new);
register(net.minecraft.world.level.block.piston.BlockPiston.class, org.bukkit.craftbukkit.block.impl.CraftPiston::new);
@@ -518,11 +521,11 @@ public class CraftBlockData implements BlockData {
try {
// Material provided, force that material in
if (block != null) {
data = IRegistry.BLOCK.getKey(block) + data;
data = BuiltInRegistries.BLOCK.getKey(block) + data;
}
StringReader reader = new StringReader(data);
ArgumentBlock.a arg = ArgumentBlock.parseForBlock(IRegistry.BLOCK, reader, false);
ArgumentBlock.a arg = ArgumentBlock.parseForBlock(BuiltInRegistries.BLOCK.asLookup(), reader, false);
Preconditions.checkArgument(!reader.canRead(), "Spurious trailing data: " + data);
blockData = arg.blockState();

View File

@@ -0,0 +1,40 @@
package org.bukkit.craftbukkit.block.data.type;
import org.bukkit.block.data.type.ChiseledBookshelf;
import org.bukkit.craftbukkit.block.data.CraftBlockData;
public abstract class CraftChiseledBookshelf extends CraftBlockData implements ChiseledBookshelf {
private static final net.minecraft.world.level.block.state.properties.BlockStateBoolean[] SLOT_OCCUPIED = new net.minecraft.world.level.block.state.properties.BlockStateBoolean[]{
getBoolean("slot_0_occupied"), getBoolean("slot_1_occupied"), getBoolean("slot_2_occupied"),
getBoolean("slot_3_occupied"), getBoolean("slot_4_occupied"), getBoolean("slot_5_occupied")
};
@Override
public boolean isSlotOccupied(int slot) {
return get(SLOT_OCCUPIED[slot]);
}
@Override
public void setSlotOccupied(int slot, boolean has) {
set(SLOT_OCCUPIED[slot], has);
}
@Override
public java.util.Set<Integer> getOccupiedSlots() {
com.google.common.collect.ImmutableSet.Builder<Integer> slots = com.google.common.collect.ImmutableSet.builder();
for (int index = 0; index < getMaximumOccupiedSlots(); index++) {
if (isSlotOccupied(index)) {
slots.add(index);
}
}
return slots.build();
}
@Override
public int getMaximumOccupiedSlots() {
return SLOT_OCCUPIED.length;
}
}

View File

@@ -3,19 +3,19 @@
*/
package org.bukkit.craftbukkit.block.impl;
public final class CraftStoneButton extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.type.Switch, org.bukkit.block.data.Directional, org.bukkit.block.data.FaceAttachable, org.bukkit.block.data.Powerable {
public final class CraftButtonAbstract extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.type.Switch, org.bukkit.block.data.Directional, org.bukkit.block.data.FaceAttachable, org.bukkit.block.data.Powerable {
public CraftStoneButton() {
public CraftButtonAbstract() {
super();
}
public CraftStoneButton(net.minecraft.world.level.block.state.IBlockData state) {
public CraftButtonAbstract(net.minecraft.world.level.block.state.IBlockData state) {
super(state);
}
// org.bukkit.craftbukkit.block.data.type.CraftSwitch
private static final net.minecraft.world.level.block.state.properties.BlockStateEnum<?> FACE = getEnum(net.minecraft.world.level.block.BlockStoneButton.class, "face");
private static final net.minecraft.world.level.block.state.properties.BlockStateEnum<?> FACE = getEnum(net.minecraft.world.level.block.BlockButtonAbstract.class, "face");
@Override
public org.bukkit.block.data.type.Switch.Face getFace() {
@@ -29,7 +29,7 @@ public final class CraftStoneButton extends org.bukkit.craftbukkit.block.data.Cr
// org.bukkit.craftbukkit.block.data.CraftDirectional
private static final net.minecraft.world.level.block.state.properties.BlockStateEnum<?> FACING = getEnum(net.minecraft.world.level.block.BlockStoneButton.class, "facing");
private static final net.minecraft.world.level.block.state.properties.BlockStateEnum<?> FACING = getEnum(net.minecraft.world.level.block.BlockButtonAbstract.class, "facing");
@Override
public org.bukkit.block.BlockFace getFacing() {
@@ -48,7 +48,7 @@ public final class CraftStoneButton extends org.bukkit.craftbukkit.block.data.Cr
// org.bukkit.craftbukkit.block.data.CraftFaceAttachable
private static final net.minecraft.world.level.block.state.properties.BlockStateEnum<?> ATTACH_FACE = getEnum(net.minecraft.world.level.block.BlockStoneButton.class, "face");
private static final net.minecraft.world.level.block.state.properties.BlockStateEnum<?> ATTACH_FACE = getEnum(net.minecraft.world.level.block.BlockButtonAbstract.class, "face");
@Override
public org.bukkit.block.data.FaceAttachable.AttachedFace getAttachedFace() {
@@ -62,7 +62,7 @@ public final class CraftStoneButton extends org.bukkit.craftbukkit.block.data.Cr
// org.bukkit.craftbukkit.block.data.CraftPowerable
private static final net.minecraft.world.level.block.state.properties.BlockStateBoolean POWERED = getBoolean(net.minecraft.world.level.block.BlockStoneButton.class, "powered");
private static final net.minecraft.world.level.block.state.properties.BlockStateBoolean POWERED = getBoolean(net.minecraft.world.level.block.BlockButtonAbstract.class, "powered");
@Override
public boolean isPowered() {

View File

@@ -0,0 +1,146 @@
/**
* Automatically generated file, changes will be lost.
*/
package org.bukkit.craftbukkit.block.impl;
public final class CraftCeilingHangingSign extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.type.HangingSign, org.bukkit.block.data.Attachable, org.bukkit.block.data.Rotatable, org.bukkit.block.data.Waterlogged {
public CraftCeilingHangingSign() {
super();
}
public CraftCeilingHangingSign(net.minecraft.world.level.block.state.IBlockData state) {
super(state);
}
// org.bukkit.craftbukkit.block.data.CraftAttachable
private static final net.minecraft.world.level.block.state.properties.BlockStateBoolean ATTACHED = getBoolean(net.minecraft.world.level.block.CeilingHangingSignBlock.class, "attached");
@Override
public boolean isAttached() {
return get(ATTACHED);
}
@Override
public void setAttached(boolean attached) {
set(ATTACHED, attached);
}
// org.bukkit.craftbukkit.block.data.CraftRotatable
private static final net.minecraft.world.level.block.state.properties.BlockStateInteger ROTATION = getInteger(net.minecraft.world.level.block.CeilingHangingSignBlock.class, "rotation");
@Override
public org.bukkit.block.BlockFace getRotation() {
int data = get(ROTATION);
switch (data) {
case 0x0:
return org.bukkit.block.BlockFace.SOUTH;
case 0x1:
return org.bukkit.block.BlockFace.SOUTH_SOUTH_WEST;
case 0x2:
return org.bukkit.block.BlockFace.SOUTH_WEST;
case 0x3:
return org.bukkit.block.BlockFace.WEST_SOUTH_WEST;
case 0x4:
return org.bukkit.block.BlockFace.WEST;
case 0x5:
return org.bukkit.block.BlockFace.WEST_NORTH_WEST;
case 0x6:
return org.bukkit.block.BlockFace.NORTH_WEST;
case 0x7:
return org.bukkit.block.BlockFace.NORTH_NORTH_WEST;
case 0x8:
return org.bukkit.block.BlockFace.NORTH;
case 0x9:
return org.bukkit.block.BlockFace.NORTH_NORTH_EAST;
case 0xA:
return org.bukkit.block.BlockFace.NORTH_EAST;
case 0xB:
return org.bukkit.block.BlockFace.EAST_NORTH_EAST;
case 0xC:
return org.bukkit.block.BlockFace.EAST;
case 0xD:
return org.bukkit.block.BlockFace.EAST_SOUTH_EAST;
case 0xE:
return org.bukkit.block.BlockFace.SOUTH_EAST;
case 0xF:
return org.bukkit.block.BlockFace.SOUTH_SOUTH_EAST;
default:
throw new IllegalArgumentException("Unknown rotation " + data);
}
}
@Override
public void setRotation(org.bukkit.block.BlockFace rotation) {
int val;
switch (rotation) {
case SOUTH:
val = 0x0;
break;
case SOUTH_SOUTH_WEST:
val = 0x1;
break;
case SOUTH_WEST:
val = 0x2;
break;
case WEST_SOUTH_WEST:
val = 0x3;
break;
case WEST:
val = 0x4;
break;
case WEST_NORTH_WEST:
val = 0x5;
break;
case NORTH_WEST:
val = 0x6;
break;
case NORTH_NORTH_WEST:
val = 0x7;
break;
case NORTH:
val = 0x8;
break;
case NORTH_NORTH_EAST:
val = 0x9;
break;
case NORTH_EAST:
val = 0xA;
break;
case EAST_NORTH_EAST:
val = 0xB;
break;
case EAST:
val = 0xC;
break;
case EAST_SOUTH_EAST:
val = 0xD;
break;
case SOUTH_EAST:
val = 0xE;
break;
case SOUTH_SOUTH_EAST:
val = 0xF;
break;
default:
throw new IllegalArgumentException("Illegal rotation " + rotation);
}
set(ROTATION, val);
}
// org.bukkit.craftbukkit.block.data.CraftWaterlogged
private static final net.minecraft.world.level.block.state.properties.BlockStateBoolean WATERLOGGED = getBoolean(net.minecraft.world.level.block.CeilingHangingSignBlock.class, "waterlogged");
@Override
public boolean isWaterlogged() {
return get(WATERLOGGED);
}
@Override
public void setWaterlogged(boolean waterlogged) {
set(WATERLOGGED, waterlogged);
}
}

View File

@@ -0,0 +1,69 @@
/**
* Automatically generated file, changes will be lost.
*/
package org.bukkit.craftbukkit.block.impl;
public final class CraftChiseledBookShelf extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.type.ChiseledBookshelf, org.bukkit.block.data.Directional {
public CraftChiseledBookShelf() {
super();
}
public CraftChiseledBookShelf(net.minecraft.world.level.block.state.IBlockData state) {
super(state);
}
// org.bukkit.craftbukkit.block.data.type.CraftChiseledBookshelf
private static final net.minecraft.world.level.block.state.properties.BlockStateBoolean[] SLOT_OCCUPIED = new net.minecraft.world.level.block.state.properties.BlockStateBoolean[]{
getBoolean(net.minecraft.world.level.block.ChiseledBookShelfBlock.class, "slot_0_occupied"), getBoolean(net.minecraft.world.level.block.ChiseledBookShelfBlock.class, "slot_1_occupied"), getBoolean(net.minecraft.world.level.block.ChiseledBookShelfBlock.class, "slot_2_occupied"),
getBoolean(net.minecraft.world.level.block.ChiseledBookShelfBlock.class, "slot_3_occupied"), getBoolean(net.minecraft.world.level.block.ChiseledBookShelfBlock.class, "slot_4_occupied"), getBoolean(net.minecraft.world.level.block.ChiseledBookShelfBlock.class, "slot_5_occupied")
};
@Override
public boolean isSlotOccupied(int slot) {
return get(SLOT_OCCUPIED[slot]);
}
@Override
public void setSlotOccupied(int slot, boolean has) {
set(SLOT_OCCUPIED[slot], has);
}
@Override
public java.util.Set<Integer> getOccupiedSlots() {
com.google.common.collect.ImmutableSet.Builder<Integer> slots = com.google.common.collect.ImmutableSet.builder();
for (int index = 0; index < getMaximumOccupiedSlots(); index++) {
if (isSlotOccupied(index)) {
slots.add(index);
}
}
return slots.build();
}
@Override
public int getMaximumOccupiedSlots() {
return SLOT_OCCUPIED.length;
}
// org.bukkit.craftbukkit.block.data.CraftDirectional
private static final net.minecraft.world.level.block.state.properties.BlockStateEnum<?> FACING = getEnum(net.minecraft.world.level.block.ChiseledBookShelfBlock.class, "facing");
@Override
public org.bukkit.block.BlockFace getFacing() {
return get(FACING, org.bukkit.block.BlockFace.class);
}
@Override
public void setFacing(org.bukkit.block.BlockFace facing) {
set(FACING, facing);
}
@Override
public java.util.Set<org.bukkit.block.BlockFace> getFaces() {
return getValues(FACING, org.bukkit.block.BlockFace.class);
}
}

View File

@@ -0,0 +1,34 @@
/**
* Automatically generated file, changes will be lost.
*/
package org.bukkit.craftbukkit.block.impl;
public final class CraftPiglinWallSkull extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.Directional {
public CraftPiglinWallSkull() {
super();
}
public CraftPiglinWallSkull(net.minecraft.world.level.block.state.IBlockData state) {
super(state);
}
// org.bukkit.craftbukkit.block.data.CraftDirectional
private static final net.minecraft.world.level.block.state.properties.BlockStateEnum<?> FACING = getEnum(net.minecraft.world.level.block.PiglinWallSkullBlock.class, "facing");
@Override
public org.bukkit.block.BlockFace getFacing() {
return get(FACING, org.bukkit.block.BlockFace.class);
}
@Override
public void setFacing(org.bukkit.block.BlockFace facing) {
set(FACING, facing);
}
@Override
public java.util.Set<org.bukkit.block.BlockFace> getFaces() {
return getValues(FACING, org.bukkit.block.BlockFace.class);
}
}

View File

@@ -0,0 +1,48 @@
/**
* Automatically generated file, changes will be lost.
*/
package org.bukkit.craftbukkit.block.impl;
public final class CraftWallHangingSign extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.type.WallHangingSign, org.bukkit.block.data.Directional, org.bukkit.block.data.Waterlogged {
public CraftWallHangingSign() {
super();
}
public CraftWallHangingSign(net.minecraft.world.level.block.state.IBlockData state) {
super(state);
}
// org.bukkit.craftbukkit.block.data.CraftDirectional
private static final net.minecraft.world.level.block.state.properties.BlockStateEnum<?> FACING = getEnum(net.minecraft.world.level.block.WallHangingSignBlock.class, "facing");
@Override
public org.bukkit.block.BlockFace getFacing() {
return get(FACING, org.bukkit.block.BlockFace.class);
}
@Override
public void setFacing(org.bukkit.block.BlockFace facing) {
set(FACING, facing);
}
@Override
public java.util.Set<org.bukkit.block.BlockFace> getFaces() {
return getValues(FACING, org.bukkit.block.BlockFace.class);
}
// org.bukkit.craftbukkit.block.data.CraftWaterlogged
private static final net.minecraft.world.level.block.state.properties.BlockStateBoolean WATERLOGGED = getBoolean(net.minecraft.world.level.block.WallHangingSignBlock.class, "waterlogged");
@Override
public boolean isWaterlogged() {
return get(WATERLOGGED);
}
@Override
public void setWaterlogged(boolean waterlogged) {
set(WATERLOGGED, waterlogged);
}
}

View File

@@ -1,76 +0,0 @@
/**
* Automatically generated file, changes will be lost.
*/
package org.bukkit.craftbukkit.block.impl;
public final class CraftWoodButton extends org.bukkit.craftbukkit.block.data.CraftBlockData implements org.bukkit.block.data.type.Switch, org.bukkit.block.data.Directional, org.bukkit.block.data.FaceAttachable, org.bukkit.block.data.Powerable {
public CraftWoodButton() {
super();
}
public CraftWoodButton(net.minecraft.world.level.block.state.IBlockData state) {
super(state);
}
// org.bukkit.craftbukkit.block.data.type.CraftSwitch
private static final net.minecraft.world.level.block.state.properties.BlockStateEnum<?> FACE = getEnum(net.minecraft.world.level.block.BlockWoodButton.class, "face");
@Override
public org.bukkit.block.data.type.Switch.Face getFace() {
return get(FACE, org.bukkit.block.data.type.Switch.Face.class);
}
@Override
public void setFace(org.bukkit.block.data.type.Switch.Face face) {
set(FACE, face);
}
// org.bukkit.craftbukkit.block.data.CraftDirectional
private static final net.minecraft.world.level.block.state.properties.BlockStateEnum<?> FACING = getEnum(net.minecraft.world.level.block.BlockWoodButton.class, "facing");
@Override
public org.bukkit.block.BlockFace getFacing() {
return get(FACING, org.bukkit.block.BlockFace.class);
}
@Override
public void setFacing(org.bukkit.block.BlockFace facing) {
set(FACING, facing);
}
@Override
public java.util.Set<org.bukkit.block.BlockFace> getFaces() {
return getValues(FACING, org.bukkit.block.BlockFace.class);
}
// org.bukkit.craftbukkit.block.data.CraftFaceAttachable
private static final net.minecraft.world.level.block.state.properties.BlockStateEnum<?> ATTACH_FACE = getEnum(net.minecraft.world.level.block.BlockWoodButton.class, "face");
@Override
public org.bukkit.block.data.FaceAttachable.AttachedFace getAttachedFace() {
return get(ATTACH_FACE, org.bukkit.block.data.FaceAttachable.AttachedFace.class);
}
@Override
public void setAttachedFace(org.bukkit.block.data.FaceAttachable.AttachedFace face) {
set(ATTACH_FACE, face);
}
// org.bukkit.craftbukkit.block.data.CraftPowerable
private static final net.minecraft.world.level.block.state.properties.BlockStateBoolean POWERED = getBoolean(net.minecraft.world.level.block.BlockWoodButton.class, "powered");
@Override
public boolean isPowered() {
return get(POWERED);
}
@Override
public void setPowered(boolean powered) {
set(POWERED, powered);
}
}