mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-04-20 18:28:15 +02:00
it builds \o/
This commit is contained in:
@@ -79,7 +79,7 @@ index 9a94249834f8b0b8d3f6aeaf0c859ba875079250..0ade0256c3a227ea6a2971b2c5889b99
|
||||
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
|
||||
entity.getEntityData().resendPossiblyDesyncedEntity(player); // Paper - The entire mob gets deleted, so resend it.
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 37632d0c41149e6269fead808903765f0e59dbcc..856803084d30cc4cbdb53bd6db15e7db5ea16154 100644
|
||||
index 37632d0c41149e6269fead808903765f0e59dbcc..eed3fa6b14b1e93f8d6571bba5675796e3418f49 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -377,7 +377,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||
@@ -124,7 +124,7 @@ index 37632d0c41149e6269fead808903765f0e59dbcc..856803084d30cc4cbdb53bd6db15e7db
|
||||
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
||||
}
|
||||
// Paper end
|
||||
+ urpur start
|
||||
+ // Purpur start
|
||||
+ @Nullable
|
||||
+ private Player rider = null;
|
||||
+
|
||||
@@ -2009,7 +2009,7 @@ index b05b560b7570e97bc234b75f26233909fcf575b3..71234b258157579d3a47064e7e299bb7
|
||||
return "entity.minecraft.tropical_fish.predefined." + variant;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
index d8056421249c8e75e96a55ec07dce84d2bba9c5c..d22509f74bab68a06a8fa1a8547a2689053c6f85 100644
|
||||
index d8056421249c8e75e96a55ec07dce84d2bba9c5c..be0c77cd7ca3c9b9379c16b47dc5b5e354847ccf 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -86,6 +86,23 @@ public class Turtle extends Animal {
|
||||
@@ -2079,23 +2079,6 @@ index d8056421249c8e75e96a55ec07dce84d2bba9c5c..d22509f74bab68a06a8fa1a8547a2689
|
||||
|
||||
this.turtle.setSpeed(Mth.lerp(0.125F, this.turtle.getSpeed(), f1));
|
||||
this.turtle.setDeltaMovement(this.turtle.getDeltaMovement().add(0.0D, (double) this.turtle.getSpeed() * d1 * 0.1D, 0.0D));
|
||||
@@ -523,6 +543,16 @@ public class Turtle extends Animal {
|
||||
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
+ public void purpurTick(Player rider) {
|
||||
+ if (turtle.isInWater()) {
|
||||
+ waterController.purpurTick(rider);
|
||||
+ } else {
|
||||
+ super.purpurTick(rider);
|
||||
+ }
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
@Override
|
||||
protected boolean isValidTarget(LevelReader world, BlockPos pos) {
|
||||
return !world.isEmptyBlock(pos.above()) ? false : TurtleEggBlock.isSand(world, pos);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
index eecb7511582e5e316b71fa4a4734881424be5ca7..2efa2e19485f9d959a55115ab62f985454689379 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -2792,7 +2775,7 @@ index a6f3fba3b02b0b4d2a4e9e5205301c6f52d0188a..4eebfc27ded55e4d764d04f35d3e9c9e
|
||||
protected void defineSynchedData() {
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
index f56bb431be7d5f1a1b8edec41af1f3a28289316d..a6feb1cf892050068ea2f30a0c785818afb47d20 100644
|
||||
index f56bb431be7d5f1a1b8edec41af1f3a28289316d..152111ff4c29e6cf13afeba8c9707f407c2b3531 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
|
||||
@@ -107,6 +107,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -2803,7 +2786,7 @@ index f56bb431be7d5f1a1b8edec41af1f3a28289316d..a6feb1cf892050068ea2f30a0c785818
|
||||
|
||||
public EnderDragon(EntityType<? extends EnderDragon> entitytypes, Level world) {
|
||||
super(EntityType.ENDER_DRAGON, world);
|
||||
@@ -129,6 +130,38 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -129,6 +130,37 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
this.noCulling = true;
|
||||
this.phaseManager = new EnderDragonPhaseManager(this);
|
||||
this.explosionSource = new Explosion(world, this, null, null, Double.NaN, Double.NaN, Double.NaN, Float.NaN, true, Explosion.BlockInteraction.DESTROY, ParticleTypes.EXPLOSION, ParticleTypes.EXPLOSION_EMITTER, SoundEvents.GENERIC_EXPLODE); // CraftBukkit
|
||||
@@ -2838,11 +2821,10 @@ index f56bb431be7d5f1a1b8edec41af1f3a28289316d..a6feb1cf892050068ea2f30a0c785818
|
||||
+ @Override
|
||||
+ public boolean dismountsUnderwater() {
|
||||
+ return level().purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level().purpurConfig.enderDragonRidableInWater;
|
||||
+ }
|
||||
}
|
||||
|
||||
public void setDragonFight(EndDragonFight fight) {
|
||||
@@ -143,6 +176,17 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -143,6 +175,17 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
return this.fightOrigin;
|
||||
}
|
||||
|
||||
@@ -2860,7 +2842,7 @@ index f56bb431be7d5f1a1b8edec41af1f3a28289316d..a6feb1cf892050068ea2f30a0c785818
|
||||
public static AttributeSupplier.Builder createAttributes() {
|
||||
return Mob.createMobAttributes().add(Attributes.MAX_HEALTH, 200.0D);
|
||||
}
|
||||
@@ -204,6 +248,37 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -204,6 +247,37 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
|
||||
@Override
|
||||
public void aiStep() {
|
||||
@@ -2898,7 +2880,7 @@ index f56bb431be7d5f1a1b8edec41af1f3a28289316d..a6feb1cf892050068ea2f30a0c785818
|
||||
this.processFlappingMovement();
|
||||
if (this.level().isClientSide) {
|
||||
this.setHealth(this.getHealth());
|
||||
@@ -230,6 +305,8 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -230,6 +304,8 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
float f;
|
||||
|
||||
if (this.isDeadOrDying()) {
|
||||
@@ -2907,7 +2889,7 @@ index f56bb431be7d5f1a1b8edec41af1f3a28289316d..a6feb1cf892050068ea2f30a0c785818
|
||||
float f1 = (this.random.nextFloat() - 0.5F) * 8.0F;
|
||||
|
||||
f = (this.random.nextFloat() - 0.5F) * 4.0F;
|
||||
@@ -242,9 +319,9 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -242,9 +318,9 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
|
||||
f = 0.2F / ((float) vec3d.horizontalDistance() * 10.0F + 1.0F);
|
||||
f *= (float) Math.pow(2.0D, vec3d.y);
|
||||
@@ -2919,7 +2901,7 @@ index f56bb431be7d5f1a1b8edec41af1f3a28289316d..a6feb1cf892050068ea2f30a0c785818
|
||||
this.flapTime += f * 0.5F;
|
||||
} else {
|
||||
this.flapTime += f;
|
||||
@@ -278,7 +355,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -278,7 +354,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
}
|
||||
|
||||
this.phaseManager.getCurrentPhase().doClientTick();
|
||||
@@ -2928,7 +2910,7 @@ index f56bb431be7d5f1a1b8edec41af1f3a28289316d..a6feb1cf892050068ea2f30a0c785818
|
||||
DragonPhaseInstance idragoncontroller = this.phaseManager.getCurrentPhase();
|
||||
|
||||
idragoncontroller.doServerTick();
|
||||
@@ -347,7 +424,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -347,7 +423,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
this.tickPart(this.body, (double) (f11 * 0.5F), 0.0D, (double) (-f12 * 0.5F));
|
||||
this.tickPart(this.wing1, (double) (f12 * 4.5F), 2.0D, (double) (f11 * 4.5F));
|
||||
this.tickPart(this.wing2, (double) (f12 * -4.5F), 2.0D, (double) (f11 * -4.5F));
|
||||
@@ -2937,7 +2919,7 @@ index f56bb431be7d5f1a1b8edec41af1f3a28289316d..a6feb1cf892050068ea2f30a0c785818
|
||||
this.knockBack(this.level().getEntities((Entity) this, this.wing1.getBoundingBox().inflate(4.0D, 2.0D, 4.0D).move(0.0D, -2.0D, 0.0D), EntitySelector.NO_CREATIVE_OR_SPECTATOR));
|
||||
this.knockBack(this.level().getEntities((Entity) this, this.wing2.getBoundingBox().inflate(4.0D, 2.0D, 4.0D).move(0.0D, -2.0D, 0.0D), EntitySelector.NO_CREATIVE_OR_SPECTATOR));
|
||||
this.hurt(this.level().getEntities((Entity) this, this.head.getBoundingBox().inflate(1.0D), EntitySelector.NO_CREATIVE_OR_SPECTATOR));
|
||||
@@ -391,7 +468,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
@@ -391,7 +467,7 @@ public class EnderDragon extends Mob implements Enemy {
|
||||
}
|
||||
|
||||
if (!this.level().isClientSide) {
|
||||
|
||||
Reference in New Issue
Block a user