mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Updated Upstream (Paper & Pufferfish)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@29b17a8 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9088) PaperMC/Paper@b5ce6e3 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9104) PaperMC/Paper@9cda284 Updated Upstream (Bukkit/CraftBukkit) PaperMC/Paper@f8c0112 {ci skip} add missing labels to project status map (#9106) PaperMC/Paper@6a7fef0 Allow entity effect changes off the main thread for worldgen (#8942) PaperMC/Paper@f8d2f82 Resolve Plugin Dependency Issues, Improve PluginLoading Compat, Small Loading Issues (#9068) PaperMC/Paper@b626528 Updated Upstream (Bukkit/CraftBukkit) PaperMC/Paper@058d7c1 Updated Upstream (Bukkit/CraftBukkit/Spigot) PaperMC/Paper@ab72b12 Update Adventure to 4.13.1 (#9113) PaperMC/Paper@8be7a60 Fix getBrightness and getRawBrightness throwing exception in BlockStateListPopulator (#9111) PaperMC/Paper@e811927 Revert "Resolve Plugin Dependency Issues, Improve PluginLoading Compat, Small Loading Issues (#9068)" Pufferfish Changes: pufferfish-gg/Pufferfish@da9fd85 Updated Upstream (Paper) pufferfish-gg/Pufferfish@751dfb0 Updated Upstream (Paper) pufferfish-gg/Pufferfish@c09a154 Updated Upstream (Paper) pufferfish-gg/Pufferfish@b778163 Updated Upstream (Paper)
This commit is contained in:
@@ -22,7 +22,7 @@ index b37e0ff164a894d2033fb94bbbc2f630a0e66bcd..ac335ec4f70830c7687ac4e0aa2a6cba
|
||||
super(x, y, z);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 5440cd26b9d6cc3988ced96490539d9a794c3a6b..a6e6dff37efd7b54a3f17c22ba4b45436bc8884d 100644
|
||||
index 0f6d1c56efbab0f9b84f09f7dc27eb705f4006a9..7f37231b33d6cfbd3d10c6c5d0b3e0b96ba0ceb3 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1529,6 +1529,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -34,7 +34,7 @@ index 5440cd26b9d6cc3988ced96490539d9a794c3a6b..a6e6dff37efd7b54a3f17c22ba4b4543
|
||||
this.profiler.push(() -> {
|
||||
return worldserver + " " + worldserver.dimension().location();
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index c7c31a901a0bf55cb557de83d1fe1688159c5b69..2f6a7a03bee6a79a45bd281394e721e17156fcf1 100644
|
||||
index a6da001a03760a6ae5d842d8aaeb8fc435883b1f..3d641a5721b90230c79dca9e43ccc6fa21f24946 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -220,6 +220,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -66,10 +66,10 @@ index 01e52ea23d5481c2df79d2c899b4febf3f4a8948..d59e49a4958ebfb2ce0b9ca127b5a98f
|
||||
|
||||
public void doTick() {
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index ed6631d2b104542465d28683cd4fd3222016e5bb..34072d4d438ca90d921d4af7f4be99f5ee58bc51 100644
|
||||
index 59071de0e66876ae15defe1bd636846e22453979..b125779217ef3adcc865c50ac9c5f5cfd747db50 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2801,6 +2801,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
@@ -2802,6 +2802,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
||||
|
||||
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
|
||||
|
||||
@@ -79,7 +79,7 @@ index ed6631d2b104542465d28683cd4fd3222016e5bb..34072d4d438ca90d921d4af7f4be99f5
|
||||
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 9608b00d957bbd0158a22f61949e9029340be9c9..1abefe370ac307beecd69ee6f5f9d46c9f414fb6 100644
|
||||
index 2f3d8291a262496065d010e304d96e6dbd729ffa..3113fb54ac88692d1bde8e539d9a7bb10fa2140a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -361,7 +361,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
|
||||
@@ -191,7 +191,7 @@ index c1e9b40a4a0f9cdc650caa88b5ea132e06ee2496..7b1ca8fd2908b8a02ec2cd1966a31e06
|
||||
protected ParticleOptions getInkParticle() {
|
||||
return ParticleTypes.GLOW_SQUID_INK;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 791f672b30f2a4d3b329e2ce0f4fb9c2ca627b01..223371a33f1c22874d9cc7b8655fef4c61ee5cb4 100644
|
||||
index f3d96caa83ef4a8083b78e3265282d4723e37d28..9b430f8624ba6326f54ca6e18a49f97cc9221b10 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -216,9 +216,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -3668,10 +3668,10 @@ index 41004c28edb748e12c4f868aa07b4672891197c1..6971cb46087aabcda66cd04c494a8228
|
||||
protected float getStandingEyeHeight(Pose pose, EntityDimensions dimensions) {
|
||||
return 10.440001F;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Guardian.java b/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
||||
index 6e0f4f15e49afb989874468b2a459178aef552f5..ba03f3e524b9ba8e8767b9e3133e96782b5d4267 100644
|
||||
index cf7e9c1db229f9e2cc05ce3046540db1d4fc4ec4..bf269b310e5b9554f36cf1d1188e20d3b195cb60 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Guardian.java
|
||||
@@ -67,14 +67,35 @@ public class Guardian extends Monster {
|
||||
@@ -69,15 +69,36 @@ public class Guardian extends Monster {
|
||||
this.xpReward = 10;
|
||||
this.setPathfindingMalus(BlockPathTypes.WATER, 0.0F);
|
||||
this.moveControl = new Guardian.GuardianMoveControl(this);
|
||||
@@ -3701,21 +3701,22 @@ index 6e0f4f15e49afb989874468b2a459178aef552f5..ba03f3e524b9ba8e8767b9e3133e9678
|
||||
+
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
MoveTowardsRestrictionGoal moveTowardsRestrictionGoal = new MoveTowardsRestrictionGoal(this, 1.0D);
|
||||
MoveTowardsRestrictionGoal pathfindergoalmovetowardsrestriction = new MoveTowardsRestrictionGoal(this, 1.0D);
|
||||
|
||||
this.randomStrollGoal = new RandomStrollGoal(this, 1.0D, 80);
|
||||
+ this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.goalSelector.addGoal(4, new Guardian.GuardianAttackGoal(this));
|
||||
this.goalSelector.addGoal(5, moveTowardsRestrictionGoal);
|
||||
this.goalSelector.addGoal(4, this.guardianAttackGoal = new Guardian.GuardianAttackGoal(this)); // CraftBukkit - assign field
|
||||
this.goalSelector.addGoal(5, pathfindergoalmovetowardsrestriction);
|
||||
this.goalSelector.addGoal(7, this.randomStrollGoal);
|
||||
@@ -83,6 +104,7 @@ public class Guardian extends Monster {
|
||||
@@ -86,6 +107,7 @@ public class Guardian extends Monster {
|
||||
this.goalSelector.addGoal(9, new RandomLookAroundGoal(this));
|
||||
this.randomStrollGoal.setFlags(EnumSet.of(Goal.Flag.MOVE, Goal.Flag.LOOK));
|
||||
moveTowardsRestrictionGoal.setFlags(EnumSet.of(Goal.Flag.MOVE, Goal.Flag.LOOK));
|
||||
pathfindergoalmovetowardsrestriction.setFlags(EnumSet.of(Goal.Flag.MOVE, Goal.Flag.LOOK));
|
||||
+ this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
|
||||
this.targetSelector.addGoal(1, new NearestAttackableTargetGoal<>(this, LivingEntity.class, 10, true, false, new Guardian.GuardianAttackSelector(this)));
|
||||
}
|
||||
|
||||
@@ -341,7 +363,7 @@ public class Guardian extends Monster {
|
||||
@@ -351,7 +373,7 @@ public class Guardian extends Monster {
|
||||
@Override
|
||||
public void travel(Vec3 movementInput) {
|
||||
if (this.isControlledByLocalInstance() && this.isInWater()) {
|
||||
@@ -3724,16 +3725,16 @@ index 6e0f4f15e49afb989874468b2a459178aef552f5..ba03f3e524b9ba8e8767b9e3133e9678
|
||||
this.move(MoverType.SELF, this.getDeltaMovement());
|
||||
this.setDeltaMovement(this.getDeltaMovement().scale(0.9D));
|
||||
if (!this.isMoving() && this.getTarget() == null) {
|
||||
@@ -448,7 +470,7 @@ public class Guardian extends Monster {
|
||||
}
|
||||
@@ -363,7 +385,7 @@ public class Guardian extends Monster {
|
||||
|
||||
}
|
||||
|
||||
- static class GuardianMoveControl extends MoveControl {
|
||||
+ static class GuardianMoveControl extends org.purpurmc.purpur.controller.WaterMoveControllerWASD { // Purpur
|
||||
- private static class GuardianMoveControl extends MoveControl {
|
||||
+ private static class GuardianMoveControl extends org.purpurmc.purpur.controller.WaterMoveControllerWASD { // Purpur
|
||||
|
||||
private final Guardian guardian;
|
||||
|
||||
public GuardianMoveControl(Guardian guardian) {
|
||||
@@ -456,8 +478,17 @@ public class Guardian extends Monster {
|
||||
@@ -372,8 +394,17 @@ public class Guardian extends Monster {
|
||||
this.guardian = guardian;
|
||||
}
|
||||
|
||||
@@ -3750,17 +3751,17 @@ index 6e0f4f15e49afb989874468b2a459178aef552f5..ba03f3e524b9ba8e8767b9e3133e9678
|
||||
+ @Override
|
||||
+ public void vanillaTick() { // Purpur
|
||||
if (this.operation == MoveControl.Operation.MOVE_TO && !this.guardian.getNavigation().isDone()) {
|
||||
Vec3 vec3 = new Vec3(this.wantedX - this.guardian.getX(), this.wantedY - this.guardian.getY(), this.wantedZ - this.guardian.getZ());
|
||||
double d = vec3.length();
|
||||
@@ -467,7 +498,7 @@ public class Guardian extends Monster {
|
||||
float h = (float)(Mth.atan2(vec3.z, vec3.x) * (double)(180F / (float)Math.PI)) - 90.0F;
|
||||
this.guardian.setYRot(this.rotlerp(this.guardian.getYRot(), h, 90.0F));
|
||||
Vec3 vec3d = new Vec3(this.wantedX - this.guardian.getX(), this.wantedY - this.guardian.getY(), this.wantedZ - this.guardian.getZ());
|
||||
double d0 = vec3d.length();
|
||||
@@ -384,7 +415,7 @@ public class Guardian extends Monster {
|
||||
|
||||
this.guardian.setYRot(this.rotlerp(this.guardian.getYRot(), f, 90.0F));
|
||||
this.guardian.yBodyRot = this.guardian.getYRot();
|
||||
- float i = (float)(this.speedModifier * this.guardian.getAttributeValue(Attributes.MOVEMENT_SPEED));
|
||||
+ float i = (float)(this.getSpeedModifier() * this.guardian.getAttributeValue(Attributes.MOVEMENT_SPEED)); // Purpur
|
||||
float j = Mth.lerp(0.125F, this.guardian.getSpeed(), i);
|
||||
this.guardian.setSpeed(j);
|
||||
double k = Math.sin((double)(this.guardian.tickCount + this.guardian.getId()) * 0.5D) * 0.05D;
|
||||
- float f1 = (float) (this.speedModifier * this.guardian.getAttributeValue(Attributes.MOVEMENT_SPEED));
|
||||
+ float f1 = (float) (this.getSpeedModifier() * this.guardian.getAttributeValue(Attributes.MOVEMENT_SPEED)); // Purpur
|
||||
float f2 = Mth.lerp(0.125F, this.guardian.getSpeed(), f1);
|
||||
|
||||
this.guardian.setSpeed(f2);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Husk.java b/src/main/java/net/minecraft/world/entity/monster/Husk.java
|
||||
index 4996347c6dde85a2dc9aa37fdf495160093fac64..1e2bc8b2c90599134d513e9062a2fb81c7c046b1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Husk.java
|
||||
@@ -5152,10 +5153,10 @@ index 57a0dbb23a32123d30c3b3572f4d129be9d97847..fa6938626c64ed17a2f56739d5801494
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index cdb8ec04f4a19ec3dbedbd5b17a7d1f3afaa238e..16261aa799c34d7134f4c1489e2ab0a5db7992f0 100644
|
||||
index 819c9c020f4d5a1373f68850134960d24b8fc308..a60948f4085232082f205ad4f0f627a28342bd36 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -544,6 +544,15 @@ public class CraftEventFactory {
|
||||
@@ -561,6 +561,15 @@ public class CraftEventFactory {
|
||||
// Paper end
|
||||
craftServer.getPluginManager().callEvent(event);
|
||||
|
||||
@@ -5171,7 +5172,7 @@ index cdb8ec04f4a19ec3dbedbd5b17a7d1f3afaa238e..16261aa799c34d7134f4c1489e2ab0a5
|
||||
return event;
|
||||
}
|
||||
|
||||
@@ -981,6 +990,7 @@ public class CraftEventFactory {
|
||||
@@ -998,6 +1007,7 @@ public class CraftEventFactory {
|
||||
damageCause = DamageCause.ENTITY_EXPLOSION;
|
||||
}
|
||||
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), entity.getBukkitEntity(), damageCause, modifiers, modifierFunctions, source.isCritical()); // Paper - add critical damage API
|
||||
@@ -5179,7 +5180,7 @@ index cdb8ec04f4a19ec3dbedbd5b17a7d1f3afaa238e..16261aa799c34d7134f4c1489e2ab0a5
|
||||
}
|
||||
event.setCancelled(cancelled);
|
||||
|
||||
@@ -1090,6 +1100,7 @@ public class CraftEventFactory {
|
||||
@@ -1107,6 +1117,7 @@ public class CraftEventFactory {
|
||||
} else {
|
||||
entity.lastDamageCancelled = true; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled
|
||||
}
|
||||
@@ -5187,7 +5188,7 @@ index cdb8ec04f4a19ec3dbedbd5b17a7d1f3afaa238e..16261aa799c34d7134f4c1489e2ab0a5
|
||||
return event;
|
||||
}
|
||||
|
||||
@@ -1149,6 +1160,7 @@ public class CraftEventFactory {
|
||||
@@ -1166,6 +1177,7 @@ public class CraftEventFactory {
|
||||
EntityDamageEvent event;
|
||||
if (damager != null) {
|
||||
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions, critical); // Paper - add critical damage API
|
||||
|
||||
Reference in New Issue
Block a user