1.14.4 - Updated Upstream (Paper)

Upstream has released updates that appears to apply and compile correctly

Paper Changes:
9fe63a16 Update to 1.14.4 (#2333)
This commit is contained in:
William Blake Galbreath
2019-07-19 23:59:11 -05:00
parent 6ea93ffa52
commit c3fd092026
27 changed files with 351 additions and 3377 deletions

2
Paper

Submodule Paper updated: a41d51f098...9fe63a1673

View File

@@ -1 +1 @@
1.14.3--39454a78e19cf565bb6a92416f8c7dfb615b2d9a
1.14.4--155e9010bcec0a9bca97b3b99c2c5ebc18afae2a

View File

@@ -1,17 +1,17 @@
From e34025c2fa5e91b19fc492dc9f45d5a5367f5ef0 Mon Sep 17 00:00:00 2001
From f3232cf620b40914ee46f9cecb0b550e1902e68e Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 4 May 2019 00:57:16 -0500
Subject: [PATCH] Rebrand
---
pom.xml | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
pom.xml | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/pom.xml b/pom.xml
index df8fc5173..aa94a7c76 100644
index 5088c3315..18e4505d1 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,19 +3,17 @@
@@ -3,18 +3,17 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
@@ -25,8 +25,7 @@ index df8fc5173..aa94a7c76 100644
- <groupId>com.destroystokyo.paper</groupId>
- <artifactId>paper-api</artifactId>
+ <artifactId>purpur-api</artifactId>
<version>1.14.3-R0.1-SNAPSHOT</version>
-
<version>1.14.4-R0.1-SNAPSHOT</version>
<packaging>jar</packaging>
- <name>Paper-API</name>
@@ -36,7 +35,7 @@ index df8fc5173..aa94a7c76 100644
<description>An enhanced plugin API for Minecraft servers.</description>
<properties>
@@ -150,7 +148,7 @@
@@ -149,7 +148,7 @@
</dependencies>
<build>

View File

@@ -1,4 +1,4 @@
From 01ae82c2f8410ff1b97b9a486633992e3b006802 Mon Sep 17 00:00:00 2001
From ba1a44094f171832f513edd41f68607f40f97a41 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 4 May 2019 01:02:11 -0500
Subject: [PATCH] Rebrand
@@ -15,7 +15,7 @@ Subject: [PATCH] Rebrand
create mode 100644 src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java
diff --git a/pom.xml b/pom.xml
index 1f3571dd0..6dab6763d 100644
index 0130272236..d1d3973928 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,11 +1,11 @@
@@ -25,7 +25,7 @@ index 1f3571dd0..6dab6763d 100644
- <artifactId>paper</artifactId>
+ <artifactId>purpur</artifactId>
<packaging>jar</packaging>
<version>1.14.3-R0.1-SNAPSHOT</version>
<version>1.14.4-R0.1-SNAPSHOT</version>
- <name>Paper</name>
- <url>https://papermc.io</url>
+ <name>Purpur</name>
@@ -73,7 +73,7 @@ index 1f3571dd0..6dab6763d 100644
</configuration>
<executions>
diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
index cd6e25923..bb227bc0f 100644
index cd6e259239..bb227bc0fb 100644
--- a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
+++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
@@ -17,7 +17,7 @@ public final class PaperConsole extends SimpleTerminalConsole {
@@ -86,10 +86,10 @@ index cd6e25923..bb227bc0f 100644
);
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 2b99fdc63..5ec9a980c 100644
index eb1006dda7..8d3361e8c7 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1423,7 +1423,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -1435,7 +1435,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
public String getServerModName() {
@@ -100,7 +100,7 @@ index 2b99fdc63..5ec9a980c 100644
public CrashReport b(CrashReport crashreport) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java b/src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java
new file mode 100644
index 000000000..d8b408f06
index 0000000000..d8b408f061
--- /dev/null
+++ b/src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java
@@ -0,0 +1,115 @@
@@ -220,7 +220,7 @@ index 000000000..d8b408f06
+ }
+}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 3107f1beb..bb5aa677c 100644
index c60e90d496..b990bf12f5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -200,7 +200,7 @@ import javax.annotation.Nullable; // Paper
@@ -233,7 +233,7 @@ index 3107f1beb..bb5aa677c 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 1b8d94d29..4855c2224 100644
index 921c16dffc..d1bb865f59 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -296,7 +296,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -246,7 +246,7 @@ index 1b8d94d29..4855c2224 100644
// Paper end
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
index 674096cab..e9aee2d8a 100644
index 674096cab1..e9aee2d8a9 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
@@ -11,7 +11,7 @@ public final class Versioning {

View File

@@ -1,4 +1,4 @@
From 75fe428f000ffd41067998de596f76d9c5688285 Mon Sep 17 00:00:00 2001
From 28e6cd80aab548a6cbb18a9a3e548b1aea593ab0 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 4 May 2019 01:10:30 -0500
Subject: [PATCH] cows to mooshroom when fed mushrooms
@@ -11,7 +11,7 @@ Subject: [PATCH] cows to mooshroom when fed mushrooms
4 files changed, 85 insertions(+), 3 deletions(-)
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index 9485bc4810..58ccb3fc47 100644
index e8def7f812..40ab9daade 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1049,6 +1049,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -21,7 +21,7 @@ index 9485bc4810..58ccb3fc47 100644
+ public void playSound(SoundEffect soundeffect, float volume, float pitch) { a(soundeffect, volume, pitch); } // Paper - OBFHELPER
public void a(SoundEffect soundeffect, float f, float f1) {
if (!this.isSilent()) {
this.world.a((EntityHuman) null, this.locX, this.locY, this.locZ, soundeffect, this.getSoundCategory(), f, f1);
this.world.playSound((EntityHuman) null, this.locX, this.locY, this.locZ, soundeffect, this.getSoundCategory(), f, f1);
@@ -2546,6 +2547,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
this.invulnerable = flag;
}
@@ -125,7 +125,7 @@ index d2c2e3cc33..c3aef0b2a1 100644
public EntityCow createChild(EntityAgeable entityageable) {
return (EntityCow) EntityTypes.COW.a(this.world);
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index d44ea9ec5d..84bc1a6290 100644
index 87056e17ca..168b5aa2d1 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2742,8 +2742,14 @@ public abstract class EntityLiving extends Entity {

View File

@@ -1,4 +1,4 @@
From c104ebc514f96b6289079924d701f44951f29305 Mon Sep 17 00:00:00 2001
From 18594b78ebeec10cb1e526a1a7d61fe03688209a Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 3 May 2019 23:39:38 -0500
Subject: [PATCH] PlayerFeedAnimalEvent
@@ -8,7 +8,7 @@ Subject: [PATCH] PlayerFeedAnimalEvent
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/EntityAnimal.java b/src/main/java/net/minecraft/server/EntityAnimal.java
index eab32ec041..38920dab9e 100644
index 3e627ea08b..7b3d4fbd95 100644
--- a/src/main/java/net/minecraft/server/EntityAnimal.java
+++ b/src/main/java/net/minecraft/server/EntityAnimal.java
@@ -103,6 +103,7 @@ public abstract class EntityAnimal extends EntityAgeable {
@@ -25,7 +25,7 @@ index eab32ec041..38920dab9e 100644
- if (this.i(itemstack)) {
+ if (this.i(itemstack) && new net.pl3x.purpur.event.PlayerFeedAnimalEvent((org.bukkit.entity.Animals) getBukkitEntity(), (org.bukkit.entity.Player) entityhuman.getBukkitEntity(), itemstack.asBukkitCopy()).callEvent()) { // Purpur
if (this.getAge() == 0 && this.eb()) {
if (this.getAge() == 0 && this.ea()) {
this.a(entityhuman, itemstack);
this.f(entityhuman);
--

View File

@@ -1,4 +1,4 @@
From d5b26b7987432b2a6fb3bc0d022061b9e378f796 Mon Sep 17 00:00:00 2001
From 4ead5bd8ca1fa435143de732cb296d61ddad78a9 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 9 May 2019 14:27:37 -0500
Subject: [PATCH] Silk touch spawners
@@ -13,7 +13,7 @@ Subject: [PATCH] Silk touch spawners
create mode 100644 src/main/java/net/minecraft/server/ItemSpawner.java
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
index 5d8db912a..8e16162a7 100644
index 79ed7a7b44..7949171eb2 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -493,6 +493,7 @@ public class Block implements IMaterial {
@@ -25,7 +25,7 @@ index 5d8db912a..8e16162a7 100644
if (!world.isClientSide && !itemstack.isEmpty() && world.getGameRules().getBoolean(GameRules.DO_TILE_DROPS)) {
float f = 0.5F;
diff --git a/src/main/java/net/minecraft/server/BlockMobSpawner.java b/src/main/java/net/minecraft/server/BlockMobSpawner.java
index bb77d916a..974a5d281 100644
index bb77d916ab..974a5d2816 100644
--- a/src/main/java/net/minecraft/server/BlockMobSpawner.java
+++ b/src/main/java/net/minecraft/server/BlockMobSpawner.java
@@ -11,6 +11,40 @@ public class BlockMobSpawner extends BlockTileEntity {
@@ -78,10 +78,10 @@ index bb77d916a..974a5d281 100644
return i;
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
index eaacc9bff..c32f40a60 100644
index a7fc34f850..e4fdf01dc7 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -137,10 +137,17 @@ public class EntityTypes<T extends Entity> {
@@ -135,10 +135,17 @@ public class EntityTypes<T extends Entity> {
return (EntityTypes) IRegistry.a((IRegistry) IRegistry.ENTITY_TYPE, s, (Object) entitytypes_a.a(s));
}
@@ -99,7 +99,7 @@ index eaacc9bff..c32f40a60 100644
public static Optional<EntityTypes<?>> a(String s) {
return IRegistry.ENTITY_TYPE.getOptional(MinecraftKey.a(s));
}
@@ -255,6 +262,12 @@ public class EntityTypes<T extends Entity> {
@@ -257,6 +264,12 @@ public class EntityTypes<T extends Entity> {
return this.ba;
}
@@ -109,20 +109,20 @@ index eaacc9bff..c32f40a60 100644
+ }
+ // Purpur end
+
public String e() {
if (this.be == null) {
this.be = SystemUtils.a("entity", IRegistry.ENTITY_TYPE.getKey(this));
@@ -263,6 +276,7 @@ public class EntityTypes<T extends Entity> {
return this.be;
public String f() {
if (this.bf == null) {
this.bf = SystemUtils.a("entity", IRegistry.ENTITY_TYPE.getKey(this));
@@ -265,6 +278,7 @@ public class EntityTypes<T extends Entity> {
return this.bf;
}
+ public IChatBaseComponent getNameComponent() { return f(); } // Purpur - OBFHELPER
public IChatBaseComponent f() {
if (this.bf == null) {
this.bf = new ChatMessage(this.e(), new Object[0]);
+ public IChatBaseComponent getNameComponent() { return g(); } // Purpur - OBFHELPER
public IChatBaseComponent g() {
if (this.bg == null) {
this.bg = new ChatMessage(this.f(), new Object[0]);
diff --git a/src/main/java/net/minecraft/server/ItemSpawner.java b/src/main/java/net/minecraft/server/ItemSpawner.java
new file mode 100644
index 000000000..7dc68ffe9
index 0000000000..7dc68ffe92
--- /dev/null
+++ b/src/main/java/net/minecraft/server/ItemSpawner.java
@@ -0,0 +1,23 @@
@@ -150,7 +150,7 @@ index 000000000..7dc68ffe9
+ }
+}
diff --git a/src/main/java/net/minecraft/server/Items.java b/src/main/java/net/minecraft/server/Items.java
index 84646dbc2..987297634 100644
index 84646dbc26..987297634c 100644
--- a/src/main/java/net/minecraft/server/Items.java
+++ b/src/main/java/net/minecraft/server/Items.java
@@ -155,7 +155,7 @@ public class Items {

View File

@@ -1,4 +1,4 @@
From 0c3db9d4235a0c274c801aa229b9753e09203337 Mon Sep 17 00:00:00 2001
From 2e8872045aafef81931f68bbd35d4e1821a118fa Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 9 May 2019 18:26:06 -0500
Subject: [PATCH] Phantoms attracted to crystals and crystals shoot phantoms
@@ -24,7 +24,7 @@ index 730a15f332..31454349a2 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 58ccb3fc47..2646e156b0 100644
index 40ab9daade..dd787b7b65 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -1400,6 +1400,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -33,7 +33,7 @@ index 58ccb3fc47..2646e156b0 100644
+ public double getDistanceSq(Entity entity) { return this.h(entity); } // Purpur - OBFHELPER
public double h(Entity entity) {
return this.c(entity.ci());
return this.c(entity.getPositionVector());
}
@@ -1919,14 +1920,13 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
return this.a(new ItemStack(imaterial), (float) i);
@@ -122,7 +122,7 @@ index 801552fc61..ad88cc9822 100644
@Override
protected void b(NBTTagCompound nbttagcompound) {
diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java
index b672ac5c2a..e75914c2b1 100644
index e5d032d02b..9b62d2ce38 100644
--- a/src/main/java/net/minecraft/server/EntityPhantom.java
+++ b/src/main/java/net/minecraft/server/EntityPhantom.java
@@ -8,9 +8,10 @@ import javax.annotation.Nullable;
@@ -351,10 +351,10 @@ index b672ac5c2a..e75914c2b1 100644
@Override
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
index 3a86c519c0..9a0521f2a5 100644
index dca18afdbb..9aaa75e959 100644
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
@@ -30,6 +30,7 @@ public interface IEntityAccess {
@@ -34,6 +34,7 @@ public interface IEntityAccess {
});
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
From 81f64701611873719511ea2e2254cad9000789a7 Mon Sep 17 00:00:00 2001
From 20da8ee08299ed28fea37dbff0fa8dafb2e59485 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 11 May 2019 01:31:50 -0500
Subject: [PATCH] Villager shops
@@ -13,10 +13,10 @@ Subject: [PATCH] Villager shops
create mode 100644 src/main/java/net/minecraft/server/EntityVillagerShop.java
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
index 4aac81d3a5..1c110c15ae 100644
index 84aa1db728..d92fbea4c7 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -118,6 +118,7 @@ public class EntityTypes<T extends Entity> {
@@ -117,6 +117,7 @@ public class EntityTypes<T extends Entity> {
public static final EntityTypes<EntityLightning> LIGHTNING_BOLT = a("lightning_bolt", EntityTypes.a.a(EnumCreatureType.MISC).b().a(0.0F, 0.0F));
public static final EntityTypes<EntityHuman> PLAYER = a("player", EntityTypes.a.a(EnumCreatureType.MISC).b().a().a(0.6F, 1.8F));
public static final EntityTypes<EntityFishingHook> FISHING_BOBBER = a("fishing_bobber", EntityTypes.a.a(EnumCreatureType.MISC).b().a().a(0.25F, 0.25F));
@@ -24,12 +24,12 @@ index 4aac81d3a5..1c110c15ae 100644
private final EntityTypes.b<T> aZ;
private final EnumCreatureType ba;
private final boolean bb;
@@ -138,6 +139,12 @@ public class EntityTypes<T extends Entity> {
@@ -136,6 +137,12 @@ public class EntityTypes<T extends Entity> {
}
// Purpur start
+ private static <T extends Entity> EntityTypes<T> register(String name, String extendFrom, EntityTypes.a entitytypes_a) {
+ Map<Object, Type<?>> dataTypes = (Map<Object, Type<?>>) DataConverterRegistry.a().getSchema(DataFixUtils.makeKey(SharedConstants.a().getWorldVersion())).findChoiceType(DataConverterTypes.o).types(); // entity_tree
+ Map<Object, com.mojang.datafixers.types.Type<?>> dataTypes = (Map<Object, com.mojang.datafixers.types.Type<?>>) DataConverterRegistry.a().getSchema(DataFixUtils.makeKey(SharedConstants.a().getWorldVersion())).findChoiceType(DataConverterTypes.o).types(); // entity_tree
+ dataTypes.put("minecraft:" + name, dataTypes.get("minecraft:" + extendFrom));
+ return a(name, entitytypes_a);
+ }
@@ -38,20 +38,20 @@ index 4aac81d3a5..1c110c15ae 100644
return IRegistry.ENTITY_TYPE.get(key);
}
diff --git a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
index d1a88960bd..fee6875274 100644
index f161ccb979..497dec811c 100644
--- a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
+++ b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
@@ -68,6 +68,7 @@ public abstract class EntityVillagerAbstract extends EntityAgeable implements NP
return this.tradingPlayer;
}
+ public boolean hasTrader() { return dZ(); } // Purpur - OBFHELPER
public boolean dZ() {
+ public boolean hasTrader() { return dY(); } // Purpur - OBFHELPER
public boolean dY() {
return this.tradingPlayer != null;
}
diff --git a/src/main/java/net/minecraft/server/EntityVillagerShop.java b/src/main/java/net/minecraft/server/EntityVillagerShop.java
new file mode 100644
index 0000000000..0cb1b117fa
index 0000000000..cdb7655c3f
--- /dev/null
+++ b/src/main/java/net/minecraft/server/EntityVillagerShop.java
@@ -0,0 +1,227 @@
@@ -137,12 +137,12 @@ index 0000000000..0cb1b117fa
+ }
+
+ @Override
+ public int dW() { // getExp
+ public int getExperience() { // getExp
+ return 0;
+ }
+
+ @Override
+ public boolean eb() { // showProfessionProgressBar
+ public boolean ea() { // showProfessionProgressBar
+ return false;
+ }
+
@@ -188,7 +188,7 @@ index 0000000000..0cb1b117fa
+ }
+
+ @Override
+ protected void ei() { // setupTradeOffers
+ protected void eh() { // setupTradeOffers
+ // do not do anything
+ }
+
@@ -283,18 +283,18 @@ index 0000000000..0cb1b117fa
+ }
+}
diff --git a/src/main/java/net/minecraft/server/NavigationAbstract.java b/src/main/java/net/minecraft/server/NavigationAbstract.java
index d8da790aec..b044c82b14 100644
index 66e10108d6..278f36106d 100644
--- a/src/main/java/net/minecraft/server/NavigationAbstract.java
+++ b/src/main/java/net/minecraft/server/NavigationAbstract.java
@@ -123,6 +123,7 @@ public abstract class NavigationAbstract {
@@ -146,6 +146,7 @@ public abstract class NavigationAbstract {
}
}
+ public boolean setDestination(double x, double y, double z, double speed) { return a(x, y, z, speed); } // Purpur - OBFHELPER
public boolean a(double d0, double d1, double d2, double d3) {
return this.a(this.a(d0, d1, d2), d3);
return this.a(this.a(d0, d1, d2, 1), d3);
}
@@ -239,6 +240,7 @@ public abstract class NavigationAbstract {
@@ -262,6 +263,7 @@ public abstract class NavigationAbstract {
}

View File

@@ -1,4 +1,4 @@
From e769430304cb6645c09200ebfa17f11c8e94d0e7 Mon Sep 17 00:00:00 2001
From 2dfe23044500d0bb7ef3f2635b1826d763c61330 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 12 May 2019 00:43:12 -0500
Subject: [PATCH] Make giants naturally spawn and have AI
@@ -11,10 +11,10 @@ Subject: [PATCH] Make giants naturally spawn and have AI
4 files changed, 61 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/BiomeBase.java b/src/main/java/net/minecraft/server/BiomeBase.java
index 72eb669c5..f1500f7a0 100644
index a86ece8344..fbbb3b7c51 100644
--- a/src/main/java/net/minecraft/server/BiomeBase.java
+++ b/src/main/java/net/minecraft/server/BiomeBase.java
@@ -97,6 +97,7 @@ public abstract class BiomeBase {
@@ -108,6 +108,7 @@ public abstract class BiomeBase {
return this.m != null;
}
@@ -23,7 +23,7 @@ index 72eb669c5..f1500f7a0 100644
((List) this.u.get(enumcreaturetype)).add(biomebase_biomemeta);
}
diff --git a/src/main/java/net/minecraft/server/Biomes.java b/src/main/java/net/minecraft/server/Biomes.java
index f4698a680..3f7f7a2de 100644
index f4698a6809..3f7f7a2de8 100644
--- a/src/main/java/net/minecraft/server/Biomes.java
+++ b/src/main/java/net/minecraft/server/Biomes.java
@@ -92,5 +92,30 @@ public abstract class Biomes {
@@ -58,7 +58,7 @@ index f4698a680..3f7f7a2de 100644
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java
index b7e2022b1..e69e7a456 100644
index 29e7639ad6..e69e7a456d 100644
--- a/src/main/java/net/minecraft/server/EntityGiantZombie.java
+++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java
@@ -21,11 +21,37 @@ public class EntityGiantZombie extends EntityMonster {
@@ -97,12 +97,12 @@ index b7e2022b1..e69e7a456 100644
+
@Override
public float a(BlockPosition blockposition, IWorldReader iworldreader) {
- return iworldreader.w(blockposition) - 0.5F;
- return iworldreader.v(blockposition) - 0.5F;
+ return super.a(blockposition, iworldreader); // Purpur - fix light requirements for natural spawns
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 8bf8384a2..bb91a4a67 100644
index 8bf8384a2a..bb91a4a67c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -141,6 +141,13 @@ public class PurpurConfig {

View File

@@ -1,4 +1,4 @@
From cc91c03268f5753eb1f251dffedb615b4c019240 Mon Sep 17 00:00:00 2001
From 4c9be6333a4625551d09e1575142108ecf630815 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Wed, 22 May 2019 22:30:08 -0500
Subject: [PATCH] Tick loop config options
@@ -9,10 +9,10 @@ Subject: [PATCH] Tick loop config options
2 files changed, 28 insertions(+), 10 deletions(-)
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 5ec9a980c..0324a90ca 100644
index 8d3361e8c7..a45db15075 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -868,16 +868,21 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -880,16 +880,21 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
long start = System.nanoTime(), curTime, tickSection = start; // Paper - Further improve server tick loop
lastTick = start - TICK_TIME; // Paper
while (this.isRunning) {
@@ -43,23 +43,23 @@ index 5ec9a980c..0324a90ca 100644
if ( ++MinecraftServer.currentTick % SAMPLE_INTERVAL == 0 )
{
@@ -908,7 +913,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
@@ -920,7 +925,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.a(this::canSleepForTick);
this.methodProfiler.exitEnter("nextTickWait");
this.ab = true;
- this.aa = Math.max(SystemUtils.getMonotonicMillis() + 50L, this.nextTick);
this.ac = true;
- this.ab = Math.max(SystemUtils.getMonotonicMillis() + 50L, this.nextTick);
+ // Purpur start - tps catchup
+ if (net.pl3x.purpur.PurpurConfig.enableTPSCatchup) {
+ this.aa = Math.max(SystemUtils.getMonotonicMillis() + 50L, this.nextTick);
+ this.ab = Math.max(SystemUtils.getMonotonicMillis() + 50L, this.nextTick);
+ } else {
+ this.aa = this.nextTick = curTime / 1000000L + 50L;
+ this.ab = this.nextTick = curTime / 1000000L + 50L;
+ }
+ // Purpur end - tps catchup
this.sleepForTick();
this.methodProfiler.exit();
this.methodProfiler.b();
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index bb91a4a67..cbb163c0d 100644
index bb91a4a67c..cbb163c0dc 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -131,6 +131,13 @@ public class PurpurConfig {

View File

@@ -1,4 +1,4 @@
From 5f33b2313df6d8637756b6e5503dcdbf36bb3e82 Mon Sep 17 00:00:00 2001
From 3db95c119f25660486d19e952c5404130ffa6d2c Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Wed, 29 May 2019 23:39:04 -0500
Subject: [PATCH] Add village raid spawn reason
@@ -8,10 +8,10 @@ Subject: [PATCH] Add village raid spawn reason
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/Raid.java b/src/main/java/net/minecraft/server/Raid.java
index 58c33f1000..0a796a8264 100644
index f7c10f0ac1..03be050640 100644
--- a/src/main/java/net/minecraft/server/Raid.java
+++ b/src/main/java/net/minecraft/server/Raid.java
@@ -524,7 +524,7 @@ public class Raid {
@@ -513,7 +513,7 @@ public class Raid {
entityraider.prepare(this.k, this.k.getDamageScaler(blockposition), EnumMobSpawn.EVENT, (GroupDataEntity) null, (NBTTagCompound) null);
entityraider.a(i, false);
entityraider.onGround = true;

View File

@@ -1,4 +1,4 @@
From a983b87623aad0c3acfad70d1257f66677c7de4a Mon Sep 17 00:00:00 2001
From c712eb4900aab7f3c00cacee7465b1d442fa2298 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Tue, 4 Jun 2019 15:50:08 -0500
Subject: [PATCH] Fix 'outdated server' showing in ping before server fully
@@ -9,10 +9,10 @@ Subject: [PATCH] Fix 'outdated server' showing in ping before server fully
1 file changed, 1 insertion(+)
diff --git a/src/main/java/net/minecraft/server/PacketStatusListener.java b/src/main/java/net/minecraft/server/PacketStatusListener.java
index ba1c76c1a..544939feb 100644
index 295c9ac22d..981ded17ab 100644
--- a/src/main/java/net/minecraft/server/PacketStatusListener.java
+++ b/src/main/java/net/minecraft/server/PacketStatusListener.java
@@ -130,6 +130,7 @@ public class PacketStatusListener implements PacketStatusInListener {
@@ -135,6 +135,7 @@ public class PacketStatusListener implements PacketStatusInListener {
this.networkManager.sendPacket(new PacketStatusOutServerInfo(ping));
*/

View File

@@ -1,4 +1,4 @@
From b252252f673aa20d595976740254bf3a61637ca4 Mon Sep 17 00:00:00 2001
From 6c03cb2ef1dd9c01fbb09054a894fc1dffc9fd47 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 6 Jun 2019 17:40:30 -0500
Subject: [PATCH] Allow color codes on signs
@@ -11,10 +11,10 @@ Subject: [PATCH] Allow color codes on signs
4 files changed, 21 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 633fe836dd..160c03efd8 100644
index 89a4f435b7..20326f1907 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1114,6 +1114,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -1115,6 +1115,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@Override
public void openSign(TileEntitySign tileentitysign) {
tileentitysign.a((EntityHuman) this);
@@ -23,10 +23,10 @@ index 633fe836dd..160c03efd8 100644
}
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
index c900e32cd4..f55e19c9b0 100644
index 9cf6cc53f4..3869cdeeb6 100644
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
@@ -2598,6 +2598,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
@@ -2561,6 +2561,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
}
}
// Paper end
@@ -35,7 +35,7 @@ index c900e32cd4..f55e19c9b0 100644
}
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 7e5d815938..f5e3b0b30d 100644
index 0a8d9b52dd..65771ed9e1 100644
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
@@ -122,6 +122,20 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //

View File

@@ -1,4 +1,4 @@
From bac1c8ce3da3e46925a266eca6be5b9c9c7e8b66 Mon Sep 17 00:00:00 2001
From dd63902c60c2ddef3553d15f59fce819d9d902ca Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 6 Jun 2019 23:23:52 -0500
Subject: [PATCH] Block and Fluid Tick Events
@@ -10,10 +10,10 @@ Subject: [PATCH] Block and Fluid Tick Events
3 files changed, 29 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 959fc99bb8..95d5cd1c66 100644
index 607e37cb91..5f82145723 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -447,13 +447,13 @@ public class WorldServer extends World {
@@ -445,13 +445,13 @@ public class WorldServer extends World {
gameprofilerfiller.enter("randomTick");
IBlockData iblockdata = chunksection.getType(blockposition2.getX() - j, blockposition2.getY() - j1, blockposition2.getZ() - k);
@@ -22,14 +22,14 @@ index 959fc99bb8..95d5cd1c66 100644
iblockdata.b((World) this, blockposition2, this.random);
}
Fluid fluid = chunksection.b(blockposition2.getX() - j, blockposition2.getY() - j1, blockposition2.getZ() - k);
Fluid fluid = iblockdata.p();
- if (fluid.h()) {
+ if (fluid.h() && (!purpurConfig.fluidTickEvent || new net.pl3x.purpur.event.block.FluidTickEvent(getWorld(), blockposition2.x, blockposition2.y, blockposition2.z, true).callEvent())) { // Purpur
fluid.b(this, blockposition2, this.random);
}
@@ -542,6 +542,7 @@ public class WorldServer extends World {
@@ -540,6 +540,7 @@ public class WorldServer extends World {
Fluid fluid = this.getFluid(nextticklistentry.a);
if (fluid.getType() == nextticklistentry.b()) {
@@ -37,7 +37,7 @@ index 959fc99bb8..95d5cd1c66 100644
fluid.a((World) this, nextticklistentry.a);
}
@@ -551,6 +552,7 @@ public class WorldServer extends World {
@@ -549,6 +550,7 @@ public class WorldServer extends World {
IBlockData iblockdata = this.getType(nextticklistentry.a);
if (iblockdata.getBlock() == nextticklistentry.b()) {
@@ -62,7 +62,7 @@ index 9dfba251ea..775d40ab1b 100644
+ }
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index f01e8a87e8..c5321c5076 100644
index d06716c006..48f3a784a8 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2336,6 +2336,24 @@ public class CraftWorld implements World {

View File

@@ -1,4 +1,4 @@
From 1d912562ca7ded8150831918d533b2b0d83878cd Mon Sep 17 00:00:00 2001
From 38b13b7a3ab0c969150fce2169cb40b9a8255fc1 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 20 Jun 2019 18:48:58 -0500
Subject: [PATCH] Phantoms spawn naturally in the end
@@ -11,7 +11,7 @@ Subject: [PATCH] Phantoms spawn naturally in the end
4 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/BiomeTheEndHighIsland.java b/src/main/java/net/minecraft/server/BiomeTheEndHighIsland.java
index 6592d1529..67cb1520b 100644
index e8cf6153ec..b2a8fe3020 100644
--- a/src/main/java/net/minecraft/server/BiomeTheEndHighIsland.java
+++ b/src/main/java/net/minecraft/server/BiomeTheEndHighIsland.java
@@ -4,10 +4,11 @@ public class BiomeTheEndHighIsland extends BiomeBase {
@@ -21,14 +21,14 @@ index 6592d1529..67cb1520b 100644
- this.a(WorldGenerator.END_CITY, (WorldGenFeatureConfiguration) WorldGenFeatureConfiguration.e);
+ this.a(WorldGenerator.END_CITY, WorldGenFeatureConfiguration.e); // Purpur - decompile error
this.a(WorldGenStage.Decoration.SURFACE_STRUCTURES, a(WorldGenerator.END_GATEWAY, WorldGenEndGatewayConfiguration.a(WorldProviderTheEnd.f, true), WorldGenDecorator.L, WorldGenFeatureDecoratorConfiguration.e));
this.a(WorldGenStage.Decoration.SURFACE_STRUCTURES, a(WorldGenerator.END_CITY, WorldGenFeatureConfiguration.e, WorldGenDecorator.h, WorldGenFeatureDecoratorConfiguration.e));
BiomeDecoratorGroups.aq(this);
this.a(WorldGenStage.Decoration.VEGETAL_DECORATION, a(WorldGenerator.CHORUS_PLANT, WorldGenFeatureConfiguration.e, WorldGenDecorator.K, WorldGenFeatureDecoratorConfiguration.e));
this.a(EnumCreatureType.MONSTER, new BiomeBase.BiomeMeta(EntityTypes.ENDERMAN, 10, 4, 4));
+ if (net.pl3x.purpur.PurpurConfig.spawnPhantomsInTheEnd) this.a(EnumCreatureType.MONSTER, new BiomeBase.BiomeMeta(EntityTypes.PHANTOM, 5, 1, 4)); // Purpur
}
}
diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java
index 008f5c6fa..149c64b44 100644
index 7496be10a2..836f18a7de 100644
--- a/src/main/java/net/minecraft/server/EntityPhantom.java
+++ b/src/main/java/net/minecraft/server/EntityPhantom.java
@@ -25,6 +25,12 @@ public class EntityPhantom extends EntityFlying implements IMonster {
@@ -54,24 +54,24 @@ index 008f5c6fa..149c64b44 100644
this.die();
}
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index b442e09eb..3e16cb2bc 100644
index 5e6559df0b..490445cefa 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -75,6 +75,12 @@ public final class SpawnerCreature {
if (biomebase_biomemeta.b.d() != EnumCreatureType.MISC) {
EntityTypes<?> entitytypes = biomebase_biomemeta.b;
@@ -78,6 +78,12 @@ public final class SpawnerCreature {
if (biomebase_biomemeta.b.e() != EnumCreatureType.MISC && (biomebase_biomemeta.b.d() || d0 <= 16384.0D)) {
EntityTypes<?> entitytypes = biomebase_biomemeta.b;
+ // Purpur start
+ if (net.pl3x.purpur.PurpurConfig.spawnPhantomsInTheEnd && entitytypes == EntityTypes.PHANTOM) {
+ blockposition_mutableblockposition.y = 70 + world.random.nextInt(20);
+ }
+ // Purpur end
+ // Purpur start
+ if (net.pl3x.purpur.PurpurConfig.spawnPhantomsInTheEnd && entitytypes == EntityTypes.PHANTOM) {
+ blockposition_mutableblockposition.y = 70 + world.random.nextInt(20);
+ }
+ // Purpur end
+
if (entitytypes.b() && a(chunkgenerator, enumcreaturetype, biomebase_biomemeta, (BlockPosition) blockposition_mutableblockposition)) {
EntityPositionTypes.Surface entitypositiontypes_surface = EntityPositionTypes.a(entitytypes);
if (entitytypes.b() && a(chunkgenerator, enumcreaturetype, biomebase_biomemeta, (BlockPosition) blockposition_mutableblockposition)) {
EntityPositionTypes.Surface entitypositiontypes_surface = EntityPositionTypes.a(entitytypes);
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index ad373d20c..233805175 100644
index ad373d20c1..233805175f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -160,6 +160,11 @@ public class PurpurConfig {

View File

@@ -1,4 +1,4 @@
From 35d4853a95a87c5d392d83263ce924fb23a379d6 Mon Sep 17 00:00:00 2001
From eaa1d5bc0f2882e7823ea62033914a9fc94d98cd Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 22 Jun 2019 16:17:05 -0500
Subject: [PATCH] Fix errors trying to spawn negative number of a mob
@@ -8,21 +8,21 @@ Subject: [PATCH] Fix errors trying to spawn negative number of a mob
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index 3e16cb2bc7..af397dd1f7 100644
index 490445cefa..925efd4a15 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -69,7 +69,10 @@ public final class SpawnerCreature {
break label97;
@@ -72,7 +72,10 @@ public final class SpawnerCreature {
break label104;
}
- l1 = biomebase_biomemeta.c + world.random.nextInt(1 + biomebase_biomemeta.d - biomebase_biomemeta.c);
+ // Purpur start
+ int amount = 1 + biomebase_biomemeta.d - biomebase_biomemeta.c;
+ l1 = biomebase_biomemeta.c + world.random.nextInt(amount > 0 ? amount : 1);
+ // Purpur end
}
- l1 = biomebase_biomemeta.c + world.random.nextInt(1 + biomebase_biomemeta.d - biomebase_biomemeta.c);
+ // Purpur start
+ int amount = 1 + biomebase_biomemeta.d - biomebase_biomemeta.c;
+ l1 = biomebase_biomemeta.c + world.random.nextInt(amount > 0 ? amount : 1);
+ // Purpur end
}
if (biomebase_biomemeta.b.d() != EnumCreatureType.MISC) {
if (biomebase_biomemeta.b.e() != EnumCreatureType.MISC && (biomebase_biomemeta.b.d() || d0 <= 16384.0D)) {
--
2.20.1

View File

@@ -1,4 +1,4 @@
From c498eddc250e4869089c112032e7dc647f3178e6 Mon Sep 17 00:00:00 2001
From 78d88ca55294ef74d648f668570654a8ddc22aba Mon Sep 17 00:00:00 2001
From: Phoenix616 <mail@moep.tv>
Date: Thu, 16 May 2019 01:33:46 +0100
Subject: [PATCH] Fix MC-113809 Only grow cactus/reeds/bamboo/chorus fruit on
@@ -14,7 +14,7 @@ Subject: [PATCH] Fix MC-113809 Only grow cactus/reeds/bamboo/chorus fruit on
6 files changed, 7 insertions(+)
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
index 8e16162a7..9b17269e6 100644
index 0257aca803..2390788b61 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -31,6 +31,7 @@ public class Block implements IMaterial {
@@ -26,10 +26,10 @@ index 8e16162a7..9b17269e6 100644
public co.aikar.timings.Timing timing;
public co.aikar.timings.Timing getTiming() {
diff --git a/src/main/java/net/minecraft/server/BlockBamboo.java b/src/main/java/net/minecraft/server/BlockBamboo.java
index 92f00c8c5..739935383 100644
index ffb65776c5..d94368b030 100644
--- a/src/main/java/net/minecraft/server/BlockBamboo.java
+++ b/src/main/java/net/minecraft/server/BlockBamboo.java
@@ -80,6 +80,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
@@ -85,6 +85,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
if (!iblockdata.canPlace(world, blockposition)) {
world.b(blockposition, true);
} else if ((Integer) iblockdata.get(BlockBamboo.f) == 0) {
@@ -38,7 +38,7 @@ index 92f00c8c5..739935383 100644
int i = this.b((IBlockAccess) world, blockposition) + 1;
diff --git a/src/main/java/net/minecraft/server/BlockCactus.java b/src/main/java/net/minecraft/server/BlockCactus.java
index 29f9ff6c1..375ada5a4 100644
index 29f9ff6c18..375ada5a4b 100644
--- a/src/main/java/net/minecraft/server/BlockCactus.java
+++ b/src/main/java/net/minecraft/server/BlockCactus.java
@@ -21,6 +21,7 @@ public class BlockCactus extends Block {
@@ -50,7 +50,7 @@ index 29f9ff6c1..375ada5a4 100644
if (world.isEmpty(blockposition1)) {
diff --git a/src/main/java/net/minecraft/server/BlockChorusFlower.java b/src/main/java/net/minecraft/server/BlockChorusFlower.java
index 74fa4889f..bbda083f6 100644
index 74fa4889ff..bbda083f67 100644
--- a/src/main/java/net/minecraft/server/BlockChorusFlower.java
+++ b/src/main/java/net/minecraft/server/BlockChorusFlower.java
@@ -22,6 +22,7 @@ public class BlockChorusFlower extends Block {
@@ -62,7 +62,7 @@ index 74fa4889f..bbda083f6 100644
if (world.isEmpty(blockposition1) && blockposition1.getY() < 256) {
diff --git a/src/main/java/net/minecraft/server/BlockReed.java b/src/main/java/net/minecraft/server/BlockReed.java
index ff674a9d5..4a13e248e 100644
index ff674a9d5b..4a13e248ed 100644
--- a/src/main/java/net/minecraft/server/BlockReed.java
+++ b/src/main/java/net/minecraft/server/BlockReed.java
@@ -23,6 +23,7 @@ public class BlockReed extends Block {
@@ -74,10 +74,10 @@ index ff674a9d5..4a13e248e 100644
for (i = 1; world.getType(blockposition.down(i)).getBlock() == this; ++i) {
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 9fbfdb803..489fb57dc 100644
index 5f82145723..8c08cf612a 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -448,7 +448,9 @@ public class WorldServer extends World {
@@ -446,7 +446,9 @@ public class WorldServer extends World {
IBlockData iblockdata = chunksection.getType(blockposition2.getX() - j, blockposition2.getY() - j1, blockposition2.getZ() - k);
if (iblockdata.q()&& (!purpurConfig.blockTickEvent || new net.pl3x.purpur.event.block.BlockTickEvent(getWorld(), blockposition2.x, blockposition2.y, blockposition2.z, true).callEvent())) { // Purpur
@@ -86,7 +86,7 @@ index 9fbfdb803..489fb57dc 100644
+ iblockdata.getBlock().randomTick = false; // Purpur - fix MC-113809
}
Fluid fluid = chunksection.b(blockposition2.getX() - j, blockposition2.getY() - j1, blockposition2.getZ() - k);
Fluid fluid = iblockdata.p();
--
2.20.1

View File

@@ -1,4 +1,4 @@
From 8a66ded4d1094109f614eea91d247b291019e5d9 Mon Sep 17 00:00:00 2001
From 1fa689c176d239c642467dce58be851d62441be7 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 7 Jul 2019 19:52:16 -0500
Subject: [PATCH] Add chance for zombie horse natural spawns
@@ -8,10 +8,10 @@ Subject: [PATCH] Add chance for zombie horse natural spawns
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index 489fb57dc..b5c902e1d 100644
index 8c08cf612a..42cee6ab9e 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -398,12 +398,18 @@ public class WorldServer extends World {
@@ -396,12 +396,18 @@ public class WorldServer extends World {
boolean flag1 = this.getGameRules().getBoolean(GameRules.DO_MOB_SPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.b() * paperConfig.skeleHorseSpawnChance; // Paper
if (flag1) {

View File

@@ -1,4 +1,4 @@
From 55b5b166eb427746bdaa0049808519bbf3cc26e9 Mon Sep 17 00:00:00 2001
From 28196eef8c75872f29151e8ef55efeb160ed2212 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Tue, 9 Jul 2019 20:56:47 -0500
Subject: [PATCH] Fix pig zombies (MC-56653)
@@ -8,7 +8,7 @@ Subject: [PATCH] Fix pig zombies (MC-56653)
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java
index 786592da1..3bc6f31d9 100644
index e76842a57b..fa056b8b22 100644
--- a/src/main/java/net/minecraft/server/EntityPigZombie.java
+++ b/src/main/java/net/minecraft/server/EntityPigZombie.java
@@ -139,6 +139,7 @@ public class EntityPigZombie extends EntityZombie {
@@ -29,7 +29,7 @@ index 786592da1..3bc6f31d9 100644
return true;
@@ -207,6 +208,12 @@ public class EntityPigZombie extends EntityZombie {
return this.eg();
return this.ef();
}
+ // Purpur start - only drop exp/items if damaged by player - fix MC-56653

View File

@@ -1,4 +1,4 @@
From 33f0bfe7731ec22781e4e268f450b6f575b27a25 Mon Sep 17 00:00:00 2001
From eedea43314bdeab2c223c8befbbe9c71162e0136 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Wed, 10 Jul 2019 20:14:07 -0500
Subject: [PATCH] Allow leashing villagers
@@ -10,7 +10,7 @@ Subject: [PATCH] Allow leashing villagers
3 files changed, 13 insertions(+)
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 94f43b1e0..23d81fcae 100644
index 47090db890..67deda84bd 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -1036,6 +1036,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -22,10 +22,10 @@ index 94f43b1e0..23d81fcae 100644
if (CraftEventFactory.callPlayerUnleashEntityEvent(this, entityhuman).isCancelled()) {
((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutAttachEntity(this, this.getLeashHolder()));
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index 07f7b90f5..d06889844 100644
index c2ccb85896..976473a678 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -879,4 +879,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -982,4 +982,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
return optional.isPresent() && optional1.isPresent() ? i - ((MinecraftSerializableLong) optional.get()).a() < 24000L && i - ((MinecraftSerializableLong) optional1.get()).a() < 36000L : false;
}
@@ -38,7 +38,7 @@ index 07f7b90f5..d06889844 100644
+ // Purpur - end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a33eb6773..542e1b329 100644
index a33eb6773c..542e1b3299 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -107,6 +107,11 @@ public class PurpurWorldConfig {

View File

@@ -1,4 +1,4 @@
From d7b4dc9f2e73e04b56a0eca20a65adad252801bb Mon Sep 17 00:00:00 2001
From eab5cee2a53339bdf99a85b6f2966b4aa2045381 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Fri, 12 Jul 2019 16:18:55 -0500
Subject: [PATCH] Prevent entities from loading unloaded chunks
@@ -10,7 +10,7 @@ Subject: [PATCH] Prevent entities from loading unloaded chunks
3 files changed, 3 insertions(+)
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
index b1afdf71bb..79fb1c6c8e 100644
index 26a30e1c02..cfe21c2e70 100644
--- a/src/main/java/net/minecraft/server/Entity.java
+++ b/src/main/java/net/minecraft/server/Entity.java
@@ -577,6 +577,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
@@ -22,7 +22,7 @@ index b1afdf71bb..79fb1c6c8e 100644
if (iblockdata.isAir()) {
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
index f551192a04..eb07bbcd9e 100644
index 0939bbd5fb..6c5e10eef0 100644
--- a/src/main/java/net/minecraft/server/EntityEnderman.java
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java
@@ -222,6 +222,7 @@ public class EntityEnderman extends EntityMonster {
@@ -34,10 +34,10 @@ index f551192a04..eb07bbcd9e 100644
while (blockposition_mutableblockposition.getY() > 0 && !this.world.getType(blockposition_mutableblockposition).getMaterial().isSolid()) {
blockposition_mutableblockposition.c(EnumDirection.DOWN);
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
index 9dfddd980b..32144bf92d 100644
index 6fbe1a7817..8fbad4b91b 100644
--- a/src/main/java/net/minecraft/server/EntityZombie.java
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
@@ -296,6 +296,7 @@ public class EntityZombie extends EntityMonster {
@@ -298,6 +298,7 @@ public class EntityZombie extends EntityMonster {
int j1 = j + MathHelper.nextInt(this.random, 7, 40) * MathHelper.nextInt(this.random, -1, 1);
int k1 = k + MathHelper.nextInt(this.random, 7, 40) * MathHelper.nextInt(this.random, -1, 1);
BlockPosition blockposition = new BlockPosition(i1, j1 - 1, k1);

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,4 @@
From 902ff47413092187f4aa5dcd657b3d497e7c0c85 Mon Sep 17 00:00:00 2001
From 82849cfc5047ae9330b0a1bc67dea5eef6a6ca77 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sat, 13 Jul 2019 15:56:22 -0500
Subject: [PATCH] Tulips change fox type
@@ -10,7 +10,7 @@ Subject: [PATCH] Tulips change fox type
3 files changed, 34 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java
index 4876289992..dba5894e97 100644
index a6fd50c492..53e67ab5f2 100644
--- a/src/main/java/net/minecraft/server/EntityFox.java
+++ b/src/main/java/net/minecraft/server/EntityFox.java
@@ -231,6 +231,11 @@ public class EntityFox extends EntityAnimal {
@@ -32,7 +32,7 @@ index 4876289992..dba5894e97 100644
+ initializePathFinderGoals(); // Purpur - fix API bug not updating pathfinders on type change
}
private List<UUID> el() {
private List<UUID> ek() {
@@ -625,6 +631,27 @@ public class EntityFox extends EntityAnimal {
}

View File

@@ -1,249 +0,0 @@
From 9a9594c015e50f2e5bec425ef0ba6c9bd11cb674 Mon Sep 17 00:00:00 2001
From: kickash32 <kickash32@gmail.com>
Date: Tue, 11 Jun 2019 22:22:16 -0400
Subject: [PATCH] Implement optional per player mob spawns
---
.../destroystokyo/paper/PaperWorldConfig.java | 5 +++
.../minecraft/server/ChunkProviderServer.java | 16 +++++++-
.../net/minecraft/server/PlayerChunkMap.java | 10 +++++
.../java/net/minecraft/server/PlayerMap.java | 1 +
.../net/minecraft/server/SpawnerCreature.java | 18 ++++-----
.../net/minecraft/server/WorldServer.java | 39 +++++++++++++++++++
6 files changed, 78 insertions(+), 11 deletions(-)
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index ff520d9e86..5ed02f6485 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -519,6 +519,11 @@ public class PaperWorldConfig {
}
}
+ public boolean perPlayerMobSpawns = false;
+ private void perPlayerMobSpawns() {
+ perPlayerMobSpawns = getBoolean("per-player-mob-spawns", false);
+ }
+
public boolean antiXray;
public boolean asynchronous;
public EngineMode engineMode;
diff --git a/src/main/java/net/minecraft/server/ChunkProviderServer.java b/src/main/java/net/minecraft/server/ChunkProviderServer.java
index 32a469025e..688573276d 100644
--- a/src/main/java/net/minecraft/server/ChunkProviderServer.java
+++ b/src/main/java/net/minecraft/server/ChunkProviderServer.java
@@ -582,9 +582,21 @@ public class ChunkProviderServer extends IChunkProvider {
// Paper start - only allow spawns upto the limit per chunk and update count afterwards
int currEntityCount = object2intmap.getInt(enumcreaturetype);
int difference = k1 - currEntityCount;
+ if(this.world.paperConfig.perPlayerMobSpawns){
+ final int[] min = {Integer.MAX_VALUE};
+ final int finalLimit = limit;
+ playerChunkMap.getPlayersNear(chunk.getPos(), this.world.spigotConfig.mobSpawnRange)
+ .forEach((entityplayer) -> min[0] = Math.min(
+ finalLimit - ((WorldServer)chunk.getWorld()).getMobCountNear(entityplayer, enumcreaturetype),
+ min[0]));
+ difference = (min[0] == Integer.MAX_VALUE) ? 0 : min[0];
+ }
+
if (difference > 0) {
- object2intmap.put(enumcreaturetype, currEntityCount + SpawnerCreature.spawnMobs(enumcreaturetype, world, chunk, blockposition, difference));
- // Paper end
+ List spawned = SpawnerCreature.spawnMobs(enumcreaturetype, this.world, chunk, blockposition, difference);
+ object2intmap.put(enumcreaturetype, currEntityCount + spawned.size());
+ this.world.updatePlayerMobTypeMap(spawned);
+ // Paper end
}
}
}
diff --git a/src/main/java/net/minecraft/server/PlayerChunkMap.java b/src/main/java/net/minecraft/server/PlayerChunkMap.java
index 089a20c835..038b0f9fb1 100644
--- a/src/main/java/net/minecraft/server/PlayerChunkMap.java
+++ b/src/main/java/net/minecraft/server/PlayerChunkMap.java
@@ -130,6 +130,7 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
this.setViewDistance(i);
}
+ private static double squareDist(ChunkCoordIntPair chunkcoord, Entity entity) { return a(chunkcoord, entity); } // Paper - OBFHELPER
private static double a(ChunkCoordIntPair chunkcoordintpair, Entity entity) {
double d0 = (double) (chunkcoordintpair.x * 16 + 8);
double d1 = (double) (chunkcoordintpair.z * 16 + 8);
@@ -1182,6 +1183,15 @@ public class PlayerChunkMap extends IChunkLoader implements PlayerChunk.d {
}
+ // Paper start
+ public Stream<EntityPlayer> getPlayersNear(ChunkCoordIntPair coordIntPair, int rangeChunks) {
+ int squareRangeBlocks = ((rangeChunks << 4) * (rangeChunks << 4));
+
+ return this.playerMap.getPlayers(coordIntPair.pair()).filter((entityplayer) ->
+ (!entityplayer.isSpectator() && squareDist(coordIntPair, entityplayer) < squareRangeBlocks));
+ }
+ // Paper end
+
@Override
public Stream<EntityPlayer> a(ChunkCoordIntPair chunkcoordintpair, boolean flag) {
return this.playerMap.a(chunkcoordintpair.pair()).filter((entityplayer) -> {
diff --git a/src/main/java/net/minecraft/server/PlayerMap.java b/src/main/java/net/minecraft/server/PlayerMap.java
index ad8181784e..0c8329bfd8 100644
--- a/src/main/java/net/minecraft/server/PlayerMap.java
+++ b/src/main/java/net/minecraft/server/PlayerMap.java
@@ -12,6 +12,7 @@ public final class PlayerMap {
public PlayerMap() {}
+ public Stream<EntityPlayer> getPlayers(long chunkCoord) { return this.a(chunkCoord); } // Paper - OBFHELPER
public Stream<EntityPlayer> a(long i) {
return Streams.concat(new Stream[]{this.a.stream(), this.b.stream()});
}
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
index af397dd1f7..5e001733a9 100644
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
@@ -21,7 +21,7 @@ public final class SpawnerCreature {
spawnMobs(enumcreaturetype, world, chunk, blockposition, Integer.MAX_VALUE);
}
- public static int spawnMobs(EnumCreatureType enumcreaturetype, World world, Chunk chunk, BlockPosition blockposition, int maxSpawns) {
+ public static List<Entity> spawnMobs(EnumCreatureType enumcreaturetype, World world, Chunk chunk, BlockPosition blockposition, int maxSpawns) {
// Paper end
ChunkGenerator<?> chunkgenerator = world.getChunkProvider().getChunkGenerator();
int i = 0;
@@ -29,7 +29,7 @@ public final class SpawnerCreature {
int j = blockposition1.getX();
int k = blockposition1.getY();
int l = blockposition1.getZ();
- int amountSpawned = 0; // Paper - keep track of mobs spawned
+ List<Entity> mobsSpawned = new java.util.ArrayList<>(); // Paper
if (k >= 1) {
IBlockData iblockdata = world.getTypeIfLoadedAndInBounds(blockposition1); // Paper - don't load chunks for mob spawn
@@ -101,7 +101,7 @@ public final class SpawnerCreature {
);
if (!event.callEvent()) {
if (event.shouldAbortSpawn()) {
- return amountSpawned; // Paper
+ return mobsSpawned; // Paper
}
++i2;
continue;
@@ -120,7 +120,7 @@ public final class SpawnerCreature {
} catch (Exception exception) {
SpawnerCreature.LOGGER.warn("Failed to create mob", exception);
ServerInternalException.reportInternalException(exception); // Paper
- return amountSpawned; // Paper
+ return mobsSpawned; // Paper
}
entityinsentient.setPositionRotation((double) f, (double) k, (double) f1, world.random.nextFloat() * 360.0F, 0.0F);
@@ -131,16 +131,16 @@ public final class SpawnerCreature {
++i;
++i2;
// Paper start - stop when limit is reached
- amountSpawned++;
+ mobsSpawned.add(entityinsentient);
}
- if (amountSpawned >= maxSpawns){
- return amountSpawned; // Paper
+ if (mobsSpawned.size() >= maxSpawns){
+ return mobsSpawned;
}
// Paper end
// CraftBukkit end
if (i >= entityinsentient.dD()) {
- return amountSpawned; // Paper
+ return mobsSpawned; // Paper
}
if (entityinsentient.c(i2)) {
@@ -165,7 +165,7 @@ public final class SpawnerCreature {
}
}
- return amountSpawned; // Paper
+ return mobsSpawned; // Paper
}
@Nullable
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
index f7597d499f..2410db3353 100644
--- a/src/main/java/net/minecraft/server/WorldServer.java
+++ b/src/main/java/net/minecraft/server/WorldServer.java
@@ -17,6 +17,9 @@ import it.unimi.dsi.fastutil.objects.Object2IntMap;
import it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap;
import it.unimi.dsi.fastutil.objects.ObjectIterator;
import it.unimi.dsi.fastutil.objects.ObjectLinkedOpenHashSet;
+
+import java.util.ArrayList;
+import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -67,6 +70,7 @@ public class WorldServer extends World {
private boolean ticking;
@Nullable
private final MobSpawnerTrader mobSpawnerTrader;
+ private Map<UUID, Map<EnumCreatureType, Integer>> playerMobTypeMap; // Paper
// CraftBukkit start
private int tickPosition;
@@ -932,6 +936,7 @@ public class WorldServer extends World {
}
public Object2IntMap<EnumCreatureType> l() {
+ List<Entity> filteredEntities = new ArrayList<>(); // Paper
Object2IntMap<EnumCreatureType> object2intmap = new Object2IntOpenHashMap();
ObjectIterator objectiterator = this.entitiesById.values().iterator();
@@ -959,13 +964,47 @@ public class WorldServer extends World {
}
// Paper end
object2intmap.mergeInt(enumcreaturetype, 1, Integer::sum);
+ filteredEntities.add(entity); // Paper
}
}
}
+ // Paper start
+ if(this.paperConfig.perPlayerMobSpawns) {
+ this.playerMobTypeMap = new HashMap<>();
+ updatePlayerMobTypeMap(filteredEntities);
+ }
+ // Paper end
return object2intmap;
}
+ // Paper start
+ public void updatePlayerMobTypeMap(List<Entity> entities) {
+ if (this.playerMobTypeMap == null) { return; }
+ for (Entity entity : entities) {
+ ((ChunkProviderServer) this.chunkProvider).playerChunkMap.getPlayersNear(entity.getChunkAtLocation().getPos(), this.spigotConfig.mobSpawnRange).forEach( (player) -> {
+ if (!this.playerMobTypeMap.containsKey(player.uniqueID)) { this.playerMobTypeMap.put(player.uniqueID, new Object2IntOpenHashMap()); }
+ Map<EnumCreatureType, Integer> tmpMap = this.playerMobTypeMap.get(player.uniqueID);
+ EnumCreatureType enumType = entity.getEntityType().d();
+ tmpMap.put(
+ enumType,
+ tmpMap.getOrDefault(enumType, 0) + 1);
+ });
+ }
+ }
+
+ public int getMobCountNear(EntityPlayer entityPlayer, EnumCreatureType enumCreatureType) {
+ int count = 0;
+ if (this.playerMobTypeMap != null) {
+ Map<EnumCreatureType, Integer> map = this.playerMobTypeMap.get(entityPlayer.uniqueID);
+ if (map != null) {
+ count = map.getOrDefault(enumCreatureType, 0);
+ }
+ }
+ return count;
+ }
+ // Paper end
+
@Override
public boolean addEntity(Entity entity) {
// CraftBukkit start
--
2.20.1

View File

@@ -1,4 +1,4 @@
From 5cf7d07b9b10cc748dbb45549aaea70da5c5c48d Mon Sep 17 00:00:00 2001
From 3ab5a5ec84a8ef85e6dbfe5b875fdf047de9c92e Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Sun, 14 Jul 2019 19:52:47 -0500
Subject: [PATCH] Mending mends most damages equipment first
@@ -10,7 +10,7 @@ Subject: [PATCH] Mending mends most damages equipment first
3 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/src/main/java/net/minecraft/server/EnchantmentManager.java b/src/main/java/net/minecraft/server/EnchantmentManager.java
index 16e6d95cf1..b693f2d3d3 100644
index 1d16919e6b..e3bc32a77f 100644
--- a/src/main/java/net/minecraft/server/EnchantmentManager.java
+++ b/src/main/java/net/minecraft/server/EnchantmentManager.java
@@ -241,9 +241,29 @@ public class EnchantmentManager {