Update to Minecraft 1.21.4

By: md_5 <git@md-5.net>
This commit is contained in:
CraftBukkit/Spigot
2024-12-04 03:20:00 +11:00
parent 267ae64dd6
commit 5381ea78f7
125 changed files with 1383 additions and 1093 deletions

View File

@@ -1,21 +0,0 @@
package org.bukkit.craftbukkit.entity;
import net.minecraft.world.entity.monster.creaking.CreakingTransient;
import org.bukkit.craftbukkit.CraftServer;
public class CraftCreakingTransient extends CraftCreaking implements org.bukkit.entity.CreakingTransient {
public CraftCreakingTransient(CraftServer server, CreakingTransient entity) {
super(server, entity);
}
@Override
public CreakingTransient getHandle() {
return (CreakingTransient) entity;
}
@Override
public String toString() {
return "CraftCreakingTransient";
}
}

View File

@@ -83,7 +83,6 @@ import org.bukkit.entity.Chicken;
import org.bukkit.entity.Cod;
import org.bukkit.entity.Cow;
import org.bukkit.entity.Creaking;
import org.bukkit.entity.CreakingTransient;
import org.bukkit.entity.Creeper;
import org.bukkit.entity.Dolphin;
import org.bukkit.entity.Donkey;
@@ -351,7 +350,6 @@ public final class CraftEntityTypes {
register(new EntityTypeData<>(EntityType.BREEZE, Breeze.class, CraftBreeze::new, createLiving(EntityTypes.BREEZE)));
register(new EntityTypeData<>(EntityType.ARMADILLO, Armadillo.class, CraftArmadillo::new, createLiving(EntityTypes.ARMADILLO)));
register(new EntityTypeData<>(EntityType.CREAKING, Creaking.class, CraftCreaking::new, createLiving(EntityTypes.CREAKING)));
register(new EntityTypeData<>(EntityType.CREAKING_TRANSIENT, CreakingTransient.class, CraftCreakingTransient::new, createLiving(EntityTypes.CREAKING_TRANSIENT)));
Function<SpawnData, EntityEnderDragon> dragonFunction = createLiving(EntityTypes.ENDER_DRAGON);
register(new EntityTypeData<>(EntityType.ENDER_DRAGON, EnderDragon.class, CraftEnderDragon::new, spawnData -> {

View File

@@ -495,7 +495,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
launch = new EntityThrownExpBottle(world, getHandle(), new net.minecraft.world.item.ItemStack(Items.EXPERIENCE_BOTTLE));
((EntityProjectile) launch).shootFromRotation(getHandle(), getHandle().getXRot(), getHandle().getYRot(), -20.0F, 0.7F, 1.0F); // ItemExpBottle
} else if (FishHook.class.isAssignableFrom(projectile) && getHandle() instanceof EntityHuman) {
launch = new EntityFishingHook((EntityHuman) getHandle(), world, 0, 0, new net.minecraft.world.item.ItemStack(Items.FISHING_ROD));
launch = new EntityFishingHook((EntityHuman) getHandle(), world, 0, 0);
} else if (Fireball.class.isAssignableFrom(projectile)) {
Location location = getEyeLocation();
Vector direction = location.getDirection().multiply(10);
@@ -622,7 +622,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
if (!isLeashed()) {
return false;
}
((EntityInsentient) getHandle()).dropLeash(true, false);
((EntityInsentient) getHandle()).removeLeash();
return true;
}

View File

@@ -30,6 +30,16 @@ public final class CraftMinecartTNT extends CraftMinecart implements ExplosiveMi
getHandle().explosionPowerBase = yield;
}
@Override
public float getExplosionSpeedFactor() {
return getHandle().explosionSpeedFactor;
}
@Override
public void setExplosionSpeedFactor(float factor) {
getHandle().explosionSpeedFactor = factor;
}
@Override
public void setFuseTicks(int ticks) {
getHandle().fuse = ticks;

View File

@@ -2023,21 +2023,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
getHandle().onUpdateAbilities();
}
@Override
public int getNoDamageTicks() {
if (getHandle().spawnInvulnerableTime > 0) {
return Math.max(getHandle().spawnInvulnerableTime, getHandle().invulnerableTime);
} else {
return getHandle().invulnerableTime;
}
}
@Override
public void setNoDamageTicks(int ticks) {
super.setNoDamageTicks(ticks);
getHandle().spawnInvulnerableTime = ticks; // SPIGOT-5921: Update both for players, like the getter above
}
@Override
public void setFlySpeed(float value) {
validateSpeed(value);
@@ -2288,7 +2273,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) {
PacketPlayOutWorldParticles packetplayoutworldparticles = new PacketPlayOutWorldParticles(CraftParticle.createParticleParam(particle, data), force, (float) x, (float) y, (float) z, (float) offsetX, (float) offsetY, (float) offsetZ, (float) extra, count);
PacketPlayOutWorldParticles packetplayoutworldparticles = new PacketPlayOutWorldParticles(CraftParticle.createParticleParam(particle, data), false, force, (float) x, (float) y, (float) z, (float) offsetX, (float) offsetY, (float) offsetZ, (float) extra, count);
getHandle().connection.send(packetplayoutworldparticles);
}