Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
cc0494817 Tick inactive goal selectors
c19ec6394 fix 4878 by always calling events using bukkit singleton
5d216be1d Fix MC-181190 curing zombie villager discount exploit (#4871)
This commit is contained in:
BillyGalbreath
2020-12-09 19:36:38 -06:00
parent ac346928eb
commit 59439785d9
60 changed files with 77 additions and 122 deletions

2
Paper

Submodule Paper updated: 3dc82c2008...cc04948176

View File

@@ -1 +1 @@
1.16.4--de075fa8d03437e6e01d115ec6dea1ac7cbbced2
1.16.4--3a5de1207a384d66b0a3cf46c5baa0633839cc53

View File

@@ -8328,10 +8328,10 @@ index 957a351c3f..57166a543a 100644
this.setPersistent();
}
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 7ddf276732..23007c9ccb 100644
index dcc5b098bf..7b32a1fb79 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -707,7 +707,13 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -709,7 +709,13 @@ public abstract class EntityInsentient extends EntityLiving {
if (this.world.getDifficulty() == EnumDifficulty.PEACEFUL && this.L()) {
this.die();
} else if (!this.isPersistent() && !this.isSpecialPersistence()) {

View File

@@ -112,10 +112,10 @@ index 9f4f56c47e..8dce2aad77 100644
}
}
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 23007c9ccb..ba4a2bcfa0 100644
index 7b32a1fb79..b281ca841b 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -946,6 +946,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -948,6 +948,7 @@ public abstract class EntityInsentient extends EntityLiving {
return f;
}
@@ -123,7 +123,7 @@ index 23007c9ccb..ba4a2bcfa0 100644
protected void a(DifficultyDamageScaler difficultydamagescaler) {
if (this.random.nextFloat() < 0.15F * difficultydamagescaler.d()) {
int i = this.random.nextInt(2);
@@ -1053,6 +1054,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -1055,6 +1056,7 @@ public abstract class EntityInsentient extends EntityLiving {
}
}
@@ -131,7 +131,7 @@ index 23007c9ccb..ba4a2bcfa0 100644
protected void b(DifficultyDamageScaler difficultydamagescaler) {
float f = difficultydamagescaler.d();
@@ -1094,10 +1096,12 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -1096,10 +1098,12 @@ public abstract class EntityInsentient extends EntityLiving {
} else {
this.setLeftHanded(false);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Entities pick up loot bypass mob-griefing gamerule
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index ba4a2bcfa0..b71dea314c 100644
index b281ca841b..23d5d1f0a5 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -542,7 +542,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -544,7 +544,7 @@ public abstract class EntityInsentient extends EntityLiving {
public void movementTick() {
super.movementTick();
this.world.getMethodProfiler().enter("looting");

View File

@@ -9,12 +9,12 @@ that 5 arrows, 5 snowballs, 5 tridents, etc. will be allowed to be
saved/loaded per chunk. The default value of -1 disables the limit.
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 5596d9f425..5ffc5af1de 100644
index ae5ed3bd0b..2452f54d96 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -704,4 +704,9 @@ public class PaperWorldConfig {
private void fixClimbingBypassingCrammingRule() {
fixClimbingBypassingCrammingRule = getBoolean("fix-climbing-bypassing-cramming-rule", fixClimbingBypassingCrammingRule);
@@ -709,4 +709,9 @@ public class PaperWorldConfig {
private void fixCuringExploit() {
fixCuringZombieVillagerDiscountExploit = getBoolean("game-mechanics.fix-curing-zombie-villager-discount-exploit", fixCuringZombieVillagerDiscountExploit);
}
+
+ public int projectileSaveLimit = -1;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Dispenser curse of binding protection
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 84ac5112a2..202ccf2a7f 100644
index 23eb697f3d..7a40f08646 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -992,6 +992,13 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -994,6 +994,13 @@ public abstract class EntityInsentient extends EntityLiving {
}

View File

@@ -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 202ccf2a7f..2fcd7f461a 100644
index 7a40f08646..1d5d87e619 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 {
@@ -17,7 +17,7 @@ index 202ccf2a7f..2fcd7f461a 100644
public boolean aware = true; // CraftBukkit
protected EntityInsentient(EntityTypes<? extends EntityInsentient> entitytypes, World world) {
@@ -203,6 +203,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -205,6 +205,7 @@ public abstract class EntityInsentient extends EntityLiving {
entityliving = null;
}
}
@@ -25,7 +25,7 @@ index 202ccf2a7f..2fcd7f461a 100644
this.goalTarget = entityliving;
return true;
// CraftBukkit end
@@ -246,10 +247,35 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -248,10 +249,35 @@ public abstract class EntityInsentient extends EntityLiving {
this.m();
this.F();
}
@@ -62,7 +62,7 @@ index 202ccf2a7f..2fcd7f461a 100644
@Override
protected void c(DamageSource damagesource) {
this.m();
@@ -423,6 +449,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -425,6 +451,7 @@ public abstract class EntityInsentient extends EntityLiving {
}
nbttagcompound.setBoolean("Bukkit.Aware", this.aware); // CraftBukkit
@@ -70,7 +70,7 @@ index 202ccf2a7f..2fcd7f461a 100644
}
@Override
@@ -493,6 +520,11 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -495,6 +522,11 @@ public abstract class EntityInsentient extends EntityLiving {
this.aware = nbttagcompound.getBoolean("Bukkit.Aware");
}
// CraftBukkit end
@@ -82,7 +82,7 @@ index 202ccf2a7f..2fcd7f461a 100644
}
@Override
@@ -1542,7 +1574,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -1544,7 +1576,7 @@ public abstract class EntityInsentient extends EntityLiving {
this.a((EntityLiving) this, entity);
this.z(entity);
}

View File

@@ -1,43 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Mon, 10 Aug 2020 13:54:05 -0500
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 7cf6d4a4cd..5dd9e3bb20 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
@Nullable
private EntityHuman bv;
private byte bx;
- private final Reputation by;
+ private Reputation by; // Purpur - remove final
private long bz;
private long bA;
private int bB;
@@ -942,6 +942,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@Override
public void a(ReputationEvent reputationevent, Entity entity) {
if (reputationevent == ReputationEvent.a) {
+ if (world.purpurConfig.zombieVillagerResetReputationsWhenCured) this.by = new Reputation(); // Purpur
this.by.a(entity.getUniqueID(), ReputationType.MAJOR_POSITIVE, 20);
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 226d64798f..a41cc6da74 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -543,9 +543,11 @@ public class PurpurWorldConfig {
public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
+ public boolean zombieVillagerResetReputationsWhenCured = false;
private void zombieVillagerSettings() {
zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby);
zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
+ zombieVillagerResetReputationsWhenCured = getBoolean("mobs.zombie_villager.reset-reputation-when-cured", zombieVillagerResetReputationsWhenCured);
}
}

View File

@@ -43,7 +43,7 @@ index b21605a623..148e4b1587 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 a41cc6da74..cf8f46d439 100644
index 226d64798f..8d7da9fe0b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -482,8 +482,10 @@ public class PurpurWorldConfig {

View File

@@ -2199,7 +2199,7 @@ index b6c6b4d54e..f5b6d83f87 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 2fcd7f461a..6952832458 100644
index 1d5d87e619..80589799ab 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 {
@@ -2222,7 +2222,7 @@ index 2fcd7f461a..6952832458 100644
this.bi = new ControllerJump(this);
this.c = this.r();
this.navigation = this.b(world);
@@ -254,10 +254,10 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -256,10 +256,10 @@ public abstract class EntityInsentient extends EntityLiving {
// Purpur start
private void incrementTicksSinceLastInteraction() {
++ticksSinceLastInteraction;
@@ -2237,7 +2237,7 @@ index 2fcd7f461a..6952832458 100644
if (world.purpurConfig.entityLifeSpan <= 0) {
return; // feature disabled
}
@@ -552,14 +552,17 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -554,14 +554,17 @@ public abstract class EntityInsentient extends EntityLiving {
return super.dp();
}
@@ -2255,7 +2255,7 @@ index 2fcd7f461a..6952832458 100644
public void v(float f) {
this.aR = f;
}
@@ -1248,7 +1251,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -1250,7 +1253,7 @@ public abstract class EntityInsentient extends EntityLiving {
protected void a(EntityHuman entityhuman, EntityInsentient entityinsentient) {}
protected EnumInteractionResult b(EntityHuman entityhuman, EnumHand enumhand) {
@@ -2264,7 +2264,7 @@ index 2fcd7f461a..6952832458 100644
}
public boolean ev() {
@@ -1620,4 +1623,54 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -1622,4 +1625,54 @@ public abstract class EntityInsentient extends EntityLiving {
this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), UnleashReason.UNKNOWN)); // CraftBukkit
this.unleash(true, false);
}
@@ -4332,7 +4332,7 @@ index ed6a47ad2f..ac75ed3e2e 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 5dd9e3bb20..823155821b 100644
index 5d37cb14f9..166a8f9a7f 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
@@ -5070,7 +5070,7 @@ index 79fc12f499..0f981dc160 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 cf8f46d439..0bafbf52fb 100644
index 8d7da9fe0b..2921619972 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 {
@@ -5611,7 +5611,7 @@ index cf8f46d439..0bafbf52fb 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);
@@ -507,46 +870,109 @@ public class PurpurWorldConfig {
@@ -507,45 +870,108 @@ public class PurpurWorldConfig {
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
}
@@ -5714,7 +5714,6 @@ index cf8f46d439..0bafbf52fb 100644
public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
public boolean zombieVillagerResetReputationsWhenCured = false;
private void zombieVillagerSettings() {
+ zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
+ zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);

View File

@@ -27,7 +27,7 @@ index 7e379aa144..13227c558b 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 0bafbf52fb..a14f22dda4 100644
index 2921619972..fb6fad7986 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 {

View File

@@ -53,7 +53,7 @@ index f68cf834aa..4cac2bd091 100644
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a14f22dda4..65baba9a9a 100644
index fb6fad7986..fe35bdd100 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -902,10 +902,16 @@ public class PurpurWorldConfig {

View File

@@ -72,7 +72,7 @@ index bc35bfd96a..644ff68795 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 65baba9a9a..789337e340 100644
index fe35bdd100..f0b09ec3ae 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;

View File

@@ -52,7 +52,7 @@ index 826dcf9f7e..807910c60e 100644
if (!this.raids.containsKey(raid.getId())) {
this.raids.put(raid.getId(), raid);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 789337e340..4883856612 100644
index f0b09ec3ae..27b9dcfec6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -155,6 +155,7 @@ public class PurpurWorldConfig {

View File

@@ -300,7 +300,7 @@ index b9f8ed3554..58f03f1d2e 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 4883856612..4733cb8e2f 100644
index 27b9dcfec6..6b76469033 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 {

View File

@@ -69,7 +69,7 @@ index e2f68d843c..3ad8bd0847 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 4733cb8e2f..b7e43839ae 100644
index 6b76469033..b83e32cd16 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -999,12 +999,14 @@ public class PurpurWorldConfig {

View File

@@ -165,7 +165,7 @@ index 58d958a88a..8e87490954 100644
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b7e43839ae..7f3d25b5a2 100644
index b83e32cd16..e49746df3b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -182,6 +182,7 @@ public class PurpurWorldConfig {

View File

@@ -38,7 +38,7 @@ index 70b952f10a..cee2265016 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 7f3d25b5a2..c40c65ce7a 100644
index e49746df3b..ba46d21ed7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -860,10 +860,12 @@ public class PurpurWorldConfig {

View File

@@ -26,7 +26,7 @@ index dd6a93dc78..8241f3dafa 100644
entityhuman.b(StatisticList.ITEM_USED.b(this));
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c40c65ce7a..f0ecfd4e32 100644
index ba46d21ed7..c0ec288c05 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -147,6 +147,15 @@ public class PurpurWorldConfig {

View File

@@ -39,7 +39,7 @@ index 33804e6893..fabadcd7a2 100644
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f0ecfd4e32..a6f5276dd3 100644
index c0ec288c05..1254bb5c8f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -372,6 +372,11 @@ public class PurpurWorldConfig {

View File

@@ -74,7 +74,7 @@ index 644ff68795..dd8e284b26 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 a6f5276dd3..e64cbed34e 100644
index 1254bb5c8f..79e554a05e 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 {

View File

@@ -41,7 +41,7 @@ index 1d3c2dd936..1a47f0ae48 100644
if (flag1) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e64cbed34e..9a595c2f91 100644
index 79e554a05e..6adcce6174 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -340,6 +340,11 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add tablist suffix option for afk
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 2992c51a28..9c86035c1c 100644
index b5f6a98fe4..5dd2c4036e 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1959,7 +1959,11 @@ public class EntityPlayer extends EntityHuman implements ICrafting {

View File

@@ -24,7 +24,7 @@ index 8dd48669c2..099e0d3df2 100644
return;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9a595c2f91..acfa9772f8 100644
index 6adcce6174..b01c7018ba 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -336,8 +336,10 @@ public class PurpurWorldConfig {

View File

@@ -94,7 +94,7 @@ index ab97d076c9..b4ba9b56a9 100644
this.generator = gen;
this.world = new CraftWorld((WorldServer) this, gen, env);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index acfa9772f8..e85cf8116e 100644
index b01c7018ba..6bf867483c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -202,6 +202,7 @@ public class PurpurWorldConfig {

View File

@@ -398,7 +398,7 @@ index 9ae7168595..6c25f667ee 100644
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e85cf8116e..cbd2e8a8b7 100644
index 6bf867483c..58a880f7cb 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -423,10 +423,12 @@ public class PurpurWorldConfig {

View File

@@ -52,10 +52,10 @@ index d53bbe3169..bc558c54c9 100644
switch (this.getType()) {
case OAK:
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 6952832458..9214b2a3c9 100644
index 80589799ab..2fef696732 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -1366,7 +1366,13 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -1368,7 +1368,13 @@ public abstract class EntityInsentient extends EntityLiving {
this.by = null;
if (!this.world.isClientSide && flag1) {
this.forceDrops = true; // CraftBukkit
@@ -70,7 +70,7 @@ index 6952832458..9214b2a3c9 100644
this.forceDrops = false; // CraftBukkit
}
@@ -1442,7 +1448,13 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -1444,7 +1450,13 @@ public abstract class EntityInsentient extends EntityLiving {
}
if (this.ticksLived > 100) {
@@ -196,7 +196,7 @@ index 40f553e395..7161eba52e 100644
NBTTagCompound nbttagcompound = this.a("display");
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index cbd2e8a8b7..9f4f41b22e 100644
index 58a880f7cb..8525741575 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -83,8 +83,10 @@ public class PurpurWorldConfig {

View File

@@ -21,7 +21,7 @@ index 01163ce386..a7efce9731 100644
((EntityInsentient) entityliving).setPersistent();
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9f4f41b22e..c009d41bf9 100644
index 8525741575..b7fe9865d5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -84,9 +84,11 @@ public class PurpurWorldConfig {

View File

@@ -67,7 +67,7 @@ index 23dca19403..94ffadb91f 100644
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c009d41bf9..24179c3d5d 100644
index b7fe9865d5..7d4e84bb85 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -408,6 +408,16 @@ public class PurpurWorldConfig {

View File

@@ -89,7 +89,7 @@ index 94ffadb91f..067df63ab2 100644
// Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 24179c3d5d..bd4c68bbfb 100644
index 7d4e84bb85..3ed6fbed70 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -355,6 +355,11 @@ public class PurpurWorldConfig {

View File

@@ -21,7 +21,7 @@ index 995849212c..acb2b3ed04 100644
static class PathfinderGoalEndermanPickupBlock extends PathfinderGoal {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index bd4c68bbfb..830e030657 100644
index 3ed6fbed70..8f0be34937 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -581,10 +581,12 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index 34a5f481e6..d7bab4446a 100644
entity.damageEntity(DamageSource.projectile(this, this.getShooter()), (float) i);
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 830e030657..2c26c4c476 100644
index 8f0be34937..8d4fc335b8 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -196,6 +196,11 @@ public class PurpurWorldConfig {

View File

@@ -40,7 +40,7 @@ index 7488a12926..23870a271b 100644
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2c26c4c476..58208a9022 100644
index 8d4fc335b8..841f744395 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -2,6 +2,7 @@ package net.pl3x.purpur;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Changeable Mob Left Handed Chance
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
index 9214b2a3c9..3a79771d57 100644
index 2fef696732..e2d7c20e66 100644
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
@@ -1133,7 +1133,7 @@ public abstract class EntityInsentient extends EntityLiving {
@@ -1135,7 +1135,7 @@ public abstract class EntityInsentient extends EntityLiving {
@Nullable
public GroupDataEntity prepare(WorldAccess worldaccess, DifficultyDamageScaler difficultydamagescaler, EnumMobSpawn enummobspawn, @Nullable GroupDataEntity groupdataentity, @Nullable NBTTagCompound nbttagcompound) {
this.getAttributeInstance(GenericAttributes.FOLLOW_RANGE).addModifier(new AttributeModifier("Random spawn bonus", this.random.nextGaussian() * 0.05D, AttributeModifier.Operation.MULTIPLY_BASE));
@@ -18,7 +18,7 @@ index 9214b2a3c9..3a79771d57 100644
} else {
this.setLeftHanded(false);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 58208a9022..f5e498aa39 100644
index 841f744395..673c2e5f18 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -129,8 +129,10 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add boat fall damage config
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 9c86035c1c..16a20f2683 100644
index 5dd2c4036e..50ea875a3b 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -1017,7 +1017,16 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
@@ -27,7 +27,7 @@ index 9c86035c1c..16a20f2683 100644
if (!flag && isSpawnInvulnerable() && damagesource != DamageSource.OUT_OF_WORLD) { // Purpur
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f5e498aa39..d42fe79ece 100644
index 673c2e5f18..d1f6c05924 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -206,6 +206,7 @@ public class PurpurWorldConfig {

View File

@@ -36,7 +36,7 @@ index 06e40ffed1..3c4c099beb 100644
public static String afkBroadcastBack = "§e§o%s is no longer AFK";
public static String afkTabListPrefix = "[AFK] ";
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d42fe79ece..b5cda85f86 100644
index d1f6c05924..1f8d05672a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1,5 +1,6 @@

View File

@@ -23,7 +23,7 @@ index e980da14cf..e5b3d298f5 100644
this.goalSelector.a(3, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 6.0F));
this.goalSelector.a(4, new PathfinderGoalRandomLookaround(this));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b5cda85f86..1c6ca8f272 100644
index 1f8d05672a..301f32f8b0 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -962,12 +962,20 @@ public class PurpurWorldConfig {

View File

@@ -17,7 +17,7 @@ index eaa1063ff2..a3b89a4f2a 100644
this.player = entityplayer;
}
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
index 16a20f2683..a18dadee56 100644
index 50ea875a3b..cc6a54e06a 100644
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
@@ -49,7 +49,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] PaperPR - Config option for Piglins guarding chests
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index 5ffc5af1de..d713f7409f 100644
index 2452f54d96..3ff2fa66b9 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -669,6 +669,11 @@ public class PaperWorldConfig {

View File

@@ -28,7 +28,7 @@ index de0776f8cd..674d06bfb3 100644
public static String afkBroadcastBack = "§e§o%s is no longer AFK";
public static String afkTabListPrefix = "[AFK] ";
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 1c6ca8f272..de16aee87d 100644
index 301f32f8b0..6b80bc373f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -96,6 +96,17 @@ public class PurpurWorldConfig {

View File

@@ -19,21 +19,20 @@ index 7db942c659..d5d07b8042 100644
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index de16aee87d..5375c6c9ca 100644
index 6b80bc373f..514788c208 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1185,6 +1185,7 @@ public class PurpurWorldConfig {
@@ -1184,11 +1184,13 @@ public class PurpurWorldConfig {
public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
public boolean zombieVillagerResetReputationsWhenCured = false;
+ public boolean zombieVillagerFixCureDrops = false;
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -1192,5 +1193,6 @@ public class PurpurWorldConfig {
zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby);
zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
zombieVillagerResetReputationsWhenCured = getBoolean("mobs.zombie_villager.reset-reputation-when-cured", zombieVillagerResetReputationsWhenCured);
+ zombieVillagerFixCureDrops = getBoolean("mobs.zombie_villager.fix-drops-on-cure", zombieVillagerFixCureDrops);
}
}

View File

@@ -18,7 +18,7 @@ index 13227c558b..330ac6cf85 100644
public float yaw;
public float pitch;
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index 823155821b..5d25c42d52 100644
index 166a8f9a7f..96cfc0c5c3 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -187,15 +187,28 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -71,7 +71,7 @@ index b92ca4a6de..1208464fba 100644
// Paper start - add target parameter
return this.a(blockposition, null, i);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 5375c6c9ca..020a42a5e5 100644
index 514788c208..659b540aa1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1056,6 +1056,7 @@ public class PurpurWorldConfig {

View File

@@ -133,7 +133,7 @@ index 2d91869660..e376306bc2 100644
} else {
object = new BehaviorWork();
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index 5d25c42d52..6225101c63 100644
index 96cfc0c5c3..f0a5708f01 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
@@ -131,7 +131,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
@@ -234,7 +234,7 @@ index 3c60da7ac6..6493f220a0 100644
public static final VillagerProfession FISHERMAN = a("fisherman", VillagePlaceType.i, SoundEffects.ENTITY_VILLAGER_WORK_FISHERMAN);
public static final VillagerProfession FLETCHER = a("fletcher", VillagePlaceType.j, SoundEffects.ENTITY_VILLAGER_WORK_FLETCHER);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 020a42a5e5..e1d1c28469 100644
index 659b540aa1..7ade1c54ad 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1057,6 +1057,8 @@ public class PurpurWorldConfig {

View File

@@ -35,7 +35,7 @@ index 3327dbbf87..57f3358b8d 100644
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e1d1c28469..fa98eef4f8 100644
index 7ade1c54ad..cc92689b4c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1177,12 +1177,14 @@ public class PurpurWorldConfig {

View File

@@ -93,7 +93,7 @@ index 6c25f667ee..7149b10e4a 100644
this.a((WorldServer) this.world, nbttagcompound);
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index fa98eef4f8..88db847d7b 100644
index cc92689b4c..0a471a4542 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1128,10 +1128,12 @@ public class PurpurWorldConfig {