mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 01:17:42 +01:00
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:
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user