more progress

This commit is contained in:
BillyGalbreath
2021-06-18 19:09:50 -05:00
parent 16d318fed6
commit 9a48162500
106 changed files with 2769 additions and 417 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -25,7 +25,7 @@ index e037d618955de9a213a9cd90752b29d189faace4..34dec0a94840a8865f1d80857ec54a10
double d = this.llama.distanceToSqr(this.llama.getCaravanHead());
if (d > 676.0D) {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
index 0671185c358398fe0c4c1dbf4ede2f3e8c4794fb..31d965119b0d6481a50fbc237600c529aac0702d 100644
index 397d9846ad645f98163a0bfae7a69ceaa6d5c3a4..92069543fd8f19ee037af59edd84c61f5216463f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java
@@ -65,6 +65,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
@@ -36,7 +36,7 @@ index 0671185c358398fe0c4c1dbf4ede2f3e8c4794fb..31d965119b0d6481a50fbc237600c529
public Llama(EntityType<? extends Llama> type, Level world) {
super(type, world);
@@ -134,7 +135,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
@@ -149,7 +150,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
if (!this.inventory.getItem(1).isEmpty()) {
nbt.put("DecorItem", this.inventory.getItem(1).save(new CompoundTag()));
}
@@ -45,7 +45,7 @@ index 0671185c358398fe0c4c1dbf4ede2f3e8c4794fb..31d965119b0d6481a50fbc237600c529
}
@Override
@@ -146,6 +147,12 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
@@ -161,6 +162,12 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
this.inventory.setItem(1, ItemStack.of(nbt.getCompound("DecorItem")));
}
@@ -58,7 +58,7 @@ index 0671185c358398fe0c4c1dbf4ede2f3e8c4794fb..31d965119b0d6481a50fbc237600c529
this.updateContainerEquipment();
}
@@ -467,6 +474,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
@@ -482,6 +489,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
public void leaveCaravan() {
if (this.caravanHead != null) {
@@ -66,7 +66,7 @@ index 0671185c358398fe0c4c1dbf4ede2f3e8c4794fb..31d965119b0d6481a50fbc237600c529
this.caravanHead.caravanTail = null;
}
@@ -474,6 +482,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
@@ -489,6 +497,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
}
public void joinCaravan(Llama llama) {
@@ -74,7 +74,7 @@ index 0671185c358398fe0c4c1dbf4ede2f3e8c4794fb..31d965119b0d6481a50fbc237600c529
this.caravanHead = llama;
this.caravanHead.caravanTail = this;
}
@@ -491,6 +500,13 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
@@ -506,6 +515,13 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob {
return this.caravanHead;
}

View File

@@ -142,13 +142,13 @@ index a060cca08631fb42041e3a79a9abc422fe7757af..e7b11d1ba984ea14f0cdf8e84f9eaab4
private EntitySelector() {}
// Paper start
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index b4ebd8d3ad90e51ed953d091610eafe558a3184f..686f64000ca633fe58d8d479ef3c8462052ec9c5 100644
index c458710a2af40848d617149d97f51e7ae1165637..721767812c765ac70c66f5445950c39167f344de 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -196,6 +196,13 @@ public abstract class Player extends LivingEntity {
// Purpur start
public abstract void resetLastActionTime();
// Purpur start
+ public void setAfk(boolean afk) {
+ }
+
@@ -173,26 +173,26 @@ index b0cafe6e0bdb3f297c13f310fdbe9e3158a6715d..2d953133a7e15699952ec0f8a7dc00c9
if (range < 0.0D || d < range * range) {
return true;
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 7bb30fba98b5b217df72e6df5b2dc4e6082d1a6a..e818682578beac89fb6b7c8cf6a2240b1210055a 100644
index 7bb30fba98b5b217df72e6df5b2dc4e6082d1a6a..5365a4a047c759f36177716237c2bb98ae1741b3 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -128,8 +128,14 @@ public class PurpurConfig {
return config.getString(path, config.getString(path));
@@ -129,8 +129,14 @@ public class PurpurConfig {
}
public static String cannotRideMob = "<red>You cannot mount that mob";
+ public static String afkBroadcastAway = "<yellow><italic>%s is now AFK";
+ public static String afkBroadcastBack = "<yellow><italic>%s is no longer AFK";
+ public static String afkTabListPrefix = "[AFK] ";
public static String cannotRideMob = "<red>You cannot mount that mob";
private static void messages() {
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
+ afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway);
+ afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack);
+ afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix);
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
}
public static String timingsUrl = "https://timings.pl3x.net";
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 5ad112baaa2dc0d56c0e7d36443eafd3ff0dc2c8..d30717155d055431f1de0b2de747ea98dee0b06e 100644
index d9ecedda8d312f512c5c258f06932ad4b2a2c3e5..b8cc0ac7790379103c1849c5dcad4bec8669463f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -57,6 +57,17 @@ public class PurpurWorldConfig {

View File

@@ -18,11 +18,11 @@ index 2ff3c3f64a61e152262e82a1c33a474bbe4e9c5c..247b4c599018cb42cd4b2da5d8b4d732
public SystemReport fillSystemReport(SystemReport systemreport) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index e818682578beac89fb6b7c8cf6a2240b1210055a..f64cd4a887ab57f32c9cfc6a1d808f41cc1b36f1 100644
index 5365a4a047c759f36177716237c2bb98ae1741b3..fec9241bf21a67b03b2f3a2e544f847e425b2e98 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -139,6 +139,11 @@ public class PurpurConfig {
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix);
}
+ public static String serverModName = "Purpur";

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] LivingEntity safeFallDistance
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index e733c1e8f0b180bf1508e4f004124d44407f6c07..0fc358d5491900affb61545d89a788bbb2435c04 100644
index 904a260e997bb7c1fd391d798233079e49732ed8..71eb28891941f28bc3bcf065bf734d3fb6e8e88a 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -255,6 +255,7 @@ public abstract class LivingEntity extends Entity {
@@ -16,7 +16,7 @@ index e733c1e8f0b180bf1508e4f004124d44407f6c07..0fc358d5491900affb61545d89a788bb
public boolean forceDrops;
public ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
@@ -350,8 +351,8 @@ public abstract class LivingEntity extends Entity {
@@ -353,8 +354,8 @@ public abstract class LivingEntity extends Entity {
this.tryAddSoulSpeed();
}
@@ -27,7 +27,7 @@ index e733c1e8f0b180bf1508e4f004124d44407f6c07..0fc358d5491900affb61545d89a788bb
if (!landedState.isAir()) {
double d1 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
@@ -1880,7 +1881,7 @@ public abstract class LivingEntity extends Entity {
@@ -1883,7 +1884,7 @@ public abstract class LivingEntity extends Entity {
MobEffectInstance mobeffect = this.getEffect(MobEffects.JUMP);
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
@@ -37,10 +37,10 @@ index e733c1e8f0b180bf1508e4f004124d44407f6c07..0fc358d5491900affb61545d89a788bb
protected void playBlockFallSound() {
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
index 919410ce27e7e42e297c2caba7d3d7c1b623aede..4dcacd1d156309abd29f48b9ac2d402395232e85 100644
index 790f0940156b9c6d4aa1869a4ab50292faa246c5..1e748c223c223deb1465a250548b39ed559cf5de 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
@@ -296,7 +296,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@@ -322,7 +322,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@Override
protected int calculateFallDamage(float fallDistance, float damageMultiplier) {

View File

@@ -25,7 +25,7 @@ index 247b4c599018cb42cd4b2da5d8b4d732f2e884b0..ba70f1276215620c75cda410ac5acb60
}
midTickChunksTasksRan = 0; // Paper
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index f64cd4a887ab57f32c9cfc6a1d808f41cc1b36f1..2c80bfba35073b0f381673cff7c972865f707ee5 100644
index fec9241bf21a67b03b2f3a2e544f847e425b2e98..b530e777564e9b455b8763c99039f2c4f890a2db 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -150,6 +150,11 @@ public class PurpurConfig {

View File

@@ -18,7 +18,7 @@ index 32a9a752e1afdcdaffa5198f3577856f742c9136..ab7e4780529a88183600f3d3860e882b
private final int highlightColor;
private final EntityType<?> defaultType;
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
index 9cde8ae979287d342574da066f65731324725dea..1c726483ea3f94a6b18d998053fb5114a94af6e0 100644
index d1ca61f394c0efa1688069e5d1fb529348d5985f..6eb42189021647887848748e7070d171ddb17bd9 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java
@@ -404,4 +404,18 @@ public final class CraftItemFactory implements ItemFactory {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] EMC - MonsterEggSpawnEvent
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
index 87211af4cf638f4b6042548c030ec8927a28d760..0e5f87f87c6523430e86cc65987f22db5568bc18 100644
index 81ec8304da9006ea8450bde441bdb20898f8ca5c..63e3105daeb697ff76cca15d55d14b14ca1523f6 100644
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
@@ -333,13 +333,20 @@ public class EntityType<T extends Entity> implements EntityTypeTest<Entity, T> {

View File

@@ -90,7 +90,7 @@ index d6ecf7671663957b27ee0cadbfc57ce3a7be161c..bcff95d97549f56f542644f8348a8408
return entityplayer1;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d30717155d055431f1de0b2de747ea98dee0b06e..a3704ec4d0ca71e7225ed49395dbc7a869452693 100644
index b8cc0ac7790379103c1849c5dcad4bec8669463f..f707437272ff862ed1e0a4e53b17eb86d8c358b1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -68,6 +68,13 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable villager brain ticks
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 27530389690ec329bd92a722e4faf87e367bce91..d9d12330e84f204f96761051e1d92984d8a96330 100644
index 91edc954029aae9eb4ec0b3899e59eff8e310a6f..a04807d1c1fde2978acee935c84eb8fa5b32e4a9 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -141,6 +141,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -23,8 +23,8 @@ index 27530389690ec329bd92a722e4faf87e367bce91..d9d12330e84f204f96761051e1d92984
+ this.brainTickOffset = getRandom().nextInt(100); // Purpur
}
@Override
@@ -249,6 +251,10 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
// Purpur start
@@ -271,6 +273,10 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
protected void customServerAiStep() { mobTick(false); }
protected void mobTick(boolean inactive) {
this.level.getProfiler().push("villagerBrain");
@@ -36,10 +36,10 @@ index 27530389690ec329bd92a722e4faf87e367bce91..d9d12330e84f204f96761051e1d92984
this.level.getProfiler().pop();
if (this.assignProfessionWhenSpawned) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3a4ac9c75b4517bb6fdad67d1db5e4ac805f3ee4..76bd14850cdabd2883611ebecaa8227efdd02a64 100644
index f707437272ff862ed1e0a4e53b17eb86d8c358b1..20240ae5cce348d5f56a74de46bbdce552cdfe94 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -519,9 +519,13 @@ public class PurpurWorldConfig {
@@ -563,9 +563,13 @@ public class PurpurWorldConfig {
public boolean villagerRidable = false;
public boolean villagerRidableInWater = false;

View File

@@ -56,7 +56,7 @@ index 963e433db7c237119355f645ee3d8aa674c77259..8e53ee171250d2e44c18d9dac379bc8d
if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) {
int i = (int) (Util.getMillis() - this.keepAliveTime);
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 2c80bfba35073b0f381673cff7c972865f707ee5..53803f1dc9dcdae0c26193e627f52318d83a047d 100644
index b530e777564e9b455b8763c99039f2c4f890a2db..6e1a4017e4b737f541c7aa22885fbbd757dd4524 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -155,6 +155,11 @@ public class PurpurConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Silk touch spawners
diff --git a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
index f72511a71c01718be48ee6b714e902d0f41e14ae..b24c26a94ac3ff88252c20d294227cfd1646e64e 100644
index d24c569f00786b2bde953429aad57025abee72d6..44d837f624e2a23b0412cca4c0646f489c79d34f 100644
--- a/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
+++ b/src/main/java/io/papermc/paper/adventure/PaperAdventure.java
@@ -79,6 +79,7 @@ public final class PaperAdventure {
@@ -170,7 +170,7 @@ index b1e04d41de80971a7a1616beb0860226ecc25045..9ce53046b7f67309c2d4636b95e6fb05
public void spawnAfterBreak(BlockState state, ServerLevel world, BlockPos pos, ItemStack stack) {
super.spawnAfterBreak(state, world, pos, stack);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 76bd14850cdabd2883611ebecaa8227efdd02a64..50fe7dbad049db6be24a2ed68b07df587b0f5830 100644
index 20240ae5cce348d5f56a74de46bbdce552cdfe94..195e0c9dd6d9d2b9496af4347d908c06e0115201 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1,6 +1,12 @@

View File

@@ -50,10 +50,10 @@ index fdb3ab919a78221605257ae82bfd026346ce2ffb..e98fc3c235f9160f1928a8afb0d7991a
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 50fe7dbad049db6be24a2ed68b07df587b0f5830..148cc428b17e0db46a86079bf4e2199b52f1ad84 100644
index 195e0c9dd6d9d2b9496af4347d908c06e0115201..85ca45d162518096748631037ddde30dd8f87563 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -532,9 +532,15 @@ public class PurpurWorldConfig {
@@ -576,9 +576,15 @@ public class PurpurWorldConfig {
public boolean turtleRidable = false;
public boolean turtleRidableInWater = false;

View File

@@ -17,7 +17,7 @@ index d1f85b092eba829b003e39c913a4afeffc140568..e159bf06a225aa63b4d397a7c76fa9ef
}
// CraftBukkit end
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 53803f1dc9dcdae0c26193e627f52318d83a047d..4bac9e7c419c43b163bda6d1cebaa4c5fe42317f 100644
index 6e1a4017e4b737f541c7aa22885fbbd757dd4524..7eb5e1b2cdc3abaefd1ea7d19a913269cfd81a1a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -178,4 +178,11 @@ public class PurpurConfig {

View File

@@ -4,27 +4,6 @@ Date: Sun, 12 May 2019 00:43:12 -0500
Subject: [PATCH] Giants AI settings
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 0fc358d5491900affb61545d89a788bbb2435c04..c150a898c60a3477012e7d49e30f98cfcdc27247 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -289,6 +289,7 @@ public abstract class LivingEntity extends Entity {
this.useItem = ItemStack.EMPTY;
this.lastClimbablePos = Optional.empty();
this.attributes = new AttributeMap(DefaultAttributes.getSupplier(type));
+ this.initAttributes(); // Purpur
this.craftAttributes = new CraftAttributeMap(this.attributes); // CraftBukkit
// CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor
this.entityData.set(LivingEntity.DATA_HEALTH_ID, (float) this.getAttribute(Attributes.MAX_HEALTH).getValue());
@@ -304,6 +305,8 @@ public abstract class LivingEntity extends Entity {
this.brain = this.makeBrain(new Dynamic(dynamicopsnbt, (net.minecraft.nbt.Tag) dynamicopsnbt.createMap((Map) ImmutableMap.of(dynamicopsnbt.createString("memories"), (net.minecraft.nbt.Tag) dynamicopsnbt.emptyMap()))));
}
+ protected void initAttributes() {} // Purpur
+
public Brain<?> getBrain() {
return this.brain;
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/Giant.java b/src/main/java/net/minecraft/world/entity/monster/Giant.java
index 8be06ef6e876219cb8130938fabe7ec6c99cf408..4f0449ed1acdcc85a659973e5c40c6c62868ecf2 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Giant.java
@@ -134,10 +113,10 @@ index 8be06ef6e876219cb8130938fabe7ec6c99cf408..4f0449ed1acdcc85a659973e5c40c6c6
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index cee4c24b792c31e35c3d84fc3d435b3ebe1642cf..2d9319d3fcf3a52f404a44e38bb6a71de5ab7ef0 100644
index 85ca45d162518096748631037ddde30dd8f87563..11470cb1acf37a2d7017d5b5ae73fcb075993f4d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -261,9 +261,28 @@ public class PurpurWorldConfig {
@@ -305,9 +305,28 @@ public class PurpurWorldConfig {
public boolean giantRidable = false;
public boolean giantRidableInWater = false;

View File

@@ -23,10 +23,10 @@ index 5f57c14a7ba03af9432a839e6caed47286638b2c..c4c239ab51c48a2b9c12e547dc7e1259
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2d9319d3fcf3a52f404a44e38bb6a71de5ab7ef0..983ad996bef9f05772f176357ab3f78fd330f8f4 100644
index 11470cb1acf37a2d7017d5b5ae73fcb075993f4d..3572fa9c9e8bc1cfdaf250c6059ab079cdd6d363 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -323,9 +323,20 @@ public class PurpurWorldConfig {
@@ -367,9 +367,20 @@ public class PurpurWorldConfig {
public boolean illusionerRidable = false;
public boolean illusionerRidableInWater = false;

View File

@@ -42,10 +42,10 @@ index 900b30c9ba0d7b9e0b19c23c1eb5b75dbf2d7141..e09f031f08efa7ed5145566de459b044
LightningBolt entitylightning = (LightningBolt) EntityType.LIGHTNING_BOLT.create((net.minecraft.world.level.Level) this);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 983ad996bef9f05772f176357ab3f78fd330f8f4..e66fd35e16e152d18b511d727558b50d5071633f 100644
index 3572fa9c9e8bc1cfdaf250c6059ab079cdd6d363..df6f41184643bec793a6be3df9903577c1b45734 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -653,9 +653,11 @@ public class PurpurWorldConfig {
@@ -697,9 +697,11 @@ public class PurpurWorldConfig {
public boolean zombieHorseRidableInWater = false;
public boolean zombieHorseCanSwim = false;

View File

@@ -5,15 +5,14 @@ Subject: [PATCH] Charged creeper naturally spawn
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index 1bf65519883585569a1acc780554505dc5d6c30b..f8fba694d53356036e302f66cfe92b15726242dc 100644
index b71a6af3c2d1ca2a946b23efb11b0e794840cf25..b2b3630a90c685b0a692efb9bf8bb111e321c9d1 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -129,6 +129,15 @@ public class Creeper extends Monster implements PowerableMob {
}
return getForwardMot() == 0 && getStrafeMot() == 0; // do not jump if standing still
@@ -134,6 +134,14 @@ public class Creeper extends Monster implements PowerableMob {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.creeperMaxHealth);
}
+
+ @Override
+ public net.minecraft.world.entity.SpawnGroupData finalizeSpawn(net.minecraft.world.level.ServerLevelAccessor world, net.minecraft.world.DifficultyInstance difficulty, net.minecraft.world.entity.MobSpawnType spawnReason, @Nullable net.minecraft.world.entity.SpawnGroupData entityData, @Nullable CompoundTag entityNbt) {
+ double chance = world.getMinecraftWorld().purpurConfig.creeperChargedChance;
+ if (chance > 0D && random.nextDouble() <= chance) {
@@ -25,10 +24,10 @@ index 1bf65519883585569a1acc780554505dc5d6c30b..f8fba694d53356036e302f66cfe92b15
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e66fd35e16e152d18b511d727558b50d5071633f..d2772e9d8cc9027994e98633594f20dc58a652cf 100644
index df6f41184643bec793a6be3df9903577c1b45734..dd1b2373a5fe8ec704b1daf8c68d64eca12ebcc1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -180,9 +180,11 @@ public class PurpurWorldConfig {
@@ -224,9 +224,11 @@ public class PurpurWorldConfig {
public boolean creeperRidable = false;
public boolean creeperRidableInWater = false;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Rabbit naturally spawn toast and killer
diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
index 29551a3b87f06c5876de5fda80615acf6c1f4764..8f99b4c28539c7c5a4951d7a3b82b01b77082794 100644
index 587feda351efae19407cb9f23c6c1d42d5ed0cc9..e0ba1ef404c9f8ba1eae563b733d10d94b1442e4 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java
@@ -421,7 +421,11 @@ public class Rabbit extends Animal {
@@ -426,7 +426,11 @@ public class Rabbit extends Animal {
if (!this.hasCustomName()) {
this.setCustomName(new TranslatableComponent(Util.makeDescriptionId("entity", Rabbit.KILLER_BUNNY)));
}
@@ -20,7 +20,7 @@ index 29551a3b87f06c5876de5fda80615acf6c1f4764..8f99b4c28539c7c5a4951d7a3b82b01b
this.entityData.set(Rabbit.DATA_TYPE_ID, rabbitType);
}
@@ -442,6 +446,16 @@ public class Rabbit extends Animal {
@@ -447,6 +451,16 @@ public class Rabbit extends Animal {
}
private int getRandomRabbitType(LevelAccessor world) {
@@ -38,10 +38,10 @@ index 29551a3b87f06c5876de5fda80615acf6c1f4764..8f99b4c28539c7c5a4951d7a3b82b01b
int i = this.random.nextInt(100);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d2772e9d8cc9027994e98633594f20dc58a652cf..c2a43e6f48da724ff737fec8d3bce0a3611b2465 100644
index dd1b2373a5fe8ec704b1daf8c68d64eca12ebcc1..f7bbeb345054b54c4448e4553b8673a485a9dd0d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -456,9 +456,13 @@ public class PurpurWorldConfig {
@@ -500,9 +500,13 @@ public class PurpurWorldConfig {
public boolean rabbitRidable = false;
public boolean rabbitRidableInWater = false;

View File

@@ -40,7 +40,7 @@ index 44aa0c4ec6f0e4df2541c74fa7de852dae59bda5..1b649cb81712bd145cbbb033bcdef6f1
this.entity.stopSeenByPlayer(player);
player.connection.send(new ClientboundRemoveEntityPacket(this.entity.getId()));
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 4bac9e7c419c43b163bda6d1cebaa4c5fe42317f..94eb70018300ffd0c0796481118dba5ae1d954e3 100644
index 7eb5e1b2cdc3abaefd1ea7d19a913269cfd81a1a..011b9e0a96d2ec0e07803cbdf21a5d4741964bfe 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -179,6 +179,11 @@ public class PurpurConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Tulips change fox type
diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java
index 6cc8f6ef75e4b8b4282e4f664a83ce6491042df1..97101e7e0442417b57e15d6ec76d2a4c88862c81 100644
index 9ce846d057a08b6a2b6576255bc55293707e3d24..d31b906c87e22f505bee22f21dd8ec1e047f6ffe 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Fox.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java
@@ -34,6 +34,7 @@ import net.minecraft.tags.Tag;
@@ -24,7 +24,7 @@ index 6cc8f6ef75e4b8b4282e4f664a83ce6491042df1..97101e7e0442417b57e15d6ec76d2a4c
import net.minecraft.world.level.pathfinder.BlockPathTypes;
import net.minecraft.world.phys.Vec3;
@@ -363,6 +365,11 @@ public class Fox extends Animal {
@@ -368,6 +370,11 @@ public class Fox extends Animal {
}
private void setTargetGoals() {
@@ -36,7 +36,7 @@ index 6cc8f6ef75e4b8b4282e4f664a83ce6491042df1..97101e7e0442417b57e15d6ec76d2a4c
if (this.getFoxType() == Fox.Type.RED) {
this.targetSelector.addGoal(4, this.landTargetGoal);
this.targetSelector.addGoal(4, this.turtleEggTargetGoal);
@@ -395,6 +402,7 @@ public class Fox extends Animal {
@@ -400,6 +407,7 @@ public class Fox extends Animal {
public void setFoxType(Fox.Type type) {
this.entityData.set(Fox.DATA_TYPE_ID, type.getId());
@@ -44,7 +44,7 @@ index 6cc8f6ef75e4b8b4282e4f664a83ce6491042df1..97101e7e0442417b57e15d6ec76d2a4c
}
List<UUID> getTrustedUUIDs() {
@@ -725,6 +733,29 @@ public class Fox extends Animal {
@@ -730,6 +738,29 @@ public class Fox extends Animal {
return this.getTrustedUUIDs().contains(uuid);
}
@@ -75,10 +75,10 @@ index 6cc8f6ef75e4b8b4282e4f664a83ce6491042df1..97101e7e0442417b57e15d6ec76d2a4c
// Paper start - Cancellable death event
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c2a43e6f48da724ff737fec8d3bce0a3611b2465..b949480d139ce6eb923c3efe788ac7a547f90c96 100644
index f7bbeb345054b54c4448e4553b8673a485a9dd0d..2dd3b5b00a4b392c3ec8edd95af0997e25628db8 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -247,9 +247,11 @@ public class PurpurWorldConfig {
@@ -291,9 +291,11 @@ public class PurpurWorldConfig {
public boolean foxRidable = false;
public boolean foxRidableInWater = false;

View File

@@ -5,15 +5,14 @@ Subject: [PATCH] Breedable Polar Bears
diff --git a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
index dc6bc8f10d147cb1d0e5c69b6f6df63b0e8d4531..652e8a43af5830a9bc5a6bdd00ebec5a6e07dc3c 100644
index 18780fb268cabb47bb0deb84c44520831c1a762b..d39c88af3882a09ff1a06f9052d7b9b8afdddda4 100644
--- a/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
+++ b/src/main/java/net/minecraft/world/entity/animal/PolarBear.java
@@ -88,6 +88,28 @@ public class PolarBear extends Animal implements NeutralMob {
}
return false;
@@ -93,6 +93,27 @@ public class PolarBear extends Animal implements NeutralMob {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.polarBearMaxHealth);
}
+
+ @Override
+ public boolean canMate(Animal other) {
+ if (other == this) {
+ return false;
@@ -37,7 +36,7 @@ index dc6bc8f10d147cb1d0e5c69b6f6df63b0e8d4531..652e8a43af5830a9bc5a6bdd00ebec5a
// Purpur end
@Override
@@ -97,7 +119,7 @@ public class PolarBear extends Animal implements NeutralMob {
@@ -102,7 +123,7 @@ public class PolarBear extends Animal implements NeutralMob {
@Override
public boolean isFood(ItemStack stack) {
@@ -46,7 +45,7 @@ index dc6bc8f10d147cb1d0e5c69b6f6df63b0e8d4531..652e8a43af5830a9bc5a6bdd00ebec5a
}
@Override
@@ -107,6 +129,12 @@ public class PolarBear extends Animal implements NeutralMob {
@@ -112,6 +133,12 @@ public class PolarBear extends Animal implements NeutralMob {
this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
this.goalSelector.addGoal(1, new PolarBear.PolarBearMeleeAttackGoal());
this.goalSelector.addGoal(1, new PolarBear.PolarBearPanicGoal());
@@ -60,10 +59,10 @@ index dc6bc8f10d147cb1d0e5c69b6f6df63b0e8d4531..652e8a43af5830a9bc5a6bdd00ebec5a
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D));
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b949480d139ce6eb923c3efe788ac7a547f90c96..3981e492b61d552735433fae05e13d1fe87637db 100644
index 2dd3b5b00a4b392c3ec8edd95af0997e25628db8..059133fafe70feae052920684ff179bba35943ad 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -446,9 +446,14 @@ public class PurpurWorldConfig {
@@ -490,9 +490,14 @@ public class PurpurWorldConfig {
public boolean polarBearRidable = false;
public boolean polarBearRidableInWater = false;

View File

@@ -5,23 +5,20 @@ Subject: [PATCH] Chickens can retaliate
diff --git a/src/main/java/net/minecraft/world/entity/animal/Chicken.java b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
index 771e55cceaf17167c00554b1be7043a4cb3efb7e..11bdc951087d8630a26f398f36a56a9e7c043d70 100644
index 55dccf338f9fba17fbcb88672d36b83e7bbec88b..eaec6eba96db3b8ce046208a4a1e5fc4b26b7dcc 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Chicken.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Chicken.java
@@ -62,19 +62,34 @@ public class Chicken extends Animal {
public boolean rideableUnderWater() {
return level.purpurConfig.chickenRidableInWater;
}
+
+ @Override
+ protected void initAttributes() {
@@ -66,6 +66,9 @@ public class Chicken extends Animal {
@Override
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.chickenMaxHealth);
+ if (level.purpurConfig.chickenRetaliate) {
+ this.getAttribute(Attributes.ATTACK_DAMAGE).setBaseValue(2.0D);
+ }
+ }
}
// Purpur end
@Override
@@ -73,13 +76,21 @@ public class Chicken extends Animal {
protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this));
this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
@@ -44,7 +41,7 @@ index 771e55cceaf17167c00554b1be7043a4cb3efb7e..11bdc951087d8630a26f398f36a56a9e
}
@Override
@@ -83,7 +98,7 @@ public class Chicken extends Animal {
@@ -88,7 +99,7 @@ public class Chicken extends Animal {
}
public static AttributeSupplier.Builder createAttributes() {
@@ -54,10 +51,10 @@ index 771e55cceaf17167c00554b1be7043a4cb3efb7e..11bdc951087d8630a26f398f36a56a9e
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3981e492b61d552735433fae05e13d1fe87637db..5154e14c88cf79c8da3290ff945fac0361e9e7c5 100644
index 059133fafe70feae052920684ff179bba35943ad..22053d59ba3842c9e7812336673c6bd430d2bbd7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -161,9 +161,11 @@ public class PurpurWorldConfig {
@@ -205,9 +205,11 @@ public class PurpurWorldConfig {
public boolean chickenRidable = false;
public boolean chickenRidableInWater = false;

View File

@@ -17,7 +17,7 @@ index 5fc66d7096afcfe63eba774e1dc330ac3263e4b0..7a3a364f5e3b025cc0a5694401cb9298
if (!this.canTick) {
if (this.noTickPoseDirty) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 615f7a3ccb925a8db52c5f2e4e0510f740784194..5d80cd3049e33d1bed7d347f4092a0ca476f711b 100644
index 22053d59ba3842c9e7812336673c6bd430d2bbd7..acb7b0600d563b0ca86a3bb1bac73ace5486f9f8 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -63,6 +63,11 @@ public class PurpurWorldConfig {

View File

@@ -49,19 +49,23 @@ index 4cab98b5e441a174482893d3d289bbafa1f7a5fc..fa3cdff99a16b67ed86c8f7940ffa139
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ea7da77cc31a2220609f760d5f454c455b50d416..1806b9121cc131e4d4f57f4da004666954be7268 100644
index acb7b0600d563b0ca86a3bb1bac73ace5486f9f8..70c72c00d85a6c089d3ec69be4af934f28bb50b5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -152,9 +152,15 @@ public class PurpurWorldConfig {
@@ -183,6 +183,9 @@ public class PurpurWorldConfig {
public boolean catRidable = false;
public boolean catRidableInWater = false;
public double catMaxHealth = 10.0D;
+ public int catSpawnDelay = 1200;
+ public int catSpawnSwampHutScanRange = 16;
+ public int catSpawnVillageScanRange = 48;
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -192,6 +195,9 @@ public class PurpurWorldConfig {
set("mobs.cat.attributes.max_health", oldValue);
}
catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth);
+ catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
+ catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
+ catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Cows eat mushrooms
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java
index 1cb5342d63011605b567a4fe16d07de831f04216..a1f498081cb9e198f8796d800c6d130b30256098 100644
index bee82d5bf600cbeacfcede600e5606529af1435e..9da76357da891a70e20ad80f50873b3b487dc84c 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java
@@ -1,6 +1,7 @@
@@ -24,7 +24,7 @@ index 1cb5342d63011605b567a4fe16d07de831f04216..a1f498081cb9e198f8796d800c6d130b
import net.minecraft.world.level.block.state.BlockState;
// CraftBukkit start
import org.bukkit.craftbukkit.event.CraftEventFactory;
@@ -58,6 +60,7 @@ public class Cow extends Animal {
@@ -63,6 +65,7 @@ public class Cow extends Animal {
this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur
this.goalSelector.addGoal(1, new PanicGoal(this, 2.0D));
this.goalSelector.addGoal(2, new BreedGoal(this, 1.0D));
@@ -32,7 +32,7 @@ index 1cb5342d63011605b567a4fe16d07de831f04216..a1f498081cb9e198f8796d800c6d130b
this.goalSelector.addGoal(3, new TemptGoal(this, 1.25D, Ingredient.of(Items.WHEAT), false));
this.goalSelector.addGoal(4, new FollowParentGoal(this, 1.25D));
this.goalSelector.addGoal(5, new WaterAvoidingRandomStrollGoal(this, 1.0D));
@@ -113,11 +116,80 @@ public class Cow extends Animal {
@@ -118,11 +121,80 @@ public class Cow extends Animal {
player.setItemInHand(hand, itemstack1);
return InteractionResult.sidedSuccess(this.level.isClientSide);
@@ -114,10 +114,10 @@ index 1cb5342d63011605b567a4fe16d07de831f04216..a1f498081cb9e198f8796d800c6d130b
public Cow getBreedOffspring(ServerLevel world, AgeableMob entity) {
return (Cow) EntityType.COW.create((Level) world);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 1806b9121cc131e4d4f57f4da004666954be7268..e9a00422f9952c98d04c0cbb2ea32ea6231f50ed 100644
index 70c72c00d85a6c089d3ec69be4af934f28bb50b5..5ce2b7699b76de825f4c2235bbceffd459ac6314 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -186,9 +186,11 @@ public class PurpurWorldConfig {
@@ -230,9 +230,11 @@ public class PurpurWorldConfig {
public boolean cowRidable = false;
public boolean cowRidableInWater = false;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix cow rotation when shearing mooshroom
diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
index 0e066782ee09bb5626715bcc500bc04f2252bc2e..00f9553c5c653517b3e0c1c7d6b2ec4b7bd34b59 100644
index e08618d418f44789441177e6ac5877e5e10207a8..e7818390e6b8130312fc5a607fae1d1fc094a36a 100644
--- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
+++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java
@@ -187,7 +187,13 @@ public class MushroomCow extends Cow implements Shearable {
@@ -192,7 +192,13 @@ public class MushroomCow extends Cow implements Shearable {
entitycow.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
entitycow.setHealth(this.getHealth());

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Pigs give saddle back
diff --git a/src/main/java/net/minecraft/world/entity/animal/Pig.java b/src/main/java/net/minecraft/world/entity/animal/Pig.java
index 80c8ceda47bf8b3ff370f89a61aa01869d606ee6..ff3f8ba62eb086fbb007853535aafd085578ea21 100644
index f4a099e691dce3c57069e76d67859161b459098e..518d28dc0b5b8c04263c93a4347e4c971a1318d8 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Pig.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Pig.java
@@ -168,6 +168,18 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
@@ -173,6 +173,18 @@ public class Pig extends Animal implements ItemSteerable, Saddleable {
if (!flag && this.isSaddled() && !this.isVehicle() && !player.isSecondaryUseActive()) {
if (!this.level.isClientSide) {
@@ -28,10 +28,10 @@ index 80c8ceda47bf8b3ff370f89a61aa01869d606ee6..ff3f8ba62eb086fbb007853535aafd08
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 0c7463c1d5c894c2d2bc9b6e422432e086a01446..84521916de0ce95333e95f458aac2a98e2ca1db0 100644
index 5ce2b7699b76de825f4c2235bbceffd459ac6314..e557db7413fa42c2e1d90dca60feb7e577e91e32 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -433,9 +433,11 @@ public class PurpurWorldConfig {
@@ -477,9 +477,11 @@ public class PurpurWorldConfig {
public boolean pigRidable = false;
public boolean pigRidableInWater = false;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Snowman drop and put back pumpkin
diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
index a76f3c1c409dc96f7033be8a7eeb06617053735b..06b6afe0724b2738b350cc671bb3cb2570b1dbad 100644
index 7fbe1a62e9c67a8bdaf13aaa9fae1d8742d75148..0733f9c057fef17fd79a4769f19b78f4c83a7784 100644
--- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
+++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java
@@ -179,6 +179,14 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@@ -184,6 +184,14 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
}
return InteractionResult.sidedSuccess(this.level.isClientSide);
@@ -23,7 +23,7 @@ index a76f3c1c409dc96f7033be8a7eeb06617053735b..06b6afe0724b2738b350cc671bb3cb25
} else {
return tryRide(player, hand); // Purpur
}
@@ -189,6 +197,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
@@ -194,6 +202,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM
this.level.playSound((Player) null, (Entity) this, SoundEvents.SNOW_GOLEM_SHEAR, shearedSoundCategory, 1.0F, 1.0F);
if (!this.level.isClientSide()) {
this.setPumpkin(false);
@@ -32,10 +32,10 @@ index a76f3c1c409dc96f7033be8a7eeb06617053735b..06b6afe0724b2738b350cc671bb3cb25
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 84521916de0ce95333e95f458aac2a98e2ca1db0..6759bc46553d6fedb90597d73935d6255dbe5240 100644
index e557db7413fa42c2e1d90dca60feb7e577e91e32..3ae3e6805ad9fa9c6cb3c39622a4376c39e432a5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -546,10 +546,14 @@ public class PurpurWorldConfig {
@@ -590,10 +590,14 @@ public class PurpurWorldConfig {
public boolean snowGolemRidable = false;
public boolean snowGolemRidableInWater = false;
public boolean snowGolemLeaveTrailWhenRidden = false;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Ender dragon always drop full exp
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index a1a64591e6a6fb8a4550b91f89e3cdbd35c6d249..3fd2d29e756d35a25e0cdd2ef10a5f1f48c230c0 100644
index 1f40e8d1e73fec0aaee29c658e3d24f499fa9501..1e97d52e02d401c905e1dfcd758c63e44857835b 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -704,7 +704,7 @@ public class EnderDragon extends Mob implements Enemy {
@@ -709,7 +709,7 @@ public class EnderDragon extends Mob implements Enemy {
boolean flag = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT);
short short0 = 500;
@@ -18,10 +18,10 @@ index a1a64591e6a6fb8a4550b91f89e3cdbd35c6d249..3fd2d29e756d35a25e0cdd2ef10a5f1f
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 6759bc46553d6fedb90597d73935d6255dbe5240..6d88e8011add9c54470ab122aee325764e22bb2f 100644
index 3ae3e6805ad9fa9c6cb3c39622a4376c39e432a5..59f8466225e73a794bdfc42a5a65546f5bdaea02 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -233,10 +233,12 @@ public class PurpurWorldConfig {
@@ -277,10 +277,12 @@ public class PurpurWorldConfig {
public boolean enderDragonRidable = false;
public boolean enderDragonRidableInWater = false;
public double enderDragonMaxY = 256D;

View File

@@ -35,7 +35,7 @@ index 1844ea93f8cea420f01937f85ed17c0ec1bb8bf0..9e80ba8970cad91ea22ac701f76e1413
} else {
return InteractionResult.PASS;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 190c1d8878eb4d533d31c6b803b951cdf9747450..b9447c92151a8508806d16f81c5f57debf90481b 100644
index 59f8466225e73a794bdfc42a5a65546f5bdaea02..f65d94bc58267223fa4511849fedd86efe86abc9 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -109,6 +109,11 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Signs allow color codes
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 4816fd89517802dd00b37385d92e6711678ae373..2bf59d615800e9ccecf0f9fb5922a5733c68d188 100644
index 4ab52c4bca5c938ef8667acfb41bcceec1c5a89b..e62e97066015943a61eb658890f23d293fb58a89 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1458,6 +1458,7 @@ public class ServerPlayer extends Player {
@@ -77,7 +77,7 @@ index 9b5d11ece006d7aa893360a84ba652c666517ac1..3373c21f90eb08e2bfbb71bc348d085a
@Override
public ClientboundBlockEntityDataPacket getUpdatePacket() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b9447c92151a8508806d16f81c5f57debf90481b..6d7f140dfe4cd66811d2504f025a4d6808e77c20 100644
index f65d94bc58267223fa4511849fedd86efe86abc9..1c3733e62532d6a3b47d3d661ff8ee08009e1f7c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -109,8 +109,10 @@ public class PurpurWorldConfig {

View File

@@ -36,7 +36,7 @@ index aa1ba8b74ab70b6cede99e4853ac0203f388ab06..97e5cb4fd9f97c0bfa9d66c0ceac84e1
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3a9efffb7579665e7360bfcaf4ba390aca3201cb..42cf3dc7185408964e226c1fa41e4587c785e045 100644
index 1c3733e62532d6a3b47d3d661ff8ee08009e1f7c..2a07aa849fea849bc6295c526516bde8643ef8ec 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -109,6 +109,11 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Minecart settings and WASD controls
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 2bf59d615800e9ccecf0f9fb5922a5733c68d188..ab3a0f5af549fed0e048db93c03b1da9b9f0429f 100644
index e62e97066015943a61eb658890f23d293fb58a89..bf0b2fd772c162110ba103f16b3658a9d9ee6172 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -985,6 +985,7 @@ public class ServerPlayer extends Player {
@@ -148,7 +148,7 @@ index 933448659367b5f0b323bd91992fc9b59314b8a1..572e5f32a3c5aaffcec31da0cff9151e
protected final float explosionResistance;
protected final boolean isRandomlyTicking;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3cb91a8bc2dda2245993b0b484dee974e024755b..91bfba8f10ee60af5eaf9e95a1b2eb9437820b80 100644
index 2a07aa849fea849bc6295c526516bde8643ef8ec..8b8bf5e62dd702a8e92c95eba8b7603bc48f80dc 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -4,10 +4,15 @@ import net.minecraft.core.Registry;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Disable loot drops on death by cramming
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index c150a898c60a3477012e7d49e30f98cfcdc27247..e208c49adff06626ea64fa7d69e2e389f722461f 100644
index 71eb28891941f28bc3bcf065bf734d3fb6e8e88a..95e1fa6fa3327e1ea3553128806befccd02828a0 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1700,8 +1700,10 @@ public abstract class LivingEntity extends Entity {
@@ -20,7 +20,7 @@ index c150a898c60a3477012e7d49e30f98cfcdc27247..e208c49adff06626ea64fa7d69e2e389
// CraftBukkit start - Call death event
org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops); // Paper
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 91bfba8f10ee60af5eaf9e95a1b2eb9437820b80..d22871c0ba693af412fbcf842a3a6151777696ed 100644
index 8b8bf5e62dd702a8e92c95eba8b7603bc48f80dc..9037c9d52bacc4ecf4cf40908120299f36d6d008 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -73,6 +73,11 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Players should not cram to death
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index ab3a0f5af549fed0e048db93c03b1da9b9f0429f..eaaba6db13ac46c908b0fb52d4c41dfa71a58a10 100644
index bf0b2fd772c162110ba103f16b3658a9d9ee6172..24fb9596b86f37bf47f1661e85660a73618bc0a5 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -1435,7 +1435,7 @@ public class ServerPlayer extends Player {

View File

@@ -28,7 +28,7 @@ index f33977d95b6db473be4f95075ba99caf90ad0220..56dc04d8875971ee9a5d077a695509af
return stack.isEmpty() ? new ItemStack(Items.BUCKET) : stack;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d22871c0ba693af412fbcf842a3a6151777696ed..4d9c39e78f26ffb43d36a8c729bfd4ed136ff619 100644
index 9037c9d52bacc4ecf4cf40908120299f36d6d008..7777cbcb5d001099ab77503355067dda03318225 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -74,8 +74,10 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Fix the dead lagging the server
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index aaaf5d49972ab608473637dc884dd0c802deaae0..6f5db4ea95603390912cb8c43543586449e6c55f 100644
index 5e9b67f0a5a8052b3f769b4a66b5c230401bd57f..a57640ba4d1c9f3d9b34d35d181d560dcbfb6994 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -1549,6 +1549,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -17,7 +17,7 @@ index aaaf5d49972ab608473637dc884dd0c802deaae0..6f5db4ea95603390912cb8c435435864
public void absMoveTo(double x, double y, double z) {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 422dc879c7554f5dbffd260dd60ef1cdb5d880a8..8e6a70ce404f499d7bbf26ebc5819ca88a6a7f53 100644
index 95e1fa6fa3327e1ea3553128806befccd02828a0..151951df341b0f875610928aeb86c856325d5fa1 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2877,7 +2877,7 @@ public abstract class LivingEntity extends Entity {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add wither skeleton takes wither damage option
diff --git a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
index 033d6389e4b7d986fc63abd67e325b68a6132824..f290c7b50c48b798697c49c73870045733a37362 100644
index 8212ee2cc1242c0a3626f3643c455f3be0de18c2..aaf6f43c0f37a51a7b2db57b8da4336530664afe 100644
--- a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
+++ b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java
@@ -122,6 +122,6 @@ public class WitherSkeleton extends AbstractSkeleton {
@@ -139,6 +139,6 @@ public class WitherSkeleton extends AbstractSkeleton {
@Override
public boolean canBeAffected(MobEffectInstance effect) {
@@ -17,10 +17,10 @@ index 033d6389e4b7d986fc63abd67e325b68a6132824..f290c7b50c48b798697c49c738700457
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b811b3db05e1bcc0fe5d641c6fa81cb4b1db9186..aa6e3b192fe80339df00c909d101449023d8f71f 100644
index 7777cbcb5d001099ab77503355067dda03318225..b5f2d7f43aa6ec02e7ad920794d2c1ad0997cfe1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -747,9 +747,11 @@ public class PurpurWorldConfig {
@@ -791,9 +791,11 @@ public class PurpurWorldConfig {
public boolean witherSkeletonRidable = false;
public boolean witherSkeletonRidableInWater = false;

View File

@@ -24,7 +24,7 @@ index ba70f1276215620c75cda410ac5acb60c51ffcac..8e8980ef7b2273da6e7dbf4d8d5eb952
this.profiler.pop();
this.endMetricsRecordingTick();
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 94eb70018300ffd0c0796481118dba5ae1d954e3..122e24306370c09a82716daf0c372bf0d6ce8dbe 100644
index 011b9e0a96d2ec0e07803cbdf21a5d4741964bfe..9ea32dd95a57ba485d57ac919423bd75c90eb343 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -190,4 +190,9 @@ public class PurpurConfig {

View File

@@ -18,7 +18,7 @@ index c95eef8596fe3e1ca83e620a6c54b164c797cbe1..1e6a5404d767318de29184b3e3a2bc41
if (!this.level.isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) {
this.spawnAtLocation(this.getPickupItem(), 0.1F);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 23b2895a3dd3e4d242ce11f89d4dad1c05e606fc..c828459bc986aace14516985bc82f170bf34884c 100644
index b5f2d7f43aa6ec02e7ad920794d2c1ad0997cfe1..748b35bb1cdf30d9fcb2ddc4135dc30e778c15be 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -75,9 +75,11 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add enderman and creeper griefing controls
diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
index f8fba694d53356036e302f66cfe92b15726242dc..72edd66a7e0b46b9575982210d8c9af03310c8d2 100644
index b2b3630a90c685b0a692efb9bf8bb111e321c9d1..c7554c6c1a1787d976ad1fe0c78d86562464947e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java
@@ -336,7 +336,7 @@ public class Creeper extends Monster implements PowerableMob {
@@ -340,7 +340,7 @@ public class Creeper extends Monster implements PowerableMob {
public void explodeCreeper() {
if (!this.level.isClientSide) {
@@ -18,10 +18,10 @@ index f8fba694d53356036e302f66cfe92b15726242dc..72edd66a7e0b46b9575982210d8c9af0
// CraftBukkit start
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index a9c247d9c1f1eddd8ef884c0c8d80dee3bb4bf68..b774647be64884e3334db2b395bf21e948494c80 100644
index 6cd8aa2305ff682d4e34b1c445cae3e486292b84..1621070f24eb70d55ee802cfbea831598102a807 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -469,6 +469,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -474,6 +474,7 @@ public class EnderMan extends Monster implements NeutralMob {
@Override
public boolean canUse() {
@@ -29,7 +29,7 @@ index a9c247d9c1f1eddd8ef884c0c8d80dee3bb4bf68..b774647be64884e3334db2b395bf21e9
return this.enderman.getCarriedBlock() == null ? false : (!this.enderman.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) ? false : this.enderman.getRandom().nextInt(2000) == 0);
}
@@ -516,6 +517,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -521,6 +522,7 @@ public class EnderMan extends Monster implements NeutralMob {
@Override
public boolean canUse() {
@@ -38,10 +38,10 @@ index a9c247d9c1f1eddd8ef884c0c8d80dee3bb4bf68..b774647be64884e3334db2b395bf21e9
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7be145b284b0e618e9f52645a1e81c30e91ed186..f9756ee33ccfb011bda5c8b923d237d43e3a4093 100644
index 748b35bb1cdf30d9fcb2ddc4135dc30e778c15be..47595b21ff7aad2b0066563bb137f57d3f00fd8e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -284,10 +284,12 @@ public class PurpurWorldConfig {
@@ -328,10 +328,12 @@ public class PurpurWorldConfig {
public boolean creeperRidable = false;
public boolean creeperRidableInWater = false;
public double creeperChargedChance = 0.0D;
@@ -54,7 +54,7 @@ index 7be145b284b0e618e9f52645a1e81c30e91ed186..f9756ee33ccfb011bda5c8b923d237d4
}
public boolean dolphinRidable = false;
@@ -331,9 +333,11 @@ public class PurpurWorldConfig {
@@ -375,9 +377,11 @@ public class PurpurWorldConfig {
public boolean endermanRidable = false;
public boolean endermanRidableInWater = false;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Entities pick up loot bypass mob-griefing gamerule
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 9438a6dfee9e3a2a4b781eff63332386fb7d6b13..f605b87f8d0ea0f3646ab856e8fbf12a25c24594 100644
index 4c0a0ac37f59f636947f21acfd3c3b5f0d8e8b0c..454c124d1fd21f67795027e55063b08a331adf5f 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -621,7 +621,7 @@ public abstract class Mob extends LivingEntity {
@@ -18,7 +18,7 @@ index 9438a6dfee9e3a2a4b781eff63332386fb7d6b13..f605b87f8d0ea0f3646ab856e8fbf12a
Iterator iterator = list.iterator();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 60ea12540d41e6df52f2cf1f076c442501619148..f108149ca5588624a3e69e4351db9191b414aa26 100644
index 47595b21ff7aad2b0066563bb137f57d3f00fd8e..f4de879950e02e89408ac039c22ad3e31f81e706 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -74,10 +74,12 @@ public class PurpurWorldConfig {

View File

@@ -18,10 +18,10 @@ index 41b5652578e4a703cb6f03e82654b27ea6302b99..2d83b7252814a3a921db32a62f6bfb71
} else if (entity.getVillagerData().getProfession() != VillagerProfession.FARMER) {
return false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f108149ca5588624a3e69e4351db9191b414aa26..53553a5aa2d7571fef895026f30dd4404101d5a3 100644
index f4de879950e02e89408ac039c22ad3e31f81e706..0d2ac773d3199e999b08a5e11779f71b095f3ea9 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -716,11 +716,13 @@ public class PurpurWorldConfig {
@@ -760,11 +760,13 @@ public class PurpurWorldConfig {
public boolean villagerRidableInWater = false;
public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true;

View File

@@ -5,83 +5,46 @@ Subject: [PATCH] Villagers follow emerald blocks
diff --git a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java
index e59a77c80a1bbe62aaa61bd4792d21b12c895a5c..760546b954c221e1e138891c7684921682d5f24a 100644
index e59a77c80a1bbe62aaa61bd4792d21b12c895a5c..44e9d6d0b80203b152957efef953c2fa1c9f3146 100644
--- a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java
@@ -28,11 +28,13 @@ import net.minecraft.world.entity.SlotAccess;
import net.minecraft.world.entity.SpawnGroupData;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
+import net.minecraft.world.item.crafting.Ingredient;
import net.minecraft.world.item.trading.Merchant;
import net.minecraft.world.item.trading.MerchantOffer;
import net.minecraft.world.item.trading.MerchantOffers;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.ServerLevelAccessor;
+import net.minecraft.world.level.block.Blocks;
import net.minecraft.world.level.pathfinder.BlockPathTypes;
import net.minecraft.world.phys.Vec3;
// CraftBukkit start
@@ -44,6 +46,8 @@ import org.bukkit.event.entity.VillagerAcquireTradeEvent;
@@ -43,6 +43,7 @@ import org.bukkit.event.entity.VillagerAcquireTradeEvent;
// CraftBukkit end
public abstract class AbstractVillager extends AgeableMob implements InventoryCarrier, Npc, Merchant {
+ static final net.minecraft.world.item.crafting.Ingredient TEMPT_ITEMS = net.minecraft.world.item.crafting.Ingredient.of(net.minecraft.world.level.block.Blocks.EMERALD_BLOCK.asItem()); // Purpur
+ static final Ingredient TEMPT_ITEMS = Ingredient.of(Blocks.EMERALD_BLOCK.asItem()); // Purpur
+
// CraftBukkit start
private CraftMerchant craftMerchant;
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index d9d12330e84f204f96761051e1d92984d8a96330..897dcb4eb6e5530fb612e16551eb9e4f457985f5 100644
index a04807d1c1fde2978acee935c84eb8fa5b32e4a9..67b325b57eb449dea9df001d29102d6e6432caab 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -62,6 +62,7 @@ import net.minecraft.world.entity.ai.Brain;
import net.minecraft.world.entity.ai.attributes.AttributeSupplier;
import net.minecraft.world.entity.ai.attributes.Attributes;
import net.minecraft.world.entity.ai.behavior.VillagerGoalPackages;
+import net.minecraft.world.entity.ai.goal.TemptGoal;
import net.minecraft.world.entity.ai.gossip.GossipContainer;
import net.minecraft.world.entity.ai.gossip.GossipType;
import net.minecraft.world.entity.ai.memory.MemoryModuleType;
@@ -157,6 +158,13 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
this.brainTickOffset = getRandom().nextInt(100); // Purpur
@@ -171,6 +171,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@Override
protected void registerGoals() {
this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this));
+ if (level.purpurConfig.villagerFollowEmeraldBlock) this.goalSelector.addGoal(3, new net.minecraft.world.entity.ai.goal.TemptGoal(this, 1.0D, TEMPT_ITEMS, false));
}
+ // Purpur start
+ @Override
+ protected void registerGoals() {
+ if (level.purpurConfig.villagerFollowEmeraldBlock) this.goalSelector.addGoal(3, new TemptGoal(this, 1.0D, TEMPT_ITEMS, false));
+ }
+ // Purpur end
+
@Override
public Brain<Villager> getBrain() {
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index c4f7c94255e4631a3c0355f9260132ba28296f50..05fc739b8dfe2ec74a2b070f5cdcd945f5b04b1a 100644
index d2588a91b55aebdecf8e1644498111ccf84a9dc9..393061e13375bf7a7ee57973b4abac83ffa15fa3 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -25,6 +25,7 @@ import net.minecraft.world.entity.ai.goal.LookAtPlayerGoal;
import net.minecraft.world.entity.ai.goal.LookAtTradingPlayerGoal;
import net.minecraft.world.entity.ai.goal.MoveTowardsRestrictionGoal;
import net.minecraft.world.entity.ai.goal.PanicGoal;
+import net.minecraft.world.entity.ai.goal.TemptGoal;
import net.minecraft.world.entity.ai.goal.TradeWithPlayerGoal;
import net.minecraft.world.entity.ai.goal.UseItemGoal;
import net.minecraft.world.entity.ai.goal.WaterAvoidingRandomStrollGoal;
@@ -87,6 +88,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
@@ -104,6 +104,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
this.goalSelector.addGoal(1, new PanicGoal(this, 0.5D));
this.goalSelector.addGoal(1, new LookAtTradingPlayerGoal(this));
this.goalSelector.addGoal(2, new WanderingTrader.WanderToPositionGoal(this, 2.0D, 0.35D));
+ if (level.purpurConfig.wanderingTraderFollowEmeraldBlock) this.goalSelector.addGoal(3, new TemptGoal(this, 1.0D, TEMPT_ITEMS, false)); // Purpur
+ if (level.purpurConfig.wanderingTraderFollowEmeraldBlock) this.goalSelector.addGoal(3, new net.minecraft.world.entity.ai.goal.TemptGoal(this, 1.0D, TEMPT_ITEMS, false)); // Purpur
this.goalSelector.addGoal(4, new MoveTowardsRestrictionGoal(this, 0.35D));
this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F));
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 53553a5aa2d7571fef895026f30dd4404101d5a3..a53f827843407ae4c8c6252796af66da41683caa 100644
index 0d2ac773d3199e999b08a5e11779f71b095f3ea9..55f48bcb65bc5ab30f1251a7aa014eeadae76b97 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -717,12 +717,14 @@ public class PurpurWorldConfig {
@@ -761,12 +761,14 @@ public class PurpurWorldConfig {
public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
public boolean villagerFarmingBypassMobGriefing = false;
@@ -96,7 +59,7 @@ index 53553a5aa2d7571fef895026f30dd4404101d5a3..a53f827843407ae4c8c6252796af66da
}
public boolean vindicatorRidable = false;
@@ -734,9 +736,11 @@ public class PurpurWorldConfig {
@@ -778,9 +780,11 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidable = false;
public boolean wanderingTraderRidableInWater = false;

View File

@@ -5,40 +5,24 @@ Subject: [PATCH] Allow leashing villagers
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 454c124d1fd21f67795027e55063b08a331adf5f..3348c6b27d2a39f66dbaf3f2920160d9d56705aa 100644
index 454c124d1fd21f67795027e55063b08a331adf5f..ec416bf26b599099789c619d05cbd6d03816f68f 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -47,6 +47,7 @@ import net.minecraft.world.entity.decoration.HangingEntity;
import net.minecraft.world.entity.decoration.LeashFenceKnotEntity;
import net.minecraft.world.entity.item.ItemEntity;
import net.minecraft.world.entity.monster.Enemy;
+import net.minecraft.world.entity.npc.AbstractVillager;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.vehicle.Boat;
import net.minecraft.world.item.ArmorItem;
@@ -1209,6 +1210,7 @@ public abstract class Mob extends LivingEntity {
@@ -1209,6 +1209,7 @@ public abstract class Mob extends LivingEntity {
if (!this.isAlive()) {
return InteractionResult.PASS;
} else if (this.getLeashHolder() == player) {
+ if (hand == InteractionHand.OFF_HAND && (level.purpurConfig.villagerCanBeLeashed || level.purpurConfig.wanderingTraderCanBeLeashed) && this instanceof AbstractVillager) return InteractionResult.CONSUME; // Purpur
+ if (hand == InteractionHand.OFF_HAND && (level.purpurConfig.villagerCanBeLeashed || level.purpurConfig.wanderingTraderCanBeLeashed) && this instanceof net.minecraft.world.entity.npc.AbstractVillager) return InteractionResult.CONSUME; // Purpur
// CraftBukkit start - fire PlayerUnleashEntityEvent
// Paper start - drop leash variable
org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, !player.getAbilities().instabuild);
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 897dcb4eb6e5530fb612e16551eb9e4f457985f5..20cb368076017e6dfc28ef4c2af778c0971e8462 100644
index 67b325b57eb449dea9df001d29102d6e6432caab..273bc35fbd90fd712a7fc3bcf985d1ee315078d4 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -76,6 +76,7 @@ import net.minecraft.world.entity.ai.village.poi.PoiManager;
import net.minecraft.world.entity.ai.village.poi.PoiType;
import net.minecraft.world.entity.animal.IronGolem;
import net.minecraft.world.entity.item.ItemEntity;
+import net.minecraft.world.entity.monster.Enemy;
import net.minecraft.world.entity.monster.Witch;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.raid.Raid;
@@ -163,6 +164,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
protected void registerGoals() {
if (level.purpurConfig.villagerFollowEmeraldBlock) this.goalSelector.addGoal(3, new TemptGoal(this, 1.0D, TEMPT_ITEMS, false));
@@ -178,6 +178,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.villagerMaxHealth);
}
+
+ @Override
@@ -49,28 +33,26 @@ index 897dcb4eb6e5530fb612e16551eb9e4f457985f5..20cb368076017e6dfc28ef4c2af778c0
@Override
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
index 05fc739b8dfe2ec74a2b070f5cdcd945f5b04b1a..f879faf7ebe01697ab36247dacdd46d4b4fbb77e 100644
index 393061e13375bf7a7ee57973b4abac83ffa15fa3..c48935d35a6141c41db22e3ec172d5994fd317a2 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -95,6 +95,13 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
this.goalSelector.addGoal(10, new LookAtPlayerGoal(this, Mob.class, 8.0F));
@@ -82,6 +82,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
public void initAttributes() {
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.wanderingTraderMaxHealth);
}
+ // Purpur start
+
+ @Override
+ public boolean canBeLeashed(Player player) {
+ return level.purpurConfig.wanderingTraderCanBeLeashed && !this.isLeashed();
+ }
+ // Purpur end
+
@Nullable
// Purpur end
@Override
public AgeableMob getBreedOffspring(ServerLevel world, AgeableMob entity) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7661b2e30ff3deaa574b6327582c7463608d14ff..18283fbbec790955a1f0d2e9e5ebf991f19ae763 100644
index 55f48bcb65bc5ab30f1251a7aa014eeadae76b97..438dcf442871ba9fdb6e43146da999789e93a402 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -718,6 +718,7 @@ public class PurpurWorldConfig {
@@ -762,6 +762,7 @@ public class PurpurWorldConfig {
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
public boolean villagerFarmingBypassMobGriefing = false;
public boolean villagerFollowEmeraldBlock = false;
@@ -78,7 +60,7 @@ index 7661b2e30ff3deaa574b6327582c7463608d14ff..18283fbbec790955a1f0d2e9e5ebf991
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -725,6 +726,7 @@ public class PurpurWorldConfig {
@@ -769,6 +770,7 @@ public class PurpurWorldConfig {
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
@@ -86,7 +68,7 @@ index 7661b2e30ff3deaa574b6327582c7463608d14ff..18283fbbec790955a1f0d2e9e5ebf991
}
public boolean vindicatorRidable = false;
@@ -737,10 +739,12 @@ public class PurpurWorldConfig {
@@ -781,10 +783,12 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidable = false;
public boolean wanderingTraderRidableInWater = false;
public boolean wanderingTraderFollowEmeraldBlock = false;

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Implement configurable search radius for villagers to spawn
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 20cb368076017e6dfc28ef4c2af778c0971e8462..88d6b1596463d86f6e4e67da54f16da14b8563bc 100644
index 273bc35fbd90fd712a7fc3bcf985d1ee315078d4..e338671b165c13d4f905a012e0660af255a4206a 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -1018,6 +1018,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -1033,6 +1033,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@Nullable
private IronGolem trySpawnGolem(ServerLevel world) {
@@ -18,10 +18,10 @@ index 20cb368076017e6dfc28ef4c2af778c0971e8462..88d6b1596463d86f6e4e67da54f16da1
for (int i = 0; i < 10; ++i) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ab902dc191c7bb0d90e7f3e6b045a017c8b50577..6416319ebbf7822750f317b803eef9dbeefa7480 100644
index 438dcf442871ba9fdb6e43146da999789e93a402..e5fb0158cc00b55ba10954765d5b1de2027071c1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -719,6 +719,8 @@ public class PurpurWorldConfig {
@@ -763,6 +763,8 @@ public class PurpurWorldConfig {
public boolean villagerFarmingBypassMobGriefing = false;
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
@@ -30,7 +30,7 @@ index ab902dc191c7bb0d90e7f3e6b045a017c8b50577..6416319ebbf7822750f317b803eef9db
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -727,6 +729,8 @@ public class PurpurWorldConfig {
@@ -771,6 +773,8 @@ public class PurpurWorldConfig {
villagerFarmingBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerFarmingBypassMobGriefing);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);

View File

@@ -58,7 +58,7 @@ index 695783e64564b1d2a178d57a89737d2a97ab9014..cd1a33a1f10d04a91358f51d736bda34
protected boolean canConvertToSource() {
return false;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index da5a59e87db5374b7113a8515cbe134fca7a2917..a961d47c7db79c02fb58a258ab2367e621231886 100644
index e5fb0158cc00b55ba10954765d5b1de2027071c1..79867f854d3adaad59d89e945820446563f0355c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -192,6 +192,13 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index cd1a33a1f10d04a91358f51d736bda34110324c4..b0d671ba015d1ad37fdf600b8e70def2
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a961d47c7db79c02fb58a258ab2367e621231886..be27a1c47d17992cfc7927fc5f0e5df23a225d96 100644
index 79867f854d3adaad59d89e945820446563f0355c..39d9a52cbeb9562baedf857514a8351afad9292c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -194,9 +194,13 @@ public class PurpurWorldConfig {

View File

@@ -5,18 +5,18 @@ Subject: [PATCH] Add player death exp control options
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 686f64000ca633fe58d8d479ef3c8462052ec9c5..b7d572b2ce34f9b856e023fd90d1c7999fc448e5 100644
index 721767812c765ac70c66f5445950c39167f344de..3fd54f7d0f3372d83ccd135db44870fbe926c026 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -196,6 +196,8 @@ public abstract class Player extends LivingEntity {
public abstract void resetLastActionTime();
@@ -194,6 +194,8 @@ public abstract class Player extends LivingEntity {
// CraftBukkit end
// Purpur start
+ private javax.script.ScriptEngine scriptEngine = new javax.script.ScriptEngineManager().getEngineByName("rhino");
+
public void setAfk(boolean afk) {
}
public abstract void resetLastActionTime();
public void setAfk(boolean afk) {
@@ -1899,9 +1901,18 @@ public abstract class Player extends LivingEntity {
@Override
protected int getExperienceReward(Player player) {
@@ -40,7 +40,7 @@ index 686f64000ca633fe58d8d479ef3c8462052ec9c5..b7d572b2ce34f9b856e023fd90d1c799
return 0;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 46ce3d663b7bbcc7bb40964245ddf0350081d000..b36f3a38ec80db8fef2850a37e839b9d1492d730 100644
index 39d9a52cbeb9562baedf857514a8351afad9292c..65961eef74c0ae0ef49d1b7e44deafefaf6dbb26 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -146,6 +146,13 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable void damage height and damage
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 227db0f572d96072f6a1e3e3ecaab8a2b588348e..717c4c9a0545e5217ee59b84849bc32733019ad1 100644
index a57640ba4d1c9f3d9b34d35d181d560dcbfb6994..e617f1acd2d73c35d293580b27bbd9a49b569e21 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -698,7 +698,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -18,7 +18,7 @@ index 227db0f572d96072f6a1e3e3ecaab8a2b588348e..717c4c9a0545e5217ee59b84849bc327
&& this.getY() >= this.level.paperConfig.netherVoidTopDamageHeight)) {
// Paper end
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 3ebecde8d723b5dc391dc4589cb5ecc5995ea640..09e783519a4e73db804c68510dbb37341dca487d 100644
index 151951df341b0f875610928aeb86c856325d5fa1..43251cd32e7045807ef46033345bff5be56fbd97 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -2381,7 +2381,7 @@ public abstract class LivingEntity extends Entity {
@@ -31,7 +31,7 @@ index 3ebecde8d723b5dc391dc4589cb5ecc5995ea640..09e783519a4e73db804c68510dbb3734
protected void updateSwingTime() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b36f3a38ec80db8fef2850a37e839b9d1492d730..669c03fb31ece7c79100c9c85086b021eaaa0508 100644
index 65961eef74c0ae0ef49d1b7e44deafefaf6dbb26..88f174409959a07b404fd802569024a46040ec39 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -77,11 +77,15 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add canSaveToDisk to Entity
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 0ca18754b27b8e9dfab9ebf20d1677c66482fb17..3eebc432befec2223e487a6bd48f30d2160feb0a 100644
index e617f1acd2d73c35d293580b27bbd9a49b569e21..73d1efb6eb6a96368db57f316867cfc027159056 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4058,5 +4058,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Dispenser curse of binding protection
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 3348c6b27d2a39f66dbaf3f2920160d9d56705aa..2dc71a7d387a4b96c7ad27e0329aed8f3b25135e 100644
index ec416bf26b599099789c619d05cbd6d03816f68f..af05506cd6c4c5de057081a2196a0631c960a3d6 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -63,6 +63,7 @@ import net.minecraft.world.item.ProjectileWeaponItem;
@@ -62,6 +62,7 @@ import net.minecraft.world.item.ProjectileWeaponItem;
import net.minecraft.world.item.SpawnEggItem;
import net.minecraft.world.item.SwordItem;
import net.minecraft.world.item.enchantment.EnchantmentHelper;
@@ -16,7 +16,7 @@ index 3348c6b27d2a39f66dbaf3f2920160d9d56705aa..2dc71a7d387a4b96c7ad27e0329aed8f
import net.minecraft.world.level.BlockGetter;
import net.minecraft.world.level.GameRules;
import net.minecraft.world.level.ItemLike;
@@ -1066,6 +1067,12 @@ public abstract class Mob extends LivingEntity {
@@ -1065,6 +1066,12 @@ public abstract class Mob extends LivingEntity {
}
@@ -43,7 +43,7 @@ index aab4a63e61aced51b1b6c885fd8b8426a4f14408..ad095c6bc7e00d286c83e37f84d8ed5d
// CraftBukkit start
Level world = pointer.getLevel();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 2a495257c825e8f3bed2483e3c5dddabf7cc209b..814392519212aeea11cc1613df58e44962ad0f68 100644
index 88f174409959a07b404fd802569024a46040ec39..b15d2cd28b9712f761d401c0d47634767bd0aa09 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -198,6 +198,11 @@ public class PurpurWorldConfig {

View File

@@ -17,7 +17,7 @@ index aa7c022c4faade23bd9061311d4152cf845d3331..d4a19fc38027717e43353bc62ef23e56
} else {
return Boat.Status.IN_AIR;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 814392519212aeea11cc1613df58e44962ad0f68..3e80ae254f7ac14046f02ae63cd6f6819fe0f93e 100644
index b15d2cd28b9712f761d401c0d47634767bd0aa09..3e0554e65c50f0edba3abeababbd07ffb398c5e3 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -73,6 +73,7 @@ public class PurpurWorldConfig {

View File

@@ -73,7 +73,7 @@ index 069ce59faab5184ab9da8ca3fe1cebf7449cd7fe..b391b6f457b9a2df9d59eac46473576b
Entry<EquipmentSlot, ItemStack> entry = getRandomItemWith(enchantment, entityliving);
return entry != null ? entry.getValue() : ItemStack.EMPTY;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3e80ae254f7ac14046f02ae63cd6f6819fe0f93e..c8eee7769fb33c1fb69699744cc31314c7de8e27 100644
index 3e0554e65c50f0edba3abeababbd07ffb398c5e3..9e881f8aedfbe2bd258e11b042ef03370b3b4718 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -73,6 +73,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Implement elytra settings
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 09e783519a4e73db804c68510dbb37341dca487d..04a565e35deac75d03e9af4a47e3b28439e68694 100644
index 43251cd32e7045807ef46033345bff5be56fbd97..93151170268be08bce8380e1f42a7a95269b5b5a 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3278,7 +3278,16 @@ public abstract class LivingEntity extends Entity {
@@ -99,7 +99,7 @@ index 510ed67a7de2b503ab8b01db57ed09ee33b0d825..3f53dc8f250ad3f7616ce7ef0a2353ca
entityhuman.startAutoSpinAttack(20);
if (entityhuman.isOnGround()) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c8eee7769fb33c1fb69699744cc31314c7de8e27..5d1285db6c41b40426f825d9e73c35d0d9b890a3 100644
index 9e881f8aedfbe2bd258e11b042ef03370b3b4718..d30f4c41bbe06583a00a28aa0dbea39d84a7f7dd 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -92,6 +92,19 @@ public class PurpurWorldConfig {

View File

@@ -93,7 +93,7 @@ index 158719d46c96bb733a00e08c8285f41a48406abf..623a8b38b9d0ccbfe807afe328495b19
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 5d1285db6c41b40426f825d9e73c35d0d9b890a3..aa984c2eebf2529e0be42b01ec7678d1f5157e0d 100644
index d30f4c41bbe06583a00a28aa0dbea39d84a7f7dd..c82817ecc3c9f62e18d0076970696d5bed622c5e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -105,6 +105,49 @@ public class PurpurWorldConfig {

View File

@@ -17,19 +17,19 @@ index d478627dcd2b6e3d3d95b3fa224a25d44e6bbafb..158fc5748f175708a0c3415a2217663f
if (environment.includeIntegrated) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 122e24306370c09a82716daf0c372bf0d6ce8dbe..5406eacf095c0f569a5900059524a6422a8f7557 100644
index 9ea32dd95a57ba485d57ac919423bd75c90eb343..edbcc103e939504a592993f3e903f556c6e1accf 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -132,11 +132,13 @@ public class PurpurConfig {
public static String afkBroadcastAway = "<yellow><italic>%s is now AFK";
public static String afkBroadcastBack = "<yellow><italic>%s is no longer AFK";
public static String afkTabListPrefix = "[AFK] ";
public static String cannotRideMob = "<red>You cannot mount that mob";
+ public static String pingCommandOutput = "§a%s's ping is %sms";
private static void messages() {
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
afkBroadcastAway = getString("settings.messages.afk-broadcast-away", afkBroadcastAway);
afkBroadcastBack = getString("settings.messages.afk-broadcast-back", afkBroadcastBack);
afkTabListPrefix = getString("settings.messages.afk-tab-list-prefix", afkTabListPrefix);
cannotRideMob = getString("settings.messages.cannot-ride-mob", cannotRideMob);
+ pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
}

View File

@@ -5,14 +5,15 @@ Subject: [PATCH] Configurable jockey options
diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
index 312543a866b99192401dc7e8662634de3ae4d41b..ab7a6c7c0893b6737cfb3204f8fbfef7fd1e94c3 100644
index 591dfcd091c1c4611aeb17dfc5ee493be8131b50..7d28a410ae18594b5db4559640b4eb30762f5a69 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java
@@ -79,6 +79,20 @@ public class Drowned extends Zombie implements RangedAttackMob {
public boolean rideableUnderWater() {
return level.purpurConfig.drownedRidableInWater;
@@ -89,6 +89,21 @@ public class Drowned extends Zombie implements RangedAttackMob {
protected void randomizeReinforcementsChance() {
this.getAttribute(Attributes.SPAWN_REINFORCEMENTS_CHANCE).setBaseValue(this.random.nextDouble() * this.level.purpurConfig.drownedSpawnReinforcements);
}
+
+ @Override
+ public boolean jockeyOnlyBaby() {
+ return level.purpurConfig.drownedJockeyOnlyBaby;
+ }
@@ -30,14 +31,14 @@ index 312543a866b99192401dc7e8662634de3ae4d41b..ab7a6c7c0893b6737cfb3204f8fbfef7
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Husk.java b/src/main/java/net/minecraft/world/entity/monster/Husk.java
index 28fb67c0a5992cbd77c5d3c6efa0f0493466d81c..26ce4223cdb00acf7aa21f14c4ea6e426692b536 100644
index 464e062bba03a17c9281b3dfb8fa9193c1b81150..6c89eabddda16f9b72e6062c31bb4be6beae442d 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Husk.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Husk.java
@@ -22,6 +22,23 @@ public class Husk extends Zombie {
super(type, world);
@@ -42,6 +42,21 @@ public class Husk extends Zombie {
protected void randomizeReinforcementsChance() {
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.SPAWN_REINFORCEMENTS_CHANCE).setBaseValue(this.random.nextDouble() * this.level.purpurConfig.huskSpawnReinforcements);
}
+ // Purpur start
+
+ @Override
+ public boolean jockeyOnlyBaby() {
+ return level.purpurConfig.huskJockeyOnlyBaby;
@@ -52,28 +53,18 @@ index 28fb67c0a5992cbd77c5d3c6efa0f0493466d81c..26ce4223cdb00acf7aa21f14c4ea6e42
+ public boolean jockeyTryExistingChickens() {
+ return level.purpurConfig.huskJockeyTryExistingChickens;
+ }
+ // Purpur end
+
// Purpur end
public static boolean checkHuskSpawnRules(EntityType<Husk> type, ServerLevelAccessor world, MobSpawnType spawnReason, BlockPos pos, Random random) {
return checkMonsterSpawnRules(type, world, spawnReason, pos, random) && (spawnReason == MobSpawnType.SPAWNER || world.canSeeSky(pos));
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index bb3b932c57fd1e5b1517940c7602c7f4aeeaf17e..747f872e0c9eef620f7713e674304e8f47738b1c 100644
index 6eef158223d361f58f49810335895478430dda2d..77002a4c3b03e0397515fd922f14e56b8e81074a 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -3,6 +3,7 @@ package net.minecraft.world.entity.monster;
import com.mojang.serialization.DynamicOps;
import java.time.LocalDate;
import java.time.temporal.ChronoField;
+import java.util.Collections;
import java.util.List;
import java.util.Random;
import java.util.UUID;
@@ -107,6 +108,20 @@ public class Zombie extends Monster {
this(EntityType.ZOMBIE, world);
@@ -122,6 +122,18 @@ public class Zombie extends Monster {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.drownedMaxHealth);
}
+ // Purpur start
+
+ public boolean jockeyOnlyBaby() {
+ return level.purpurConfig.zombieJockeyOnlyBaby;
+ }
@@ -85,12 +76,10 @@ index bb3b932c57fd1e5b1517940c7602c7f4aeeaf17e..747f872e0c9eef620f7713e674304e8f
+ public boolean jockeyTryExistingChickens() {
+ return level.purpurConfig.zombieJockeyTryExistingChickens;
+ }
+ // Purpur end
+
// Purpur end
@Override
protected void registerGoals() {
if (level.paperConfig.zombiesTargetTurtleEggs) this.goalSelector.addGoal(4, new Zombie.ZombieAttackTurtleEggGoal(this, 1.0D, 3)); // Paper
@@ -504,19 +519,19 @@ public class Zombie extends Monster {
@@ -523,19 +535,20 @@ public class Zombie extends Monster {
if (object instanceof Zombie.ZombieGroupData) {
Zombie.ZombieGroupData entityzombie_groupdatazombie = (Zombie.ZombieGroupData) object;
@@ -103,7 +92,8 @@ index bb3b932c57fd1e5b1517940c7602c7f4aeeaf17e..747f872e0c9eef620f7713e674304e8f
- if ((double) world.getRandom().nextFloat() < 0.05D) {
- List<Chicken> list = world.getEntitiesOfClass(Chicken.class, this.getBoundingBox().inflate(5.0D, 3.0D, 5.0D), EntitySelector.ENTITY_NOT_BEING_RIDDEN);
+ if ((double) world.getRandom().nextFloat() < jockeyChance()) {
+ List<Chicken> list = jockeyTryExistingChickens() ? world.getEntitiesOfClass(Chicken.class, this.getBoundingBox().inflate(5.0D, 3.0D, 5.0D), EntitySelector.ENTITY_NOT_BEING_RIDDEN) : Collections.emptyList();
+ List<Chicken> list = jockeyTryExistingChickens() ? world.getEntitiesOfClass(Chicken.class, this.getBoundingBox().inflate(5.0D, 3.0D, 5.0D), EntitySelector.ENTITY_NOT_BEING_RIDDEN) : java.util.Collections.emptyList();
+ // Purpur end
if (!list.isEmpty()) {
Chicken entitychicken = (Chicken) list.get(0);
@@ -116,7 +106,7 @@ index bb3b932c57fd1e5b1517940c7602c7f4aeeaf17e..747f872e0c9eef620f7713e674304e8f
Chicken entitychicken1 = (Chicken) EntityType.CHICKEN.create(this.level);
entitychicken1.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), 0.0F);
@@ -524,6 +539,7 @@ public class Zombie extends Monster {
@@ -543,6 +556,7 @@ public class Zombie extends Monster {
entitychicken1.setChickenJockey(true);
this.startRiding(entitychicken1);
world.addEntity(entitychicken1, CreatureSpawnEvent.SpawnReason.MOUNT); // CraftBukkit
@@ -125,14 +115,14 @@ index bb3b932c57fd1e5b1517940c7602c7f4aeeaf17e..747f872e0c9eef620f7713e674304e8f
}
}
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
index a2fbab27980d7f52033fd542220d534cefcc4747..c4a653f9b593654a831905ba5f39c4125f1683ea 100644
index ce15ebc6248eaa849ccb1de4319b51e8a12f2e3e..8c71bf52cebf4b7825c770b120e6ac7b2ee916fb 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
@@ -74,6 +74,23 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
this.setVillagerData(this.getVillagerData().setProfession((VillagerProfession) Registry.VILLAGER_PROFESSION.getRandom(this.random)));
@@ -94,6 +94,21 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
protected void randomizeReinforcementsChance() {
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.SPAWN_REINFORCEMENTS_CHANCE).setBaseValue(this.random.nextDouble() * this.level.purpurConfig.zombieVillagerSpawnReinforcements);
}
+ // Purpur start
+
+ @Override
+ public boolean jockeyOnlyBaby() {
+ return level.purpurConfig.zombieVillagerJockeyOnlyBaby;
@@ -147,20 +137,19 @@ index a2fbab27980d7f52033fd542220d534cefcc4747..c4a653f9b593654a831905ba5f39c412
+ public boolean jockeyTryExistingChickens() {
+ return level.purpurConfig.zombieVillagerJockeyTryExistingChickens;
+ }
+ // Purpur end
+
// Purpur end
@Override
protected void defineSynchedData() {
super.defineSynchedData();
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
index b86d29a16f4c4ad0b166506fe31e64b902ecc06b..dd5e29a9981d490d8ef54cc580fbbde831f86bf8 100644
index 04d09123f70a192f1283c0d7e8a8254f3d30889a..43ef93d2c0c59e0d7021ee9aa2b44345192cc0a9 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
@@ -68,6 +68,20 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
public boolean rideableUnderWater() {
return level.purpurConfig.zombifiedPiglinRidableInWater;
@@ -73,6 +73,21 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.zombifiedPiglinMaxHealth);
}
+
+ @Override
+ public boolean jockeyOnlyBaby() {
+ return level.purpurConfig.zombifiedPiglinJockeyOnlyBaby;
+ }
@@ -178,10 +167,10 @@ index b86d29a16f4c4ad0b166506fe31e64b902ecc06b..dd5e29a9981d490d8ef54cc580fbbde8
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 0453764a9b47e3997aa32cda489e7f71d94b7e04..87f9ad516e8dd0c92b08c9054e086d8315c87c41 100644
index c82817ecc3c9f62e18d0076970696d5bed622c5e..64d655ba55d2b80d1b42e49ed1e2c93fd944c554 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -399,9 +399,15 @@ public class PurpurWorldConfig {
@@ -443,9 +443,15 @@ public class PurpurWorldConfig {
public boolean drownedRidable = false;
public boolean drownedRidableInWater = false;
@@ -197,7 +186,7 @@ index 0453764a9b47e3997aa32cda489e7f71d94b7e04..87f9ad516e8dd0c92b08c9054e086d83
}
public boolean elderGuardianRidable = false;
@@ -518,9 +524,15 @@ public class PurpurWorldConfig {
@@ -562,9 +568,15 @@ public class PurpurWorldConfig {
public boolean huskRidable = false;
public boolean huskRidableInWater = false;
@@ -213,7 +202,7 @@ index 0453764a9b47e3997aa32cda489e7f71d94b7e04..87f9ad516e8dd0c92b08c9054e086d83
}
public boolean illusionerRidable = false;
@@ -879,9 +891,15 @@ public class PurpurWorldConfig {
@@ -923,9 +935,15 @@ public class PurpurWorldConfig {
public boolean zombieRidable = false;
public boolean zombieRidableInWater = false;
@@ -229,7 +218,7 @@ index 0453764a9b47e3997aa32cda489e7f71d94b7e04..87f9ad516e8dd0c92b08c9054e086d83
}
public boolean zombieHorseRidableInWater = false;
@@ -895,15 +913,27 @@ public class PurpurWorldConfig {
@@ -939,15 +957,27 @@ public class PurpurWorldConfig {
public boolean zombieVillagerRidable = false;
public boolean zombieVillagerRidableInWater = false;

View File

@@ -73,7 +73,7 @@ index b643a2449e329560c936c0a06fb4cc494d0737a7..92e65f3fbc8f5d77bb8cc31e7a7780c2
@Override
protected void addAdditionalSaveData(CompoundTag nbt) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index d35e1338c0c11b89e093f8748341ce6980071485..7ba080b98abf1c83647065f4a75257b66c6a352c 100644
index 96684261f3a6ad64cf9eb6e46ff40fb75b8b68b7..be67c4612587ef46c7bf582bc26f2349b9f9a18a 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -50,6 +50,7 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -84,9 +84,9 @@ index d35e1338c0c11b89e093f8748341ce6980071485..7ba080b98abf1c83647065f4a75257b6
public Phantom(EntityType<? extends Phantom> type, Level world) {
super(type, world);
@@ -112,6 +113,24 @@ public class Phantom extends FlyingMob implements Enemy {
level.addFreshEntity(flames);
return true;
@@ -117,6 +118,24 @@ public class Phantom extends FlyingMob implements Enemy {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.phantomMaxHealth);
}
+
+ @Override
@@ -109,7 +109,7 @@ index d35e1338c0c11b89e093f8748341ce6980071485..7ba080b98abf1c83647065f4a75257b6
// Purpur end
@Override
@@ -126,11 +145,17 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -131,11 +150,17 @@ public class Phantom extends FlyingMob implements Enemy {
@Override
protected void registerGoals() {
@@ -132,7 +132,7 @@ index d35e1338c0c11b89e093f8748341ce6980071485..7ba080b98abf1c83647065f4a75257b6
this.targetSelector.addGoal(1, new Phantom.PhantomAttackPlayerTargetGoal());
}
@@ -318,6 +343,124 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -323,6 +348,124 @@ public class Phantom extends FlyingMob implements Enemy {
private AttackPhase() {}
}
@@ -258,10 +258,10 @@ index d35e1338c0c11b89e093f8748341ce6980071485..7ba080b98abf1c83647065f4a75257b6
private float speed = 0.1F;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 87f9ad516e8dd0c92b08c9054e086d8315c87c41..e48fe5334e82a1c91acde2ec23584fc92f97923c 100644
index 64d655ba55d2b80d1b42e49ed1e2c93fd944c554..15b4c7d1038fce8005dcc9c35e008fc2be1585ed 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -617,6 +617,9 @@ public class PurpurWorldConfig {
@@ -661,6 +661,9 @@ public class PurpurWorldConfig {
public float phantomFlameDamage = 1.0F;
public int phantomFlameFireTime = 8;
public boolean phantomAllowGriefing = false;
@@ -271,7 +271,7 @@ index 87f9ad516e8dd0c92b08c9054e086d8315c87c41..e48fe5334e82a1c91acde2ec23584fc9
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -624,6 +627,9 @@ public class PurpurWorldConfig {
@@ -668,6 +671,9 @@ public class PurpurWorldConfig {
phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage);
phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime);
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);

View File

@@ -189,10 +189,10 @@ index 79504dc3448402e73b09c4232b1fd0488872cf68..5c7683058b79953aa4f7427d7654b7e4
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 8985cc0ca2e5f1f673ef6ae59976095993332559..891b0ef41e57e95ab3aa7b14891ba53abd135171 100644
index 15b4c7d1038fce8005dcc9c35e008fc2be1585ed..b1650a5b7c9378f63d7e8738e5474761d40c3bad 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -620,6 +620,18 @@ public class PurpurWorldConfig {
@@ -664,6 +664,18 @@ public class PurpurWorldConfig {
public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F;
public double phantomOrbitCrystalRadius = 0.0D;
@@ -211,7 +211,7 @@ index 8985cc0ca2e5f1f673ef6ae59976095993332559..891b0ef41e57e95ab3aa7b14891ba53a
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -630,6 +642,18 @@ public class PurpurWorldConfig {
@@ -674,6 +686,18 @@ public class PurpurWorldConfig {
phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius);
phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius);

View File

@@ -18,7 +18,7 @@ index 163a7861f987c3832aac51cc6df950c768546731..cfe4cdbd28ff11ea2781d47fe6d8c2de
} else if ((Boolean) state.getValue(BedBlock.OCCUPIED)) {
if (!this.kickVillagerOutOfBed(world, pos)) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 891b0ef41e57e95ab3aa7b14891ba53abd135171..d232768e789ea6a7790cada4a4ad2624cd32e4b2 100644
index b1650a5b7c9378f63d7e8738e5474761d40c3bad..e884717dbe5dbd4655f156a68289b3880fce1ead 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -4,6 +4,7 @@ import net.minecraft.core.Registry;

View File

@@ -18,7 +18,7 @@ index af4eb4a8814491afef449a2874521636957d7557..365c28300ecfbe0161716972adf22a8a
public static boolean canSetSpawn(Level world) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d232768e789ea6a7790cada4a4ad2624cd32e4b2..b0c4191ad2ed2d8a791ceffe8d0a89cbbc515e45 100644
index e884717dbe5dbd4655f156a68289b3880fce1ead..a75a2def2217a0c2ae4812c650d38597b6500460 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -297,6 +297,22 @@ public class PurpurWorldConfig {

View File

@@ -68,7 +68,7 @@ index df4f2c729f09d5229553308e4876f29de648543f..f2b0278679fa649bbc2904660e0dc9ab
} else {
world.setBlockAndUpdate(pos, Blocks.WATER.defaultBlockState());
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 5406eacf095c0f569a5900059524a6422a8f7557..54fcd78a195add873f282cc480b4f3a0e01a7453 100644
index edbcc103e939504a592993f3e903f556c6e1accf..8bb11c66df5fd461a1eac749c519142743a1f4a8 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -186,6 +186,11 @@ public class PurpurConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Entity lifespan
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 2dc71a7d387a4b96c7ad27e0329aed8f3b25135e..a957fc388a22ba98538fa1bffcb7720c8c93e3b6 100644
index af05506cd6c4c5de057081a2196a0631c960a3d6..7ed68f8ad1f68dea4a8455365d2f66f5e858e83e 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -126,6 +126,7 @@ public abstract class Mob extends LivingEntity {
@@ -125,6 +125,7 @@ public abstract class Mob extends LivingEntity {
private BlockPos restrictCenter;
private float restrictRadius;
@@ -16,7 +16,7 @@ index 2dc71a7d387a4b96c7ad27e0329aed8f3b25135e..a957fc388a22ba98538fa1bffcb7720c
public boolean aware = true; // CraftBukkit
protected Mob(EntityType<? extends Mob> type, Level world) {
@@ -279,6 +280,7 @@ public abstract class Mob extends LivingEntity {
@@ -278,6 +279,7 @@ public abstract class Mob extends LivingEntity {
entityliving = null;
}
}
@@ -24,7 +24,7 @@ index 2dc71a7d387a4b96c7ad27e0329aed8f3b25135e..a957fc388a22ba98538fa1bffcb7720c
this.target = entityliving;
return true;
// CraftBukkit end
@@ -323,9 +325,35 @@ public abstract class Mob extends LivingEntity {
@@ -322,9 +324,35 @@ public abstract class Mob extends LivingEntity {
this.playAmbientSound();
}
@@ -60,7 +60,7 @@ index 2dc71a7d387a4b96c7ad27e0329aed8f3b25135e..a957fc388a22ba98538fa1bffcb7720c
@Override
protected void playHurtSound(DamageSource source) {
this.resetAmbientSoundTime();
@@ -509,6 +537,7 @@ public abstract class Mob extends LivingEntity {
@@ -508,6 +536,7 @@ public abstract class Mob extends LivingEntity {
}
nbt.putBoolean("Bukkit.Aware", this.aware); // CraftBukkit
@@ -68,7 +68,7 @@ index 2dc71a7d387a4b96c7ad27e0329aed8f3b25135e..a957fc388a22ba98538fa1bffcb7720c
}
@Override
@@ -579,6 +608,11 @@ public abstract class Mob extends LivingEntity {
@@ -578,6 +607,11 @@ public abstract class Mob extends LivingEntity {
this.aware = nbt.getBoolean("Bukkit.Aware");
}
// CraftBukkit end
@@ -80,7 +80,7 @@ index 2dc71a7d387a4b96c7ad27e0329aed8f3b25135e..a957fc388a22ba98538fa1bffcb7720c
}
@Override
@@ -1579,6 +1613,7 @@ public abstract class Mob extends LivingEntity {
@@ -1578,6 +1612,7 @@ public abstract class Mob extends LivingEntity {
this.setLastHurtMob(target);
}
@@ -89,7 +89,7 @@ index 2dc71a7d387a4b96c7ad27e0329aed8f3b25135e..a957fc388a22ba98538fa1bffcb7720c
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b0c4191ad2ed2d8a791ceffe8d0a89cbbc515e45..1c9d361b078c5e731dfce11c1a2d23b2a84a44f5 100644
index a75a2def2217a0c2ae4812c650d38597b6500460..e313c5ef4bddbf0f74e7b08507e2945fd1fa7341 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

@@ -35,7 +35,7 @@ index 24fb9596b86f37bf47f1661e85660a73618bc0a5..6958d29382d270b8f4012a0a1ddf1229
+ // Purpur end
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 04a565e35deac75d03e9af4a47e3b28439e68694..36a1b330d5ad04da6aa231098998a17a7a0f6a74 100644
index 93151170268be08bce8380e1f42a7a95269b5b5a..8ace00a8dbba62c3c889b57a47d3ad4e2c014431 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -45,6 +45,7 @@ import net.minecraft.network.syncher.EntityDataAccessor;
@@ -55,7 +55,7 @@ index 04a565e35deac75d03e9af4a47e3b28439e68694..36a1b330d5ad04da6aa231098998a17a
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 1c9d361b078c5e731dfce11c1a2d23b2a84a44f5..f8e22d256c95030d5f685e389f6645d8344a38b9 100644
index e313c5ef4bddbf0f74e7b08507e2945fd1fa7341..4d0a549552e40ff31c33b810010fc34ac196106f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -242,6 +242,11 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Squid EAR immunity
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f8e22d256c95030d5f685e389f6645d8344a38b9..9dd7b62e3b9c7f6590c9b79f5c206d36adbe4cd6 100644
index 4d0a549552e40ff31c33b810010fc34ac196106f..be2b723202dc0096a6d3a532c98d407063f2d2bd 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -826,8 +826,10 @@ public class PurpurWorldConfig {
@@ -870,8 +870,10 @@ public class PurpurWorldConfig {
}
public boolean squidRidable = false;

View File

@@ -19,7 +19,7 @@ index c03bf5bdb67b00c75f9fcfead882c4d944282244..59f7ec9b307a99c5fe2def995523a5f6
return SPIKE_CACHE.getUnchecked(l);
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 54fcd78a195add873f282cc480b4f3a0e01a7453..a309de9bec330e7aac26b162cd3fc24a5a0440a6 100644
index 8bb11c66df5fd461a1eac749c519142743a1f4a8..fe76bde844a596eec47b2f9e5ca25b8b108fe494 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -1,5 +1,6 @@

View File

@@ -32,7 +32,7 @@ index d36b6208077254af5f0ebed8e8ce20fd45cbb79d..b09611f7c5177d3f5b22ffcaa9a65480
int i = 3;
int j = random.nextInt(2) + 2;
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index a309de9bec330e7aac26b162cd3fc24a5a0440a6..e1f9d3bd4460ca9b99557411011fa2efcf58faac 100644
index fe76bde844a596eec47b2f9e5ca25b8b108fe494..9bc0cd75b4b8c5813b4a005c90275025719daf21 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -142,10 +142,13 @@ public class PurpurConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Phantoms burn in light
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 7ba080b98abf1c83647065f4a75257b66c6a352c..17150611d36d41fd75b3a3dffd7b000330885b0e 100644
index be67c4612587ef46c7bf582bc26f2349b9f9a18a..ddab7c213601a70e5077a57fb7c335864f52eed1 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -51,6 +51,7 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -16,7 +16,7 @@ index 7ba080b98abf1c83647065f4a75257b66c6a352c..17150611d36d41fd75b3a3dffd7b0003
public Phantom(EntityType<? extends Phantom> type, Level world) {
super(type, world);
@@ -225,7 +226,7 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -230,7 +231,7 @@ public class Phantom extends FlyingMob implements Enemy {
@Override
public void aiStep() {
@@ -25,7 +25,7 @@ index 7ba080b98abf1c83647065f4a75257b66c6a352c..17150611d36d41fd75b3a3dffd7b0003
this.setSecondsOnFire(8);
}
@@ -623,6 +624,12 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -628,6 +629,12 @@ public class Phantom extends FlyingMob implements Enemy {
return false;
} else if (!entityliving.isAlive()) {
return false;
@@ -38,7 +38,7 @@ index 7ba080b98abf1c83647065f4a75257b66c6a352c..17150611d36d41fd75b3a3dffd7b0003
} else if (entityliving instanceof Player && (((Player) entityliving).isSpectator() || ((Player) entityliving).isCreative())) {
return false;
} else if (!this.canUse()) {
@@ -760,6 +767,7 @@ public class Phantom extends FlyingMob implements Enemy {
@@ -765,6 +772,7 @@ public class Phantom extends FlyingMob implements Enemy {
this.nextScanTick = 60;
List<Player> list = Phantom.this.level.getNearbyPlayers(this.attackTargeting, (LivingEntity) Phantom.this, Phantom.this.getBoundingBox().inflate(16.0D, 64.0D, 16.0D));
@@ -47,10 +47,10 @@ index 7ba080b98abf1c83647065f4a75257b66c6a352c..17150611d36d41fd75b3a3dffd7b0003
list.sort(Comparator.<Player, Double>comparing(Entity::getY).reversed()); // Paper - decomp fix
Iterator iterator = list.iterator();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a99389784c48191606a9b0f5a63fbecb204164d0..52a52a50be91d09a4241e14812f26c9113bc0e12 100644
index be2b723202dc0096a6d3a532c98d407063f2d2bd..cd388dcd77dabb50b8e09558d83881a3563a99af 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -676,6 +676,9 @@ public class PurpurWorldConfig {
@@ -720,6 +720,9 @@ public class PurpurWorldConfig {
public int phantomSpawnOverheadRadius = 10;
public int phantomSpawnMinPerAttempt = 1;
public int phantomSpawnMaxPerAttempt = -1;
@@ -60,7 +60,7 @@ index a99389784c48191606a9b0f5a63fbecb204164d0..52a52a50be91d09a4241e14812f26c91
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -698,6 +701,9 @@ public class PurpurWorldConfig {
@@ -742,6 +745,9 @@ public class PurpurWorldConfig {
phantomSpawnOverheadRadius = getInt("mobs.phantom.spawn.overhead.radius", phantomSpawnOverheadRadius);
phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt);
phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable villager breeding
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 88d6b1596463d86f6e4e67da54f16da14b8563bc..2707f3795ee83725d24ea76c9a57646975747c12 100644
index e338671b165c13d4f905a012e0660af255a4206a..1514d485e80ac2ccc2b61361f1a0215f61daf29b 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -736,7 +736,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -751,7 +751,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@Override
public boolean canBreed() {
@@ -18,10 +18,10 @@ index 88d6b1596463d86f6e4e67da54f16da14b8563bc..2707f3795ee83725d24ea76c9a576469
private boolean hungry() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9d054fb175a80874869f630d6e15122530270661..7baff952c57f657bc242035bf9eee142883c9a81 100644
index cd388dcd77dabb50b8e09558d83881a3563a99af..c81f748b7647114343e08fd21eb14b0968a46492 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -902,6 +902,7 @@ public class PurpurWorldConfig {
@@ -946,6 +946,7 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false;
public int villagerSpawnIronGolemRadius = 0;
public int villagerSpawnIronGolemLimit = 0;
@@ -29,7 +29,7 @@ index 9d054fb175a80874869f630d6e15122530270661..7baff952c57f657bc242035bf9eee142
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -912,6 +913,7 @@ public class PurpurWorldConfig {
@@ -956,6 +957,7 @@ public class PurpurWorldConfig {
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);

View File

@@ -17,10 +17,10 @@ index 9228c0bc797fb95c8ac949bdc568eadafee84a80..f2c9f841d397f445cd3d0420f19e765c
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7baff952c57f657bc242035bf9eee142883c9a81..76a1e23af43176fd91e3201aba68a725a84d9090 100644
index c81f748b7647114343e08fd21eb14b0968a46492..c619ea7c5cdf5331e4a16fa3d899b888fa436295 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -871,6 +871,11 @@ public class PurpurWorldConfig {
@@ -915,6 +915,11 @@ public class PurpurWorldConfig {
tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable);
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Totems work in inventory
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 36a1b330d5ad04da6aa231098998a17a7a0f6a74..158eeee4b207fc51c46507ba087874304a7eab93 100644
index 8ace00a8dbba62c3c889b57a47d3ad4e2c014431..4a8ef02c1a2fa08c113441261c56d28da18e1526 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1516,6 +1516,19 @@ public abstract class LivingEntity extends Entity {
@@ -29,7 +29,7 @@ index 36a1b330d5ad04da6aa231098998a17a7a0f6a74..158eeee4b207fc51c46507ba08787430
event.setCancelled(itemstack == null);
this.level.getCraftServer().getPluginManager().callEvent(event);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 76a1e23af43176fd91e3201aba68a725a84d9090..1654f18aa3d24e4cf9d60ae5f6a7ae2e0fc98fcb 100644
index c619ea7c5cdf5331e4a16fa3d899b888fa436295..386bd354d0c5ff9c2570634c9d34a121f9bf8641 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -247,6 +247,11 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add vindicator johnny spawn chance
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
index 51082fb81477b96c778796e8daf288b366cecf22..a55ff1e98914e16a82804e85deb873b4f32fdb26 100644
index 76e6ea34db3942e9dd7646ad7ca1259f4387a4d8..9096c40ad5784d9097e889f0f43b6cf1f60c0692 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
@@ -7,6 +7,7 @@ import java.util.function.Predicate;
@@ -16,7 +16,7 @@ index 51082fb81477b96c778796e8daf288b366cecf22..a55ff1e98914e16a82804e85deb873b4
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundEvent;
import net.minecraft.sounds.SoundEvents;
@@ -128,6 +129,12 @@ public class Vindicator extends AbstractIllager {
@@ -147,6 +148,12 @@ public class Vindicator extends AbstractIllager {
((GroundPathNavigation)this.getNavigation()).setCanOpenDoors(true);
this.populateDefaultEquipmentSlots(difficulty);
this.populateDefaultEquipmentEnchantments(difficulty);
@@ -30,10 +30,10 @@ index 51082fb81477b96c778796e8daf288b366cecf22..a55ff1e98914e16a82804e85deb873b4
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 1654f18aa3d24e4cf9d60ae5f6a7ae2e0fc98fcb..3235a7f593a602a0b2a75f98bd4cf2a0718ae297 100644
index 386bd354d0c5ff9c2570634c9d34a121f9bf8641..b5dab55aa71c56b9c7f23f07420cb3697f47ab40 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -928,9 +928,11 @@ public class PurpurWorldConfig {
@@ -972,9 +972,11 @@ public class PurpurWorldConfig {
public boolean vindicatorRidable = false;
public boolean vindicatorRidableInWater = false;

View File

@@ -117,7 +117,7 @@ index f8e58d9f71703139a736d93e7f1996e027a29444..d3c8fd8399629efb8bcbaf7d9a0c4334
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index e1f9d3bd4460ca9b99557411011fa2efcf58faac..64cd0a7afb466d9cd6d4ec1fd700a9d05994f716 100644
index 9bc0cd75b4b8c5813b4a005c90275025719daf21..cb71e9a46146b70ab34328bf840437646fed629f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -202,6 +202,15 @@ public class PurpurConfig {

View File

@@ -41,7 +41,7 @@ index 92623ae25249d63efb92be8bd6c95228f9155ad2..20bf6d01046488eff53a109f5239351a
static void setEntityPokingOutOfBlock(BlockSource pointer, Entity entity, Direction direction) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3235a7f593a602a0b2a75f98bd4cf2a0718ae297..3d8fc2f58dfa775913942ef2121953578db84a34 100644
index b5dab55aa71c56b9c7f23f07420cb3697f47ab40..700eff65398dbd0d2622458f1f854de02f7df65d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -292,8 +292,10 @@ public class PurpurWorldConfig {

View File

@@ -37,7 +37,7 @@ index 2db80c986e1dbd4aa9be288cc802f650169dc11a..1d186f9e3c2b10420abf8b3334cbcc42
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3d8fc2f58dfa775913942ef2121953578db84a34..3ac94ad40135edc61bcdef59565444cd72cb0175 100644
index 700eff65398dbd0d2622458f1f854de02f7df65d..f7948a9d7461fec6558f8cdedbc1f3b71eed218d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -275,6 +275,11 @@ public class PurpurWorldConfig {

View File

@@ -35,7 +35,7 @@ index 572e5f32a3c5aaffcec31da0cff9151efea252ac..8a37ee40123cf786078633110fc06c53
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 3ac94ad40135edc61bcdef59565444cd72cb0175..8797f781b97cece949dfb1014470f164503e61c4 100644
index f7948a9d7461fec6558f8cdedbc1f3b71eed218d..e722688f2de48b8740282f3f956e207461f387f4 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -11,8 +11,10 @@ import org.bukkit.configuration.ConfigurationSection;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to disable dolphin treasure searching
diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
index 2300abc4e80449e6b92992f6fb8cfe8e99dea351..12a602a4a3b3e883ed04621fe627feb146f8afb9 100644
index c372d47a929e06c8cfb0df86cf4e9bfee4d4b300..2aead13e8f879b614445715fb1912a20b9abf4b9 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java
@@ -492,6 +492,7 @@ public class Dolphin extends WaterAnimal {
@@ -497,6 +497,7 @@ public class Dolphin extends WaterAnimal {
@Override
public boolean canUse() {
@@ -17,10 +17,10 @@ index 2300abc4e80449e6b92992f6fb8cfe8e99dea351..12a602a4a3b3e883ed04621fe627feb1
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index fff9679bfc715e8df5f88c2850c9623e1eef270f..1ca413f7a6cc2d445a2b026e7266919880692575 100644
index e722688f2de48b8740282f3f956e207461f387f4..09f4e2f2ccd1c7f0942c405b4c2be76efb36abc4 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -465,11 +465,13 @@ public class PurpurWorldConfig {
@@ -509,11 +509,13 @@ public class PurpurWorldConfig {
public int dolphinSpitCooldown = 20;
public float dolphinSpitSpeed = 1.0F;
public float dolphinSpitDamage = 2.0F;

View File

@@ -19,10 +19,10 @@ index 63e3105daeb697ff76cca15d55d14b14ca1523f6..368f6fb3697a57a96f5677bd69d2ae3d
private static <T extends Entity> EntityType<T> register(String id, EntityType.Builder type) { // CraftBukkit - decompile error
return (EntityType) Registry.register((Registry) Registry.ENTITY_TYPE, id, (Object) type.build(id));
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index b774647be64884e3334db2b395bf21e948494c80..ca3fcb86695f3d01b1fff5d0bb1d6e16dea39a11 100644
index 1621070f24eb70d55ee802cfbea831598102a807..bf8e240e0a80817778c9e0271a954a9f419d450e 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -388,6 +388,7 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -393,6 +393,7 @@ public class EnderMan extends Monster implements NeutralMob {
if (this.isInvulnerableTo(source)) {
return false;
} else if (getRider() != null) { return super.hurt(source, amount); // Purpur - no teleporting on damage
@@ -31,7 +31,7 @@ index b774647be64884e3334db2b395bf21e948494c80..ca3fcb86695f3d01b1fff5d0bb1d6e16
if (this.tryEscape(com.destroystokyo.paper.event.entity.EndermanEscapeEvent.Reason.INDIRECT)) { // Paper start
for (int i = 0; i < 64; ++i) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 64cd0a7afb466d9cd6d4ec1fd700a9d05994f716..637d0522e81c724a8ceef6cc150f381a673367d0 100644
index cb71e9a46146b70ab34328bf840437646fed629f..f2d9187c45b8ee90246d2b6042cc98ea9fc8c8dd 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -3,6 +3,8 @@ package net.pl3x.purpur;

View File

@@ -28,12 +28,12 @@ index 73d1efb6eb6a96368db57f316867cfc027159056..f9d8d5ef1ca960324351fa1151f79906
int j = Mth.ceil(axisalignedbb.maxX);
int k = Mth.floor(axisalignedbb.minY);
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
index 0a744855f24ac54b22bc474a1c903da7af656364..d6e35d1fec3eee80a7eafaa1997fee16f6ef5d04 100644
index f96def2ebdf114823c322c2d4318d039e20eab97..2affff346a7fe81480e86cb61996039df0569853 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
@@ -74,6 +74,12 @@ public class Squid extends WaterAnimal {
vector.setX(cos * x - sine * z);
vector.setZ(sine * x + cos * z);
@@ -79,6 +79,12 @@ public class Squid extends WaterAnimal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.squidMaxHealth);
}
+
+ @Override
@@ -60,10 +60,10 @@ index 4eeb186231551a9df453ec9d6a8a9dc9f8835464..1e184724e112b28ff4abb6ecf5d564c2
+ // Purpur
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 1ca413f7a6cc2d445a2b026e7266919880692575..6e33bee4f01138bc0b553a318e87e3b6c6e0966d 100644
index 09f4e2f2ccd1c7f0942c405b4c2be76efb36abc4..a45397e9bc2f3c8fc583b0d2b5edda843928cfa5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -871,9 +871,11 @@ public class PurpurWorldConfig {
@@ -915,9 +915,11 @@ public class PurpurWorldConfig {
public boolean squidRidable = false;
public boolean squidImmuneToEAR = true;

View File

@@ -18,7 +18,7 @@ index c07b5d1f1ef8b5e6026c7555d476880c8802d6c5..068f1b184a3694603f564d49fa45d5ce
private final LevelAccessor level;
private final Direction.Axis axis;
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
index 637d0522e81c724a8ceef6cc150f381a673367d0..d1ee2736efa0b7a7ccdbc0d5bdd809e1e3528592 100644
index f2d9187c45b8ee90246d2b6042cc98ea9fc8c8dd..ebaa80b52f236a8c7376006b4b7f4f37b409c31d 100644
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
@@ -178,6 +178,7 @@ public class PurpurConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Entities can use portals configuration
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 1950cd258f69f9c9430cda9ddd479277cc0fb6c9..517542c4cf412d81c4a85d5a48191fa06a635364 100644
index f9d8d5ef1ca960324351fa1151f79906950845b3..8bcec4ff2f20973e6a884b89a59683d6dddcebb2 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -2509,7 +2509,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n
@@ -27,7 +27,7 @@ index 1950cd258f69f9c9430cda9ddd479277cc0fb6c9..517542c4cf412d81c4a85d5a48191fa0
public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a339f842ec00253adc668fbb2b65c0513f23163a..a6a6b766b5dc5b3743aecd0a2c8021d04df1d8d2 100644
index a45397e9bc2f3c8fc583b0d2b5edda843928cfa5..c05ea02cabb47d70a1eb414a36467b712d0c955a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -81,6 +81,7 @@ public class PurpurWorldConfig {

Some files were not shown because too many files have changed in this diff Show More