Updated Upstream (Paper)

Upstream has released updates that appears to apply and compile correctly

Paper Changes:
cc477e6a Force Plugins that use delayed tasks for init back in their place
597263fd Don't skip full player connection tick when dead
e2c23475 Revert loaded entity list (#3304)
fa87db6b Move another NetworkManager util into the inner class (#3303)
841c7d18 Make loaded entity list logic more consistent (#3301)
36f34f01 Updated Upstream (Bukkit/CraftBukkit)
5ca5f131 Rebuild all patches using the new rebuild pattern
1ccff6fa Add villager reputation API
5c0bfffa Speed up rebuilding patches and reduce diff
f37381ea Optimize Network Manager to not need synchronization
8f9df2ed Anti Xray cleanup
878c66f1 No-Tick view distance implementation - Closes #3196
b87743c1 Stop copy-on-write operations for updating light data
97a9c972 Optimize isOutsideRange to use distance maps
b4e629a2 Use distance map to optimise entity tracker / Misc Utils
d80d1517 Optimize Entity Ticking to Loaded Chunks only
31d7686d Add item slot helper methods for various inventories (#3221)
75e1e3b3 Mob Goal API
c7bc393a Revert "Don't flush packet queue off main thread"
1abd2bd2 Don't flush packet queue off main thread
a4ed58a9 Clean up Direct Memory Region Files Fix for different Java versions
55e35019 Set cap on JDK per-thread native byte buffer cache
b5101f4f Cleanup Region Files Direct Memory on close
81e655d7 Optimize Voxel Shape Merging
ed9fc11f Sync position on teleportation
9c326fce Nanothing to see here
3e9fc24b Attempt to fix FastLogin maybe
This commit is contained in:
William Blake Galbreath
2020-05-06 20:18:39 -05:00
parent d064334c71
commit e7b1eb157b
43 changed files with 237 additions and 308 deletions

View File

@@ -1,9 +1,10 @@
From 774014565ecf69c694e3f94091d3de52240e49d3 Mon Sep 17 00:00:00 2001
From 129bb5241948459108c22dd3c2eaa78463c9c19e Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Thu, 6 Feb 2020 19:53:59 -0600
Subject: [PATCH] Ridables
---
.../paper/entity/ai/MobGoalHelper.java | 7 +
.../net/minecraft/server/AxisAlignedBB.java | 2 +
.../server/ControllerLookDolphin.java | 4 +-
.../net/minecraft/server/ControllerMove.java | 6 +-
@@ -88,7 +89,6 @@ Subject: [PATCH] Ridables
.../java/net/minecraft/server/FoodInfo.java | 1 +
.../java/net/minecraft/server/ItemDye.java | 1 +
.../java/net/minecraft/server/MathHelper.java | 2 +
.../net/minecraft/server/PathfinderGoal.java | 1 +
.../minecraft/server/PathfinderGoalSwell.java | 5 +-
.../minecraft/server/ProjectileHelper.java | 1 +
src/main/java/net/minecraft/server/Vec3D.java | 3 +
@@ -104,7 +104,7 @@ Subject: [PATCH] Ridables
.../pathfinder/PathfinderGoalHasRider.java | 21 +
.../craftbukkit/entity/CraftEntity.java | 27 +
src/main/resources/purpur.lang | 4 +-
100 files changed, 3623 insertions(+), 211 deletions(-)
100 files changed, 3629 insertions(+), 211 deletions(-)
create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerLookWASD.java
create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASD.java
create mode 100644 src/main/java/net/pl3x/purpur/controller/ControllerMoveWASDFlying.java
@@ -114,6 +114,24 @@ Subject: [PATCH] Ridables
create mode 100644 src/main/java/net/pl3x/purpur/entity/PhantomFlames.java
create mode 100644 src/main/java/net/pl3x/purpur/pathfinder/PathfinderGoalHasRider.java
diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
index d6ee94107..e8e0b3d25 100644
--- a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
+++ b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
@@ -118,6 +118,13 @@ public class MobGoalHelper {
ignored.add("selector_1");
ignored.add("selector_2");
ignored.add("wrapped");
+ // Purpur start
+ ignored.add("horse_abstract_1");
+ ignored.add("llama_3");
+ ignored.add("llama_4");
+ ignored.add("find_crystal_goal");
+ ignored.add("orbit_crystal_goal");
+ // Purpur end
bukkitMap.put(EntityInsentient.class, Mob.class);
bukkitMap.put(EntityAgeable.class, Ageable.class);
diff --git a/src/main/java/net/minecraft/server/AxisAlignedBB.java b/src/main/java/net/minecraft/server/AxisAlignedBB.java
index 3fdb52007..7e67292c2 100644
--- a/src/main/java/net/minecraft/server/AxisAlignedBB.java
@@ -198,7 +216,7 @@ index 816d301f1..f7344d3ae 100644
this.C = true;
return this;
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 14ba037c1..f630edb37 100644
index 8820e4b65..36088330e 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -79,7 +79,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -237,7 +255,7 @@ index 14ba037c1..f630edb37 100644
private float headHeight;
// CraftBukkit start
public boolean persist = true;
@@ -857,6 +857,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -872,6 +872,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return vec3d1;
}
@@ -245,7 +263,7 @@ index 14ba037c1..f630edb37 100644
public static double b(Vec3D vec3d) {
return vec3d.x * vec3d.x + vec3d.z * vec3d.z;
}
@@ -1183,6 +1184,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1198,6 +1199,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return flag;
}
@@ -253,7 +271,7 @@ index 14ba037c1..f630edb37 100644
private boolean l() {
return this.world.getType(new BlockPosition(this)).getBlock() == Blocks.BUBBLE_COLUMN;
}
@@ -1196,8 +1198,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1211,8 +1213,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return this.isInWater() || this.isInRain() || this.l();
}
@@ -264,7 +282,7 @@ index 14ba037c1..f630edb37 100644
}
public boolean aA() {
@@ -1328,6 +1331,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -1343,6 +1346,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return this.inLava;
}
@@ -272,7 +290,7 @@ index 14ba037c1..f630edb37 100644
public void a(float f, Vec3D vec3d) {
Vec3D vec3d1 = a(vec3d, f, this.yaw);
@@ -2162,7 +2166,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2177,7 +2181,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
} else {
this.passengers.add(entity);
}
@@ -287,7 +305,7 @@ index 14ba037c1..f630edb37 100644
}
return true; // CraftBukkit
}
@@ -2197,6 +2207,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2212,6 +2222,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return false;
}
// Spigot end
@@ -300,7 +318,7 @@ index 14ba037c1..f630edb37 100644
this.passengers.remove(entity);
entity.j = 60;
}
@@ -2365,6 +2381,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2380,6 +2396,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.setFlag(4, flag);
}
@@ -308,7 +326,7 @@ index 14ba037c1..f630edb37 100644
public boolean bt() {
return this.glowing || this.world.isClientSide && this.getFlag(6);
}
@@ -2583,6 +2600,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -2598,6 +2615,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
public void setHeadRotation(float f) {}
@@ -316,7 +334,7 @@ index 14ba037c1..f630edb37 100644
public void l(float f) {}
public boolean bA() {
@@ -3437,4 +3455,43 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -3452,4 +3470,43 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
void accept(Entity entity, double d0, double d1, double d2);
}
@@ -1304,7 +1322,7 @@ index 77885f67f..63f5969b1 100644
@Override
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
index 2887cb14e..a6a79f5e9 100644
index aecdaacfc..ab1747198 100644
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
@@ -46,6 +46,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
@@ -2744,10 +2762,10 @@ index 1fdc248ba..a5a36af21 100644
protected void initAttributes() {
super.initAttributes();
diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java
index 3706c31aa..b20f4afd3 100644
index 8b199971b..53bc31287 100644
--- a/src/main/java/net/minecraft/server/EntityMushroomCow.java
+++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java
@@ -20,6 +20,23 @@ public class EntityMushroomCow extends EntityCow {
@@ -19,6 +19,23 @@ public class EntityMushroomCow extends EntityCow {
super(entitytypes, world);
}
@@ -3387,7 +3405,7 @@ index 0357c9da9..98a657cec 100644
this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true));
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false));
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 90c5dc1d6..db54bcc7e 100644
index b37301598..6a7a9dc3d 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1291,6 +1291,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -3757,7 +3775,7 @@ index 6be29f307..189515b0f 100644
public int es() {
return 5;
diff --git a/src/main/java/net/minecraft/server/EntitySheep.java b/src/main/java/net/minecraft/server/EntitySheep.java
index d5ffdc110..d4f2642d3 100644
index f63528ca3..43eefa46c 100644
--- a/src/main/java/net/minecraft/server/EntitySheep.java
+++ b/src/main/java/net/minecraft/server/EntitySheep.java
@@ -55,10 +55,28 @@ public class EntitySheep extends EntityAnimal {
@@ -4065,10 +4083,10 @@ index 2efc18df9..1469e3b23 100644
} else {
this.h = ControllerMove.Operation.WAIT;
diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java
index 07ca1a498..941873513 100644
index dee55c5de..65d746899 100644
--- a/src/main/java/net/minecraft/server/EntitySnowman.java
+++ b/src/main/java/net/minecraft/server/EntitySnowman.java
@@ -14,12 +14,31 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity {
@@ -13,12 +13,31 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity {
super(entitytypes, world);
}
@@ -4100,7 +4118,7 @@ index 07ca1a498..941873513 100644
this.targetSelector.a(1, new PathfinderGoalNearestAttackableTarget<>(this, EntityInsentient.class, 10, true, false, (entityliving) -> {
return entityliving instanceof IMonster;
}));
@@ -73,6 +92,7 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity {
@@ -72,6 +91,7 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity {
return;
}
@@ -4108,16 +4126,16 @@ index 07ca1a498..941873513 100644
IBlockData iblockdata = Blocks.SNOW.getBlockData();
for (int l = 0; l < 4; ++l) {
@@ -119,7 +139,7 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity {
this.world.getServer().getPluginManager().callEvent(event);
if (event.isCancelled()) {
@@ -115,7 +135,7 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity {
if (!this.world.isClientSide) {
// CraftBukkit start
if (!CraftEventFactory.handlePlayerShearEntityEvent(entityhuman, this, itemstack, enumhand)) {
- return false;
+ return tryRide(entityhuman, enumhand); // Purpur;
+ return tryRide(entityhuman, enumhand); // Purpur
}
// CraftBukkit end
this.setHasPumpkin(false);
@@ -130,7 +150,7 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity {
@@ -126,7 +146,7 @@ public class EntitySnowman extends EntityGolem implements IRangedEntity {
return true;
} else {
@@ -4593,7 +4611,7 @@ index cf274666c..d919f44ab 100644
Vec3D vec3d = new Vec3D(this.b - EntityVex.this.locX(), this.c - EntityVex.this.locY(), this.d - EntityVex.this.locZ());
double d0 = vec3d.f();
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index ef2ee68cd..c78a77a4a 100644
index 1094324d0..ee6b133d1 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -68,6 +68,28 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -4743,7 +4761,7 @@ index 1432d3f6b..447387bd7 100644
this.targetSelector.a(2, this.bz);
this.targetSelector.a(3, this.bA);
diff --git a/src/main/java/net/minecraft/server/EntityWither.java b/src/main/java/net/minecraft/server/EntityWither.java
index 8977c3516..ad97fe7ea 100644
index 2f466af4d..8c1fa3717 100644
--- a/src/main/java/net/minecraft/server/EntityWither.java
+++ b/src/main/java/net/minecraft/server/EntityWither.java
@@ -18,7 +18,7 @@ public class EntityWither extends EntityMonster implements IRangedEntity {
@@ -5184,18 +5202,6 @@ index c4aa38ddf..3d52a396e 100644
public static float g(float f, float f1, float f2) {
return f1 + f * (f2 - f1);
}
diff --git a/src/main/java/net/minecraft/server/PathfinderGoal.java b/src/main/java/net/minecraft/server/PathfinderGoal.java
index 93009d83f..1a8ebb673 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoal.java
+++ b/src/main/java/net/minecraft/server/PathfinderGoal.java
@@ -29,6 +29,7 @@ public abstract class PathfinderGoal {
public void e() {}
+ public void setTypes(EnumSet<PathfinderGoal.Type> types) { this.a(types); } // Purpur - OBFHELPER
public void a(EnumSet<PathfinderGoal.Type> enumset) {
// Paper start - remove streams from pathfindergoalselector
this.goalTypes.clear();
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalSwell.java b/src/main/java/net/minecraft/server/PathfinderGoalSwell.java
index e07c7674a..3c077b687 100644
--- a/src/main/java/net/minecraft/server/PathfinderGoalSwell.java
@@ -5260,10 +5266,10 @@ index 0c7f094e5..62a081006 100644
return new Vec3D(this.x * d0, this.y * d1, this.z * d2);
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index d0896d944..28c8fd3d4 100644
index 352cbe6c0..4442f5cc0 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -985,6 +985,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -990,6 +990,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
}
}
@@ -5271,7 +5277,7 @@ index d0896d944..28c8fd3d4 100644
public boolean a(AxisAlignedBB axisalignedbb, Material material) {
int i = MathHelper.floor(axisalignedbb.minX);
int j = MathHelper.f(axisalignedbb.maxX);
@@ -1620,4 +1621,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -1625,4 +1626,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@Override public BiomeManager d() {
return this.biomeManager;
}