Merge remote-tracking branch 'origin/2.X' into 2.X

This commit is contained in:
Pyrbu 2024-07-04 00:25:34 +02:00
commit e7a82d55e7
6 changed files with 35 additions and 13 deletions

View file

@ -20,5 +20,8 @@ public enum NpcPose {
ROARING,
SNIFFING,
EMERGING,
DIGGING
DIGGING,
SLIDING,
SHOOTING,
INHALING,
}

View file

@ -8,7 +8,7 @@ runServer {
javaLauncher = javaToolchains.launcherFor {
languageVersion = JavaLanguageVersion.of(21)
}
minecraftVersion "1.20.6"
minecraftVersion "1.21"
}
processResources {
@ -20,7 +20,7 @@ dependencies {
implementation "com.google.code.gson:gson:2.10.1" // JSON parsing
implementation "org.bstats:bstats-bukkit:3.0.2" // Plugin stats
implementation "me.robertlit:SpigotResourcesAPI:2.0" // Spigot API wrapper for update checker
implementation "com.github.retrooper.packetevents:spigot:2.3.0" // Packets
implementation "com.github.retrooper:packetevents-spigot:2.4.0" // Packets
implementation "space.arim.dazzleconf:dazzleconf-ext-snakeyaml:1.2.1" // Configs
implementation "lol.pyr:director-adventure:2.1.2" // Commands

View file

@ -659,6 +659,11 @@ public class EntityPropertyRegistryImpl implements EntityPropertyRegistry {
// Wolf
register(new EncodedIntegerProperty<>("wolf_variant", WoldVariant.PALE, wolfIndex, WoldVariant::getId, EntityDataTypes.WOLF_VARIANT));
if (!ver.isNewerThanOrEquals(ServerVersion.V_1_21)) return;
// Bogged
register(new BooleanProperty("bogged_sheared", 16, false, legacyBooleans));
}
private void registerSerializer(PropertySerializer<?> serializer) {

View file

@ -18,7 +18,9 @@ public class ForceBodyRotationProperty extends DummyProperty<Boolean> {
@Override
public void apply(Player player, PacketEntity entity, boolean isSpawned, Map<Integer, EntityData> properties) {
Bukkit.getScheduler().runTaskLater(plugin, () -> entity.swingHand(player, false), 2L);
Bukkit.getScheduler().runTaskLater(plugin, () -> entity.swingHand(player, false), 6L);
if (entity.getProperty(this)) {
Bukkit.getScheduler().runTaskLater(plugin, () -> entity.swingHand(player, false), 2L);
Bukkit.getScheduler().runTaskLater(plugin, () -> entity.swingHand(player, false), 6L);
}
}
}

View file

@ -56,6 +56,7 @@ public class NpcImpl extends Viewable implements Npc {
UNSAFE_hideAll();
this.type = type;
entity = new PacketEntity(packetFactory, this, type.getType(), entity.getLocation());
hologram.setLocation(location.withY(location.getY() + type.getHologramOffset()));
UNSAFE_showAll();
}

View file

@ -48,7 +48,7 @@ public class NpcTypeRegistryImpl implements NpcTypeRegistry {
// Most hologram offsets generated using Entity#getHeight() in 1.19.4
register(builder(p, "armor_stand", EntityTypes.ARMOR_STAND)
.setHologramOffset(-0.15)
.setHologramOffset(0)
.addEquipmentProperties()
.addProperties("small", "arms", "base_plate", "head_rotation", "body_rotation", "left_arm_rotation", "right_arm_rotation", "left_leg_rotation", "right_leg_rotation"));
@ -106,7 +106,8 @@ public class NpcTypeRegistryImpl implements NpcTypeRegistry {
register(builder(p, "iron_golem", EntityTypes.IRON_GOLEM)
.setHologramOffset(0.725));
register(builder(p, "magma_cube", EntityTypes.MAGMA_CUBE)); // TODO: Hologram offset scaling with size property
register(builder(p, "magma_cube", EntityTypes.MAGMA_CUBE)
.setHologramOffset(-1.455)); // TODO: Hologram offset scaling with size property
register(builder(p, "mooshroom", EntityTypes.MOOSHROOM)
.setHologramOffset(-0.575)
@ -137,7 +138,8 @@ public class NpcTypeRegistryImpl implements NpcTypeRegistry {
register(builder(p, "skeleton_horse", EntityTypes.SKELETON_HORSE)
.setHologramOffset(-0.375));
register(builder(p, "slime", EntityTypes.SLIME)); // TODO: Hologram offset scaling with size property
register(builder(p, "slime", EntityTypes.SLIME)
.setHologramOffset(-1.455)); // TODO: Hologram offset scaling with size property
register(builder(p, "snow_golem", EntityTypes.SNOW_GOLEM)
.setHologramOffset(-0.075)
@ -230,7 +232,7 @@ public class NpcTypeRegistryImpl implements NpcTypeRegistry {
.addEquipmentProperties());
register(builder(p, "zombie_villager", EntityTypes.ZOMBIE_VILLAGER)
.setHologramOffset(-1.0)
.setHologramOffset(-0.025)
.addEquipmentProperties());
if (!version.isNewerThanOrEquals(ServerVersion.V_1_12)) return;
@ -315,7 +317,7 @@ public class NpcTypeRegistryImpl implements NpcTypeRegistry {
.addProperties("hoglin_immune_to_zombification"));
register(builder(p, "piglin", EntityTypes.PIGLIN)
.setHologramOffset(-1.0)
.setHologramOffset(-0.025)
.addEquipmentProperties()
.addProperties("piglin_baby", "piglin_charging_crossbow", "piglin_dancing"));
@ -363,18 +365,27 @@ public class NpcTypeRegistryImpl implements NpcTypeRegistry {
if (!version.isNewerThanOrEquals(ServerVersion.V_1_20)) return;
register(builder(p, "sniffer", EntityTypes.SNIFFER)
.setHologramOffset(0.125)
.setHologramOffset(0.075)
.addProperties("sniffer_state"));
register(builder(p, "camel", EntityTypes.CAMEL)
.setHologramOffset(0.25)
.setHologramOffset(0.4)
.addProperties("bashing", "camel_sitting"));
if (!version.isNewerThanOrEquals(ServerVersion.V_1_20_5)) return;
register(builder(p, "armadillo", EntityTypes.ARMADILLO)
.setHologramOffset(-1.475)
.setHologramOffset(-1.325)
.addProperties("armadillo_state"));
if (!version.isNewerThanOrEquals(ServerVersion.V_1_21)) return;
register(builder(p, "bogged", EntityTypes.BOGGED)
.setHologramOffset(0.015)
.addProperties("bogged_sheared"));
register(builder(p, "breeze", EntityTypes.BREEZE)
.setHologramOffset(-0.205));
}
public Collection<NpcType> getAll() {