mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Update to 1.16.4 ^_^
This commit is contained in:
2
Paper
2
Paper
Submodule Paper updated: 4bcebab167...e792da723a
@@ -1 +1 @@
|
||||
1.16.3--5d1ec391cabd3077454828f223e4557e9158f106
|
||||
1.16.4--f9bea490afd845c306ca04ec55f614880ca5d4d8
|
||||
|
||||
@@ -8,7 +8,7 @@ Tuinity config
|
||||
API to retrieve raw YamlConfiguration + timing exports
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index a22e6517d..c4168709b 100644
|
||||
index 1c33b1f4d..4516ba097 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -3,18 +3,18 @@
|
||||
@@ -26,7 +26,7 @@ index a22e6517d..c4168709b 100644
|
||||
- <groupId>com.destroystokyo.paper</groupId>
|
||||
- <artifactId>paper-api</artifactId>
|
||||
+ <artifactId>tuinity-api</artifactId>
|
||||
<version>1.16.3-R0.1-SNAPSHOT</version>
|
||||
<version>1.16.4-R0.1-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
- <name>Paper-API</name>
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand
|
||||
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 3b5dcb43..d6060229 100644
|
||||
index 4516ba097..b4fe4d61b 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -1,20 +1,19 @@
|
||||
@@ -24,7 +24,7 @@ index 3b5dcb43..d6060229 100644
|
||||
|
||||
- <artifactId>tuinity-api</artifactId>
|
||||
+ <artifactId>purpur-api</artifactId>
|
||||
<version>1.16.3-R0.1-SNAPSHOT</version>
|
||||
<version>1.16.4-R0.1-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
- <name>Tuinity-API</name>
|
||||
|
||||
@@ -288,7 +288,7 @@ and an action can be defined: DROP or KICK
|
||||
If interval or rate are less-than 0, the limit is ignored
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 9211fac206..e5b74fbf25 100644
|
||||
index 80f1652913..1f265fb038 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -1,11 +1,11 @@
|
||||
@@ -298,7 +298,7 @@ index 9211fac206..e5b74fbf25 100644
|
||||
- <artifactId>paper</artifactId>
|
||||
+ <artifactId>tuinity</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<version>1.16.3-R0.1-SNAPSHOT</version>
|
||||
<version>1.16.4-R0.1-SNAPSHOT</version>
|
||||
- <name>Paper</name>
|
||||
- <url>https://papermc.io</url>
|
||||
+ <name>Tuinity-Server</name>
|
||||
@@ -2250,7 +2250,7 @@ index 6b655b744d..e811295b4d 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockBase.java b/src/main/java/net/minecraft/server/BlockBase.java
|
||||
index 5131d2172d..2c2fea8e3f 100644
|
||||
index 1f334d6328..0172e2396b 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockBase.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockBase.java
|
||||
@@ -182,8 +182,8 @@ public abstract class BlockBase {
|
||||
@@ -2261,7 +2261,7 @@ index 5131d2172d..2c2fea8e3f 100644
|
||||
- public int f(IBlockData iblockdata, IBlockAccess iblockaccess, BlockPosition blockposition) {
|
||||
+ @Deprecated public final int getOpacity(IBlockData iblockdata, IBlockAccess iblockaccess, BlockPosition blockposition) { return this.f(iblockdata, iblockaccess, blockposition); } // Tuinity - OBFHELPER
|
||||
+ @Deprecated public int f(IBlockData iblockdata, IBlockAccess iblockaccess, BlockPosition blockposition) { // Tuinity - OBFHELPER
|
||||
return iblockdata.i(iblockaccess, blockposition) ? iblockaccess.J() : (iblockdata.a(iblockaccess, blockposition) ? 0 : 1);
|
||||
return iblockdata.i(iblockaccess, blockposition) ? iblockaccess.K() : (iblockdata.a(iblockaccess, blockposition) ? 0 : 1);
|
||||
}
|
||||
|
||||
@@ -295,14 +295,14 @@ public abstract class BlockBase {
|
||||
@@ -2743,7 +2743,7 @@ index 3c7b225edb..43cbb77caf 100644
|
||||
|
||||
for (java.util.Iterator<Entry<ArraySetSorted<Ticket<?>>>> iterator = this.tickets.long2ObjectEntrySet().fastIterator(); iterator.hasNext();) {
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
index 45c142c227..b74ff6b9f3 100644
|
||||
index 6acb5f05a0..6e65842172 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
|
||||
@@ -22,6 +22,12 @@ import it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap; // Paper
|
||||
@@ -3268,10 +3268,10 @@ index 95ef962868..73163b417a 100644
|
||||
T t0 = this.h.a(this.a.a(i));
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
index f55dc28f3e..8542f2f4d2 100644
|
||||
index 5504facd2e..fcba187bbd 100644
|
||||
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
@@ -166,6 +166,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
@@ -169,6 +169,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
com.destroystokyo.paper.PaperConfig.registerCommands();
|
||||
com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // load version history now
|
||||
// Paper end
|
||||
@@ -3293,7 +3293,7 @@ index 550232cb38..229c3b0f0c 100644
|
||||
throwable = throwable1;
|
||||
throw throwable1;
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index b845e488e3..86903aaa02 100644
|
||||
index 0c952fea30..4fb01d835b 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -136,7 +136,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -3362,7 +3362,7 @@ index b845e488e3..86903aaa02 100644
|
||||
public Entity(EntityTypes<?> entitytypes, World world) {
|
||||
this.id = Entity.entityCount.incrementAndGet();
|
||||
this.passengers = Lists.newArrayList();
|
||||
@@ -590,7 +633,39 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -591,7 +634,39 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return this.onGround;
|
||||
}
|
||||
|
||||
@@ -3402,7 +3402,7 @@ index b845e488e3..86903aaa02 100644
|
||||
if (this.noclip) {
|
||||
this.a(this.getBoundingBox().c(vec3d));
|
||||
this.recalcPosition();
|
||||
@@ -618,7 +693,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -619,7 +694,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
// Paper end
|
||||
|
||||
vec3d = this.a(vec3d, enummovetype);
|
||||
@@ -3411,7 +3411,7 @@ index b845e488e3..86903aaa02 100644
|
||||
|
||||
if (vec3d1.g() > 1.0E-7D) {
|
||||
this.a(this.getBoundingBox().c(vec3d1));
|
||||
@@ -734,6 +809,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -735,6 +810,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
|
||||
this.world.getMethodProfiler().exit();
|
||||
}
|
||||
@@ -3424,8 +3424,8 @@ index b845e488e3..86903aaa02 100644
|
||||
+ // Tuinity end - detailed watchdog information
|
||||
}
|
||||
|
||||
protected BlockPosition ao() {
|
||||
@@ -814,6 +896,132 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
protected BlockPosition ap() {
|
||||
@@ -815,6 +897,132 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return d0;
|
||||
}
|
||||
|
||||
@@ -3558,7 +3558,7 @@ index b845e488e3..86903aaa02 100644
|
||||
private Vec3D g(Vec3D vec3d) {
|
||||
AxisAlignedBB axisalignedbb = this.getBoundingBox();
|
||||
VoxelShapeCollision voxelshapecollision = VoxelShapeCollision.a(this);
|
||||
@@ -849,6 +1057,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -850,6 +1058,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return vec3d1;
|
||||
}
|
||||
|
||||
@@ -3566,23 +3566,23 @@ index b845e488e3..86903aaa02 100644
|
||||
public static double c(Vec3D vec3d) {
|
||||
return vec3d.x * vec3d.x + vec3d.z * vec3d.z;
|
||||
}
|
||||
@@ -1947,11 +2156,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -1948,11 +2157,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return EnumInteractionResult.PASS;
|
||||
}
|
||||
|
||||
- public boolean j(Entity entity) {
|
||||
+ public final boolean hardCollidesWith(Entity other) { return this.j(other); } // Tuinity - OBFHELPER
|
||||
+ public boolean j(Entity entity) { // Tuinity - diff on change, hard colliding entities override this
|
||||
return entity.aY() && !this.isSameVehicle(entity);
|
||||
return entity.aZ() && !this.isSameVehicle(entity);
|
||||
}
|
||||
|
||||
- public boolean aY() {
|
||||
+ public final boolean collisionBoxIsHard() { return this.aY(); } // Tuinity - OBFHELPER
|
||||
+ public boolean aY() { // Tuinity - diff on change, hard colliding entities override this
|
||||
- public boolean aZ() {
|
||||
+ public final boolean collisionBoxIsHard() { return this.aZ(); } // Tuinity - OBFHELPER
|
||||
+ public boolean aZ() { // Tuinity - diff on change, hard colliding entities override this
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -3293,12 +3504,16 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -3294,12 +3505,16 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return this.locBlock;
|
||||
}
|
||||
|
||||
@@ -3599,7 +3599,7 @@ index b845e488e3..86903aaa02 100644
|
||||
}
|
||||
|
||||
public void setMot(double d0, double d1, double d2) {
|
||||
@@ -3353,7 +3568,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -3354,7 +3569,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
}
|
||||
// Paper end
|
||||
if (this.loc.x != d0 || this.loc.y != d1 || this.loc.z != d2) {
|
||||
@@ -3610,7 +3610,7 @@ index b845e488e3..86903aaa02 100644
|
||||
int j = MathHelper.floor(d1);
|
||||
int k = MathHelper.floor(d2);
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java
|
||||
index 3148863984..79de11ce2f 100644
|
||||
index 957a351c3f..57166a543a 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityCat.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityCat.java
|
||||
@@ -292,7 +292,7 @@ public class EntityCat extends EntityTameableAnimal {
|
||||
@@ -3623,7 +3623,7 @@ index 3148863984..79de11ce2f 100644
|
||||
this.setPersistent();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 76185f042d..0e000c7186 100644
|
||||
index fe0334b505..87cd6fb0c0 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -2847,7 +2847,11 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -3775,7 +3775,7 @@ index 25e54a1fad..b66c802d5e 100644
|
||||
return this.d(entity, axisalignedbb, predicate).allMatch(VoxelShape::isEmpty);
|
||||
} finally { if (entity != null) entity.collisionLoadChunks = false; } // Paper
|
||||
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
index 1cb8ba7cd2..882b82d895 100644
|
||||
index 07dbdd5609..150daa725a 100644
|
||||
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
@@ -52,16 +52,26 @@ public interface IEntityAccess {
|
||||
@@ -3861,7 +3861,7 @@ index ff74be1451..653ba0f1d8 100644
|
||||
0, 2, 60L, TimeUnit.SECONDS,
|
||||
new LinkedBlockingQueue<Runnable>(),
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 26bbfeba13..c5a8d6d3fb 100644
|
||||
index 9c4ea5265e..75d36eb3ee 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -985,7 +985,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -3976,7 +3976,7 @@ index 26bbfeba13..c5a8d6d3fb 100644
|
||||
protected TickTask postToMainThread(Runnable runnable) {
|
||||
@@ -1133,6 +1188,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
|
||||
private boolean ba() {
|
||||
private boolean bb() {
|
||||
if (super.executeNext()) {
|
||||
+ this.executeMidTickTasks(); // Tuinity - execute chunk tasks mid tick
|
||||
return true;
|
||||
@@ -4054,7 +4054,7 @@ index 26bbfeba13..c5a8d6d3fb 100644
|
||||
|
||||
public CrashReport b(CrashReport crashreport) {
|
||||
diff --git a/src/main/java/net/minecraft/server/NetworkManager.java b/src/main/java/net/minecraft/server/NetworkManager.java
|
||||
index c9b36e6040..ab6fb2d027 100644
|
||||
index 7a84ea4116..450e63270d 100644
|
||||
--- a/src/main/java/net/minecraft/server/NetworkManager.java
|
||||
+++ b/src/main/java/net/minecraft/server/NetworkManager.java
|
||||
@@ -71,6 +71,39 @@ public class NetworkManager extends SimpleChannelInboundHandler<Packet<?>> {
|
||||
@@ -4764,10 +4764,10 @@ index 6c399bcea0..087bbad025 100644
|
||||
}
|
||||
// Paper end - optimised tracker
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 4b0ff3e1ac..da2039b536 100644
|
||||
index 7abf55f532..10f3c97180 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -372,7 +372,9 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -415,7 +415,9 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
speed *= 2f; // TODO: Get the speed of the vehicle instead of the player
|
||||
|
||||
// Paper start - Prevent moving into unloaded chunks
|
||||
@@ -4778,7 +4778,7 @@ index 4b0ff3e1ac..da2039b536 100644
|
||||
this.networkManager.sendPacket(new PacketPlayOutVehicleMove(entity));
|
||||
return;
|
||||
}
|
||||
@@ -978,7 +980,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1052,7 +1054,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
|
||||
if (this.teleportPos != null) {
|
||||
@@ -4787,7 +4787,7 @@ index 4b0ff3e1ac..da2039b536 100644
|
||||
this.A = this.e;
|
||||
this.a(this.teleportPos.x, this.teleportPos.y, this.teleportPos.z, this.player.yaw, this.player.pitch);
|
||||
}
|
||||
@@ -1048,7 +1050,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1122,7 +1124,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
speed = player.abilities.walkSpeed * 10f;
|
||||
}
|
||||
// Paper start - Prevent moving into unloaded chunks
|
||||
@@ -4796,7 +4796,7 @@ index 4b0ff3e1ac..da2039b536 100644
|
||||
this.internalTeleport(this.player.locX(), this.player.locY(), this.player.locZ(), this.player.yaw, this.player.pitch, Collections.emptySet());
|
||||
return;
|
||||
}
|
||||
@@ -1104,6 +1106,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1178,6 +1180,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
|
||||
this.player.move(EnumMoveType.PLAYER, new Vec3D(d7, d8, d9));
|
||||
@@ -4804,7 +4804,7 @@ index 4b0ff3e1ac..da2039b536 100644
|
||||
this.player.setOnGround(packetplayinflying.b()); // CraftBukkit - SPIGOT-5810, SPIGOT-5835: reset by this.player.move
|
||||
// Paper start - prevent position desync
|
||||
if (this.teleportPos != null) {
|
||||
@@ -1128,7 +1131,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1202,7 +1205,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
|
||||
this.player.setLocation(d4, d5, d6, f, f1);
|
||||
@@ -4862,7 +4862,7 @@ index 7ea293f38d..e698dd2260 100644
|
||||
});
|
||||
throw CancelledPacketHandleException.INSTANCE;
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerInteractManager.java b/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
||||
index ac3bee9dfb..06a1b4b977 100644
|
||||
index 485b609bb5..614cfacb1e 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerInteractManager.java
|
||||
@@ -21,14 +21,29 @@ public class PlayerInteractManager {
|
||||
@@ -6352,7 +6352,7 @@ index e21c747b6c..4bdadffee0 100644
|
||||
return voxelshape != b() && voxelshape1 != b() ? (voxelshape.isEmpty() && voxelshape1.isEmpty() ? false : !c(b(), b(voxelshape, voxelshape1, OperatorBoolean.OR), OperatorBoolean.ONLY_FIRST)) : true;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index d91124bc85..db90920c8d 100644
|
||||
index d64d94b8c3..3804758a62 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -94,6 +94,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -6412,7 +6412,7 @@ index d91124bc85..db90920c8d 100644
|
||||
}
|
||||
// Paper start - Prevent armor stands from doing entity lookups
|
||||
@Override
|
||||
@@ -1072,10 +1087,44 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -1076,10 +1091,44 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
return this.getChunkAt(i, j, ChunkStatus.FULL, false);
|
||||
}
|
||||
|
||||
@@ -6530,10 +6530,10 @@ index f011869880..26a8c4ffe2 100644
|
||||
return this.j.d();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 95da2a5602..215789b762 100644
|
||||
index b196810316..dcf28739fc 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -51,12 +51,13 @@ import org.bukkit.event.server.MapInitializeEvent;
|
||||
@@ -55,12 +55,13 @@ import org.bukkit.event.server.MapInitializeEvent;
|
||||
import org.bukkit.event.weather.LightningStrikeEvent;
|
||||
import org.bukkit.event.world.TimeSkipEvent;
|
||||
// CraftBukkit end
|
||||
@@ -6548,7 +6548,7 @@ index 95da2a5602..215789b762 100644
|
||||
private final Map<UUID, Entity> entitiesByUUID = Maps.newHashMap();
|
||||
private final Queue<Entity> entitiesToAdd = Queues.newArrayDeque();
|
||||
public final List<EntityPlayer> players = Lists.newArrayList(); // Paper - private -> public
|
||||
@@ -80,7 +81,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -84,7 +85,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
private final PortalTravelAgent portalTravelAgent;
|
||||
private final TickListServer<Block> nextTickListBlock;
|
||||
private final TickListServer<FluidType> nextTickListFluid;
|
||||
@@ -6557,7 +6557,7 @@ index 95da2a5602..215789b762 100644
|
||||
protected final PersistentRaid persistentRaid;
|
||||
private final ObjectLinkedOpenHashSet<BlockActionData> L;
|
||||
private boolean ticking;
|
||||
@@ -201,6 +202,100 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -205,6 +206,100 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
// Paper end - rewrite ticklistserver
|
||||
|
||||
@@ -6658,7 +6658,7 @@ index 95da2a5602..215789b762 100644
|
||||
// Add env and gen to constructor, WorldData -> WorldDataServer
|
||||
public WorldServer(MinecraftServer minecraftserver, Executor executor, Convertable.ConversionSession convertable_conversionsession, IWorldDataServer iworlddataserver, ResourceKey<World> resourcekey, DimensionManager dimensionmanager, WorldLoadListener worldloadlistener, ChunkGenerator chunkgenerator, boolean flag, long i, List<MobSpawner> list, boolean flag1, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen) {
|
||||
super(iworlddataserver, resourcekey, dimensionmanager, minecraftserver::getMethodProfiler, false, flag, i, gen, env, executor); // Paper pass executor
|
||||
@@ -261,6 +356,328 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -265,6 +360,328 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
this.asyncChunkTaskManager = new com.destroystokyo.paper.io.chunk.ChunkTaskManager(this); // Paper
|
||||
}
|
||||
|
||||
@@ -6987,7 +6987,7 @@ index 95da2a5602..215789b762 100644
|
||||
// CraftBukkit start
|
||||
@Override
|
||||
protected TileEntity getTileEntity(BlockPosition pos, boolean validate) {
|
||||
@@ -463,7 +880,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -467,7 +884,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
timings.scheduledBlocks.stopTiming(); // Paper
|
||||
|
||||
@@ -6996,16 +6996,16 @@ index 95da2a5602..215789b762 100644
|
||||
gameprofilerfiller.exitEnter("raid");
|
||||
this.timings.raids.startTiming(); // Paper - timings
|
||||
this.persistentRaid.a();
|
||||
@@ -472,7 +889,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -476,7 +893,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
timings.doSounds.startTiming(); // Spigot
|
||||
this.aj();
|
||||
this.ak();
|
||||
timings.doSounds.stopTiming(); // Spigot
|
||||
- this.getMinecraftServer().midTickLoadChunks(); // Paper
|
||||
+ // Tuinity - replace logic
|
||||
this.ticking = false;
|
||||
gameprofilerfiller.exitEnter("entities");
|
||||
boolean flag3 = true || !this.players.isEmpty() || !this.getForceLoadedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players
|
||||
@@ -488,13 +905,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -492,13 +909,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
|
||||
this.tickingEntities = true;
|
||||
@@ -7021,7 +7021,7 @@ index 95da2a5602..215789b762 100644
|
||||
Entity entity1 = entity.getVehicle();
|
||||
|
||||
/* CraftBukkit start - We prevent spawning in general, so this butchering is not needed
|
||||
@@ -530,7 +946,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -534,7 +950,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
gameprofilerfiller.enter("remove");
|
||||
if (entity.dead) {
|
||||
this.removeEntityFromChunk(entity);
|
||||
@@ -7030,7 +7030,7 @@ index 95da2a5602..215789b762 100644
|
||||
this.unregisterEntity(entity);
|
||||
}
|
||||
|
||||
@@ -538,6 +954,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -542,6 +958,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
timings.entityTick.stopTiming(); // Spigot
|
||||
|
||||
@@ -7038,7 +7038,7 @@ index 95da2a5602..215789b762 100644
|
||||
this.tickingEntities = false;
|
||||
// Paper start
|
||||
for (java.lang.Runnable run : this.afterEntityTickingTasks) {
|
||||
@@ -549,7 +966,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -553,7 +970,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
this.afterEntityTickingTasks.clear();
|
||||
// Paper end
|
||||
@@ -7047,7 +7047,7 @@ index 95da2a5602..215789b762 100644
|
||||
|
||||
Entity entity2;
|
||||
|
||||
@@ -559,7 +976,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -563,7 +980,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
|
||||
timings.tickEntities.stopTiming(); // Spigot
|
||||
@@ -7056,7 +7056,7 @@ index 95da2a5602..215789b762 100644
|
||||
this.tickBlockEntities();
|
||||
}
|
||||
|
||||
@@ -805,7 +1222,26 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -809,7 +1226,26 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
}
|
||||
|
||||
@@ -7083,7 +7083,7 @@ index 95da2a5602..215789b762 100644
|
||||
if (!(entity instanceof EntityHuman) && !this.getChunkProvider().a(entity)) {
|
||||
this.chunkCheck(entity);
|
||||
} else {
|
||||
@@ -858,6 +1294,11 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -862,6 +1298,11 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
//} finally { timer.stopTiming(); } // Paper - timings - move up
|
||||
|
||||
}
|
||||
@@ -7095,7 +7095,7 @@ index 95da2a5602..215789b762 100644
|
||||
}
|
||||
|
||||
public void a(Entity entity, Entity entity1) {
|
||||
@@ -1295,7 +1736,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1299,7 +1740,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
Entity entity = (Entity) iterator.next();
|
||||
|
||||
if (!(entity instanceof EntityPlayer)) {
|
||||
@@ -7104,7 +7104,7 @@ index 95da2a5602..215789b762 100644
|
||||
throw (IllegalStateException) SystemUtils.c((Throwable) (new IllegalStateException("Removing entity while ticking!")));
|
||||
}
|
||||
|
||||
@@ -1323,6 +1764,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1327,6 +1768,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
public void unregisterEntity(Entity entity) {
|
||||
org.spigotmc.AsyncCatcher.catchOp("entity unregister"); // Spigot
|
||||
@@ -7112,7 +7112,7 @@ index 95da2a5602..215789b762 100644
|
||||
// Paper start - fix entity registration issues
|
||||
if (entity instanceof EntityComplexPart) {
|
||||
// Usually this is a no-op for complex parts, and ID's should be removed, but go ahead and remove it anyways
|
||||
@@ -1389,12 +1831,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1393,12 +1835,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
this.getScoreboard().a(entity);
|
||||
// CraftBukkit start - SPIGOT-5278
|
||||
if (entity instanceof EntityDrowned) {
|
||||
@@ -7132,7 +7132,7 @@ index 95da2a5602..215789b762 100644
|
||||
}
|
||||
new com.destroystokyo.paper.event.entity.EntityRemoveFromWorldEvent(entity.getBukkitEntity()).callEvent(); // Paper - fire while valid
|
||||
entity.valid = false; // CraftBukkit
|
||||
@@ -1410,7 +1856,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1414,7 +1860,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
return;
|
||||
}
|
||||
// Paper end
|
||||
@@ -7141,7 +7141,7 @@ index 95da2a5602..215789b762 100644
|
||||
if (!entity.isQueuedForRegister) { // Paper
|
||||
this.entitiesToAdd.add(entity);
|
||||
entity.isQueuedForRegister = true; // Paper
|
||||
@@ -1418,6 +1864,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1422,6 +1868,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
} else {
|
||||
entity.isQueuedForRegister = false; // Paper
|
||||
this.entitiesById.put(entity.getId(), entity);
|
||||
@@ -7149,7 +7149,7 @@ index 95da2a5602..215789b762 100644
|
||||
if (entity instanceof EntityEnderDragon) {
|
||||
EntityComplexPart[] aentitycomplexpart = ((EntityEnderDragon) entity).eJ();
|
||||
int i = aentitycomplexpart.length;
|
||||
@@ -1426,6 +1873,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1430,6 +1877,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
EntityComplexPart entitycomplexpart = aentitycomplexpart[j];
|
||||
|
||||
this.entitiesById.put(entitycomplexpart.getId(), entitycomplexpart);
|
||||
@@ -7157,7 +7157,7 @@ index 95da2a5602..215789b762 100644
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1450,12 +1898,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1454,12 +1902,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
// this.getChunkProvider().addEntity(entity); // Paper - moved down below valid=true
|
||||
// CraftBukkit start - SPIGOT-5278
|
||||
if (entity instanceof EntityDrowned) {
|
||||
@@ -7177,7 +7177,7 @@ index 95da2a5602..215789b762 100644
|
||||
}
|
||||
entity.valid = true; // CraftBukkit
|
||||
this.getChunkProvider().addEntity(entity); // Paper - from above to be below valid=true
|
||||
@@ -1471,7 +1923,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1475,7 +1927,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
|
||||
public void removeEntity(Entity entity) {
|
||||
@@ -7186,7 +7186,7 @@ index 95da2a5602..215789b762 100644
|
||||
throw (IllegalStateException) SystemUtils.c((Throwable) (new IllegalStateException("Removing entity while ticking!")));
|
||||
} else {
|
||||
this.removeEntityFromChunk(entity);
|
||||
@@ -1567,13 +2019,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1571,13 +2023,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
@Override
|
||||
public void notify(BlockPosition blockposition, IBlockData iblockdata, IBlockData iblockdata1, int i) {
|
||||
@@ -7204,7 +7204,7 @@ index 95da2a5602..215789b762 100644
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
NavigationAbstract navigationabstract = (NavigationAbstract) iterator.next();
|
||||
@@ -1582,6 +2037,9 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1586,6 +2041,9 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
navigationabstract.b(blockposition);
|
||||
}
|
||||
}
|
||||
@@ -7336,7 +7336,7 @@ index 299f57ca2a..4de6252f07 100644
|
||||
}, MinecraftServer.getServer());
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
index e8f52003f3..27cfaf6acf 100644
|
||||
index 9118f05424..a9c96d45c6 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -138,6 +138,13 @@ public class Main {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand
|
||||
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 5e25ae55e4..ce4989e93f 100644
|
||||
index 1f265fb038..17dbe85eb3 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -1,11 +1,11 @@
|
||||
@@ -15,7 +15,7 @@ index 5e25ae55e4..ce4989e93f 100644
|
||||
- <artifactId>tuinity</artifactId>
|
||||
+ <artifactId>purpur</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<version>1.16.3-R0.1-SNAPSHOT</version>
|
||||
<version>1.16.4-R0.1-SNAPSHOT</version>
|
||||
- <name>Tuinity-Server</name>
|
||||
- <url>https://github.com/Spottedleaf/Tuinity</url>
|
||||
+ <name>Purpur-Server</name>
|
||||
@@ -111,7 +111,7 @@ index 229c3b0f0c..f88cf526d2 100644
|
||||
throwable = throwable1;
|
||||
throw throwable1;
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index c5a8d6d3fb..651817e87e 100644
|
||||
index 75d36eb3ee..e2474dff72 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1510,7 +1510,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -245,7 +245,7 @@ index 0000000000..d8b408f061
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 786ddcee7e..c7a9b31e3a 100644
|
||||
index 9bf854b5a2..260d3513ec 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -232,7 +232,7 @@ import javax.annotation.Nullable; // Paper
|
||||
@@ -258,7 +258,7 @@ index 786ddcee7e..c7a9b31e3a 100644
|
||||
private final String bukkitVersion = Versioning.getBukkitVersion();
|
||||
private final Logger logger = Logger.getLogger("Minecraft");
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
index 3ebaa9463e..91cba8e6ac 100644
|
||||
index ed926fc6eb..3d2fcb5e8a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
@@ -347,7 +347,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||
|
||||
@@ -29,10 +29,10 @@ index 8a19c96499..de75e33a68 100644
|
||||
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
|
||||
Map<String, Map<String, Integer>> map = new HashMap<>();
|
||||
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
index 8542f2f4d2..050e0d7ec2 100644
|
||||
index fcba187bbd..c1eb8e8679 100644
|
||||
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
@@ -164,6 +164,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
@@ -167,6 +167,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
return false;
|
||||
}
|
||||
com.destroystokyo.paper.PaperConfig.registerCommands();
|
||||
@@ -49,7 +49,7 @@ index 8542f2f4d2..050e0d7ec2 100644
|
||||
// Paper end
|
||||
com.tuinity.tuinity.config.TuinityConfig.init((java.io.File) options.valueOf("tuinity-settings")); // Tuinity - Server Config
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index db90920c8d..11a408d3ae 100644
|
||||
index 3804758a62..3159d51bba 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -95,6 +95,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -391,7 +391,7 @@ index 260d3513ec..51ef4ab09e 100644
|
||||
public void restart() {
|
||||
org.spigotmc.RestartCommand.restart();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
index 27cfaf6acf..3313d316fa 100644
|
||||
index a9c96d45c6..b65629cac7 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -146,6 +146,14 @@ public class Main {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] AFK API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index ce4ebc96c..eb62555cb 100644
|
||||
index caaa01b20e..335cb9c4a9 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -84,6 +84,15 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
@@ -25,10 +25,10 @@ index ce4ebc96c..eb62555cb 100644
|
||||
super(EntityTypes.PLAYER, world);
|
||||
this.bL = ItemStack.b;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 8e1655a97..3d7729880 100644
|
||||
index 500d8914cc..656d30bbbb 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -1719,8 +1719,54 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -1722,8 +1722,54 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
public void resetIdleTimer() {
|
||||
this.ca = SystemUtils.getMonotonicMillis();
|
||||
@@ -84,7 +84,7 @@ index 8e1655a97..3d7729880 100644
|
||||
return this.serverStatisticManager;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
index 882b82d89..90c37e4a8 100644
|
||||
index 150daa725a..87f700298f 100644
|
||||
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
@@ -149,28 +149,18 @@ public interface IEntityAccess {
|
||||
@@ -129,7 +129,7 @@ index 882b82d89..90c37e4a8 100644
|
||||
|
||||
@Nullable
|
||||
diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java
|
||||
index a9b0c78d6..c8e384ab6 100644
|
||||
index 31eb6868c2..9f9d9b2de8 100644
|
||||
--- a/src/main/java/net/minecraft/server/IEntitySelector.java
|
||||
+++ b/src/main/java/net/minecraft/server/IEntitySelector.java
|
||||
@@ -7,6 +7,7 @@ import javax.annotation.Nullable;
|
||||
@@ -154,10 +154,10 @@ index a9b0c78d6..c8e384ab6 100644
|
||||
// Paper start
|
||||
public static final Predicate<Entity> affectsSpawning = (entity) -> {
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index da2039b53..ecc0e2e40 100644
|
||||
index 10f3c97180..cd37d71986 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -236,6 +236,12 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -247,6 +247,12 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
|
||||
if (this.player.F() > 0L && this.minecraftServer.getIdleTimeout() > 0 && SystemUtils.getMonotonicMillis() - this.player.F() > (long) (this.minecraftServer.getIdleTimeout() * 1000 * 60)) {
|
||||
@@ -170,7 +170,7 @@ index da2039b53..ecc0e2e40 100644
|
||||
this.player.resetIdleTimer(); // CraftBukkit - SPIGOT-854
|
||||
this.disconnect(new ChatMessage("multiplayer.disconnect.idling"));
|
||||
}
|
||||
@@ -459,6 +465,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -502,6 +508,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
this.lastYaw = to.getYaw();
|
||||
this.lastPitch = to.getPitch();
|
||||
|
||||
@@ -179,7 +179,7 @@ index da2039b53..ecc0e2e40 100644
|
||||
// Skip the first time we do this
|
||||
if (true) { // Spigot - don't skip any move events
|
||||
Location oldTo = to.clone();
|
||||
@@ -1127,7 +1135,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1201,7 +1209,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
||||
if (!this.player.H() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.playerInteractManager.isCreative() && this.player.playerInteractManager.getGameMode() != EnumGamemode.SPECTATOR) { // Spigot
|
||||
flag1 = true;
|
||||
@@ -188,7 +188,7 @@ index da2039b53..ecc0e2e40 100644
|
||||
}
|
||||
|
||||
this.player.setLocation(d4, d5, d6, f, f1);
|
||||
@@ -1166,6 +1174,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1240,6 +1248,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
this.lastYaw = to.getYaw();
|
||||
this.lastPitch = to.getPitch();
|
||||
|
||||
@@ -198,10 +198,10 @@ index da2039b53..ecc0e2e40 100644
|
||||
if (from.getX() != Double.MAX_VALUE) {
|
||||
Location oldTo = to.clone();
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 215789b76..aac4e489a 100644
|
||||
index dcf28739fc..1780e6a5bc 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -843,7 +843,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -847,7 +847,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
// CraftBukkit end
|
||||
|
||||
if (this.everyoneSleeping && this.players.stream().noneMatch((entityplayer) -> {
|
||||
@@ -210,7 +210,7 @@ index 215789b76..aac4e489a 100644
|
||||
})) {
|
||||
// CraftBukkit start
|
||||
long l = this.worldData.getDayTime() + 24000L;
|
||||
@@ -1164,7 +1164,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1168,7 +1168,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
while (iterator.hasNext()) {
|
||||
EntityPlayer entityplayer = (EntityPlayer) iterator.next();
|
||||
|
||||
@@ -220,7 +220,7 @@ index 215789b76..aac4e489a 100644
|
||||
} else if (entityplayer.isSleeping()) {
|
||||
++j;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 803a7ff92..d699a9168 100644
|
||||
index 803a7ff92a..d699a91685 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -1,6 +1,7 @@
|
||||
@@ -248,7 +248,7 @@ index 803a7ff92..d699a9168 100644
|
||||
private static void timingsSettings() {
|
||||
timingsUrl = getString("settings.timings.url", timingsUrl);
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 361f7857e..2578a4677 100644
|
||||
index 361f7857e4..2578a4677d 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -56,4 +56,15 @@ public class PurpurWorldConfig {
|
||||
@@ -268,7 +268,7 @@ index 361f7857e..2578a4677 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 9f04172fb..6db07713e 100644
|
||||
index 9f04172fb2..6db07713ef 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2192,4 +2192,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -294,7 +294,7 @@ index 9f04172fb..6db07713e 100644
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index 0b93635ba..b47d6fa2d 100644
|
||||
index 0b93635ba5..b47d6fa2de 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
@@ -207,6 +207,7 @@ public class ActivationRange
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] LivingEntity safeFallDistance
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
||||
index 702242653..9f4f56c47 100644
|
||||
index 702242653a..9f4f56c47e 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
||||
@@ -4,6 +4,7 @@ public class EntityGiantZombie extends EntityMonster {
|
||||
@@ -17,7 +17,7 @@ index 702242653..9f4f56c47 100644
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
index 191d9cb82..9f74d6e88 100644
|
||||
index 8af1fe5d82..345e1df09e 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
@@ -210,7 +210,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
|
||||
@@ -30,7 +30,7 @@ index 191d9cb82..9f74d6e88 100644
|
||||
|
||||
protected int getChestSlots() {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 0e000c718..baf35465b 100644
|
||||
index 87cd6fb0c0..27e6d39a2f 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -133,6 +133,7 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -42,7 +42,7 @@ index 0e000c718..baf35465b 100644
|
||||
ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
|
||||
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
|
||||
@@ -227,8 +228,8 @@ public abstract class EntityLiving extends Entity {
|
||||
this.cQ();
|
||||
this.cR();
|
||||
}
|
||||
|
||||
- if (!this.world.isClientSide && this.fallDistance > 3.0F && flag) {
|
||||
@@ -62,7 +62,7 @@ index 0e000c718..baf35465b 100644
|
||||
|
||||
protected void playBlockStepSound() {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 9e9bdf9bc..2fd4bc818 100644
|
||||
index 9e9bdf9bc2..2fd4bc818a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -809,4 +809,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] EntityMoveEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index baf35465b..84e4c754a 100644
|
||||
index 27e6d39a2f..5228a11a55 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -2802,6 +2802,20 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -26,6 +26,6 @@ index baf35465b..84e4c754a 100644
|
||||
+ }
|
||||
+ }
|
||||
+ // Purpur end
|
||||
if (!this.world.isClientSide && this.dN() && this.aF()) {
|
||||
if (!this.world.isClientSide && this.dO() && this.aG()) {
|
||||
this.damageEntity(DamageSource.DROWN, 1.0F);
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 3d7729880..58d042b47 100644
|
||||
index 656d30bbbb..7eb0f515aa 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -144,6 +144,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -147,6 +147,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
this.canPickUpLoot = true;
|
||||
this.maxHealthCache = this.getMaxHealth();
|
||||
this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper
|
||||
@@ -17,7 +17,7 @@ index 3d7729880..58d042b47 100644
|
||||
}
|
||||
// Paper start
|
||||
public BlockPosition getPointInFront(double inFront) {
|
||||
@@ -806,6 +808,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -809,6 +811,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ index 3d7729880..58d042b47 100644
|
||||
@Override
|
||||
public boolean damageEntity(DamageSource damagesource, float f) {
|
||||
if (this.isInvulnerable(damagesource)) {
|
||||
@@ -813,7 +821,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -816,7 +824,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
} else {
|
||||
boolean flag = this.server.j() && this.canPvP() && "fall".equals(damagesource.translationIndex);
|
||||
|
||||
@@ -39,7 +39,7 @@ index 3d7729880..58d042b47 100644
|
||||
return false;
|
||||
} else {
|
||||
if (damagesource instanceof EntityDamageSource) {
|
||||
@@ -984,6 +992,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -987,6 +995,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
// CraftBukkit end
|
||||
}
|
||||
|
||||
@@ -47,7 +47,7 @@ index 3d7729880..58d042b47 100644
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -2122,9 +2131,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -2130,9 +2139,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
@Override
|
||||
public boolean isFrozen() { // Paper - protected > public
|
||||
@@ -67,10 +67,10 @@ index 3d7729880..58d042b47 100644
|
||||
public Scoreboard getScoreboard() {
|
||||
return getBukkitEntity().getScoreboard().getHandle();
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index ecc0e2e40..88254f69e 100644
|
||||
index cd37d71986..c783d583f0 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -1576,6 +1576,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1650,6 +1650,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
PlayerConnectionUtils.ensureMainThread(packetplayinresourcepackstatus, this, this.player.getWorldServer());
|
||||
// Paper start
|
||||
PlayerResourcePackStatusEvent.Status packStatus = PlayerResourcePackStatusEvent.Status.values()[packetplayinresourcepackstatus.status.ordinal()];
|
||||
@@ -79,7 +79,7 @@ index ecc0e2e40..88254f69e 100644
|
||||
this.server.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(getPlayer(), packStatus));
|
||||
// Paper end
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 38f26e25c..c92a703da 100644
|
||||
index 38f26e25cb..c92a703da4 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -905,6 +905,8 @@ public abstract class PlayerList {
|
||||
@@ -92,7 +92,7 @@ index 38f26e25c..c92a703da 100644
|
||||
return entityplayer1;
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 2578a4677..c441fcea9 100644
|
||||
index 2578a4677d..c441fcea9b 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -67,4 +67,11 @@ public class PurpurWorldConfig {
|
||||
@@ -108,7 +108,7 @@ index 2578a4677..c441fcea9 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 6db07713e..7d04913f9 100644
|
||||
index 6db07713ef..7d04913f9b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2208,5 +2208,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Alternative Keepalive Handling
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PacketPlayInKeepAlive.java b/src/main/java/net/minecraft/server/PacketPlayInKeepAlive.java
|
||||
index 8e93f1540..470f92c4f 100644
|
||||
index 8e93f1540b..470f92c4fb 100644
|
||||
--- a/src/main/java/net/minecraft/server/PacketPlayInKeepAlive.java
|
||||
+++ b/src/main/java/net/minecraft/server/PacketPlayInKeepAlive.java
|
||||
@@ -22,6 +22,7 @@ public class PacketPlayInKeepAlive implements Packet<PacketListenerPlayIn> {
|
||||
@@ -17,10 +17,10 @@ index 8e93f1540..470f92c4f 100644
|
||||
return this.a;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 8b2f7d1f8..307ffb21d 100644
|
||||
index c783d583f0..22e17944ae 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -77,6 +77,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -83,6 +83,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
private long lastKeepAlive = SystemUtils.getMonotonicMillis(); private void setLastPing(long lastPing) { this.lastKeepAlive = lastPing;}; private long getLastPing() { return this.lastKeepAlive;}; // Paper - OBFHELPER
|
||||
private boolean awaitingKeepAlive; private void setPendingPing(boolean isPending) { this.awaitingKeepAlive = isPending;}; private boolean isPendingPing() { return this.awaitingKeepAlive;}; // Paper - OBFHELPER
|
||||
private long h; private void setKeepAliveID(long keepAliveID) { this.h = keepAliveID;}; private long getKeepAliveID() {return this.h; }; // Paper - OBFHELPER
|
||||
@@ -28,7 +28,7 @@ index 8b2f7d1f8..307ffb21d 100644
|
||||
// CraftBukkit start - multithreaded fields
|
||||
private volatile int chatThrottle;
|
||||
private static final AtomicIntegerFieldUpdater chatSpamField = AtomicIntegerFieldUpdater.newUpdater(PlayerConnection.class, "chatThrottle");
|
||||
@@ -205,6 +206,21 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -216,6 +217,21 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
long currentTime = SystemUtils.getMonotonicMillis();
|
||||
long elapsedTime = currentTime - this.getLastPing();
|
||||
|
||||
@@ -50,7 +50,7 @@ index 8b2f7d1f8..307ffb21d 100644
|
||||
if (this.isPendingPing()) {
|
||||
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
|
||||
PlayerConnection.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getName()); // more info
|
||||
@@ -2723,6 +2739,16 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -2817,6 +2833,16 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
||||
@Override
|
||||
public void a(PacketPlayInKeepAlive packetplayinkeepalive) {
|
||||
@@ -68,7 +68,7 @@ index 8b2f7d1f8..307ffb21d 100644
|
||||
if (this.awaitingKeepAlive && packetplayinkeepalive.b() == this.h) {
|
||||
int i = (int) (SystemUtils.getMonotonicMillis() - this.lastKeepAlive);
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 6ff5e0783..f1d6c32fd 100644
|
||||
index 6ff5e07834..f1d6c32fde 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -154,6 +154,11 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,14 +5,14 @@ Subject: [PATCH] Disable outdated build check
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
index 3313d316fa..94aa512c45 100644
|
||||
index b65629cac7..71f8435e4a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -259,7 +259,7 @@ public class Main {
|
||||
System.setProperty(TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper
|
||||
}
|
||||
|
||||
- if (false && Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) {
|
||||
- if (Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) {
|
||||
+ if (false) { // Main.class.getPackage().getImplementationVendor() != null && System.getProperty("IReallyKnowWhatIAmDoingISwear") == null) { // Purpur
|
||||
Date buildDate = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").parse(Main.class.getPackage().getImplementationVendor()); // Paper
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Giants AI settings
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/AttributeMapBase.java b/src/main/java/net/minecraft/server/AttributeMapBase.java
|
||||
index c57e23e16..92aa104dc 100644
|
||||
index c57e23e16b..92aa104dc5 100644
|
||||
--- a/src/main/java/net/minecraft/server/AttributeMapBase.java
|
||||
+++ b/src/main/java/net/minecraft/server/AttributeMapBase.java
|
||||
@@ -41,6 +41,7 @@ public class AttributeMapBase {
|
||||
@@ -17,7 +17,7 @@ index c57e23e16..92aa104dc 100644
|
||||
public AttributeModifiable a(AttributeBase attributebase) {
|
||||
return (AttributeModifiable) this.b.computeIfAbsent(attributebase, (attributebase1) -> {
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 0881a17d2..9bb1c4313 100644
|
||||
index 4fb01d835b..8f011d00de 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -136,7 +136,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -30,7 +30,7 @@ index 0881a17d2..9bb1c4313 100644
|
||||
public float I;
|
||||
protected final Random random;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
||||
index 9f4f56c47..8dce2aad7 100644
|
||||
index 9f4f56c47e..8dce2aad77 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
||||
@@ -4,9 +4,68 @@ public class EntityGiantZombie extends EntityMonster {
|
||||
@@ -112,7 +112,7 @@ index 9f4f56c47..8dce2aad7 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index 04eff0182..7c58c8238 100644
|
||||
index 7ddf276732..9806be3de2 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -940,6 +940,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -146,20 +146,20 @@ index 04eff0182..7c58c8238 100644
|
||||
return false;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 84e4c754a..39f5ef025 100644
|
||||
index 5228a11a55..76ff4dd90e 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -2160,7 +2160,7 @@ public abstract class EntityLiving extends Entity {
|
||||
this.enderTeleportTo(vec3d.x, vec3d.y, vec3d.z);
|
||||
}
|
||||
|
||||
- protected float dI() {
|
||||
+ protected float dI() { return getJumpHeight(); } public float getJumpHeight() { // Purpur - OBFHELPER
|
||||
- protected float dJ() {
|
||||
+ protected float dJ() { return getJumpHeight(); } public float getJumpHeight() { // Purpur - OBFHELPER
|
||||
return 0.42F * this.getBlockJumpFactor();
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index f403f9dc6..f5004f221 100644
|
||||
index f403f9dc6c..f5004f221e 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -113,6 +113,23 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Zombie horse naturally spawn
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index aac4e489a5..b75bbca4da 100644
|
||||
index 1780e6a5bc..146b1baee3 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -1041,12 +1041,18 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1045,12 +1045,18 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
boolean flag1 = this.getGameRules().getBoolean(GameRules.DO_MOB_SPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.b() * paperConfig.skeleHorseSpawnChance; // Paper
|
||||
|
||||
if (flag1) {
|
||||
|
||||
@@ -5,12 +5,12 @@ Subject: [PATCH] Tulips change fox type
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java
|
||||
index 0ac0364ff..04b2bbea0 100644
|
||||
index 56c119e8d1..8845afd83d 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityFox.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityFox.java
|
||||
@@ -37,9 +37,9 @@ public class EntityFox extends EntityAnimal {
|
||||
private static final Predicate<Entity> bv = (entity) -> {
|
||||
return !entity.bw() && IEntitySelector.e.test(entity);
|
||||
return !entity.bx() && IEntitySelector.e.test(entity);
|
||||
};
|
||||
- private PathfinderGoal bw;
|
||||
- private PathfinderGoal bx;
|
||||
@@ -70,7 +70,7 @@ index 0ac0364ff..04b2bbea0 100644
|
||||
protected org.bukkit.event.entity.EntityDeathEvent d(DamageSource damagesource) { // Paper
|
||||
ItemStack itemstack = this.getEquipment(EnumItemSlot.MAINHAND).cloneItemStack(); // Paper
|
||||
diff --git a/src/main/java/net/minecraft/server/Items.java b/src/main/java/net/minecraft/server/Items.java
|
||||
index 67ebcbe4d..4c379916d 100644
|
||||
index 67ebcbe4da..4c379916d8 100644
|
||||
--- a/src/main/java/net/minecraft/server/Items.java
|
||||
+++ b/src/main/java/net/minecraft/server/Items.java
|
||||
@@ -119,8 +119,8 @@ public class Items {
|
||||
@@ -85,7 +85,7 @@ index 67ebcbe4d..4c379916d 100644
|
||||
public static final Item bq = a(Blocks.OXEYE_DAISY, CreativeModeTab.c);
|
||||
public static final Item br = a(Blocks.CORNFLOWER, CreativeModeTab.c);
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index fd552adb9..40bc4cc77 100644
|
||||
index fd552adb95..40bc4cc77b 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -118,6 +118,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Cat spawning options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
index 90c37e4a8e..7a42feb16e 100644
|
||||
index 87f700298f..1176d5f415 100644
|
||||
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
@@ -44,6 +44,7 @@ public interface IEntityAccess {
|
||||
@@ -95,10 +95,10 @@ index a5718af9b6..b6b4c8c491 100644
|
||||
return this.E;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index b75bbca4da..e2f714382c 100644
|
||||
index 146b1baee3..413604b8ae 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -2422,6 +2422,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -2426,6 +2426,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Cows eat mushrooms
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 9bb1c4313..c50655631 100644
|
||||
index 8f011d00de..a3b406938b 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -2747,6 +2747,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2748,6 +2748,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
this.invulnerable = flag;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ index 9bb1c4313..c50655631 100644
|
||||
this.setPositionRotation(entity.locX(), entity.locY(), entity.locZ(), entity.yaw, entity.pitch);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java
|
||||
index 42e6761c8..cfb009c81 100644
|
||||
index 42e6761c8b..cfb009c811 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityCow.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityCow.java
|
||||
@@ -16,6 +16,7 @@ public class EntityCow extends EntityAnimal {
|
||||
@@ -110,7 +110,7 @@ index 42e6761c8..cfb009c81 100644
|
||||
public EntityCow createChild(WorldServer worldserver, EntityAgeable entityageable) {
|
||||
return (EntityCow) EntityTypes.COW.a((World) worldserver);
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 39f5ef025..ff412471c 100644
|
||||
index 76ff4dd90e..5c79c50acd 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -81,7 +81,7 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -123,7 +123,7 @@ index 39f5ef025..ff412471c 100644
|
||||
public float aC;
|
||||
public float aD;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index b32f4d74a..d8bd7ffd5 100644
|
||||
index b32f4d74a0..d8bd7ffd5f 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -132,6 +132,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,12 +5,12 @@ Subject: [PATCH] Pigs give saddle back
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java
|
||||
index 684867010..87caac62b 100644
|
||||
index ee94c2827c..7f52c39234 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPig.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPig.java
|
||||
@@ -109,6 +109,18 @@ public class EntityPig extends EntityAnimal implements ISteerable, ISaddleable {
|
||||
|
||||
if (!flag && this.hasSaddle() && !this.isVehicle() && !entityhuman.ep()) {
|
||||
if (!flag && this.hasSaddle() && !this.isVehicle() && !entityhuman.eq()) {
|
||||
if (!this.world.isClientSide) {
|
||||
+ // Purpur start
|
||||
+ if (world.purpurConfig.pigGiveSaddleBack && entityhuman.isSneaking()) {
|
||||
@@ -28,7 +28,7 @@ index 684867010..87caac62b 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index d8bd7ffd5..7d6c624ac 100644
|
||||
index d8bd7ffd5f..7d6c624ac2 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -178,6 +178,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Signs allow color codes
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 0ed9ab78c..698a2623b 100644
|
||||
index 7eb0f515aa..b514dddbe6 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -1244,6 +1244,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -1247,6 +1247,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
@Override
|
||||
public void openSign(TileEntitySign tileentitysign) {
|
||||
@@ -17,26 +17,25 @@ index 0ed9ab78c..698a2623b 100644
|
||||
this.playerConnection.sendPacket(new PacketPlayOutOpenSignEditor(tileentitysign.getPosition()));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 307ffb21d..3a7014d30 100644
|
||||
index 22e17944ae..047d47f974 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -2720,6 +2720,14 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
@@ -2814,6 +2814,13 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
// Paper end
|
||||
// Paper TODO(Proximyst): Add obfhelper when 1.16.4 runs
|
||||
+ // Purpur start
|
||||
+ if (worldserver.purpurConfig.signAllowColors) {
|
||||
+ lines[i] = astring[i];
|
||||
+ if (player.hasPermission("purpur.sign.color")) lines[i] = lines[i].replaceAll("(?i)&([0-9a-fr])", "\u00a7$1");
|
||||
+ if (player.hasPermission("purpur.sign.style")) lines[i] = lines[i].replaceAll("(?i)&([l-or])", "\u00a7$1");
|
||||
+ if (player.hasPermission("purpur.sign.magic")) lines[i] = lines[i].replaceAll("(?i)&([kr])", "\u00a7$1");
|
||||
+ if (player.hasPermission("purpur.sign.color")) currentLine = currentLine.replaceAll("(?i)&([0-9a-fr])", "\u00a7$1");
|
||||
+ if (player.hasPermission("purpur.sign.style")) currentLine = currentLine.replaceAll("(?i)&([l-or])", "\u00a7$1");
|
||||
+ if (player.hasPermission("purpur.sign.magic")) currentLine = currentLine.replaceAll("(?i)&([kr])", "\u00a7$1");
|
||||
+ } else
|
||||
+ // Purpur end
|
||||
lines[i] = SharedConstants.a(astring[i]); //Paper - Replaced with anvil color stripping method to stop exploits that allow colored signs to be created.
|
||||
lines[i] = SharedConstants.a(currentLine); // Paper - Replaced with anvil color stripping method to stop exploits that allow colored signs to be created.
|
||||
}
|
||||
SignChangeEvent event = new SignChangeEvent((org.bukkit.craftbukkit.block.CraftBlock) player.getWorld().getBlockAt(x, y, z), this.server.getPlayer(this.player), lines);
|
||||
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
|
||||
index 316766970..852bb5db8 100644
|
||||
index 3167669702..852bb5db84 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
|
||||
@@ -93,6 +93,18 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
|
||||
@@ -59,10 +58,10 @@ index 316766970..852bb5db8 100644
|
||||
@Override
|
||||
public PacketPlayOutTileEntityData getUpdatePacket() {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index f14e88313..f21597743 100644
|
||||
index f14e883133..bc5cba3074 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -109,9 +109,12 @@ public class PurpurWorldConfig {
|
||||
@@ -109,8 +109,10 @@ public class PurpurWorldConfig {
|
||||
});
|
||||
}
|
||||
|
||||
@@ -71,7 +70,5 @@ index f14e88313..f21597743 100644
|
||||
private void signSettings() {
|
||||
+ signAllowColors = getBoolean("blocks.sign.allow-colors", signAllowColors);
|
||||
signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
|
||||
+
|
||||
}
|
||||
|
||||
public boolean turtleEggsBreakFromExpOrbs = true;
|
||||
|
||||
@@ -22,7 +22,7 @@ index 2291135eae..bc61aaff65 100644
|
||||
super(i, j, k);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index ff412471c8..c5b4ee6ed3 100644
|
||||
index 5c79c50acd..4f75fe92bb 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -99,9 +99,9 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -39,7 +39,7 @@ index ff412471c8..c5b4ee6ed3 100644
|
||||
protected double aV;
|
||||
protected double aW;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
|
||||
index 9bc21ef8a1..a39b596afb 100644
|
||||
index 9af2bb3928..28808712e2 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
|
||||
@@ -445,16 +445,62 @@ public abstract class EntityMinecartAbstract extends Entity {
|
||||
@@ -106,10 +106,10 @@ index 9bc21ef8a1..a39b596afb 100644
|
||||
this.move(EnumMoveType.SELF, this.getMot());
|
||||
if (!this.onGround) {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index b59b52633a..3c7313591f 100644
|
||||
index b514dddbe6..8077a3af19 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -819,6 +819,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -822,6 +822,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
if (this.isInvulnerable(damagesource)) {
|
||||
return false;
|
||||
} else {
|
||||
@@ -143,7 +143,7 @@ index ceef7aaf92..002651aaf3 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 2763cc943a..e490a561c6 100644
|
||||
index 3721bd745e..4c3e13cf66 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -1,5 +1,7 @@
|
||||
|
||||
@@ -5,13 +5,13 @@ Subject: [PATCH] Disable loot drops on death by cramming
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index c5b4ee6ed3..75005b00d3 100644
|
||||
index 4f75fe92bb..ace0743eb1 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -1485,8 +1485,10 @@ public abstract class EntityLiving extends Entity {
|
||||
|
||||
this.dropInventory(); // CraftBukkit - from below
|
||||
if (this.cV() && this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
|
||||
if (this.cW() && this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
|
||||
+ if (!(damagesource == DamageSource.CRAMMING && world.purpurConfig.disableDropsOnCrammingDeath)) { // Purpur
|
||||
this.a(damagesource, flag);
|
||||
this.dropDeathLoot(damagesource, i, flag);
|
||||
@@ -20,7 +20,7 @@ index c5b4ee6ed3..75005b00d3 100644
|
||||
// CraftBukkit start - Call death event
|
||||
org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops); // Paper
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index e490a561c6..a1dc171252 100644
|
||||
index 4c3e13cf66..189b32a6f8 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -112,6 +112,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Players should not cram to death
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 3c7313591f..fb11882362 100644
|
||||
index 8077a3af19..add0a4d600 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -1221,7 +1221,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -1224,7 +1224,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
@Override
|
||||
public boolean isInvulnerable(DamageSource damagesource) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix the dead lagging the server
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index c50655631..e4be94d78 100644
|
||||
index a3b406938b..4b120e7049 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -1500,6 +1500,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -1501,6 +1501,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
this.pitch = MathHelper.a(f1, -90.0F, 90.0F) % 360.0F;
|
||||
this.lastYaw = this.yaw;
|
||||
this.lastPitch = this.pitch;
|
||||
@@ -17,7 +17,7 @@ index c50655631..e4be94d78 100644
|
||||
|
||||
public void f(double d0, double d1, double d2) {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 75005b00d..3193e7172 100644
|
||||
index ace0743eb1..b30abd4c90 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -2478,7 +2478,7 @@ public abstract class EntityLiving extends Entity {
|
||||
|
||||
@@ -17,10 +17,10 @@ index 1ae9910fef..c872be77a6 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 4d74d2d051..9353264c53 100644
|
||||
index 11af56df60..79a87a1a16 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -272,6 +272,11 @@ public class PurpurWorldConfig {
|
||||
@@ -271,6 +271,11 @@ public class PurpurWorldConfig {
|
||||
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add enderman and creeper griefing controls
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
|
||||
index 8338afa7ca..013639cc90 100644
|
||||
index eb4a0ef0e7..2256b81624 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
|
||||
@@ -215,7 +215,7 @@ public class EntityCreeper extends EntityMonster {
|
||||
@@ -18,7 +18,7 @@ index 8338afa7ca..013639cc90 100644
|
||||
|
||||
// CraftBukkit start
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
|
||||
index 03176e83ae..b45a75a451 100644
|
||||
index f53525eb32..7b175240e4 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityEnderman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java
|
||||
@@ -369,6 +369,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
|
||||
@@ -47,10 +47,10 @@ index 03176e83ae..b45a75a451 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 646d3ae33d..cc99d6d67d 100644
|
||||
index 72374b9e76..94fc3230a3 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -192,8 +192,10 @@ public class PurpurWorldConfig {
|
||||
@@ -191,8 +191,10 @@ public class PurpurWorldConfig {
|
||||
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ index 646d3ae33d..cc99d6d67d 100644
|
||||
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
|
||||
}
|
||||
|
||||
@@ -204,6 +206,11 @@ public class PurpurWorldConfig {
|
||||
@@ -203,6 +205,11 @@ public class PurpurWorldConfig {
|
||||
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,10 +18,10 @@ index 54a555509e..0ff202c0d7 100644
|
||||
} else if (entityvillager.getVillagerData().getProfession() != VillagerProfession.FARMER) {
|
||||
return false;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 1900cf3177..51c8cdc1fb 100644
|
||||
index ef7ca798ab..e31094bd17 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -278,9 +278,11 @@ public class PurpurWorldConfig {
|
||||
@@ -277,9 +277,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
public int villagerBrainTicks = 1;
|
||||
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Villagers follow emerald blocks
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
index f880a38bf6..1fbba526c5 100644
|
||||
index 7f75be31cb..12bb9e8aac 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
@@ -74,6 +74,13 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
@@ -23,7 +23,7 @@ index f880a38bf6..1fbba526c5 100644
|
||||
public BehaviorController<EntityVillager> getBehaviorController() {
|
||||
return (BehaviorController<EntityVillager>) super.getBehaviorController(); // CraftBukkit - decompile error
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
|
||||
index ced893452e..a96533e0c1 100644
|
||||
index df2ebd3646..a82c9ae418 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
|
||||
@@ -14,6 +14,8 @@ import org.bukkit.event.entity.VillagerAcquireTradeEvent;
|
||||
@@ -48,10 +48,10 @@ index f1a509063c..74c2d89af5 100644
|
||||
this.goalSelector.a(8, new PathfinderGoalRandomStrollLand(this, 0.35D));
|
||||
this.goalSelector.a(9, new PathfinderGoalInteract(this, EntityHuman.class, 3.0F, 1.0F));
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 51c8cdc1fb..e44082511f 100644
|
||||
index e31094bd17..2c334ecb60 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -279,10 +279,17 @@ public class PurpurWorldConfig {
|
||||
@@ -278,10 +278,17 @@ public class PurpurWorldConfig {
|
||||
public int villagerBrainTicks = 1;
|
||||
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
|
||||
public boolean villagerFarmingBypassMobGriefing = false;
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Implement configurable search radius for villagers to spawn
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
index ff23ca2a1d..71644c3d99 100644
|
||||
index a272d353e3..3468e096b5 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
@@ -892,6 +892,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
@@ -18,10 +18,10 @@ index ff23ca2a1d..71644c3d99 100644
|
||||
|
||||
for (int i = 0; i < 10; ++i) {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 5bdc0cb4ee..478e6af841 100644
|
||||
index 0ca84d650e..13fc46d441 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -281,12 +281,16 @@ public class PurpurWorldConfig {
|
||||
@@ -280,12 +280,16 @@ public class PurpurWorldConfig {
|
||||
public boolean villagerCanBeLeashed = false;
|
||||
public boolean villagerFarmingBypassMobGriefing = false;
|
||||
public boolean villagerFollowEmeraldBlock = false;
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index d862f88528..8dc40e8159 100644
|
||||
index f5cca4af46..322a259702 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -1698,6 +1698,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -1699,6 +1699,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
}
|
||||
|
||||
public boolean isCollidable() {
|
||||
@@ -22,7 +22,7 @@ index d862f88528..8dc40e8159 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||
index ab5d61848d..484a5261c3 100644
|
||||
index 5cde0f0d3c..0b19859019 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||
@@ -320,7 +320,7 @@ public class EntityArmorStand extends EntityLiving {
|
||||
@@ -35,7 +35,7 @@ index ab5d61848d..484a5261c3 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java
|
||||
index af67cf8683..f230d84faa 100644
|
||||
index 38ce356310..85371542e4 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityBat.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityBat.java
|
||||
@@ -50,7 +50,7 @@ public class EntityBat extends EntityAmbient {
|
||||
@@ -48,7 +48,7 @@ index af67cf8683..f230d84faa 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java
|
||||
index 8d55946517..d8d4b6abf3 100644
|
||||
index 78428539f9..939a5fb880 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityBoat.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityBoat.java
|
||||
@@ -106,7 +106,7 @@ public class EntityBoat extends Entity {
|
||||
@@ -61,7 +61,7 @@ index 8d55946517..d8d4b6abf3 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
index 9f74d6e887..c7757f9d0a 100644
|
||||
index 345e1df09e..573d4a5c78 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
@@ -165,7 +165,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
|
||||
@@ -74,7 +74,7 @@ index 9f74d6e887..c7757f9d0a 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 3193e71723..8346d8f3dd 100644
|
||||
index b30abd4c90..67543e3940 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -2866,7 +2866,7 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -103,7 +103,7 @@ index 3193e71723..8346d8f3dd 100644
|
||||
|
||||
// CraftBukkit start - collidable API
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
|
||||
index a39b596afb..ca54db4b8f 100644
|
||||
index 28808712e2..b698ca7e47 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
|
||||
@@ -107,7 +107,7 @@ public abstract class EntityMinecartAbstract extends Entity {
|
||||
@@ -116,7 +116,7 @@ index a39b596afb..ca54db4b8f 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java
|
||||
index 34e08dda2e..6bb73f869b 100644
|
||||
index 1c682a62b8..f7b92078ea 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityParrot.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityParrot.java
|
||||
@@ -314,8 +314,8 @@ public class EntityParrot extends EntityPerchable implements EntityBird {
|
||||
@@ -131,10 +131,10 @@ index 34e08dda2e..6bb73f869b 100644
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index fb11882362..3524f231a1 100644
|
||||
index add0a4d600..f6d30a243b 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -1773,8 +1773,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -1776,8 +1776,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -146,7 +146,7 @@ index fb11882362..3524f231a1 100644
|
||||
// Purpur end
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java
|
||||
index c8e384ab69..44fb1e1f77 100644
|
||||
index 9f9d9b2de8..5a05f2abdd 100644
|
||||
--- a/src/main/java/net/minecraft/server/IEntitySelector.java
|
||||
+++ b/src/main/java/net/minecraft/server/IEntitySelector.java
|
||||
@@ -45,11 +45,17 @@ public final class IEntitySelector {
|
||||
@@ -166,10 +166,10 @@ index c8e384ab69..44fb1e1f77 100644
|
||||
- if (!entity1.canCollideWith(entity) || !entity.canCollideWith(entity1)) { // CraftBukkit - collidable API
|
||||
+ if (!entity1.isCollidable(ignoreClimbing) || !entity1.canCollideWith(entity) || !entity.canCollideWith(entity1)) { // CraftBukkit - collidable API
|
||||
return false;
|
||||
} else if (entity.world.isClientSide && (!(entity1 instanceof EntityHuman) || !((EntityHuman) entity1).ey())) {
|
||||
} else if (entity.world.isClientSide && (!(entity1 instanceof EntityHuman) || !((EntityHuman) entity1).ez())) {
|
||||
return false;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index c95040b1dd..4670cf7909 100644
|
||||
index d795b8fced..521b4d4e1e 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -116,6 +116,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Item entity immunities
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 8dc40e815..53b297247 100644
|
||||
index 322a259702..8dd1b5bc3c 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -1449,6 +1449,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -1450,6 +1450,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ index 8dc40e815..53b297247 100644
|
||||
return this.O == tag;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
|
||||
index bc4f84c88..b6cb52c10 100644
|
||||
index ba73d14437..f55d40c981 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityItem.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityItem.java
|
||||
@@ -23,6 +23,8 @@ public class EntityItem extends Entity {
|
||||
@@ -68,7 +68,7 @@ index bc4f84c88..b6cb52c10 100644
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
index aea72b0db..29731da08 100644
|
||||
index aea72b0db1..29731da08d 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
@@ -106,6 +106,15 @@ public class EntityTrackerEntry {
|
||||
@@ -88,7 +88,7 @@ index aea72b0db..29731da08 100644
|
||||
int i;
|
||||
int j;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index d0e410ad5..59f5e91df 100644
|
||||
index 998751ab80..bc7124b911 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -101,6 +101,21 @@ public class PurpurWorldConfig {
|
||||
@@ -114,7 +114,7 @@ index d0e410ad5..59f5e91df 100644
|
||||
public boolean idleTimeoutTickNearbyEntities = true;
|
||||
public boolean idleTimeoutCountAsSleeping = false;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
||||
index d6a64e4ec..3e9f2f662 100644
|
||||
index d6a64e4ecf..3e9f2f6626 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
|
||||
@@ -88,4 +88,26 @@ public class CraftItem extends CraftEntity implements Item {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable jockey options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java
|
||||
index ea7934060d..6853ba3194 100644
|
||||
index 9ae0897bfd..1a10281692 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityDrowned.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityDrowned.java
|
||||
@@ -21,6 +21,23 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
|
||||
@@ -33,7 +33,7 @@ index ea7934060d..6853ba3194 100644
|
||||
protected void m() {
|
||||
this.goalSelector.a(1, new EntityDrowned.c(this, 1.0D));
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java
|
||||
index 96a8abb183..194b76059c 100644
|
||||
index 65bae8c9f2..32b75f710b 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPigZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPigZombie.java
|
||||
@@ -21,6 +21,23 @@ public class EntityPigZombie extends EntityZombie implements IEntityAngerable {
|
||||
@@ -61,7 +61,7 @@ index 96a8abb183..194b76059c 100644
|
||||
public void setAngerTarget(@Nullable UUID uuid) {
|
||||
this.br = uuid;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
index a11612fa05..3e5c692876 100644
|
||||
index e3606722cb..b90ea31440 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
@@ -3,6 +3,7 @@ package net.minecraft.server;
|
||||
@@ -165,7 +165,7 @@ index 2d2830adc5..ce6d797801 100644
|
||||
return b(entitytypes, worldaccess, enummobspawn, blockposition, random) && (enummobspawn == EnumMobSpawn.SPAWNER || worldaccess.e(blockposition));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java
|
||||
index b52b8d0d84..69e98dcebe 100644
|
||||
index a5214914a1..b86816205c 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityZombieVillager.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java
|
||||
@@ -28,6 +28,23 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo
|
||||
@@ -193,10 +193,10 @@ index b52b8d0d84..69e98dcebe 100644
|
||||
protected void initDatawatcher() {
|
||||
super.initDatawatcher();
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 59f5e91df4..37829231e5 100644
|
||||
index bc7124b911..5969cbb052 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -269,6 +269,15 @@ public class PurpurWorldConfig {
|
||||
@@ -268,6 +268,15 @@ public class PurpurWorldConfig {
|
||||
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
|
||||
}
|
||||
|
||||
@@ -212,7 +212,7 @@ index 59f5e91df4..37829231e5 100644
|
||||
public boolean enderDragonAlwaysDropsEggBlock = false;
|
||||
public boolean enderDragonAlwaysDropsFullExp = false;
|
||||
private void enderDragonSettings() {
|
||||
@@ -303,6 +312,15 @@ public class PurpurWorldConfig {
|
||||
@@ -302,6 +311,15 @@ public class PurpurWorldConfig {
|
||||
giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI);
|
||||
}
|
||||
|
||||
@@ -228,7 +228,7 @@ index 59f5e91df4..37829231e5 100644
|
||||
public double illusionerMaxHealth = 32.0D;
|
||||
public double illusionerMovementSpeed = 0.5D;
|
||||
public double illusionerFollowRange = 18.0D;
|
||||
@@ -373,8 +391,35 @@ public class PurpurWorldConfig {
|
||||
@@ -372,8 +390,35 @@ public class PurpurWorldConfig {
|
||||
witherSkeletonTakesWitherDamage = getBoolean("mobs.wither_skeleton.takes-wither-damage", witherSkeletonTakesWitherDamage);
|
||||
}
|
||||
|
||||
|
||||
@@ -17,10 +17,10 @@ index 6fe5678cff..bd0267ee4b 100644
|
||||
return (new EntityDamageSourceIndirect("indirectMagic", entity, entity1)).setIgnoreArmor().setMagic();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 53b297247e..08ceba1559 100644
|
||||
index 8dd1b5bc3c..a3cfb5cc31 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -1574,6 +1574,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -1575,6 +1575,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return d3 * d3 + d4 * d4 + d5 * d5;
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ index 53b297247e..08ceba1559 100644
|
||||
public double h(Entity entity) {
|
||||
return this.e(entity.getPositionVector());
|
||||
}
|
||||
@@ -2113,8 +2114,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2114,8 +2115,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return this.a(new ItemStack(imaterial), (float) i);
|
||||
}
|
||||
|
||||
@@ -329,10 +329,10 @@ index 3a70900c73..92704a0789 100644
|
||||
|
||||
return entityliving != null ? EntityPhantom.this.a(EntityPhantom.this.getGoalTarget(), PathfinderTargetCondition.a) : false;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 37829231e5..34fbf95966 100644
|
||||
index 5969cbb052..bb6c243473 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -335,6 +335,15 @@ public class PurpurWorldConfig {
|
||||
@@ -334,6 +334,15 @@ public class PurpurWorldConfig {
|
||||
ironGolemCanSwim = getBoolean("mobs.iron_golem.can-swim", ironGolemCanSwim);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Customizable EnderDragon Health
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
|
||||
index 0e74794d3a..d617b5345d 100644
|
||||
index a5a2182455..d2fcd0bc16 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
|
||||
@@ -62,6 +62,16 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
|
||||
@@ -26,10 +26,10 @@ index 0e74794d3a..d617b5345d 100644
|
||||
return EntityInsentient.p().a(GenericAttributes.MAX_HEALTH, 200.0D);
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 34fbf95966..47204751d7 100644
|
||||
index bb6c243473..32a233ceb5 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -280,9 +280,11 @@ public class PurpurWorldConfig {
|
||||
@@ -279,9 +279,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
public boolean enderDragonAlwaysDropsEggBlock = false;
|
||||
public boolean enderDragonAlwaysDropsFullExp = false;
|
||||
|
||||
@@ -37,7 +37,7 @@ index e0e72779c0..386eae71a1 100644
|
||||
return this.f;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/IBlockLightAccess.java b/src/main/java/net/minecraft/server/IBlockLightAccess.java
|
||||
index 5d5fe14129..6d9181cd65 100644
|
||||
index 03a89301f2..fa5eb188da 100644
|
||||
--- a/src/main/java/net/minecraft/server/IBlockLightAccess.java
|
||||
+++ b/src/main/java/net/minecraft/server/IBlockLightAccess.java
|
||||
@@ -12,6 +12,7 @@ public interface IBlockLightAccess extends IBlockAccess {
|
||||
@@ -46,7 +46,7 @@ index 5d5fe14129..6d9181cd65 100644
|
||||
|
||||
+ default boolean isSkyVisible(BlockPosition blockposition) { return e(blockposition); } // Purpur - OBFHELPER
|
||||
default boolean e(BlockPosition blockposition) {
|
||||
return this.getBrightness(EnumSkyBlock.SKY, blockposition) >= this.J();
|
||||
return this.getBrightness(EnumSkyBlock.SKY, blockposition) >= this.K();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MobSpawnerPhantom.java b/src/main/java/net/minecraft/server/MobSpawnerPhantom.java
|
||||
index 4e3f01bc79..ac1ea2f0c1 100644
|
||||
@@ -233,10 +233,10 @@ index beaea041dc..ce8834980f 100644
|
||||
return iblockdata.r(iblockaccess, blockposition) ? false : (iblockdata.isPowerSource() ? false : (!fluid.isEmpty() ? false : (iblockdata.a((Tag) TagsBlock.PREVENT_MOB_SPAWNING_INSIDE) ? false : !entitytypes.a(iblockdata))));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 856f422e58..63f2dee384 100644
|
||||
index 3159d51bba..f84d9f5ca1 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1432,6 +1432,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -1436,6 +1436,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
return new DifficultyDamageScaler(this.getDifficulty(), this.getDayTime(), i, f);
|
||||
}
|
||||
|
||||
@@ -245,10 +245,10 @@ index 856f422e58..63f2dee384 100644
|
||||
public int c() {
|
||||
return this.d;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 47204751d7..43342fcc60 100644
|
||||
index 32a233ceb5..01bc1a020d 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -340,10 +340,34 @@ public class PurpurWorldConfig {
|
||||
@@ -339,10 +339,34 @@ public class PurpurWorldConfig {
|
||||
public double phantomAttackedByCrystalRadius = 0.0D;
|
||||
public float phantomAttackedByCrystalDamage = 1.0F;
|
||||
public double phantomOrbitCrystalRadius = 0.0D;
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add allow water in end world option
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockIce.java b/src/main/java/net/minecraft/server/BlockIce.java
|
||||
index aba5c6b87..b75f6ded5 100644
|
||||
index aba5c6b871..b75f6ded5d 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockIce.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockIce.java
|
||||
@@ -13,7 +13,7 @@ public class BlockIce extends BlockHalfTransparent {
|
||||
@@ -27,7 +27,7 @@ index aba5c6b87..b75f6ded5 100644
|
||||
} else {
|
||||
world.setTypeUpdate(blockposition, Blocks.WATER.getBlockData());
|
||||
diff --git a/src/main/java/net/minecraft/server/ItemBucket.java b/src/main/java/net/minecraft/server/ItemBucket.java
|
||||
index 120bf8436..848a185c0 100644
|
||||
index 120bf8436f..848a185c04 100644
|
||||
--- a/src/main/java/net/minecraft/server/ItemBucket.java
|
||||
+++ b/src/main/java/net/minecraft/server/ItemBucket.java
|
||||
@@ -122,7 +122,7 @@ public class ItemBucket extends Item {
|
||||
@@ -49,10 +49,10 @@ index 120bf8436..848a185c0 100644
|
||||
|
||||
return true;
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 63f2dee38..caaab5015 100644
|
||||
index f84d9f5ca1..41ba7beac4 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1507,4 +1507,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -1511,4 +1511,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
public final boolean isDebugWorld() {
|
||||
return this.debugWorld;
|
||||
}
|
||||
@@ -68,7 +68,7 @@ index 63f2dee38..caaab5015 100644
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 10fdbf496..9d5246de9 100644
|
||||
index 10fdbf4967..9d5246de95 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -1,7 +1,6 @@
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Fri, 10 Jul 2020 09:40:30 -0500
|
||||
Subject: [PATCH] ALlow color codes in books
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 668bd7261c..de3d692084 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -937,12 +937,13 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
itemstack2.setTag(nbttagcompound.clone());
|
||||
}
|
||||
|
||||
+ boolean hasPerm = getPlayer().hasPermission("purpur.book.color.edit") || getPlayer().hasPermission("purpur.book.color.sign");
|
||||
itemstack2.a("author", (NBTBase) NBTTagString.a(this.player.getDisplayName().getString()));
|
||||
- itemstack2.a("title", (NBTBase) NBTTagString.a(itemstack.getTag().getString("title")));
|
||||
+ itemstack2.a("title", (NBTBase) NBTTagString.a(color(itemstack.getTag().getString("title"), hasPerm))); // Purpur - sign book
|
||||
NBTTagList nbttaglist = itemstack.getTag().getList("pages", 8);
|
||||
|
||||
for (int i = 0; i < nbttaglist.size(); ++i) {
|
||||
- String s = nbttaglist.getString(i);
|
||||
+ String s = color(nbttaglist.getString(i), hasPerm);// Purpur - sign book
|
||||
ChatComponentText chatcomponenttext = new ChatComponentText(s);
|
||||
|
||||
s = IChatBaseComponent.ChatSerializer.a((IChatBaseComponent) chatcomponenttext);
|
||||
@@ -954,7 +955,14 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
} else {
|
||||
// Paper start - dont mutate players current item, set it from the event
|
||||
ItemStack newBook = itemstack1.cloneItemStack();
|
||||
- newBook.getOrCreateTagAndSet("pages", (NBTBase)itemstack.getTag().getList("pages", 8));
|
||||
+ // Purpur start - edit book
|
||||
+ boolean hasPerm = getPlayer().hasPermission("purpur.book.color.edit");
|
||||
+ NBTTagList nbttaglist = itemstack.getTag().getList("pages", 8);
|
||||
+ for (int i = 0; i < nbttaglist.size(); ++i) {
|
||||
+ nbttaglist.set(i, NBTTagString.create(color(nbttaglist.getString(i), hasPerm, false)));
|
||||
+ }
|
||||
+ newBook.getOrCreateTagAndSet("pages", nbttaglist);
|
||||
+ // Purpur end - edit book
|
||||
this.player.setSlot(enumitemslot, CraftEventFactory.handleEditBookEvent(player, enumitemslot, itemstack1, newBook));
|
||||
// Paper end
|
||||
}
|
||||
@@ -964,6 +972,16 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
+ private String color(String str, boolean hasPerm) {
|
||||
+ return color(str, hasPerm, true);
|
||||
+ }
|
||||
+
|
||||
+ private String color(String str, boolean hasPerm, boolean parseHex) {
|
||||
+ return hasPerm ? org.bukkit.ChatColor.color(str, parseHex) : str;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
@Override
|
||||
public void a(PacketPlayInEntityNBTQuery packetplayinentitynbtquery) {
|
||||
PlayerConnectionUtils.ensureMainThread(packetplayinentitynbtquery, this, this.player.getWorldServer());
|
||||
57
patches/server/0095-Allow-color-codes-in-books.patch
Normal file
57
patches/server/0095-Allow-color-codes-in-books.patch
Normal file
@@ -0,0 +1,57 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Tue, 3 Nov 2020 01:25:06 -0600
|
||||
Subject: [PATCH] Allow color codes in books
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 047d47f974..a55d721a92 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -1003,8 +1003,10 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
||||
if (itemstack.getItem() == Items.WRITABLE_BOOK) {
|
||||
NBTTagList nbttaglist = new NBTTagList();
|
||||
-
|
||||
- list.stream().map(NBTTagString::a).forEach(nbttaglist::add);
|
||||
+ // Purpur start - edit book
|
||||
+ boolean hasPerm = getPlayer().hasPermission("purpur.book.color.edit");
|
||||
+ list.stream().map(s -> s = color(s, hasPerm, false)).map(NBTTagString::a).forEach(nbttaglist::add);
|
||||
+ // Purpur end - edit book
|
||||
itemstack.a("pages", (NBTBase) nbttaglist);
|
||||
}
|
||||
}
|
||||
@@ -1020,13 +1022,14 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
itemstack1.setTag(nbttagcompound.clone());
|
||||
}
|
||||
|
||||
+ boolean hasPerm = getPlayer().hasPermission("purpur.book.color.edit") || getPlayer().hasPermission("purpur.book.color.sign"); // Purpur
|
||||
itemstack1.a("author", (NBTBase) NBTTagString.a(this.player.getDisplayName().getString()));
|
||||
- itemstack1.a("title", (NBTBase) NBTTagString.a(s));
|
||||
+ itemstack1.a("title", (NBTBase) NBTTagString.a(color(itemstack.getTag().getString("title"), hasPerm))); // Purpur - sign book
|
||||
NBTTagList nbttaglist = new NBTTagList();
|
||||
Iterator iterator = list.iterator();
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
- String s1 = (String) iterator.next();
|
||||
+ String s1 = color((String) iterator.next(), hasPerm);// Purpur - sign book
|
||||
ChatComponentText chatcomponenttext = new ChatComponentText(s1);
|
||||
String s2 = IChatBaseComponent.ChatSerializer.a((IChatBaseComponent) chatcomponenttext);
|
||||
|
||||
@@ -1038,6 +1041,16 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
+ private String color(String str, boolean hasPerm) {
|
||||
+ return color(str, hasPerm, true);
|
||||
+ }
|
||||
+
|
||||
+ private String color(String str, boolean hasPerm, boolean parseHex) {
|
||||
+ return hasPerm ? org.bukkit.ChatColor.color(str, parseHex) : str;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
@Override
|
||||
public void a(PacketPlayInEntityNBTQuery packetplayinentitynbtquery) {
|
||||
PlayerConnectionUtils.ensureMainThread(packetplayinentitynbtquery, this, this.player.getWorldServer());
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Entity lifespan
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index 78ee45767a..7465e867ba 100644
|
||||
index f52b4d69c6..11002b5950 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -53,7 +53,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -92,10 +92,10 @@ index 78ee45767a..7465e867ba 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index de3d692084..f7a4ced160 100644
|
||||
index a55d721a92..f6ee20c3d4 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -2132,6 +2132,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -2214,6 +2214,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
boolean triggerLeashUpdate = itemInHand != null && itemInHand.getItem() == Items.LEAD && entity instanceof EntityInsentient;
|
||||
Item origItem = this.player.inventory.getItemInHand() == null ? null : this.player.inventory.getItemInHand().getItem();
|
||||
PlayerInteractEntityEvent event;
|
||||
@@ -104,7 +104,7 @@ index de3d692084..f7a4ced160 100644
|
||||
event = new PlayerInteractEntityEvent((Player) this.getPlayer(), entity.getBukkitEntity(), (packetplayinuseentity.c() == EnumHand.OFF_HAND) ? EquipmentSlot.OFF_HAND : EquipmentSlot.HAND);
|
||||
} else {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 294d8d6711..fca8ef39a9 100644
|
||||
index 5a4642f1cd..77bb46f911 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -103,6 +103,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Squid EAR immunity
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 92a2e907ca..ebc0c4745e 100644
|
||||
index 371addede0..62b3d7ff0d 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -441,6 +441,11 @@ public class PurpurWorldConfig {
|
||||
@@ -440,6 +440,11 @@ public class PurpurWorldConfig {
|
||||
snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);
|
||||
}
|
||||
|
||||
|
||||
@@ -70,10 +70,10 @@ index 4c379916d8..ea6b61c9b8 100644
|
||||
public static final Item dr = a(Blocks.JACK_O_LANTERN, CreativeModeTab.b);
|
||||
public static final Item ds = a(Blocks.OAK_TRAPDOOR, CreativeModeTab.d);
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index ebc0c4745e..ea35ead0f6 100644
|
||||
index 62b3d7ff0d..3b8058890b 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -396,6 +396,9 @@ public class PurpurWorldConfig {
|
||||
@@ -395,6 +395,9 @@ public class PurpurWorldConfig {
|
||||
public int phantomSpawnOverheadRadius = 10;
|
||||
public int phantomSpawnMinPerAttempt = 1;
|
||||
public int phantomSpawnMaxPerAttempt = -1;
|
||||
@@ -83,7 +83,7 @@ index ebc0c4745e..ea35ead0f6 100644
|
||||
private void phantomSettings() {
|
||||
phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius);
|
||||
phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
|
||||
@@ -412,6 +415,9 @@ public class PurpurWorldConfig {
|
||||
@@ -411,6 +414,9 @@ public class PurpurWorldConfig {
|
||||
phantomSpawnOverheadRadius = getInt("mobs.phantom.spawn.overhead.radius", phantomSpawnOverheadRadius);
|
||||
phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt);
|
||||
phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt);
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable villager breeding
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
index 71644c3d99..0467020bbb 100644
|
||||
index 3468e096b5..d1a260a3b2 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
@@ -640,7 +640,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
@@ -18,10 +18,10 @@ index 71644c3d99..0467020bbb 100644
|
||||
|
||||
private boolean fr() {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index ea35ead0f6..c2f425b479 100644
|
||||
index 3b8058890b..ce7b2b7ab9 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -459,6 +459,7 @@ public class PurpurWorldConfig {
|
||||
@@ -458,6 +458,7 @@ public class PurpurWorldConfig {
|
||||
public boolean villagerFollowEmeraldBlock = false;
|
||||
public int villagerSpawnIronGolemRadius = 0;
|
||||
public int villagerSpawnIronGolemLimit = 0;
|
||||
@@ -29,7 +29,7 @@ index ea35ead0f6..c2f425b479 100644
|
||||
private void villagerSettings() {
|
||||
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
|
||||
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
|
||||
@@ -467,6 +468,7 @@ public class PurpurWorldConfig {
|
||||
@@ -466,6 +467,7 @@ public class PurpurWorldConfig {
|
||||
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
|
||||
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
|
||||
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
|
||||
|
||||
@@ -26,11 +26,11 @@ index c2e830db7a..3b4cc9871c 100644
|
||||
public abstract BlockPosition b();
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index c2f425b479..4c1e8559d9 100644
|
||||
index ce7b2b7ab9..1b5e14de89 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -278,6 +278,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -277,6 +277,11 @@ public class PurpurWorldConfig {
|
||||
signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
|
||||
}
|
||||
|
||||
+ public boolean spawnerDeactivateByRedstone = false;
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix death message colors
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index c7be886e78..bc588af921 100644
|
||||
index f6d30a243b..faa59d3315 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -667,7 +667,24 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -670,7 +670,24 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
IChatBaseComponent defaultMessage = this.getCombatTracker().getDeathMessage();
|
||||
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] Duplicate paper's vanilla scoreboard colors patch to sync
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index f7a4ced160..1ff07a08dc 100644
|
||||
index f6ee20c3d4..0ff98adfcb 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -1891,7 +1891,15 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1973,7 +1973,15 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -26,7 +26,7 @@ index f7a4ced160..1ff07a08dc 100644
|
||||
PlayerConnection.this.minecraftServer.console.sendMessage(message);
|
||||
if (((LazyPlayerSet) queueEvent.getRecipients()).isLazy()) {
|
||||
for (Object player : PlayerConnection.this.minecraftServer.getPlayerList().players) {
|
||||
@@ -1924,7 +1932,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -2006,7 +2014,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
// Paper Start - (Meh) Support for vanilla world scoreboard name coloring
|
||||
String displayName = event.getPlayer().getDisplayName();
|
||||
if (this.player.getWorld().paperConfig.useVanillaScoreboardColoring) {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add no-tick block list
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockBase.java b/src/main/java/net/minecraft/server/BlockBase.java
|
||||
index 9d85ce027a..2165de63b1 100644
|
||||
index 0172e2396b..d719e35043 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockBase.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockBase.java
|
||||
@@ -572,10 +572,12 @@ public abstract class BlockBase {
|
||||
@@ -22,10 +22,10 @@ index 9d85ce027a..2165de63b1 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index e2f714382c..34a4ae5ce0 100644
|
||||
index 413604b8ae..4b086de17b 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -305,14 +305,14 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -309,14 +309,14 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
// CraftBukkit end
|
||||
if (com.destroystokyo.paper.PaperConfig.useOptimizedTickList) {
|
||||
this.nextTickListBlock = new com.destroystokyo.paper.server.ticklist.PaperTickList<>(this, (block) -> {
|
||||
@@ -43,7 +43,7 @@ index e2f714382c..34a4ae5ce0 100644
|
||||
this.nextTickListFluid = new TickListServer<>(this, (fluidtype) -> {
|
||||
return fluidtype == null || fluidtype == FluidTypes.EMPTY;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 4d54378aa5..bc18657172 100644
|
||||
index 21b8e004cd..f9df4c5aa3 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -11,8 +11,10 @@ import org.bukkit.configuration.ConfigurationSection;
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to disable dolphin treasure searching
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityDolphin.java b/src/main/java/net/minecraft/server/EntityDolphin.java
|
||||
index b5191eb0b1..cde5c46fee 100644
|
||||
index 2916ee89ef..664f969336 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityDolphin.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityDolphin.java
|
||||
@@ -329,6 +329,7 @@ public class EntityDolphin extends EntityWaterAnimal {
|
||||
@@ -17,10 +17,10 @@ index b5191eb0b1..cde5c46fee 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index bc18657172..0a50698fa2 100644
|
||||
index f9df4c5aa3..8496be8704 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -347,6 +347,11 @@ public class PurpurWorldConfig {
|
||||
@@ -346,6 +346,11 @@ public class PurpurWorldConfig {
|
||||
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to reset reputation when villager is cured
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
index 0467020bbb..7add2fca10 100644
|
||||
index d1a260a3b2..a95bf56823 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
@@ -39,7 +39,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
@@ -26,10 +26,10 @@ index 0467020bbb..7add2fca10 100644
|
||||
this.by.a(entity.getUniqueID(), ReputationType.MINOR_POSITIVE, 25);
|
||||
} else if (reputationevent == ReputationEvent.e) {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 0a50698fa2..f9a87d0bff 100644
|
||||
index 8496be8704..806ef0bb48 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -548,9 +548,11 @@ public class PurpurWorldConfig {
|
||||
@@ -547,9 +547,11 @@ public class PurpurWorldConfig {
|
||||
public boolean zombieVillagerJockeyOnlyBaby = true;
|
||||
public double zombieVillagerJockeyChance = 0.05D;
|
||||
public boolean zombieVillagerJockeyTryExistingChickens = true;
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 08ceba1559..2b2911ca8e 100644
|
||||
index a3cfb5cc31..932d694cc4 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -3417,8 +3417,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -3418,8 +3418,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
this.lastYaw = this.yaw;
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ index 08ceba1559..2b2911ca8e 100644
|
||||
int j = MathHelper.f(axisalignedbb.maxX);
|
||||
int k = MathHelper.floor(axisalignedbb.minY);
|
||||
diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java
|
||||
index 03d707ed09..028a7fe2cd 100644
|
||||
index b21605a623..148e4b1587 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntitySquid.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntitySquid.java
|
||||
@@ -25,6 +25,14 @@ public class EntitySquid extends EntityWaterAnimal {
|
||||
@@ -43,10 +43,10 @@ index 03d707ed09..028a7fe2cd 100644
|
||||
protected void initPathfinder() {
|
||||
this.goalSelector.a(0, new EntitySquid.PathfinderGoalSquid(this));
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index f9a87d0bff..86a4ce5288 100644
|
||||
index 806ef0bb48..6ee0a3179b 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -487,8 +487,10 @@ public class PurpurWorldConfig {
|
||||
@@ -486,8 +486,10 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
|
||||
public boolean squidImmuneToEAR = true;
|
||||
|
||||
@@ -5,16 +5,16 @@ Subject: [PATCH] Ridables
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/AttributeDefaults.java b/src/main/java/net/minecraft/server/AttributeDefaults.java
|
||||
index da66cf0a45..3aa05a80fe 100644
|
||||
index 8f95a4e497..ab05b5e403 100644
|
||||
--- a/src/main/java/net/minecraft/server/AttributeDefaults.java
|
||||
+++ b/src/main/java/net/minecraft/server/AttributeDefaults.java
|
||||
@@ -9,7 +9,80 @@ import org.apache.logging.log4j.Logger;
|
||||
public class AttributeDefaults {
|
||||
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
- private static final Map<EntityTypes<? extends EntityLiving>, AttributeProvider> b = ImmutableMap.builder().put(EntityTypes.ARMOR_STAND, EntityLiving.cK().a()).put(EntityTypes.BAT, EntityBat.m().a()).put(EntityTypes.BEE, EntityBee.eZ().a()).put(EntityTypes.BLAZE, EntityBlaze.m().a()).put(EntityTypes.CAT, EntityCat.fa().a()).put(EntityTypes.CAVE_SPIDER, EntityCaveSpider.m().a()).put(EntityTypes.CHICKEN, EntityChicken.eK().a()).put(EntityTypes.COD, EntityFish.m().a()).put(EntityTypes.COW, EntityCow.eK().a()).put(EntityTypes.CREEPER, EntityCreeper.m().a()).put(EntityTypes.DOLPHIN, EntityDolphin.eM().a()).put(EntityTypes.DONKEY, EntityHorseChestedAbstract.eL().a()).put(EntityTypes.DROWNED, EntityZombie.eS().a()).put(EntityTypes.ELDER_GUARDIAN, EntityGuardianElder.m().a()).put(EntityTypes.ENDERMAN, EntityEnderman.m().a()).put(EntityTypes.ENDERMITE, EntityEndermite.m().a()).put(EntityTypes.ENDER_DRAGON, EntityEnderDragon.m().a()).put(EntityTypes.EVOKER, EntityEvoker.eK().a()).put(EntityTypes.FOX, EntityFox.eK().a()).put(EntityTypes.GHAST, EntityGhast.eJ().a()).put(EntityTypes.GIANT, EntityGiantZombie.m().a()).put(EntityTypes.GUARDIAN, EntityGuardian.eM().a()).put(EntityTypes.HOGLIN, EntityHoglin.eK().a()).put(EntityTypes.HORSE, EntityHorseAbstract.fi().a()).put(EntityTypes.HUSK, EntityZombie.eS().a()).put(EntityTypes.ILLUSIONER, EntityIllagerIllusioner.eK().a()).put(EntityTypes.IRON_GOLEM, EntityIronGolem.m().a()).put(EntityTypes.LLAMA, EntityLlama.fw().a()).put(EntityTypes.MAGMA_CUBE, EntityMagmaCube.m().a()).put(EntityTypes.MOOSHROOM, EntityCow.eK().a()).put(EntityTypes.MULE, EntityHorseChestedAbstract.eL().a()).put(EntityTypes.OCELOT, EntityOcelot.eK().a()).put(EntityTypes.PANDA, EntityPanda.eY().a()).put(EntityTypes.PARROT, EntityParrot.eU().a()).put(EntityTypes.PHANTOM, EntityMonster.eR().a()).put(EntityTypes.PIG, EntityPig.eK().a()).put(EntityTypes.PIGLIN, EntityPiglin.eT().a()).put(EntityTypes.PIGLIN_BRUTE, EntityPiglinBrute.eS().a()).put(EntityTypes.PILLAGER, EntityPillager.eK().a()).put(EntityTypes.PLAYER, EntityHuman.eo().a()).put(EntityTypes.POLAR_BEAR, EntityPolarBear.eK().a()).put(EntityTypes.PUFFERFISH, EntityFish.m().a()).put(EntityTypes.RABBIT, EntityRabbit.eL().a()).put(EntityTypes.RAVAGER, EntityRavager.m().a()).put(EntityTypes.SALMON, EntityFish.m().a()).put(EntityTypes.SHEEP, EntitySheep.eK().a()).put(EntityTypes.SHULKER, EntityShulker.m().a()).put(EntityTypes.SILVERFISH, EntitySilverfish.m().a()).put(EntityTypes.SKELETON, EntitySkeletonAbstract.m().a()).put(EntityTypes.SKELETON_HORSE, EntityHorseSkeleton.eL().a()).put(EntityTypes.SLIME, EntityMonster.eR().a()).put(EntityTypes.SNOW_GOLEM, EntitySnowman.m().a()).put(EntityTypes.SPIDER, EntitySpider.eK().a()).put(EntityTypes.SQUID, EntitySquid.m().a()).put(EntityTypes.STRAY, EntitySkeletonAbstract.m().a()).put(EntityTypes.STRIDER, EntityStrider.eM().a()).put(EntityTypes.TRADER_LLAMA, EntityLlama.fw().a()).put(EntityTypes.TROPICAL_FISH, EntityFish.m().a()).put(EntityTypes.TURTLE, EntityTurtle.eM().a()).put(EntityTypes.VEX, EntityVex.m().a()).put(EntityTypes.VILLAGER, EntityVillager.eY().a()).put(EntityTypes.VINDICATOR, EntityVindicator.eK().a()).put(EntityTypes.WANDERING_TRADER, EntityInsentient.p().a()).put(EntityTypes.WITCH, EntityWitch.eK().a()).put(EntityTypes.WITHER, EntityWither.eK().a()).put(EntityTypes.WITHER_SKELETON, EntitySkeletonAbstract.m().a()).put(EntityTypes.WOLF, EntityWolf.eU().a()).put(EntityTypes.ZOGLIN, EntityZoglin.m().a()).put(EntityTypes.ZOMBIE, EntityZombie.eS().a()).put(EntityTypes.ZOMBIE_HORSE, EntityHorseZombie.eL().a()).put(EntityTypes.ZOMBIE_VILLAGER, EntityZombie.eS().a()).put(EntityTypes.ZOMBIFIED_PIGLIN, EntityPigZombie.eW().a()).build();
|
||||
- private static final Map<EntityTypes<? extends EntityLiving>, AttributeProvider> b = ImmutableMap.builder().put(EntityTypes.ARMOR_STAND, EntityLiving.cL().a()).put(EntityTypes.BAT, EntityBat.m().a()).put(EntityTypes.BEE, EntityBee.eZ().a()).put(EntityTypes.BLAZE, EntityBlaze.m().a()).put(EntityTypes.CAT, EntityCat.fa().a()).put(EntityTypes.CAVE_SPIDER, EntityCaveSpider.m().a()).put(EntityTypes.CHICKEN, EntityChicken.eK().a()).put(EntityTypes.COD, EntityFish.m().a()).put(EntityTypes.COW, EntityCow.eK().a()).put(EntityTypes.CREEPER, EntityCreeper.m().a()).put(EntityTypes.DOLPHIN, EntityDolphin.eM().a()).put(EntityTypes.DONKEY, EntityHorseChestedAbstract.eL().a()).put(EntityTypes.DROWNED, EntityZombie.eS().a()).put(EntityTypes.ELDER_GUARDIAN, EntityGuardianElder.m().a()).put(EntityTypes.ENDERMAN, EntityEnderman.m().a()).put(EntityTypes.ENDERMITE, EntityEndermite.m().a()).put(EntityTypes.ENDER_DRAGON, EntityEnderDragon.m().a()).put(EntityTypes.EVOKER, EntityEvoker.eK().a()).put(EntityTypes.FOX, EntityFox.eK().a()).put(EntityTypes.GHAST, EntityGhast.eJ().a()).put(EntityTypes.GIANT, EntityGiantZombie.m().a()).put(EntityTypes.GUARDIAN, EntityGuardian.eM().a()).put(EntityTypes.HOGLIN, EntityHoglin.eK().a()).put(EntityTypes.HORSE, EntityHorseAbstract.fi().a()).put(EntityTypes.HUSK, EntityZombie.eS().a()).put(EntityTypes.ILLUSIONER, EntityIllagerIllusioner.eK().a()).put(EntityTypes.IRON_GOLEM, EntityIronGolem.m().a()).put(EntityTypes.LLAMA, EntityLlama.fw().a()).put(EntityTypes.MAGMA_CUBE, EntityMagmaCube.m().a()).put(EntityTypes.MOOSHROOM, EntityCow.eK().a()).put(EntityTypes.MULE, EntityHorseChestedAbstract.eL().a()).put(EntityTypes.OCELOT, EntityOcelot.eK().a()).put(EntityTypes.PANDA, EntityPanda.eY().a()).put(EntityTypes.PARROT, EntityParrot.eU().a()).put(EntityTypes.PHANTOM, EntityMonster.eR().a()).put(EntityTypes.PIG, EntityPig.eK().a()).put(EntityTypes.PIGLIN, EntityPiglin.eT().a()).put(EntityTypes.PIGLIN_BRUTE, EntityPiglinBrute.eS().a()).put(EntityTypes.PILLAGER, EntityPillager.eK().a()).put(EntityTypes.PLAYER, EntityHuman.ep().a()).put(EntityTypes.POLAR_BEAR, EntityPolarBear.eK().a()).put(EntityTypes.PUFFERFISH, EntityFish.m().a()).put(EntityTypes.RABBIT, EntityRabbit.eL().a()).put(EntityTypes.RAVAGER, EntityRavager.m().a()).put(EntityTypes.SALMON, EntityFish.m().a()).put(EntityTypes.SHEEP, EntitySheep.eK().a()).put(EntityTypes.SHULKER, EntityShulker.m().a()).put(EntityTypes.SILVERFISH, EntitySilverfish.m().a()).put(EntityTypes.SKELETON, EntitySkeletonAbstract.m().a()).put(EntityTypes.SKELETON_HORSE, EntityHorseSkeleton.eL().a()).put(EntityTypes.SLIME, EntityMonster.eR().a()).put(EntityTypes.SNOW_GOLEM, EntitySnowman.m().a()).put(EntityTypes.SPIDER, EntitySpider.eK().a()).put(EntityTypes.SQUID, EntitySquid.m().a()).put(EntityTypes.STRAY, EntitySkeletonAbstract.m().a()).put(EntityTypes.STRIDER, EntityStrider.eM().a()).put(EntityTypes.TRADER_LLAMA, EntityLlama.fw().a()).put(EntityTypes.TROPICAL_FISH, EntityFish.m().a()).put(EntityTypes.TURTLE, EntityTurtle.eM().a()).put(EntityTypes.VEX, EntityVex.m().a()).put(EntityTypes.VILLAGER, EntityVillager.eY().a()).put(EntityTypes.VINDICATOR, EntityVindicator.eK().a()).put(EntityTypes.WANDERING_TRADER, EntityInsentient.p().a()).put(EntityTypes.WITCH, EntityWitch.eK().a()).put(EntityTypes.WITHER, EntityWither.eK().a()).put(EntityTypes.WITHER_SKELETON, EntitySkeletonAbstract.m().a()).put(EntityTypes.WOLF, EntityWolf.eU().a()).put(EntityTypes.ZOGLIN, EntityZoglin.m().a()).put(EntityTypes.ZOMBIE, EntityZombie.eS().a()).put(EntityTypes.ZOMBIE_HORSE, EntityHorseZombie.eL().a()).put(EntityTypes.ZOMBIE_VILLAGER, EntityZombie.eS().a()).put(EntityTypes.ZOMBIFIED_PIGLIN, EntityPigZombie.eW().a()).build();
|
||||
+ private static final Map<EntityTypes<? extends EntityLiving>, AttributeProvider> b = ImmutableMap.<EntityTypes<? extends EntityLiving>, AttributeProvider>builder() // Purpur decompile error
|
||||
+ .put(EntityTypes.ARMOR_STAND, EntityLiving.cK().a())
|
||||
+ .put(EntityTypes.ARMOR_STAND, EntityLiving.cL().a())
|
||||
+ .put(EntityTypes.BAT, EntityBat.m().a())
|
||||
+ .put(EntityTypes.BEE, EntityBee.eZ().a())
|
||||
+ .put(EntityTypes.BLAZE, EntityBlaze.m().a())
|
||||
@@ -53,7 +53,7 @@ index da66cf0a45..3aa05a80fe 100644
|
||||
+ .put(EntityTypes.PIGLIN, EntityPiglin.eT().a())
|
||||
+ .put(EntityTypes.PIGLIN_BRUTE, EntityPiglinBrute.eS().a())
|
||||
+ .put(EntityTypes.PILLAGER, EntityPillager.eK().a())
|
||||
+ .put(EntityTypes.PLAYER, EntityHuman.eo().a())
|
||||
+ .put(EntityTypes.PLAYER, EntityHuman.ep().a())
|
||||
+ .put(EntityTypes.POLAR_BEAR, EntityPolarBear.eK().a())
|
||||
+ .put(EntityTypes.PUFFERFISH, EntityFish.m().a())
|
||||
+ .put(EntityTypes.RABBIT, EntityRabbit.eL().a())
|
||||
@@ -161,7 +161,7 @@ index bd0267ee4b..8b36ac2b09 100644
|
||||
this.B = true;
|
||||
return this;
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 2b2911ca8e..48cd541912 100644
|
||||
index 932d694cc4..1d4078f5a1 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -80,7 +80,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -200,7 +200,7 @@ index 2b2911ca8e..48cd541912 100644
|
||||
private float headHeight;
|
||||
// CraftBukkit start
|
||||
public boolean persist = true;
|
||||
@@ -1459,6 +1459,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -1460,6 +1460,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return !this.justCreated && this.M.getDouble(TagsFluid.LAVA) > 0.0D;
|
||||
}
|
||||
|
||||
@@ -208,7 +208,7 @@ index 2b2911ca8e..48cd541912 100644
|
||||
public void a(float f, Vec3D vec3d) {
|
||||
Vec3D vec3d1 = a(vec3d, f, this.yaw);
|
||||
|
||||
@@ -2214,6 +2215,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2215,6 +2216,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return this.a(entity, false);
|
||||
}
|
||||
|
||||
@@ -216,7 +216,7 @@ index 2b2911ca8e..48cd541912 100644
|
||||
public boolean a(Entity entity, boolean flag) {
|
||||
for (Entity entity1 = entity; entity1.vehicle != null; entity1 = entity1.vehicle) {
|
||||
if (entity1.vehicle == this) {
|
||||
@@ -2309,6 +2311,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2310,6 +2312,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
this.passengers.add(entity);
|
||||
}
|
||||
|
||||
@@ -230,7 +230,7 @@ index 2b2911ca8e..48cd541912 100644
|
||||
}
|
||||
return true; // CraftBukkit
|
||||
}
|
||||
@@ -2349,6 +2358,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2350,6 +2359,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return false;
|
||||
}
|
||||
// Spigot end
|
||||
@@ -243,23 +243,23 @@ index 2b2911ca8e..48cd541912 100644
|
||||
this.passengers.remove(entity);
|
||||
entity.j = 60;
|
||||
}
|
||||
@@ -2514,6 +2529,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2515,6 +2530,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
this.setFlag(4, flag);
|
||||
}
|
||||
|
||||
+ public boolean isGlowing() { return bD(); } // Purpur - OBFHELPER
|
||||
public boolean bD() {
|
||||
+ public boolean isGlowing() { return bE(); } // Purpur - OBFHELPER
|
||||
public boolean bE() {
|
||||
return this.glowing || this.world.isClientSide && this.getFlag(6);
|
||||
}
|
||||
@@ -2736,6 +2752,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2737,6 +2753,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
|
||||
public void setHeadRotation(float f) {}
|
||||
|
||||
+ public void setBodyYaw(float yaw) { n(yaw); } // Purpur - OBFHELPER
|
||||
public void n(float f) {}
|
||||
|
||||
public boolean bK() {
|
||||
@@ -3170,6 +3187,18 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
public boolean bL() {
|
||||
@@ -3171,6 +3188,18 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -278,7 +278,7 @@ index 2b2911ca8e..48cd541912 100644
|
||||
@Override
|
||||
public void sendMessage(IChatBaseComponent ichatbasecomponent, UUID uuid) {}
|
||||
|
||||
@@ -3622,4 +3651,47 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -3623,4 +3652,47 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return ((ChunkProviderServer) world.getChunkProvider()).isInEntityTickingChunk(this);
|
||||
}
|
||||
// Paper end
|
||||
@@ -327,7 +327,7 @@ index 2b2911ca8e..48cd541912 100644
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java
|
||||
index f230d84faa..bbf61d0111 100644
|
||||
index 85371542e4..a031f8778c 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityBat.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityBat.java
|
||||
@@ -14,9 +14,48 @@ public class EntityBat extends EntityAmbient {
|
||||
@@ -403,7 +403,7 @@ index f230d84faa..bbf61d0111 100644
|
||||
BlockPosition blockposition = this.getChunkCoordinates();
|
||||
BlockPosition blockposition1 = blockposition.up();
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityBee.java b/src/main/java/net/minecraft/server/EntityBee.java
|
||||
index b1ff30fb15..eab72c1d7c 100644
|
||||
index f73641ddb3..d8354ec4d1 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityBee.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityBee.java
|
||||
@@ -37,6 +37,7 @@ public class EntityBee extends EntityAnimal implements IEntityAngerable, EntityB
|
||||
@@ -534,7 +534,7 @@ index b1ff30fb15..eab72c1d7c 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityBlaze.java b/src/main/java/net/minecraft/server/EntityBlaze.java
|
||||
index f55f125306..0536fc8bf3 100644
|
||||
index 74082136b3..dcfad16e06 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityBlaze.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityBlaze.java
|
||||
@@ -10,6 +10,7 @@ public class EntityBlaze extends EntityMonster {
|
||||
@@ -614,7 +614,7 @@ index f55f125306..0536fc8bf3 100644
|
||||
if (this.c <= 0) {
|
||||
this.c = 100;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java
|
||||
index 79de11ce2f..ff99ee04df 100644
|
||||
index 57166a543a..05929d5c53 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityCat.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityCat.java
|
||||
@@ -41,6 +41,25 @@ public class EntityCat extends EntityTameableAnimal {
|
||||
@@ -717,7 +717,7 @@ index 776f3d25a6..2e1f2dec17 100644
|
||||
return EntitySpider.eK().a(GenericAttributes.MAX_HEALTH, 12.0D);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityChicken.java b/src/main/java/net/minecraft/server/EntityChicken.java
|
||||
index 26dee32bfe..7ad6190fa8 100644
|
||||
index 11a612fa39..a16ecd7edc 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityChicken.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityChicken.java
|
||||
@@ -18,6 +18,16 @@ public class EntityChicken extends EntityAnimal {
|
||||
@@ -877,7 +877,7 @@ index cfb009c811..1219b0aa9c 100644
|
||||
this.world.addEntity(mooshroom);
|
||||
this.die();
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
|
||||
index 013639cc90..d0bcf4b5fa 100644
|
||||
index 2256b81624..d186f257fa 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
|
||||
@@ -18,12 +18,27 @@ public class EntityCreeper extends EntityMonster {
|
||||
@@ -995,7 +995,7 @@ index 013639cc90..d0bcf4b5fa 100644
|
||||
}
|
||||
// Paper end
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityDolphin.java b/src/main/java/net/minecraft/server/EntityDolphin.java
|
||||
index cde5c46fee..991e7f5930 100644
|
||||
index 664f969336..9d5d143a99 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityDolphin.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityDolphin.java
|
||||
@@ -17,6 +17,7 @@ public class EntityDolphin extends EntityWaterAnimal {
|
||||
@@ -1085,7 +1085,7 @@ index cde5c46fee..991e7f5930 100644
|
||||
+ spitCooldown--;
|
||||
+ }
|
||||
if (this.isNoAI()) {
|
||||
this.setAirTicks(this.bG());
|
||||
this.setAirTicks(this.bH());
|
||||
} else {
|
||||
@@ -468,7 +513,7 @@ public class EntityDolphin extends EntityWaterAnimal {
|
||||
|
||||
@@ -1128,7 +1128,7 @@ index cde5c46fee..991e7f5930 100644
|
||||
this.i.setMot(this.i.getMot().add(0.0D, 0.005D, 0.0D));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java
|
||||
index 6853ba3194..8aa53c617b 100644
|
||||
index 1a10281692..125eab60f2 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityDrowned.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityDrowned.java
|
||||
@@ -22,6 +22,16 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
|
||||
@@ -1184,7 +1184,7 @@ index 6853ba3194..8aa53c617b 100644
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
|
||||
index d617b5345d..088aede370 100644
|
||||
index d2fcd0bc16..fd1e966d1a 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 {
|
||||
@@ -1280,7 +1280,7 @@ index d617b5345d..088aede370 100644
|
||||
@@ -125,6 +191,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
|
||||
|
||||
this.bp = this.bq;
|
||||
if (this.dk()) {
|
||||
if (this.dl()) {
|
||||
+ if (hasRider) ejectPassengers(); // Purpur
|
||||
f = (this.random.nextFloat() - 0.5F) * 8.0F;
|
||||
f1 = (this.random.nextFloat() - 0.5F) * 4.0F;
|
||||
@@ -1334,7 +1334,7 @@ index d617b5345d..088aede370 100644
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
|
||||
index fde60d6c89..d8117df531 100644
|
||||
index e336403266..995849212c 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityEnderman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java
|
||||
@@ -30,9 +30,22 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
|
||||
@@ -1374,7 +1374,7 @@ index fde60d6c89..d8117df531 100644
|
||||
protected void mobTick() {
|
||||
- if (this.world.isDay() && this.ticksLived >= this.bs + 600) {
|
||||
+ if (!hasRider() && this.world.isDay() && this.ticksLived >= this.bs + 600) { // Purpur - no random teleporting
|
||||
float f = this.aQ();
|
||||
float f = this.aR();
|
||||
|
||||
if (f > 0.5F && this.world.e(this.getChunkCoordinates()) && this.random.nextFloat() * 30.0F < (f - 0.4F) * 2.0F && this.tryEscape(EndermanEscapeEvent.Reason.RUNAWAY)) { // Paper
|
||||
@@ -322,6 +336,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
|
||||
@@ -1402,7 +1402,7 @@ index fde60d6c89..d8117df531 100644
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityEndermite.java b/src/main/java/net/minecraft/server/EntityEndermite.java
|
||||
index c4b1f318f7..3ded8d0025 100644
|
||||
index fcebf36312..7eef7f523a 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityEndermite.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityEndermite.java
|
||||
@@ -12,14 +12,28 @@ public class EntityEndermite extends EntityMonster {
|
||||
@@ -1436,7 +1436,7 @@ index c4b1f318f7..3ded8d0025 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityEvoker.java b/src/main/java/net/minecraft/server/EntityEvoker.java
|
||||
index ae7b269def..e045d167bc 100644
|
||||
index f40fbef32f..c75dc75611 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityEvoker.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityEvoker.java
|
||||
@@ -12,10 +12,23 @@ public class EntityEvoker extends EntityIllagerWizard {
|
||||
@@ -1496,7 +1496,7 @@ index ae7b269def..e045d167bc 100644
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityFish.java b/src/main/java/net/minecraft/server/EntityFish.java
|
||||
index 27d0f93510..dd25e80cc5 100644
|
||||
index 9b84564401..668f9d61b7 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityFish.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityFish.java
|
||||
@@ -70,13 +70,12 @@ public abstract class EntityFish extends EntityWaterAnimal {
|
||||
@@ -1571,7 +1571,7 @@ index 08372b7226..6a8e15f016 100644
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java
|
||||
index 04b2bbea0c..bb929ac7b7 100644
|
||||
index 8845afd83d..f5defe4713 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityFox.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityFox.java
|
||||
@@ -55,6 +55,39 @@ public class EntityFox extends EntityAnimal {
|
||||
@@ -1802,7 +1802,7 @@ index 8dce2aad77..2c0a696b8d 100644
|
||||
this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true));
|
||||
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillager.class, false));
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityGuardian.java b/src/main/java/net/minecraft/server/EntityGuardian.java
|
||||
index d42750fdd4..803f8e8aa5 100644
|
||||
index 27ec46c0b2..0a7f51a2a1 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityGuardian.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityGuardian.java
|
||||
@@ -24,15 +24,36 @@ public class EntityGuardian extends EntityMonster {
|
||||
@@ -1898,7 +1898,7 @@ index d42750fdd4..803f8e8aa5 100644
|
||||
Vec3D vec3d = new Vec3D(this.b - this.i.locX(), this.c - this.i.locY(), this.d - this.i.locZ());
|
||||
double d0 = vec3d.f();
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityGuardianElder.java b/src/main/java/net/minecraft/server/EntityGuardianElder.java
|
||||
index 5d2870f0e8..8148bc8b4e 100644
|
||||
index b691e84495..f6f8827469 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityGuardianElder.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityGuardianElder.java
|
||||
@@ -16,6 +16,18 @@ public class EntityGuardianElder extends EntityGuardian {
|
||||
@@ -1921,7 +1921,7 @@ index 5d2870f0e8..8148bc8b4e 100644
|
||||
return EntityGuardian.eM().a(GenericAttributes.MOVEMENT_SPEED, 0.30000001192092896D).a(GenericAttributes.ATTACK_DAMAGE, 8.0D).a(GenericAttributes.MAX_HEALTH, 80.0D);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHoglin.java b/src/main/java/net/minecraft/server/EntityHoglin.java
|
||||
index cf64c8ca2c..7f642fe674 100644
|
||||
index f679792536..548ff4449f 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHoglin.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHoglin.java
|
||||
@@ -13,13 +13,25 @@ public class EntityHoglin extends EntityAnimal implements IMonster, IOglin {
|
||||
@@ -1978,7 +1978,7 @@ index cf64c8ca2c..7f642fe674 100644
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHorse.java b/src/main/java/net/minecraft/server/EntityHorse.java
|
||||
index 069111952a..bd63a25e2c 100644
|
||||
index e0e60bb6d8..0415a4d1f3 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHorse.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHorse.java
|
||||
@@ -12,6 +12,13 @@ public class EntityHorse extends EntityHorseAbstract {
|
||||
@@ -1996,7 +1996,7 @@ index 069111952a..bd63a25e2c 100644
|
||||
protected void eK() {
|
||||
this.getAttributeInstance(GenericAttributes.MAX_HEALTH).setValue((double) this.fp());
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
index c7757f9d0a..5b10c2d9a9 100644
|
||||
index 573d4a5c78..4b41a58833 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
@@ -39,12 +39,27 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
|
||||
@@ -2071,7 +2071,7 @@ index 3dd4d4f0f3..243aeb736e 100644
|
||||
protected SoundEffect getSoundAmbient() {
|
||||
super.getSoundAmbient();
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java
|
||||
index abbc12c8e0..b39feed7a9 100644
|
||||
index a53d335f3a..e2c6a5807a 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHorseSkeleton.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHorseSkeleton.java
|
||||
@@ -12,6 +12,18 @@ public class EntityHorseSkeleton extends EntityHorseAbstract {
|
||||
@@ -2105,14 +2105,14 @@ index abbc12c8e0..b39feed7a9 100644
|
||||
@@ -117,7 +129,7 @@ public class EntityHorseSkeleton extends EntityHorseAbstract {
|
||||
|
||||
@Override
|
||||
public boolean bs() {
|
||||
public boolean bt() {
|
||||
- return true;
|
||||
+ return super.bs(); // Purpur
|
||||
+ return super.bt(); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHorseZombie.java b/src/main/java/net/minecraft/server/EntityHorseZombie.java
|
||||
index acc5b8ca90..6e9806662d 100644
|
||||
index 0e98173607..559ba50977 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHorseZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHorseZombie.java
|
||||
@@ -8,6 +8,18 @@ public class EntityHorseZombie extends EntityHorseAbstract {
|
||||
@@ -2142,7 +2142,7 @@ index acc5b8ca90..6e9806662d 100644
|
||||
+ protected void eV() { if (world.purpurConfig.zombieHorseCanSwim) goalSelector.a(0, new PathfinderGoalFloat(this)); } // Purpur
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index 48f9feaea1..6c2b57a294 100644
|
||||
index 75f9874115..deb6c93426 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -2148,4 +2148,15 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
@@ -2162,7 +2162,7 @@ index 48f9feaea1..6c2b57a294 100644
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
|
||||
index f5c9e4e0ae..1acb85869b 100644
|
||||
index b6c6b4d54e..f5b6d83f87 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
|
||||
@@ -20,6 +20,16 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan
|
||||
@@ -2199,7 +2199,7 @@ index f5c9e4e0ae..1acb85869b 100644
|
||||
this.targetSelector.a(2, (new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true)).a(300));
|
||||
this.targetSelector.a(3, (new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, false)).a(300));
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index 7465e867ba..2bda9d6c6c 100644
|
||||
index 11002b5950..99c4606105 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -29,7 +29,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -2238,7 +2238,7 @@ index 7465e867ba..2bda9d6c6c 100644
|
||||
return; // feature disabled
|
||||
}
|
||||
@@ -552,14 +552,17 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
return super.do_();
|
||||
return super.dp();
|
||||
}
|
||||
|
||||
+ public void setForwardSpeed(float speed) { this.t(speed); } // Purpur - OBFHELPER
|
||||
@@ -2371,33 +2371,33 @@ index bdff236883..9ee03b233b 100644
|
||||
float f1 = 1.0F + (this.random.nextFloat() - this.random.nextFloat()) * 0.2F;
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index a2d50a1fef..b8f59f29a4 100644
|
||||
index 1e47a741cf..c33909e20a 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -466,7 +466,7 @@ public abstract class EntityLiving extends Entity {
|
||||
|
||||
@Override
|
||||
public boolean bs() {
|
||||
public boolean bt() {
|
||||
- return false;
|
||||
+ return isRidableInWater(); // Purpur
|
||||
}
|
||||
|
||||
protected void cT() {
|
||||
protected void cU() {
|
||||
@@ -2186,7 +2186,7 @@ public abstract class EntityLiving extends Entity {
|
||||
return 0.42F * this.getBlockJumpFactor();
|
||||
}
|
||||
|
||||
- protected void jump() {
|
||||
+ public void jump() { // Purpur - protected -> public
|
||||
float f = this.dI();
|
||||
float f = this.dJ();
|
||||
|
||||
if (this.hasEffect(MobEffects.JUMP)) {
|
||||
@@ -2435,10 +2435,12 @@ public abstract class EntityLiving extends Entity {
|
||||
return this.onGround ? this.dM() * (0.21600002F / (f * f * f)) : this.aE;
|
||||
return this.onGround ? this.dN() * (0.21600002F / (f * f * f)) : this.aE;
|
||||
}
|
||||
|
||||
+ public float getSpeed() { return dM(); } // Purpur - OBFHELPER
|
||||
public float dM() {
|
||||
+ public float getSpeed() { return dN(); } // Purpur - OBFHELPER
|
||||
public float dN() {
|
||||
return this.bu;
|
||||
}
|
||||
|
||||
@@ -2406,7 +2406,7 @@ index a2d50a1fef..b8f59f29a4 100644
|
||||
this.bu = f;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java
|
||||
index e90ff597d1..f8cff07d07 100644
|
||||
index e61f53816c..1099277868 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLlama.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLlama.java
|
||||
@@ -18,7 +18,46 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
@@ -2482,7 +2482,7 @@ index e90ff597d1..f8cff07d07 100644
|
||||
|
||||
return i == -1 ? null : EnumColor.fromColorIndex(i);
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLlamaTrader.java b/src/main/java/net/minecraft/server/EntityLlamaTrader.java
|
||||
index 665a9e8524..f65e93b742 100644
|
||||
index 7d30e5c237..b6aae5cdee 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLlamaTrader.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLlamaTrader.java
|
||||
@@ -11,6 +11,23 @@ public class EntityLlamaTrader extends EntityLlama {
|
||||
@@ -2510,7 +2510,7 @@ index 665a9e8524..f65e93b742 100644
|
||||
protected EntityLlama fz() {
|
||||
return (EntityLlama) EntityTypes.TRADER_LLAMA.a(this.world);
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityMagmaCube.java b/src/main/java/net/minecraft/server/EntityMagmaCube.java
|
||||
index 8f9813ddd6..9babff772b 100644
|
||||
index 874dd39825..cd28463e2b 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityMagmaCube.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityMagmaCube.java
|
||||
@@ -8,6 +8,23 @@ public class EntityMagmaCube extends EntitySlime {
|
||||
@@ -2545,7 +2545,7 @@ index 8f9813ddd6..9babff772b 100644
|
||||
+ public void jump() { // Purpur - protected -> public
|
||||
Vec3D vec3d = this.getMot();
|
||||
|
||||
this.setMot(vec3d.x, (double) (this.dI() + (float) this.getSize() * 0.1F), vec3d.z);
|
||||
this.setMot(vec3d.x, (double) (this.dJ() + (float) this.getSize() * 0.1F), vec3d.z);
|
||||
this.impulse = true;
|
||||
+ this.actualJump = false; // Purpur
|
||||
}
|
||||
@@ -2593,7 +2593,7 @@ index 38df17bd20..7966b34f8d 100644
|
||||
|
||||
Pair<MobEffectList, Integer> pair = (Pair) optional.get();
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityOcelot.java b/src/main/java/net/minecraft/server/EntityOcelot.java
|
||||
index 9dc55b7832..5a05ae0178 100644
|
||||
index 7bd3fea6e0..2f8275cd6b 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityOcelot.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityOcelot.java
|
||||
@@ -16,6 +16,18 @@ public class EntityOcelot extends EntityAnimal {
|
||||
@@ -2631,7 +2631,7 @@ index 9dc55b7832..5a05ae0178 100644
|
||||
this.targetSelector.a(1, new PathfinderGoalNearestAttackableTarget<>(this, EntityTurtle.class, 10, false, false, EntityTurtle.bo));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPanda.java b/src/main/java/net/minecraft/server/EntityPanda.java
|
||||
index 01cc3d94d3..3bf8522b14 100644
|
||||
index b36cc95168..eafae5516b 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPanda.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPanda.java
|
||||
@@ -46,6 +46,27 @@ public class EntityPanda extends EntityAnimal {
|
||||
@@ -2767,7 +2767,7 @@ index 01cc3d94d3..3bf8522b14 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java
|
||||
index 6bb73f869b..24d78bb2ec 100644
|
||||
index f7b92078ea..66c1d666cd 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityParrot.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityParrot.java
|
||||
@@ -65,12 +65,58 @@ public class EntityParrot extends EntityPerchable implements EntityBird {
|
||||
@@ -3014,7 +3014,7 @@ index 03c9a8d0c2..e8900e9a5c 100644
|
||||
EntityPhantom.this.yaw += 180.0F;
|
||||
this.j = 0.1F;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java
|
||||
index 87caac62b0..2b7ab2d7a9 100644
|
||||
index 7f52c39234..dade0bb294 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPig.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPig.java
|
||||
@@ -19,9 +19,22 @@ public class EntityPig extends EntityAnimal implements ISteerable, ISaddleable {
|
||||
@@ -3041,7 +3041,7 @@ index 87caac62b0..2b7ab2d7a9 100644
|
||||
this.goalSelector.a(3, new PathfinderGoalBreed(this, 1.0D));
|
||||
this.goalSelector.a(4, new PathfinderGoalTempt(this, 1.2D, RecipeItemStack.a(Items.CARROT_ON_A_STICK), false));
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java
|
||||
index 194b76059c..dbc5a74f6e 100644
|
||||
index 32b75f710b..3327dbbf87 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPigZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPigZombie.java
|
||||
@@ -22,6 +22,16 @@ public class EntityPigZombie extends EntityZombie implements IEntityAngerable {
|
||||
@@ -3062,7 +3062,7 @@ index 194b76059c..dbc5a74f6e 100644
|
||||
public boolean jockeyOnlyBaby() {
|
||||
return world.purpurConfig.zombifiedPiglinJockeyOnlyBaby;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPiglin.java b/src/main/java/net/minecraft/server/EntityPiglin.java
|
||||
index e1b4330074..55739e52e1 100644
|
||||
index ca7f9dc54e..334e0f73e6 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPiglin.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPiglin.java
|
||||
@@ -25,6 +25,18 @@ public class EntityPiglin extends EntityPiglinAbstract implements ICrossbow {
|
||||
@@ -3113,7 +3113,7 @@ index e1b4330074..55739e52e1 100644
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPiglinBrute.java b/src/main/java/net/minecraft/server/EntityPiglinBrute.java
|
||||
index 00db2d1668..c672e31fcb 100644
|
||||
index 3e9a4af09d..f6b1708111 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPiglinBrute.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPiglinBrute.java
|
||||
@@ -15,6 +15,18 @@ public class EntityPiglinBrute extends EntityPiglinAbstract {
|
||||
@@ -3189,10 +3189,10 @@ index a3a428da99..cf7de01271 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 0bf86369bc..5e5e183da1 100644
|
||||
index faa59d3315..426e632260 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -502,6 +502,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -505,6 +505,15 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
}
|
||||
|
||||
this.advancementDataPlayer.b(this);
|
||||
@@ -3209,7 +3209,7 @@ index 0bf86369bc..5e5e183da1 100644
|
||||
|
||||
public void playerTick() {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPolarBear.java b/src/main/java/net/minecraft/server/EntityPolarBear.java
|
||||
index cd6d2e07ec..1575aaa764 100644
|
||||
index 99f0bd8f82..3d649843f5 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPolarBear.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPolarBear.java
|
||||
@@ -18,12 +18,34 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
|
||||
@@ -3284,7 +3284,7 @@ index cd6d2e07ec..1575aaa764 100644
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPufferFish.java b/src/main/java/net/minecraft/server/EntityPufferFish.java
|
||||
index 639af6bd3d..81e9185726 100644
|
||||
index 330ec38d09..16a4df27c5 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPufferFish.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPufferFish.java
|
||||
@@ -17,6 +17,18 @@ public class EntityPufferFish extends EntityFish {
|
||||
@@ -3316,7 +3316,7 @@ index 639af6bd3d..81e9185726 100644
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java
|
||||
index 98baf24bde..9cd737d16b 100644
|
||||
index 25a9b7906b..b766a27e98 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityRabbit.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityRabbit.java
|
||||
@@ -20,6 +20,18 @@ public class EntityRabbit extends EntityAnimal {
|
||||
@@ -3352,7 +3352,7 @@ index 98baf24bde..9cd737d16b 100644
|
||||
}
|
||||
|
||||
@Override
|
||||
- protected float dI() {
|
||||
- protected float dJ() {
|
||||
+ // Purpur start
|
||||
+ public float getJumpHeight() {
|
||||
+ if (hasRider()) {
|
||||
@@ -3434,7 +3434,7 @@ index 98baf24bde..9cd737d16b 100644
|
||||
+ // Purpur end
|
||||
+
|
||||
@Override
|
||||
public boolean aN() {
|
||||
public boolean aO() {
|
||||
return false;
|
||||
@@ -485,7 +547,7 @@ public class EntityRabbit extends EntityAnimal {
|
||||
}
|
||||
@@ -3481,7 +3481,7 @@ index 98baf24bde..9cd737d16b 100644
|
||||
this.d = flag;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityRavager.java b/src/main/java/net/minecraft/server/EntityRavager.java
|
||||
index 7064a12c89..16d302f44b 100644
|
||||
index fd1ac7df68..a902145881 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityRavager.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityRavager.java
|
||||
@@ -20,14 +20,37 @@ public class EntityRavager extends EntityRaider {
|
||||
@@ -3583,7 +3583,7 @@ index 2908e9cc47..a151d4295c 100644
|
||||
this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D));
|
||||
this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.1D, RecipeItemStack.a(Items.WHEAT), false));
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityShulker.java b/src/main/java/net/minecraft/server/EntityShulker.java
|
||||
index f0394fe521..36617c9732 100644
|
||||
index 7bedaf02c4..30e0e14162 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityShulker.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityShulker.java
|
||||
@@ -29,12 +29,26 @@ public class EntityShulker extends EntityGolem implements IMonster {
|
||||
@@ -3623,7 +3623,7 @@ index f0394fe521..36617c9732 100644
|
||||
@Override
|
||||
public boolean a() {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntitySilverfish.java b/src/main/java/net/minecraft/server/EntitySilverfish.java
|
||||
index 35f15c8ddd..dd2dfdff59 100644
|
||||
index 28b490cc14..ad428e0900 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntitySilverfish.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntitySilverfish.java
|
||||
@@ -11,13 +11,27 @@ public class EntitySilverfish extends EntityMonster {
|
||||
@@ -3686,7 +3686,7 @@ index 7c39bec831..3f130e03bf 100644
|
||||
protected SoundEffect getSoundAmbient() {
|
||||
return SoundEffects.ENTITY_SKELETON_AMBIENT;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
|
||||
index 513bb3087e..a50d43cf79 100644
|
||||
index ced89af70c..4d5af11734 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntitySkeletonAbstract.java
|
||||
@@ -28,12 +28,14 @@ public abstract class EntitySkeletonAbstract extends EntityMonster implements IR
|
||||
@@ -3751,7 +3751,7 @@ index c872be77a6..96cb080d94 100644
|
||||
protected void initPathfinder() {
|
||||
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityPiglinAbstract.class, true));
|
||||
diff --git a/src/main/java/net/minecraft/server/EntitySlime.java b/src/main/java/net/minecraft/server/EntitySlime.java
|
||||
index f74c827850..b9080fa0a2 100644
|
||||
index e99fd88118..4602636298 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntitySlime.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntitySlime.java
|
||||
@@ -34,12 +34,45 @@ public class EntitySlime extends EntityInsentient implements IMonster {
|
||||
@@ -3808,7 +3808,7 @@ index f74c827850..b9080fa0a2 100644
|
||||
+ public void jump() { // Purpur - protected -> public
|
||||
Vec3D vec3d = this.getMot();
|
||||
|
||||
this.setMot(vec3d.x, (double) this.dI(), vec3d.z);
|
||||
this.setMot(vec3d.x, (double) this.dJ(), vec3d.z);
|
||||
this.impulse = true;
|
||||
+ this.actualJump = false; // Purpur
|
||||
}
|
||||
@@ -3867,7 +3867,7 @@ index f74c827850..b9080fa0a2 100644
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntitySnowman.java b/src/main/java/net/minecraft/server/EntitySnowman.java
|
||||
index dfe615814d..105bd8d0c8 100644
|
||||
index 95ee716fc9..e980da14cf 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntitySnowman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntitySnowman.java
|
||||
@@ -14,12 +14,26 @@ public class EntitySnowman extends EntityGolem implements IShearable, IRangedEnt
|
||||
@@ -3924,7 +3924,7 @@ index dfe615814d..105bd8d0c8 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntitySpider.java b/src/main/java/net/minecraft/server/EntitySpider.java
|
||||
index 42f02b03b1..7610ba7712 100644
|
||||
index bf68efd52f..92d7413787 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntitySpider.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntitySpider.java
|
||||
@@ -11,14 +11,28 @@ public class EntitySpider extends EntityMonster {
|
||||
@@ -3957,7 +3957,7 @@ index 42f02b03b1..7610ba7712 100644
|
||||
this.targetSelector.a(2, new EntitySpider.PathfinderGoalSpiderNearestAttackableTarget<>(this, EntityHuman.class));
|
||||
this.targetSelector.a(3, new EntitySpider.PathfinderGoalSpiderNearestAttackableTarget<>(this, EntityIronGolem.class));
|
||||
diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java
|
||||
index 028a7fe2cd..8c749c50bf 100644
|
||||
index 148e4b1587..70b952f10a 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntitySquid.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntitySquid.java
|
||||
@@ -26,17 +26,38 @@ public class EntitySquid extends EntityWaterAnimal {
|
||||
@@ -4053,11 +4053,11 @@ index 028a7fe2cd..8c749c50bf 100644
|
||||
+ return;
|
||||
+ }
|
||||
+ // Purpur end
|
||||
int i = this.b.dc();
|
||||
int i = this.b.dd();
|
||||
|
||||
if (i > 100) {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityStrider.java b/src/main/java/net/minecraft/server/EntityStrider.java
|
||||
index 3bd9b53d4c..c065f04678 100644
|
||||
index 6d4c6a8f1c..172867f50d 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityStrider.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityStrider.java
|
||||
@@ -28,6 +28,18 @@ public class EntityStrider extends EntityAnimal implements ISteerable, ISaddleab
|
||||
@@ -4132,7 +4132,7 @@ index 495c28ccb8..2c9df356e6 100644
|
||||
protected void initDatawatcher() {
|
||||
super.initDatawatcher();
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityTurtle.java b/src/main/java/net/minecraft/server/EntityTurtle.java
|
||||
index e025eef476..1edd0953ae 100644
|
||||
index 4ad393bc99..2b34e6cf3b 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTurtle.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTurtle.java
|
||||
@@ -27,6 +27,18 @@ public class EntityTurtle extends EntityAnimal {
|
||||
@@ -4214,7 +4214,7 @@ index e025eef476..1edd0953ae 100644
|
||||
if (this.h == ControllerMove.Operation.MOVE_TO && !this.i.getNavigation().m()) {
|
||||
double d0 = this.b - this.i.locX();
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityVex.java b/src/main/java/net/minecraft/server/EntityVex.java
|
||||
index ae05856f25..712bece54f 100644
|
||||
index ed6a47ad2f..ac75ed3e2e 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVex.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVex.java
|
||||
@@ -19,6 +19,45 @@ public class EntityVex extends EntityMonster {
|
||||
@@ -4311,7 +4311,7 @@ index ae05856f25..712bece54f 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 7add2fca10..1b707558fc 100644
|
||||
index a95bf56823..cead15b075 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
@@ -75,8 +75,19 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
@@ -4395,7 +4395,7 @@ index 96dda6a14f..3ea66955df 100644
|
||||
this.setTradingPlayer(entityhuman);
|
||||
this.openTrade(entityhuman, this.getScoreboardDisplayName(), 1);
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityVindicator.java b/src/main/java/net/minecraft/server/EntityVindicator.java
|
||||
index a945a0a073..63b68e9285 100644
|
||||
index 8f812aa913..9950bda50f 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVindicator.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVindicator.java
|
||||
@@ -17,14 +17,28 @@ public class EntityVindicator extends EntityIllagerAbstract {
|
||||
@@ -4428,7 +4428,7 @@ index a945a0a073..63b68e9285 100644
|
||||
this.targetSelector.a(2, new PathfinderGoalNearestAttackableTarget<>(this, EntityHuman.class, true));
|
||||
this.targetSelector.a(3, new PathfinderGoalNearestAttackableTarget<>(this, EntityVillagerAbstract.class, true));
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityWitch.java b/src/main/java/net/minecraft/server/EntityWitch.java
|
||||
index 0ef981e5ad..2ff6de67e5 100644
|
||||
index ca3c5150bc..323d79a994 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityWitch.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityWitch.java
|
||||
@@ -24,6 +24,18 @@ public class EntityWitch extends EntityRaider implements IRangedEntity {
|
||||
@@ -4464,11 +4464,11 @@ index 0ef981e5ad..2ff6de67e5 100644
|
||||
this.targetSelector.a(2, this.br);
|
||||
this.targetSelector.a(3, this.bs);
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityWither.java b/src/main/java/net/minecraft/server/EntityWither.java
|
||||
index 29bb74e51e..e563cd47f3 100644
|
||||
index 53482a420c..f68cf834aa 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityWither.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityWither.java
|
||||
@@ -32,6 +32,7 @@ public class EntityWither extends EntityMonster implements IRangedEntity {
|
||||
return entityliving.getMonsterType() != EnumMonsterType.UNDEAD && entityliving.eh();
|
||||
return entityliving.getMonsterType() != EnumMonsterType.UNDEAD && entityliving.ei();
|
||||
};
|
||||
private static final PathfinderTargetCondition bz = (new PathfinderTargetCondition()).a(20.0D).a(EntityWither.by);
|
||||
+ private int shootCooldown = 0; // Purpur
|
||||
@@ -4672,7 +4672,7 @@ index 29bb74e51e..e563cd47f3 100644
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityWolf.java b/src/main/java/net/minecraft/server/EntityWolf.java
|
||||
index 5779d1c9f9..950598db7b 100644
|
||||
index dcbb34313f..9ae7168595 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityWolf.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityWolf.java
|
||||
@@ -33,9 +33,27 @@ public class EntityWolf extends EntityTameableAnimal implements IEntityAngerable
|
||||
@@ -4712,7 +4712,7 @@ index 5779d1c9f9..950598db7b 100644
|
||||
this.targetSelector.a(2, new PathfinderGoalOwnerHurtTarget(this));
|
||||
this.targetSelector.a(3, (new PathfinderGoalHurtByTarget(this, new Class[0])).a(new Class[0])); // CraftBukkit - decompile error
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityZoglin.java b/src/main/java/net/minecraft/server/EntityZoglin.java
|
||||
index 55df54733d..ce4072f6ea 100644
|
||||
index e76e6ebde7..d92fe8013f 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityZoglin.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityZoglin.java
|
||||
@@ -21,6 +21,18 @@ public class EntityZoglin extends EntityMonster implements IMonster, IOglin {
|
||||
@@ -4732,7 +4732,7 @@ index 55df54733d..ce4072f6ea 100644
|
||||
+ // Purpur end
|
||||
+
|
||||
@Override
|
||||
protected BehaviorController.b<EntityZoglin> cJ() {
|
||||
protected BehaviorController.b<EntityZoglin> cK() {
|
||||
return BehaviorController.a((Collection) EntityZoglin.c, (Collection) EntityZoglin.b);
|
||||
@@ -52,10 +64,10 @@ public class EntityZoglin extends EntityMonster implements IMonster, IOglin {
|
||||
}
|
||||
@@ -4776,7 +4776,7 @@ index 55df54733d..ce4072f6ea 100644
|
||||
this.eL();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
index 3e5c692876..7d4598a944 100644
|
||||
index b90ea31440..e2f68d843c 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
@@ -46,6 +46,16 @@ public class EntityZombie extends EntityMonster {
|
||||
@@ -4830,7 +4830,7 @@ index ce6d797801..02b0ae550a 100644
|
||||
public boolean jockeyOnlyBaby() {
|
||||
return world.purpurConfig.huskJockeyOnlyBaby;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java
|
||||
index 69e98dcebe..cdcf3d1cf5 100644
|
||||
index b86816205c..7db942c659 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityZombieVillager.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java
|
||||
@@ -29,6 +29,16 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo
|
||||
@@ -4851,7 +4851,7 @@ index 69e98dcebe..cdcf3d1cf5 100644
|
||||
public boolean jockeyOnlyBaby() {
|
||||
return world.purpurConfig.zombieVillagerJockeyOnlyBaby;
|
||||
diff --git a/src/main/java/net/minecraft/server/GeneratorAccess.java b/src/main/java/net/minecraft/server/GeneratorAccess.java
|
||||
index b67aede005..ed09fe7fdd 100644
|
||||
index cbc0b8bc85..89d64ea0d1 100644
|
||||
--- a/src/main/java/net/minecraft/server/GeneratorAccess.java
|
||||
+++ b/src/main/java/net/minecraft/server/GeneratorAccess.java
|
||||
@@ -37,6 +37,7 @@ public interface GeneratorAccess extends ICombinedAccess, IWorldTime {
|
||||
@@ -4939,10 +4939,10 @@ index 0000000000..44929182df
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 666115743c..6a81fec9f7 100644
|
||||
index 0ff98adfcb..55e74c7026 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -2149,6 +2149,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -2231,6 +2231,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
this.server.getPluginManager().callEvent(event);
|
||||
|
||||
@@ -4992,10 +4992,10 @@ index 5af554870b..c59305ef7d 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 856d849aba..e1c232d59d 100644
|
||||
index 41ba7beac4..94d1dafec6 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1516,5 +1516,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -1520,5 +1520,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
public boolean isTheEnd() {
|
||||
return getWorld().getEnvironment() == org.bukkit.World.Environment.THE_END;
|
||||
}
|
||||
@@ -5025,7 +5025,7 @@ index 8714d1574d..af3739c79a 100644
|
||||
|
||||
public static int dungeonSeed = -1;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 86a4ce5288..35bb5d3e34 100644
|
||||
index 6ee0a3179b..1a606b426b 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -42,11 +42,6 @@ public class PurpurWorldConfig {
|
||||
@@ -5040,7 +5040,7 @@ index 86a4ce5288..35bb5d3e34 100644
|
||||
private ConfigurationSection getConfigurationSection(String path) {
|
||||
ConfigurationSection section = PurpurConfig.config.getConfigurationSection("world-settings." + worldName + "." + path);
|
||||
return section != null ? section : PurpurConfig.config.getConfigurationSection("world-settings.default." + path);
|
||||
@@ -321,65 +316,190 @@ public class PurpurWorldConfig {
|
||||
@@ -320,65 +315,190 @@ public class PurpurWorldConfig {
|
||||
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
|
||||
}
|
||||
|
||||
@@ -5231,7 +5231,7 @@ index 86a4ce5288..35bb5d3e34 100644
|
||||
public float giantStepHeight = 2.0F;
|
||||
public float giantJumpHeight = 1.0F;
|
||||
public double giantMaxHealth = 100.0D;
|
||||
@@ -388,6 +508,8 @@ public class PurpurWorldConfig {
|
||||
@@ -387,6 +507,8 @@ public class PurpurWorldConfig {
|
||||
public boolean giantHaveAI = false;
|
||||
public boolean giantHaveHostileAI = false;
|
||||
private void giantSettings() {
|
||||
@@ -5240,7 +5240,7 @@ index 86a4ce5288..35bb5d3e34 100644
|
||||
giantStepHeight = (float) getDouble("mobs.giant.step-height", giantStepHeight);
|
||||
giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight);
|
||||
giantMaxHealth = getDouble("mobs.giant.max-health", giantMaxHealth);
|
||||
@@ -397,29 +519,119 @@ public class PurpurWorldConfig {
|
||||
@@ -396,29 +518,119 @@ public class PurpurWorldConfig {
|
||||
giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI);
|
||||
}
|
||||
|
||||
@@ -5360,7 +5360,7 @@ index 86a4ce5288..35bb5d3e34 100644
|
||||
public double phantomAttackedByCrystalRadius = 0.0D;
|
||||
public float phantomAttackedByCrystalDamage = 1.0F;
|
||||
public double phantomOrbitCrystalRadius = 0.0D;
|
||||
@@ -439,6 +651,11 @@ public class PurpurWorldConfig {
|
||||
@@ -438,6 +650,11 @@ public class PurpurWorldConfig {
|
||||
public boolean phantomIgnorePlayersWithTorch = false;
|
||||
public boolean phantomBurnInDaylight = true;
|
||||
private void phantomSettings() {
|
||||
@@ -5372,7 +5372,7 @@ index 86a4ce5288..35bb5d3e34 100644
|
||||
phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius);
|
||||
phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
|
||||
phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius);
|
||||
@@ -459,40 +676,184 @@ public class PurpurWorldConfig {
|
||||
@@ -458,40 +675,184 @@ public class PurpurWorldConfig {
|
||||
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);
|
||||
}
|
||||
|
||||
@@ -5557,7 +5557,7 @@ index 86a4ce5288..35bb5d3e34 100644
|
||||
public int villagerBrainTicks = 1;
|
||||
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
|
||||
public boolean villagerCanBeLeashed = false;
|
||||
@@ -502,6 +863,8 @@ public class PurpurWorldConfig {
|
||||
@@ -501,6 +862,8 @@ public class PurpurWorldConfig {
|
||||
public int villagerSpawnIronGolemLimit = 0;
|
||||
public boolean villagerCanBreed = true;
|
||||
private void villagerSettings() {
|
||||
@@ -5566,7 +5566,7 @@ index 86a4ce5288..35bb5d3e34 100644
|
||||
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
|
||||
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
|
||||
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
|
||||
@@ -512,46 +875,109 @@ public class PurpurWorldConfig {
|
||||
@@ -511,46 +874,109 @@ public class PurpurWorldConfig {
|
||||
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
|
||||
}
|
||||
|
||||
@@ -6325,7 +6325,7 @@ index f4d48753a7..76e59ec1d8 100644
|
||||
+ // 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 0f0d70c062..23df99e3ff 100644
|
||||
index 90d8631ddd..8bb9449a69 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -502,6 +502,18 @@ public class CraftEventFactory {
|
||||
|
||||
@@ -5,19 +5,19 @@ Subject: [PATCH] Entities can use portals configuration
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 48cd541912..deaa8b8371 100644
|
||||
index 1d4078f5a1..5c3cfeab78 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -2390,7 +2390,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2391,7 +2391,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
public void d(BlockPosition blockposition) {
|
||||
if (this.ah()) {
|
||||
if (this.ai()) {
|
||||
this.resetPortalCooldown();
|
||||
- } else {
|
||||
+ } else if (world.purpurConfig.entitiesCanUsePortals || this instanceof EntityPlayer) { // Purpur
|
||||
if (!this.world.isClientSide && !blockposition.equals(this.ac)) {
|
||||
this.ac = blockposition.immutableCopy();
|
||||
}
|
||||
@@ -2963,7 +2963,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2964,7 +2964,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
}
|
||||
|
||||
public boolean canPortal() {
|
||||
@@ -27,7 +27,7 @@ index 48cd541912..deaa8b8371 100644
|
||||
|
||||
public float a(Explosion explosion, IBlockAccess iblockaccess, BlockPosition blockposition, IBlockData iblockdata, Fluid fluid, float f) {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 30fdfa6aa5..039a205045 100644
|
||||
index 1a606b426b..f80f115690 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -140,6 +140,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Customizable WitherBoss Health and Healing
|
||||
Adds the ability to customize the health of the Wither Boss, as well as the amount that it heals, and how often in the PurpurWorldConfig.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityWither.java b/src/main/java/net/minecraft/server/EntityWither.java
|
||||
index 1054b492c..2a288d372 100644
|
||||
index f68cf834aa..4cac2bd091 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityWither.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityWither.java
|
||||
@@ -145,6 +145,12 @@ public class EntityWither extends EntityMonster implements IRangedEntity {
|
||||
@@ -53,10 +53,10 @@ index 1054b492c..2a288d372 100644
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 82cc321a0..3c3e48c9c 100644
|
||||
index f80f115690..0d4d9ce345 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -907,10 +907,16 @@ public class PurpurWorldConfig {
|
||||
@@ -906,10 +906,16 @@ public class PurpurWorldConfig {
|
||||
public boolean witherRidable = false;
|
||||
public boolean witherRidableInWater = false;
|
||||
public double witherMaxY = 256D;
|
||||
|
||||
@@ -29,7 +29,7 @@ index 502cb0ea40..f88c7b5480 100644
|
||||
if (SpawnerCreature.a(EntityPositionTypes.Surface.ON_GROUND, iworldreader, blockposition2, EntityTypes.WANDERING_TRADER)) {
|
||||
blockposition1 = blockposition2;
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index c3dbe78027..dcf03067e1 100644
|
||||
index 94d1dafec6..2df0ddded3 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -128,7 +128,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -42,10 +42,10 @@ index c3dbe78027..dcf03067e1 100644
|
||||
this.generator = gen;
|
||||
this.world = new CraftWorld((WorldServer) this, gen, env);
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 34a4ae5ce0..0fb41962c8 100644
|
||||
index 4b086de17b..37423fd9c4 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -322,7 +322,24 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -326,7 +326,24 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
this.L = new ObjectLinkedOpenHashSet();
|
||||
this.Q = flag1;
|
||||
this.server = minecraftserver;
|
||||
@@ -72,7 +72,7 @@ index 34a4ae5ce0..0fb41962c8 100644
|
||||
this.worldDataServer = (WorldDataServer) iworlddataserver;
|
||||
worldDataServer.world = this;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index c905d95a8c..b360186b3a 100644
|
||||
index 0d4d9ce345..3c91ab0a58 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -7,6 +7,8 @@ import net.minecraft.server.IRegistry;
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Despawn rate config options per projectile type
|
||||
Default values of -1 respect vanilla behaviour.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java
|
||||
index b0218959a0..cecaa6e70e 100644
|
||||
index 1e7f5957d8..7f89b269e3 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityArrow.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityArrow.java
|
||||
@@ -23,7 +23,7 @@ public abstract class EntityArrow extends IProjectile {
|
||||
@@ -96,10 +96,10 @@ index 63b4a449b5..e8650c1bfa 100644
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityFireworks.java b/src/main/java/net/minecraft/server/EntityFireworks.java
|
||||
index 36729e4783..a9418cbe36 100644
|
||||
index a646dc9f03..9789d480ad 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityFireworks.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityFireworks.java
|
||||
@@ -296,4 +296,11 @@ public class EntityFireworks extends IProjectile {
|
||||
@@ -298,4 +298,11 @@ public class EntityFireworks extends IProjectile {
|
||||
public Packet<?> P() {
|
||||
return new PacketPlayOutSpawnEntity(this);
|
||||
}
|
||||
@@ -112,7 +112,7 @@ index 36729e4783..a9418cbe36 100644
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityFishingHook.java b/src/main/java/net/minecraft/server/EntityFishingHook.java
|
||||
index 25ec9e9319..978de43ef9 100644
|
||||
index 3cee6beaba..ae590c8993 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityFishingHook.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityFishingHook.java
|
||||
@@ -564,4 +564,11 @@ public class EntityFishingHook extends IProjectile {
|
||||
@@ -144,7 +144,7 @@ index b4b0dfbc70..d12de20cf4 100644
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLlamaSpit.java b/src/main/java/net/minecraft/server/EntityLlamaSpit.java
|
||||
index 29d1db053c..77925e9e16 100644
|
||||
index 7636a51a7e..3e6438c977 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLlamaSpit.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLlamaSpit.java
|
||||
@@ -71,4 +71,11 @@ public class EntityLlamaSpit extends IProjectile {
|
||||
@@ -160,7 +160,7 @@ index 29d1db053c..77925e9e16 100644
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPotion.java b/src/main/java/net/minecraft/server/EntityPotion.java
|
||||
index c7416602c1..b189e2d8e9 100644
|
||||
index d57da221c1..6d4b1e58df 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPotion.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPotion.java
|
||||
@@ -240,4 +240,11 @@ public class EntityPotion extends EntityProjectileThrowable {
|
||||
@@ -176,7 +176,7 @@ index c7416602c1..b189e2d8e9 100644
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityShulkerBullet.java b/src/main/java/net/minecraft/server/EntityShulkerBullet.java
|
||||
index 226b346436..b482dce83b 100644
|
||||
index 23017b5486..0b16473aed 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityShulkerBullet.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityShulkerBullet.java
|
||||
@@ -313,4 +313,11 @@ public class EntityShulkerBullet extends IProjectile {
|
||||
@@ -300,7 +300,7 @@ index 9a17eb6066..f0b8982893 100644
|
||||
|
||||
public boolean checkIfLeftOwner() { return this.h(); } // Purpur - OBFHELPER
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 07c1b2ca63..8ff4e3127b 100644
|
||||
index 5386affbae..21ac732313 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -147,6 +147,35 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Add option to disable zombie aggressiveness towards villagers
|
||||
|
||||
|
||||
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 89b56de75..ded483ace 100644
|
||||
index 89b56de756..ded483ace0 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
|
||||
@@ -131,6 +131,10 @@ public class MobGoalHelper {
|
||||
@@ -21,7 +21,7 @@ index 89b56de75..ded483ace 100644
|
||||
ignored.add("selector_1");
|
||||
ignored.add("selector_2");
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java
|
||||
index 8aa53c617..99f615c64 100644
|
||||
index 125eab60f2..638efc67d6 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityDrowned.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityDrowned.java
|
||||
@@ -58,7 +58,18 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
|
||||
@@ -45,7 +45,7 @@ index 8aa53c617..99f615c64 100644
|
||||
this.targetSelector.a(5, new PathfinderGoalNearestAttackableTarget<>(this, EntityTurtle.class, 10, true, false, EntityTurtle.bo));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
index d08747c66..7b2a66d6d 100644
|
||||
index e2f68d843c..3ad8bd0847 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
@@ -85,7 +85,18 @@ public class EntityZombie extends EntityMonster {
|
||||
@@ -69,10 +69,10 @@ index d08747c66..7b2a66d6d 100644
|
||||
this.targetSelector.a(5, new PathfinderGoalNearestAttackableTarget<>(this, EntityTurtle.class, 10, true, false, EntityTurtle.bo));
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 8ff4e3127..14c1e0d1f 100644
|
||||
index 21ac732313..2c1ef95e8d 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -1004,12 +1004,14 @@ public class PurpurWorldConfig {
|
||||
@@ -1003,12 +1003,14 @@ public class PurpurWorldConfig {
|
||||
public boolean zombieJockeyOnlyBaby = true;
|
||||
public double zombieJockeyChance = 0.05D;
|
||||
public boolean zombieJockeyTryExistingChickens = true;
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Flying squids! Oh my!
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntitySquid.java b/src/main/java/net/minecraft/server/EntitySquid.java
|
||||
index 8c749c50bf..7526a18c53 100644
|
||||
index 70b952f10a..cee2265016 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntitySquid.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntitySquid.java
|
||||
@@ -51,6 +51,11 @@ public class EntitySquid extends EntityWaterAnimal {
|
||||
@@ -23,7 +23,7 @@ index 8c749c50bf..7526a18c53 100644
|
||||
@@ -116,6 +121,7 @@ public class EntitySquid extends EntityWaterAnimal {
|
||||
}
|
||||
|
||||
if (this.aG()) {
|
||||
if (this.aH()) {
|
||||
+ if (world.purpurConfig.squidsCanFly) setNoGravity(!inWater); // Purpur
|
||||
if (this.bp < 3.1415927F) {
|
||||
float f = this.bp / 3.1415927F;
|
||||
@@ -38,10 +38,10 @@ index 8c749c50bf..7526a18c53 100644
|
||||
float f1 = MathHelper.cos(f) * 0.2F;
|
||||
float f2 = -0.1F + this.b.getRandom().nextFloat() * 0.2F;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 3aa8f34ecc..4678b19e30 100644
|
||||
index c540e9b5af..d827a365a7 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -865,10 +865,12 @@ public class PurpurWorldConfig {
|
||||
@@ -864,10 +864,12 @@ public class PurpurWorldConfig {
|
||||
public boolean squidRidable = false;
|
||||
public boolean squidImmuneToEAR = true;
|
||||
public double squidOffsetWaterCheck = 0.0D;
|
||||
|
||||
@@ -26,7 +26,7 @@ index 3e57abd33e..08ba9e1c4e 100644
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderNormal.java b/src/main/java/net/minecraft/server/PathfinderNormal.java
|
||||
index 7341b5afd3..c708a15498 100644
|
||||
index 74e81e1e4a..76ff61e386 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderNormal.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderNormal.java
|
||||
@@ -467,7 +467,7 @@ public class PathfinderNormal extends PathfinderAbstract {
|
||||
@@ -39,10 +39,10 @@ index 7341b5afd3..c708a15498 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 31e803b268..fd07c9f213 100644
|
||||
index 400d793b15..8e97eb92dd 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -377,6 +377,11 @@ public class PurpurWorldConfig {
|
||||
@@ -376,6 +376,11 @@ public class PurpurWorldConfig {
|
||||
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,10 +18,10 @@ index 15af5927f3..c9c2e9774a 100644
|
||||
public PacketPlayOutUpdateTime() {}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 0fb41962c8..86b6442292 100644
|
||||
index 37423fd9c4..8f6f42ef52 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -90,6 +90,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -94,6 +94,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
private final EnderDragonBattle dragonBattle;
|
||||
private final StructureManager structureManager;
|
||||
private final boolean Q;
|
||||
@@ -29,7 +29,7 @@ index 0fb41962c8..86b6442292 100644
|
||||
|
||||
|
||||
// CraftBukkit start
|
||||
@@ -371,6 +372,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -375,6 +376,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
this.getServer().addWorld(this.getWorld()); // CraftBukkit
|
||||
|
||||
this.asyncChunkTaskManager = new com.destroystokyo.paper.io.chunk.ChunkTaskManager(this); // Paper
|
||||
@@ -37,7 +37,7 @@ index 0fb41962c8..86b6442292 100644
|
||||
}
|
||||
|
||||
// Tuinity start - optimise collision
|
||||
@@ -1008,7 +1010,21 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1012,7 +1014,21 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
this.nextTickListBlock.nextTick(); // Paper
|
||||
this.nextTickListFluid.nextTick(); // Paper
|
||||
this.worldDataServer.u().a(this.server, i);
|
||||
@@ -60,7 +60,7 @@ index 0fb41962c8..86b6442292 100644
|
||||
this.setDayTime(this.worldData.getDayTime() + 1L);
|
||||
}
|
||||
|
||||
@@ -1017,6 +1033,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1021,6 +1037,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
public void setDayTime(long i) {
|
||||
this.worldDataServer.setDayTime(i);
|
||||
@@ -74,7 +74,7 @@ index 0fb41962c8..86b6442292 100644
|
||||
|
||||
public void doMobSpawning(boolean flag, boolean flag1) {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index fd07c9f213..3f7c2d7e23 100644
|
||||
index 8e97eb92dd..013f1cfb48 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -116,6 +116,13 @@ public class PurpurWorldConfig {
|
||||
|
||||
Reference in New Issue
Block a user