@@ -45,6 +45,6 @@ public class CraftAxolotl extends CraftAnimals implements Axolotl {
|
||||
public void setVariant(Variant variant) {
|
||||
Preconditions.checkArgument(variant != null, "variant");
|
||||
|
||||
getHandle().setVariant(net.minecraft.world.entity.animal.axolotl.Axolotl.Variant.BY_ID[variant.ordinal()]);
|
||||
getHandle().setVariant(net.minecraft.world.entity.animal.axolotl.Axolotl.Variant.byId(variant.ordinal()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,24 +17,24 @@ public class CraftBoat extends CraftVehicle implements Boat {
|
||||
|
||||
@Override
|
||||
public TreeSpecies getWoodType() {
|
||||
return getTreeSpecies(getHandle().getBoatType());
|
||||
return getTreeSpecies(getHandle().getVariant());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setWoodType(TreeSpecies species) {
|
||||
getHandle().setType(getBoatType(species));
|
||||
getHandle().setVariant(getBoatType(species));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Type getBoatType() {
|
||||
return boatTypeFromNms(getHandle().getBoatType());
|
||||
return boatTypeFromNms(getHandle().getVariant());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBoatType(Type type) {
|
||||
Preconditions.checkArgument(type != null, "Boat.Type cannot be null");
|
||||
|
||||
getHandle().setType(boatTypeToNms(type));
|
||||
getHandle().setVariant(boatTypeToNms(type));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -111,12 +111,14 @@ public class CraftBoat extends CraftVehicle implements Boat {
|
||||
case SPRUCE -> Type.SPRUCE;
|
||||
case DARK_OAK -> Type.DARK_OAK;
|
||||
case MANGROVE -> Type.MANGROVE;
|
||||
case BAMBOO -> Type.BAMBOO;
|
||||
};
|
||||
}
|
||||
|
||||
public static EntityBoat.EnumBoatType boatTypeToNms(Boat.Type type) {
|
||||
return switch (type) {
|
||||
default -> throw new EnumConstantNotPresentException(EntityBoat.EnumBoatType.class, type.name());
|
||||
case BAMBOO -> EntityBoat.EnumBoatType.BAMBOO;
|
||||
case MANGROVE -> EntityBoat.EnumBoatType.MANGROVE;
|
||||
case SPRUCE -> EntityBoat.EnumBoatType.SPRUCE;
|
||||
case DARK_OAK -> EntityBoat.EnumBoatType.DARK_OAK;
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.Camel;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Horse;
|
||||
|
||||
public class CraftCamel extends CraftAbstractHorse implements Camel {
|
||||
|
||||
public CraftCamel(CraftServer server, net.minecraft.world.entity.animal.camel.Camel entity) {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public net.minecraft.world.entity.animal.camel.Camel getHandle() {
|
||||
return (net.minecraft.world.entity.animal.camel.Camel) super.getHandle();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CraftCamel";
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityType getType() {
|
||||
return EntityType.CAMEL;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Horse.Variant getVariant() {
|
||||
return Horse.Variant.CAMEL;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isDashing() {
|
||||
return getHandle().isDashing();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setDashing(boolean dashing) {
|
||||
getHandle().setDashing(dashing);
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,7 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
import net.minecraft.core.IRegistry;
|
||||
import net.minecraft.world.entity.animal.CatVariant;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.world.entity.animal.EntityCat;
|
||||
import net.minecraft.world.item.EnumColor;
|
||||
import org.bukkit.DyeColor;
|
||||
@@ -34,14 +33,14 @@ public class CraftCat extends CraftTameableAnimal implements Cat {
|
||||
|
||||
@Override
|
||||
public Type getCatType() {
|
||||
return Type.values()[IRegistry.CAT_VARIANT.getId(getHandle().getCatVariant())];
|
||||
return Type.values()[BuiltInRegistries.CAT_VARIANT.getId(getHandle().getVariant())];
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setCatType(Type type) {
|
||||
Preconditions.checkArgument(type != null, "Cannot have null Type");
|
||||
|
||||
getHandle().setCatVariant(IRegistry.CAT_VARIANT.byId(type.ordinal()));
|
||||
getHandle().setVariant(BuiltInRegistries.CAT_VARIANT.byId(type.ordinal()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -58,6 +58,7 @@ import net.minecraft.world.entity.animal.EntityWaterAnimal;
|
||||
import net.minecraft.world.entity.animal.EntityWolf;
|
||||
import net.minecraft.world.entity.animal.allay.Allay;
|
||||
import net.minecraft.world.entity.animal.axolotl.Axolotl;
|
||||
import net.minecraft.world.entity.animal.camel.Camel;
|
||||
import net.minecraft.world.entity.animal.frog.Frog;
|
||||
import net.minecraft.world.entity.animal.frog.Tadpole;
|
||||
import net.minecraft.world.entity.animal.goat.Goat;
|
||||
@@ -257,6 +258,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
} else if (entity instanceof EntityHorse) { return new CraftHorse(server, (EntityHorse) entity); }
|
||||
else if (entity instanceof EntityHorseSkeleton) { return new CraftSkeletonHorse(server, (EntityHorseSkeleton) entity); }
|
||||
else if (entity instanceof EntityHorseZombie) { return new CraftZombieHorse(server, (EntityHorseZombie) entity); }
|
||||
else if (entity instanceof Camel) { return new CraftCamel(server, (Camel) entity); }
|
||||
}
|
||||
else if (entity instanceof EntityRabbit) { return new CraftRabbit(server, (EntityRabbit) entity); }
|
||||
else if (entity instanceof EntityPolarBear) { return new CraftPolarBear(server, (EntityPolarBear) entity); }
|
||||
|
||||
@@ -33,14 +33,14 @@ public class CraftFox extends CraftAnimals implements Fox {
|
||||
|
||||
@Override
|
||||
public Type getFoxType() {
|
||||
return Type.values()[getHandle().getFoxType().ordinal()];
|
||||
return Type.values()[getHandle().getVariant().ordinal()];
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setFoxType(Type type) {
|
||||
Preconditions.checkArgument(type != null, "type");
|
||||
|
||||
getHandle().setFoxType(EntityFox.Type.values()[type.ordinal()]);
|
||||
getHandle().setVariant(EntityFox.Type.values()[type.ordinal()]);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
import net.minecraft.core.IRegistry;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.world.entity.animal.frog.Frog;
|
||||
import org.bukkit.Registry;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
@@ -46,13 +46,13 @@ public class CraftFrog extends CraftAnimals implements org.bukkit.entity.Frog {
|
||||
|
||||
@Override
|
||||
public Variant getVariant() {
|
||||
return Registry.FROG_VARIANT.get(CraftNamespacedKey.fromMinecraft(IRegistry.FROG_VARIANT.getKey(getHandle().getVariant())));
|
||||
return Registry.FROG_VARIANT.get(CraftNamespacedKey.fromMinecraft(BuiltInRegistries.FROG_VARIANT.getKey(getHandle().getVariant())));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVariant(Variant variant) {
|
||||
Preconditions.checkArgument(variant != null, "variant");
|
||||
|
||||
getHandle().setVariant(IRegistry.FROG_VARIANT.get(CraftNamespacedKey.toMinecraft(variant.getKey())));
|
||||
getHandle().setVariant(BuiltInRegistries.FROG_VARIANT.get(CraftNamespacedKey.toMinecraft(variant.getKey())));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ package org.bukkit.craftbukkit.entity;
|
||||
|
||||
import com.google.common.base.Preconditions;
|
||||
import net.minecraft.core.EnumDirection;
|
||||
import net.minecraft.network.syncher.DataWatcher;
|
||||
import net.minecraft.world.entity.decoration.EntityHanging;
|
||||
import net.minecraft.world.entity.decoration.EntityItemFrame;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
@@ -44,9 +43,8 @@ public class CraftItemFrame extends CraftHanging implements ItemFrame {
|
||||
super.update();
|
||||
|
||||
// mark dirty, so that the client gets updated with item and rotation
|
||||
for (DataWatcher.Item<?> dataItem : getHandle().getEntityData().getAll()) {
|
||||
getHandle().getEntityData().markDirty(dataItem.getAccessor());
|
||||
}
|
||||
getHandle().getEntityData().markDirty(EntityItemFrame.DATA_ITEM);
|
||||
getHandle().getEntityData().markDirty(EntityItemFrame.DATA_ROTATION);
|
||||
|
||||
// update redstone
|
||||
if (!getHandle().generation) {
|
||||
|
||||
@@ -23,14 +23,14 @@ public class CraftLlama extends CraftChestedHorse implements Llama {
|
||||
|
||||
@Override
|
||||
public Color getColor() {
|
||||
return Color.values()[getHandle().getVariant()];
|
||||
return Color.values()[getHandle().getVariant().ordinal()];
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setColor(Color color) {
|
||||
Preconditions.checkArgument(color != null, "color");
|
||||
|
||||
getHandle().setVariant(color.ordinal());
|
||||
getHandle().setVariant(EntityLlama.Variant.byId(color.ordinal()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -19,14 +19,14 @@ public class CraftMushroomCow extends CraftCow implements MushroomCow {
|
||||
|
||||
@Override
|
||||
public Variant getVariant() {
|
||||
return Variant.values()[getHandle().getMushroomType().ordinal()];
|
||||
return Variant.values()[getHandle().getVariant().ordinal()];
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVariant(Variant variant) {
|
||||
Preconditions.checkArgument(variant != null, "variant");
|
||||
|
||||
getHandle().setMushroomType(EntityMushroomCow.Type.values()[variant.ordinal()]);
|
||||
getHandle().setVariant(EntityMushroomCow.Type.values()[variant.ordinal()]);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -20,14 +20,14 @@ public class CraftParrot extends CraftTameableAnimal implements Parrot {
|
||||
|
||||
@Override
|
||||
public Variant getVariant() {
|
||||
return Variant.values()[getHandle().getVariant()];
|
||||
return Variant.values()[getHandle().getVariant().ordinal()];
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVariant(Variant variant) {
|
||||
Preconditions.checkArgument(variant != null, "variant");
|
||||
|
||||
getHandle().setVariant(variant.ordinal());
|
||||
getHandle().setVariant(EntityParrot.Variant.byId(variant.ordinal()));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -30,13 +30,16 @@ import java.util.logging.Logger;
|
||||
import javax.annotation.Nullable;
|
||||
import net.minecraft.advancements.AdvancementProgress;
|
||||
import net.minecraft.core.BlockPosition;
|
||||
import net.minecraft.core.Holder;
|
||||
import net.minecraft.core.SectionPosition;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.network.PacketDataSerializer;
|
||||
import net.minecraft.network.chat.ChatMessageContent;
|
||||
import net.minecraft.network.chat.IChatBaseComponent;
|
||||
import net.minecraft.network.chat.PlayerChatMessage;
|
||||
import net.minecraft.network.protocol.game.ClientboundClearTitlesPacket;
|
||||
import net.minecraft.network.protocol.game.ClientboundPlayerInfoRemovePacket;
|
||||
import net.minecraft.network.protocol.game.ClientboundPlayerInfoUpdatePacket;
|
||||
import net.minecraft.network.protocol.game.ClientboundSetBorderCenterPacket;
|
||||
import net.minecraft.network.protocol.game.ClientboundSetBorderLerpSizePacket;
|
||||
import net.minecraft.network.protocol.game.ClientboundSetBorderSizePacket;
|
||||
@@ -48,7 +51,6 @@ import net.minecraft.network.protocol.game.ClientboundSetTitlesAnimationPacket;
|
||||
import net.minecraft.network.protocol.game.PacketPlayOutBlockBreakAnimation;
|
||||
import net.minecraft.network.protocol.game.PacketPlayOutBlockChange;
|
||||
import net.minecraft.network.protocol.game.PacketPlayOutCustomPayload;
|
||||
import net.minecraft.network.protocol.game.PacketPlayOutCustomSoundEffect;
|
||||
import net.minecraft.network.protocol.game.PacketPlayOutEntityEquipment;
|
||||
import net.minecraft.network.protocol.game.PacketPlayOutEntitySound;
|
||||
import net.minecraft.network.protocol.game.PacketPlayOutExperience;
|
||||
@@ -56,7 +58,6 @@ import net.minecraft.network.protocol.game.PacketPlayOutGameStateChange;
|
||||
import net.minecraft.network.protocol.game.PacketPlayOutMap;
|
||||
import net.minecraft.network.protocol.game.PacketPlayOutMultiBlockChange;
|
||||
import net.minecraft.network.protocol.game.PacketPlayOutNamedSoundEffect;
|
||||
import net.minecraft.network.protocol.game.PacketPlayOutPlayerInfo;
|
||||
import net.minecraft.network.protocol.game.PacketPlayOutPlayerListHeaderFooter;
|
||||
import net.minecraft.network.protocol.game.PacketPlayOutSpawnPosition;
|
||||
import net.minecraft.network.protocol.game.PacketPlayOutStopSound;
|
||||
@@ -71,6 +72,7 @@ import net.minecraft.server.level.PlayerChunkMap;
|
||||
import net.minecraft.server.level.WorldServer;
|
||||
import net.minecraft.server.network.PlayerConnection;
|
||||
import net.minecraft.server.players.WhiteListEntry;
|
||||
import net.minecraft.sounds.SoundEffect;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.EntityLiving;
|
||||
import net.minecraft.world.entity.EnumItemSlot;
|
||||
@@ -299,7 +301,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
getHandle().listName = name.equals(getName()) ? null : CraftChatMessage.fromStringOrNull(name);
|
||||
for (EntityPlayer player : (List<EntityPlayer>) server.getHandle().players) {
|
||||
if (player.getBukkitEntity().canSee(this)) {
|
||||
player.connection.send(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.UPDATE_DISPLAY_NAME, getHandle()));
|
||||
player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.a.UPDATE_DISPLAY_NAME, getHandle()));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -387,7 +389,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public void chat(String msg) {
|
||||
if (getHandle().connection == null) return;
|
||||
|
||||
getHandle().connection.chat(msg, PlayerChatMessage.system(new ChatMessageContent(msg)), false);
|
||||
getHandle().connection.chat(msg, PlayerChatMessage.system(msg), false);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -434,7 +436,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
}
|
||||
|
||||
float f = (float) Math.pow(2.0D, (note - 12.0D) / 12.0D);
|
||||
getHandle().connection.send(new PacketPlayOutNamedSoundEffect(CraftSound.getSoundEffect("block.note_block." + instrumentName), net.minecraft.sounds.SoundCategory.RECORDS, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), 3.0f, f, getHandle().getRandom().nextLong()));
|
||||
getHandle().connection.send(new PacketPlayOutNamedSoundEffect(BuiltInRegistries.SOUND_EVENT.wrapAsHolder(CraftSound.getSoundEffect("block.note_block." + instrumentName)), net.minecraft.sounds.SoundCategory.RECORDS, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), 3.0f, f, getHandle().getRandom().nextLong()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -496,7 +498,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
break;
|
||||
}
|
||||
float f = (float) Math.pow(2.0D, (note.getId() - 12.0D) / 12.0D);
|
||||
getHandle().connection.send(new PacketPlayOutNamedSoundEffect(CraftSound.getSoundEffect("block.note_block." + instrumentName), net.minecraft.sounds.SoundCategory.RECORDS, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), 3.0f, f, getHandle().getRandom().nextLong()));
|
||||
getHandle().connection.send(new PacketPlayOutNamedSoundEffect(BuiltInRegistries.SOUND_EVENT.wrapAsHolder(CraftSound.getSoundEffect("block.note_block." + instrumentName)), net.minecraft.sounds.SoundCategory.RECORDS, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), 3.0f, f, getHandle().getRandom().nextLong()));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -513,7 +515,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public void playSound(Location loc, Sound sound, org.bukkit.SoundCategory category, float volume, float pitch) {
|
||||
if (loc == null || sound == null || category == null || getHandle().connection == null) return;
|
||||
|
||||
PacketPlayOutNamedSoundEffect packet = new PacketPlayOutNamedSoundEffect(CraftSound.getSoundEffect(sound), net.minecraft.sounds.SoundCategory.valueOf(category.name()), loc.getX(), loc.getY(), loc.getZ(), volume, pitch, getHandle().getRandom().nextLong());
|
||||
PacketPlayOutNamedSoundEffect packet = new PacketPlayOutNamedSoundEffect(BuiltInRegistries.SOUND_EVENT.wrapAsHolder(CraftSound.getSoundEffect(sound)), net.minecraft.sounds.SoundCategory.valueOf(category.name()), loc.getX(), loc.getY(), loc.getZ(), volume, pitch, getHandle().getRandom().nextLong());
|
||||
getHandle().connection.send(packet);
|
||||
}
|
||||
|
||||
@@ -521,7 +523,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public void playSound(Location loc, String sound, org.bukkit.SoundCategory category, float volume, float pitch) {
|
||||
if (loc == null || sound == null || category == null || getHandle().connection == null) return;
|
||||
|
||||
PacketPlayOutCustomSoundEffect packet = new PacketPlayOutCustomSoundEffect(new MinecraftKey(sound), net.minecraft.sounds.SoundCategory.valueOf(category.name()), new Vec3D(loc.getX(), loc.getY(), loc.getZ()), volume, pitch, getHandle().getRandom().nextLong());
|
||||
PacketPlayOutNamedSoundEffect packet = new PacketPlayOutNamedSoundEffect(Holder.direct(SoundEffect.createVariableRangeEvent(new MinecraftKey(sound))), net.minecraft.sounds.SoundCategory.valueOf(category.name()), loc.getX(), loc.getY(), loc.getZ(), volume, pitch, getHandle().getRandom().nextLong());
|
||||
getHandle().connection.send(packet);
|
||||
}
|
||||
|
||||
@@ -534,7 +536,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public void playSound(org.bukkit.entity.Entity entity, Sound sound, org.bukkit.SoundCategory category, float volume, float pitch) {
|
||||
if (!(entity instanceof CraftEntity craftEntity) || sound == null || category == null || getHandle().connection == null) return;
|
||||
|
||||
PacketPlayOutEntitySound packet = new PacketPlayOutEntitySound(CraftSound.getSoundEffect(sound), net.minecraft.sounds.SoundCategory.valueOf(category.name()), craftEntity.getHandle(), volume, pitch, getHandle().getRandom().nextLong());
|
||||
PacketPlayOutEntitySound packet = new PacketPlayOutEntitySound(BuiltInRegistries.SOUND_EVENT.wrapAsHolder(CraftSound.getSoundEffect(sound)), net.minecraft.sounds.SoundCategory.valueOf(category.name()), craftEntity.getHandle(), volume, pitch, getHandle().getRandom().nextLong());
|
||||
getHandle().connection.send(packet);
|
||||
}
|
||||
|
||||
@@ -1267,7 +1269,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
if (other instanceof EntityPlayer) {
|
||||
EntityPlayer otherPlayer = (EntityPlayer) other;
|
||||
if (otherPlayer.sentListPacket) {
|
||||
getHandle().connection.send(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.REMOVE_PLAYER, otherPlayer));
|
||||
getHandle().connection.send(new ClientboundPlayerInfoRemovePacket(List.of(otherPlayer.getUUID())));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1313,7 +1315,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
if (other instanceof EntityPlayer) {
|
||||
EntityPlayer otherPlayer = (EntityPlayer) other;
|
||||
getHandle().connection.send(new PacketPlayOutPlayerInfo(PacketPlayOutPlayerInfo.EnumPlayerInfoAction.ADD_PLAYER, otherPlayer));
|
||||
getHandle().connection.send(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(List.of(otherPlayer)));
|
||||
}
|
||||
|
||||
PlayerChunkMap.EntityTracker entry = tracker.entityMap.get(other.getId());
|
||||
|
||||
@@ -32,8 +32,7 @@ public class CraftRabbit extends CraftAnimals implements Rabbit {
|
||||
|
||||
@Override
|
||||
public Type getRabbitType() {
|
||||
int type = getHandle().getRabbitType();
|
||||
return CraftMagicMapping.fromMagic(type);
|
||||
return Type.values()[getHandle().getVariant().ordinal()];
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -48,43 +47,6 @@ public class CraftRabbit extends CraftAnimals implements Rabbit {
|
||||
entity.initializePathFinderGoals();
|
||||
}
|
||||
|
||||
entity.setRabbitType(CraftMagicMapping.toMagic(type));
|
||||
}
|
||||
|
||||
private static class CraftMagicMapping {
|
||||
|
||||
private static final int[] types = new int[Type.values().length];
|
||||
private static final Type[] reverse = new Type[Type.values().length];
|
||||
|
||||
static {
|
||||
set(Type.BROWN, 0);
|
||||
set(Type.WHITE, 1);
|
||||
set(Type.BLACK, 2);
|
||||
set(Type.BLACK_AND_WHITE, 3);
|
||||
set(Type.GOLD, 4);
|
||||
set(Type.SALT_AND_PEPPER, 5);
|
||||
set(Type.THE_KILLER_BUNNY, 99);
|
||||
}
|
||||
|
||||
private static void set(Type type, int value) {
|
||||
types[type.ordinal()] = value;
|
||||
if (value < reverse.length) {
|
||||
reverse[value] = type;
|
||||
}
|
||||
}
|
||||
|
||||
public static Type fromMagic(int magic) {
|
||||
if (magic >= 0 && magic < reverse.length) {
|
||||
return reverse[magic];
|
||||
} else if (magic == 99) {
|
||||
return Type.THE_KILLER_BUNNY;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static int toMagic(Type type) {
|
||||
return types[type.ordinal()];
|
||||
}
|
||||
entity.setVariant(EntityRabbit.Variant.values()[type.ordinal()]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,32 +32,32 @@ public class CraftTropicalFish extends CraftFish implements TropicalFish {
|
||||
|
||||
@Override
|
||||
public DyeColor getPatternColor() {
|
||||
return getPatternColor(getHandle().getVariant());
|
||||
return getPatternColor(getHandle().getPackedVariant());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPatternColor(DyeColor color) {
|
||||
getHandle().setVariant(getData(color, getBodyColor(), getPattern()));
|
||||
getHandle().setPackedVariant(getData(color, getBodyColor(), getPattern()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public DyeColor getBodyColor() {
|
||||
return getBodyColor(getHandle().getVariant());
|
||||
return getBodyColor(getHandle().getPackedVariant());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBodyColor(DyeColor color) {
|
||||
getHandle().setVariant(getData(getPatternColor(), color, getPattern()));
|
||||
getHandle().setPackedVariant(getData(getPatternColor(), color, getPattern()));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Pattern getPattern() {
|
||||
return getPattern(getHandle().getVariant());
|
||||
return getPattern(getHandle().getPackedVariant());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPattern(Pattern pattern) {
|
||||
getHandle().setVariant(getData(getPatternColor(), getBodyColor(), pattern));
|
||||
getHandle().setPackedVariant(getData(getPatternColor(), getBodyColor(), pattern));
|
||||
}
|
||||
|
||||
public static enum CraftPattern {
|
||||
|
||||
@@ -3,7 +3,7 @@ package org.bukkit.craftbukkit.entity;
|
||||
import com.google.common.base.Preconditions;
|
||||
import java.util.Locale;
|
||||
import net.minecraft.core.BlockPosition;
|
||||
import net.minecraft.core.IRegistry;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.world.entity.monster.EntityZombie;
|
||||
import net.minecraft.world.entity.monster.EntityZombieVillager;
|
||||
import net.minecraft.world.entity.npc.EntityVillager;
|
||||
@@ -60,13 +60,13 @@ public class CraftVillager extends CraftAbstractVillager implements Villager {
|
||||
|
||||
@Override
|
||||
public Type getVillagerType() {
|
||||
return Type.valueOf(IRegistry.VILLAGER_TYPE.getKey(getHandle().getVillagerData().getType()).getPath().toUpperCase(Locale.ROOT));
|
||||
return Type.valueOf(BuiltInRegistries.VILLAGER_TYPE.getKey(getHandle().getVillagerData().getType()).getPath().toUpperCase(Locale.ROOT));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVillagerType(Type type) {
|
||||
Validate.notNull(type);
|
||||
getHandle().setVillagerData(getHandle().getVillagerData().setType(IRegistry.VILLAGER_TYPE.get(CraftNamespacedKey.toMinecraft(type.getKey()))));
|
||||
getHandle().setVillagerData(getHandle().getVillagerData().setType(BuiltInRegistries.VILLAGER_TYPE.get(CraftNamespacedKey.toMinecraft(type.getKey()))));
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -130,10 +130,10 @@ public class CraftVillager extends CraftAbstractVillager implements Villager {
|
||||
}
|
||||
|
||||
public static Profession nmsToBukkitProfession(VillagerProfession nms) {
|
||||
return Profession.valueOf(IRegistry.VILLAGER_PROFESSION.getKey(nms).getPath().toUpperCase(Locale.ROOT));
|
||||
return Profession.valueOf(BuiltInRegistries.VILLAGER_PROFESSION.getKey(nms).getPath().toUpperCase(Locale.ROOT));
|
||||
}
|
||||
|
||||
public static VillagerProfession bukkitToNmsProfession(Profession bukkit) {
|
||||
return IRegistry.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(bukkit.getKey()));
|
||||
return BuiltInRegistries.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(bukkit.getKey()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package org.bukkit.craftbukkit.entity;
|
||||
import com.google.common.base.Preconditions;
|
||||
import java.util.Locale;
|
||||
import java.util.UUID;
|
||||
import net.minecraft.core.IRegistry;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.resources.MinecraftKey;
|
||||
import net.minecraft.world.effect.MobEffects;
|
||||
import net.minecraft.world.entity.monster.EntityZombieVillager;
|
||||
@@ -39,24 +39,24 @@ public class CraftVillagerZombie extends CraftZombie implements ZombieVillager {
|
||||
|
||||
@Override
|
||||
public Villager.Profession getVillagerProfession() {
|
||||
return Villager.Profession.valueOf(IRegistry.VILLAGER_PROFESSION.getKey(getHandle().getVillagerData().getProfession()).getPath().toUpperCase(Locale.ROOT));
|
||||
return Villager.Profession.valueOf(BuiltInRegistries.VILLAGER_PROFESSION.getKey(getHandle().getVillagerData().getProfession()).getPath().toUpperCase(Locale.ROOT));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVillagerProfession(Villager.Profession profession) {
|
||||
Validate.notNull(profession);
|
||||
getHandle().setVillagerData(getHandle().getVillagerData().setProfession(IRegistry.VILLAGER_PROFESSION.get(new MinecraftKey(profession.name().toLowerCase(Locale.ROOT)))));
|
||||
getHandle().setVillagerData(getHandle().getVillagerData().setProfession(BuiltInRegistries.VILLAGER_PROFESSION.get(new MinecraftKey(profession.name().toLowerCase(Locale.ROOT)))));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Villager.Type getVillagerType() {
|
||||
return Villager.Type.valueOf(IRegistry.VILLAGER_TYPE.getKey(getHandle().getVillagerData().getType()).getPath().toUpperCase(Locale.ROOT));
|
||||
return Villager.Type.valueOf(BuiltInRegistries.VILLAGER_TYPE.getKey(getHandle().getVillagerData().getType()).getPath().toUpperCase(Locale.ROOT));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setVillagerType(Villager.Type type) {
|
||||
Validate.notNull(type);
|
||||
getHandle().setVillagerData(getHandle().getVillagerData().setType(IRegistry.VILLAGER_TYPE.get(CraftNamespacedKey.toMinecraft(type.getKey()))));
|
||||
getHandle().setVillagerData(getHandle().getVillagerData().setType(BuiltInRegistries.VILLAGER_TYPE.get(CraftNamespacedKey.toMinecraft(type.getKey()))));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
package org.bukkit.craftbukkit.entity.memory;
|
||||
|
||||
import net.minecraft.core.IRegistry;
|
||||
import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.world.entity.ai.memory.MemoryModuleType;
|
||||
import org.bukkit.craftbukkit.util.CraftNamespacedKey;
|
||||
import org.bukkit.entity.memory.MemoryKey;
|
||||
@@ -10,10 +10,10 @@ public final class CraftMemoryKey {
|
||||
private CraftMemoryKey() {}
|
||||
|
||||
public static <T, U> MemoryModuleType<U> fromMemoryKey(MemoryKey<T> memoryKey) {
|
||||
return (MemoryModuleType<U>) IRegistry.MEMORY_MODULE_TYPE.get(CraftNamespacedKey.toMinecraft(memoryKey.getKey()));
|
||||
return (MemoryModuleType<U>) BuiltInRegistries.MEMORY_MODULE_TYPE.get(CraftNamespacedKey.toMinecraft(memoryKey.getKey()));
|
||||
}
|
||||
|
||||
public static <T, U> MemoryKey<U> toMemoryKey(MemoryModuleType<T> memoryModuleType) {
|
||||
return MemoryKey.getByKey(CraftNamespacedKey.fromMinecraft(IRegistry.MEMORY_MODULE_TYPE.getKey(memoryModuleType)));
|
||||
return MemoryKey.getByKey(CraftNamespacedKey.fromMinecraft(BuiltInRegistries.MEMORY_MODULE_TYPE.getKey(memoryModuleType)));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user