the rest of em

This commit is contained in:
Ben Kerllenevich
2023-06-08 21:16:09 -04:00
parent 11db9467c1
commit c74414fe7a
58 changed files with 279 additions and 283 deletions

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] MC-238526 - Fix spawner not spawning water animals correctly
diff --git a/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java b/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java diff --git a/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java b/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java
index 35cfa366baf6747105faa93f1220bb9cc31a5bd5..ff3a6755d04f2280a36bd363ab1722e074e37194 100644 index cd2ce5bcb8c30e4657cd0e340d80544c7e805905..c8c6fed3f93903bb5c6145930538d415f6f59738 100644
--- a/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java --- a/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java
+++ b/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java +++ b/src/main/java/net/minecraft/world/entity/animal/WaterAnimal.java
@@ -82,6 +82,6 @@ public abstract class WaterAnimal extends PathfinderMob { @@ -82,6 +82,6 @@ public abstract class WaterAnimal extends PathfinderMob {
@@ -17,10 +17,10 @@ index 35cfa366baf6747105faa93f1220bb9cc31a5bd5..ff3a6755d04f2280a36bd363ab1722e0
} }
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 82d04c5f4705de059507c7633ab276a79152b6b5..f4fa610e93b5c74ca4c804bc13b5edca4019ce90 100644 index 615af0798cb2931d380378bb1ea4918b0b66d206..acd7d1f25a14896315227033133f7598aef97dbe 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -987,8 +987,10 @@ public class PurpurWorldConfig { @@ -974,8 +974,10 @@ public class PurpurWorldConfig {
} }
public boolean spawnerDeactivateByRedstone = false; public boolean spawnerDeactivateByRedstone = false;
@@ -30,4 +30,4 @@ index 82d04c5f4705de059507c7633ab276a79152b6b5..f4fa610e93b5c74ca4c804bc13b5edca
+ spawnerFixMC238526 = getBoolean("blocks.spawner.fix-mc-238526", spawnerFixMC238526); + spawnerFixMC238526 = getBoolean("blocks.spawner.fix-mc-238526", spawnerFixMC238526);
} }
public int spongeAbsorptionArea = 64; public boolean fixSandDuping = true;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Config for mob last hurt by player time
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 5718d70cdc4f5afb14320a20c3e723623c1e66c2..d96de1ee220465cb268819f9683d52a1251ff36a 100644 index c53f871238809fc62bb8080eb2b895c2fcac6d29..923f48e002f92a761619dbfb125d6154f4a328c5 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1463,13 +1463,13 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1503,13 +1503,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
if (entity1 instanceof net.minecraft.world.entity.player.Player) { if (entity1 instanceof net.minecraft.world.entity.player.Player) {
net.minecraft.world.entity.player.Player entityhuman = (net.minecraft.world.entity.player.Player) entity1; net.minecraft.world.entity.player.Player entityhuman = (net.minecraft.world.entity.player.Player) entity1;
@@ -25,7 +25,7 @@ index 5718d70cdc4f5afb14320a20c3e723623c1e66c2..d96de1ee220465cb268819f9683d52a1
if (entityliving2 instanceof net.minecraft.world.entity.player.Player) { if (entityliving2 instanceof net.minecraft.world.entity.player.Player) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index 69dbcc299cde87de76ff5c254842e6b89f55d86b..7ef5980f7321662aa7034a74c2f6926846425db9 100644 index 641caa0f74a40ea52f71f3150c0168272b378edf..0eaf7209c636440fa9351797d46954d53dd16c5c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -444,7 +444,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -444,7 +444,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
@@ -38,21 +38,21 @@ index 69dbcc299cde87de76ff5c254842e6b89f55d86b..7ef5980f7321662aa7034a74c2f69268
// Paper end // Paper end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d24bb6256c8bc25fb8fefd547ffccf8b41232687..98a9b8b050d76a16a076c61c5593891ab7e70f03 100644 index acd7d1f25a14896315227033133f7598aef97dbe..4d8080d52627acce69d8cf0667b7f6006e22c95d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -144,6 +144,7 @@ public class PurpurWorldConfig { @@ -146,6 +146,7 @@ public class PurpurWorldConfig {
public boolean mobsIgnoreRails = false;
public boolean rainStopsAfterSleep = true;
public boolean thunderStopsAfterSleep = true; public boolean thunderStopsAfterSleep = true;
public boolean forceHalloweenSeason = false;
public float chanceHeadHalloweenOnEntity = 0.25F;
+ public int mobLastHurtByPlayerTime = 100; + public int mobLastHurtByPlayerTime = 100;
private void miscGameplayMechanicsSettings() { private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative); alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative);
@@ -169,6 +170,7 @@ public class PurpurWorldConfig { @@ -173,6 +174,7 @@ public class PurpurWorldConfig {
mobsIgnoreRails = getBoolean("gameplay-mechanics.mobs-ignore-rails", mobsIgnoreRails);
rainStopsAfterSleep = getBoolean("gameplay-mechanics.rain-stops-after-sleep", rainStopsAfterSleep);
thunderStopsAfterSleep = getBoolean("gameplay-mechanics.thunder-stops-after-sleep", thunderStopsAfterSleep); thunderStopsAfterSleep = getBoolean("gameplay-mechanics.thunder-stops-after-sleep", thunderStopsAfterSleep);
forceHalloweenSeason = getBoolean("gameplay-mechanics.halloween.force", forceHalloweenSeason);
chanceHeadHalloweenOnEntity = (float) getDouble("gameplay-mechanics.halloween.head-chance", chanceHeadHalloweenOnEntity);
+ mobLastHurtByPlayerTime = getInt("gameplay-mechanics.mob-last-hurt-by-player-time", mobLastHurtByPlayerTime); + mobLastHurtByPlayerTime = getInt("gameplay-mechanics.mob-last-hurt-by-player-time", mobLastHurtByPlayerTime);
} }

View File

@@ -64,10 +64,10 @@ index 5c5a3b169795bf8a527b316c666cbc2105c66622..020afeca950d2c7fb6c7b179d424548f
return InteractionResult.SUCCESS; return InteractionResult.SUCCESS;
} else { } else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 71b803f244ec392898db423652b35e8603507f2f..a060ca451f6c0b1df4f87cbc98b05a8dc3bb2c0f 100644 index 4d8080d52627acce69d8cf0667b7f6006e22c95d..cdab9ffeebfbc35e729610ab2a4d7ece3de2c895 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -732,9 +732,13 @@ public class PurpurWorldConfig { @@ -736,9 +736,13 @@ public class PurpurWorldConfig {
public boolean anvilAllowColors = false; public boolean anvilAllowColors = false;
public boolean anvilColorsUseMiniMessage; public boolean anvilColorsUseMiniMessage;

View File

@@ -24,10 +24,10 @@ index 70997b83fd7631ebf3c5bda67ef77bef605eb464..a8c227e2cb62cfa8225798329cde9078
return world.purpurConfig.turtleEggsBypassMobGriefing || world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING); return world.purpurConfig.turtleEggsBypassMobGriefing || world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING);
// Purpur end // Purpur end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a060ca451f6c0b1df4f87cbc98b05a8dc3bb2c0f..77ec7bfd2b31d7346ddc56f8808904be624dc6ef 100644 index cdab9ffeebfbc35e729610ab2a4d7ece3de2c895..45cb432549683e155dc08863972f65815c203b94 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1013,12 +1013,14 @@ public class PurpurWorldConfig { @@ -1006,12 +1006,14 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromMinecarts = true; public boolean turtleEggsBreakFromMinecarts = true;
public boolean turtleEggsBypassMobGriefing = false; public boolean turtleEggsBypassMobGriefing = false;
public int turtleEggsRandomTickCrackChance = 500; public int turtleEggsRandomTickCrackChance = 500;
@@ -41,4 +41,4 @@ index a060ca451f6c0b1df4f87cbc98b05a8dc3bb2c0f..77ec7bfd2b31d7346ddc56f8808904be
+ turtleEggsTramplingFeatherFalling = getBoolean("blocks.turtle_egg.feather-fall-distance-affects-trampling", turtleEggsTramplingFeatherFalling); + turtleEggsTramplingFeatherFalling = getBoolean("blocks.turtle_egg.feather-fall-distance-affects-trampling", turtleEggsTramplingFeatherFalling);
} }
public int waterInfiniteRequiredSources = 2; public double axolotlMaxHealth = 14.0D;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for enchant level clamping
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index dfca70fd75dc2d6c169a35a25aba2262680f6ca9..f671a4475ead763d2202ff2208b8ff3490d6b5e3 100644 index b42360ce91de16864ad1e4489dc0c22ba412c749..0f6f14f3ddf18ef111d37434b8c2659c9a6484b9 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java --- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -1190,7 +1190,7 @@ public final class ItemStack { @@ -1192,7 +1192,7 @@ public final class ItemStack {
ListTag nbttaglist = this.tag.getList("Enchantments", 10); ListTag nbttaglist = this.tag.getList("Enchantments", 10);
@@ -31,10 +31,10 @@ index 2048899f8e4c8211e8dde0d11148d647678009fa..1eec84e217f6dc929091fa7451cd235e
@Nullable @Nullable
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 3db04bc9611a76b939758ebaac8596e05860f365..3de2e7a17e1234367e4ec6d944b1145781aefeba 100644 index 4ebaf007c785f6805b659d153c207e8f6c800bee..75908d5fdfbf795b2e83860146291619b768df31 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -395,6 +395,7 @@ public class PurpurConfig { @@ -393,6 +393,7 @@ public class PurpurConfig {
public static boolean allowIncompatibleEnchants = true; public static boolean allowIncompatibleEnchants = true;
public static boolean allowHigherEnchantsLevels = true; public static boolean allowHigherEnchantsLevels = true;
public static boolean allowUnsafeEnchantCommand = false; public static boolean allowUnsafeEnchantCommand = false;
@@ -42,7 +42,7 @@ index 3db04bc9611a76b939758ebaac8596e05860f365..3de2e7a17e1234367e4ec6d944b11457
private static void enchantmentSettings() { private static void enchantmentSettings() {
if (version < 5) { if (version < 5) {
boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false); boolean oldValue = getBoolean("settings.enchantment.allow-infinite-and-mending-together", false);
@@ -417,6 +418,7 @@ public class PurpurConfig { @@ -415,6 +416,7 @@ public class PurpurConfig {
allowIncompatibleEnchants = getBoolean("settings.enchantment.anvil.allow-incompatible-enchants", allowIncompatibleEnchants); allowIncompatibleEnchants = getBoolean("settings.enchantment.anvil.allow-incompatible-enchants", allowIncompatibleEnchants);
allowHigherEnchantsLevels = getBoolean("settings.enchantment.anvil.allow-higher-enchants-levels", allowHigherEnchantsLevels); allowHigherEnchantsLevels = getBoolean("settings.enchantment.anvil.allow-higher-enchants-levels", allowHigherEnchantsLevels);
allowUnsafeEnchantCommand = getBoolean("settings.enchantment.allow-unsafe-enchant-command", allowUnsafeEnchants); // allowUnsafeEnchants as default for backwards compatability allowUnsafeEnchantCommand = getBoolean("settings.enchantment.allow-unsafe-enchant-command", allowUnsafeEnchants); // allowUnsafeEnchants as default for backwards compatability

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 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 75df9d6d69ad5e979ab7b99435dbae1dcb901e30..6f47f6c785dc8da6b211ac87630a3d83c42d1576 100644 index 49e4a49331938a01d8ff79a17bbb37f33d5c49ea..231fa50590f2861cc2a733ecfb37fb27add0eff9 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -1093,6 +1093,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -1060,6 +1060,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
} }
public void spawnGolemIfNeeded(ServerLevel world, long time, int requiredCount) { public void spawnGolemIfNeeded(ServerLevel world, long time, int requiredCount) {
@@ -18,19 +18,19 @@ index 75df9d6d69ad5e979ab7b99435dbae1dcb901e30..6f47f6c785dc8da6b211ac87630a3d83
AABB axisalignedbb = this.getBoundingBox().inflate(10.0D, 10.0D, 10.0D); AABB axisalignedbb = this.getBoundingBox().inflate(10.0D, 10.0D, 10.0D);
List<Villager> list = world.getEntitiesOfClass(Villager.class, axisalignedbb); List<Villager> list = world.getEntitiesOfClass(Villager.class, axisalignedbb);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 77ec7bfd2b31d7346ddc56f8808904be624dc6ef..dd39765b0b89126421834c1b9c79882347ae8a5c 100644 index 45cb432549683e155dc08863972f65815c203b94..bf94c241a737f21274e2e846a911318148a029b0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2723,6 +2723,8 @@ public class PurpurWorldConfig { @@ -2303,6 +2303,8 @@ public class PurpurWorldConfig {
public boolean villagerLobotomizeEnabled = false; public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheckInterval = 100; public int villagerLobotomizeCheckInterval = 100;
public boolean villagerDisplayTradeItem = true; public boolean villagerDisplayTradeItem = true;
+ public int villagerSpawnIronGolemRadius = 0; + public int villagerSpawnIronGolemRadius = 0;
+ public int villagerSpawnIronGolemLimit = 0; + public int villagerSpawnIronGolemLimit = 0;
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); if (PurpurConfig.version < 10) {
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); double oldValue = getDouble("mobs.villager.attributes.max-health", villagerMaxHealth);
@@ -2756,6 +2758,8 @@ public class PurpurWorldConfig { @@ -2331,6 +2333,8 @@ public class PurpurWorldConfig {
villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled);
villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval); villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval);
villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem); villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem);
@@ -38,4 +38,4 @@ index 77ec7bfd2b31d7346ddc56f8808904be624dc6ef..dd39765b0b89126421834c1b9c798823
+ villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); + villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
} }
public boolean vindicatorRidable = false; public double vindicatorMaxHealth = 24.0D;

View File

@@ -26,10 +26,10 @@ index 0a95842c53a9d0286c57bcb42db97e468e30fb7d..e2d42e7947a237dd060ec1b9b63ac6ca
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java diff --git a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java
index 17a7fab20b4174273354fdc2fc700b7f2d669a98..a7578e112e80ed2585a7eb4fff9542f6068546be 100644 index 0e6923e6d440e846b3db47c6b8357f7e0e85ad65..48356602e9e112c4f059777467d8adf6d5147184 100644
--- a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java --- a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java
+++ b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java +++ b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java
@@ -463,7 +463,7 @@ public class WalkNodeEvaluator extends NodeEvaluator { @@ -465,7 +465,7 @@ public class WalkNodeEvaluator extends NodeEvaluator {
return BlockPathTypes.BLOCKED; return BlockPathTypes.BLOCKED;
} else { } else {
// Paper end // Paper end
@@ -38,7 +38,7 @@ index 17a7fab20b4174273354fdc2fc700b7f2d669a98..a7578e112e80ed2585a7eb4fff9542f6
return BlockPathTypes.DANGER_OTHER; return BlockPathTypes.DANGER_OTHER;
} }
@@ -493,7 +493,7 @@ public class WalkNodeEvaluator extends NodeEvaluator { @@ -498,7 +498,7 @@ public class WalkNodeEvaluator extends NodeEvaluator {
} else if (!blockState.is(BlockTags.TRAPDOORS) && !blockState.is(Blocks.LILY_PAD) && !blockState.is(Blocks.BIG_DRIPLEAF)) { } else if (!blockState.is(BlockTags.TRAPDOORS) && !blockState.is(Blocks.LILY_PAD) && !blockState.is(Blocks.BIG_DRIPLEAF)) {
if (blockState.is(Blocks.POWDER_SNOW)) { if (blockState.is(Blocks.POWDER_SNOW)) {
return BlockPathTypes.POWDER_SNOW; return BlockPathTypes.POWDER_SNOW;
@@ -48,10 +48,10 @@ index 17a7fab20b4174273354fdc2fc700b7f2d669a98..a7578e112e80ed2585a7eb4fff9542f6
return BlockPathTypes.STICKY_HONEY; return BlockPathTypes.STICKY_HONEY;
} else if (blockState.is(Blocks.COCOA)) { } else if (blockState.is(Blocks.COCOA)) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 3de2e7a17e1234367e4ec6d944b1145781aefeba..15ed564a579237dd1f5d6ce56ccb473f038a8c13 100644 index 75908d5fdfbf795b2e83860146291619b768df31..c731c389ca4e9114512a00cd55933debfbefc9f5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -207,8 +207,10 @@ public class PurpurConfig { @@ -205,8 +205,10 @@ public class PurpurConfig {
} }
public static String deathMsgRunWithScissors = "<player> slipped and fell on their shears"; public static String deathMsgRunWithScissors = "<player> slipped and fell on their shears";
@@ -63,10 +63,10 @@ index 3de2e7a17e1234367e4ec6d944b1145781aefeba..15ed564a579237dd1f5d6ce56ccb473f
public static boolean advancementOnlyBroadcastToAffectedPlayer = false; public static boolean advancementOnlyBroadcastToAffectedPlayer = false;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dd39765b0b89126421834c1b9c79882347ae8a5c..2b405b145c4369933f2aee5262bcee1a4c077978 100644 index bf94c241a737f21274e2e846a911318148a029b0..645963cbc96e77eb45426e183c3df3a804e6b3f5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1008,6 +1008,11 @@ public class PurpurWorldConfig { @@ -1001,6 +1001,11 @@ public class PurpurWorldConfig {
spongeAbsorbsLava = getBoolean("blocks.sponge.absorbs-lava", spongeAbsorbsLava); spongeAbsorbsLava = getBoolean("blocks.sponge.absorbs-lava", spongeAbsorbsLava);
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable damage settings for magma blocks
diff --git a/src/main/java/net/minecraft/world/level/block/MagmaBlock.java b/src/main/java/net/minecraft/world/level/block/MagmaBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/MagmaBlock.java b/src/main/java/net/minecraft/world/level/block/MagmaBlock.java
index 12ffb5714f088f4aeafa1ad6a36f5b64a86c4c96..293aa5c8f91a997045f8d9f2951fe3a7f01f0642 100644 index 1b766045687e4dcded5cbcc50b746c55b9a34e22..be365914856593bb3c4e1945cc990786072f2953 100644
--- a/src/main/java/net/minecraft/world/level/block/MagmaBlock.java --- a/src/main/java/net/minecraft/world/level/block/MagmaBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/MagmaBlock.java +++ b/src/main/java/net/minecraft/world/level/block/MagmaBlock.java
@@ -27,7 +27,7 @@ public class MagmaBlock extends Block { @@ -22,7 +22,7 @@ public class MagmaBlock extends Block {
@Override @Override
public void stepOn(Level world, BlockPos pos, BlockState state, Entity entity) { public void stepOn(Level world, BlockPos pos, BlockState state, Entity entity) {
@@ -18,10 +18,10 @@ index 12ffb5714f088f4aeafa1ad6a36f5b64a86c4c96..293aa5c8f91a997045f8d9f2951fe3a7
entity.hurt(world.damageSources().hotFloor(), 1.0F); entity.hurt(world.damageSources().hotFloor(), 1.0F);
org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // CraftBukkit org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // CraftBukkit
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2b405b145c4369933f2aee5262bcee1a4c077978..2a1740fe8aab03c59427b01277068e6c87d6b241 100644 index 645963cbc96e77eb45426e183c3df3a804e6b3f5..258d979638e716ce822951544fb2821014816773 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -939,6 +939,13 @@ public class PurpurWorldConfig { @@ -943,6 +943,13 @@ public class PurpurWorldConfig {
pistonBlockPushLimit = getInt("blocks.piston.block-push-limit", pistonBlockPushLimit); pistonBlockPushLimit = getInt("blocks.piston.block-push-limit", pistonBlockPushLimit);
} }

View File

@@ -22,10 +22,10 @@ index 14e00c7feb1c051d56a3d27cd00dcef072dd771a..4952fb1aaaafb55baa0fddb389f966a1
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2a1740fe8aab03c59427b01277068e6c87d6b241..aaeceeb1969c6c222a0d252d207e01762b7fb27c 100644 index 258d979638e716ce822951544fb2821014816773..9db72cc34ce9cb8424a69070745246671ee49a7c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -920,9 +920,11 @@ public class PurpurWorldConfig { @@ -924,9 +924,11 @@ public class PurpurWorldConfig {
public boolean mobsSpawnOnPackedIce = true; public boolean mobsSpawnOnPackedIce = true;
public boolean mobsSpawnOnBlueIce = true; public boolean mobsSpawnOnBlueIce = true;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Skeletons eat wither roses
diff --git a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
index 78fc17c45e566e0844ffbebb85044b9bfe64c6db..64a5e000adbfa5de2abc32ea9182847dbf83293d 100644 index 27b3536224a9ddee098ad7765bf8f5f924b717d1..3bfe3e00bb9d6d99cc744488f73de2186c330671 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java --- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
@@ -14,6 +14,16 @@ import net.minecraft.world.item.Items; @@ -14,6 +14,16 @@ import net.minecraft.world.item.Items;
@@ -25,7 +25,7 @@ index 78fc17c45e566e0844ffbebb85044b9bfe64c6db..64a5e000adbfa5de2abc32ea9182847d
public class Skeleton extends AbstractSkeleton { public class Skeleton extends AbstractSkeleton {
private static final int TOTAL_CONVERSION_TIME = 300; private static final int TOTAL_CONVERSION_TIME = 300;
@@ -174,4 +184,67 @@ public class Skeleton extends AbstractSkeleton { @@ -157,4 +167,67 @@ public class Skeleton extends AbstractSkeleton {
} }
} }
@@ -94,22 +94,22 @@ index 78fc17c45e566e0844ffbebb85044b9bfe64c6db..64a5e000adbfa5de2abc32ea9182847d
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index aaeceeb1969c6c222a0d252d207e01762b7fb27c..2120da75446b48d58f16c187a01d73e4e1eb7a1e 100644 index 9db72cc34ce9cb8424a69070745246671ee49a7c..d766e659f4fdb123c399d5bfff422806cc6e212f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2407,6 +2407,7 @@ public class PurpurWorldConfig { @@ -2070,6 +2070,7 @@ public class PurpurWorldConfig {
public boolean skeletonTakeDamageFromWater = false; public boolean skeletonTakeDamageFromWater = false;
public boolean skeletonAlwaysDropExp = false; public boolean skeletonAlwaysDropExp = false;
public double skeletonHeadVisibilityPercent = 0.5D; public double skeletonHeadVisibilityPercent = 0.5D;
+ public int skeletonFeedWitherRoses = 0; + public int skeletonFeedWitherRoses = 0;
private void skeletonSettings() { private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); if (PurpurConfig.version < 10) {
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); double oldValue = getDouble("mobs.skeleton.attributes.max-health", skeletonMaxHealth);
@@ -2420,6 +2421,7 @@ public class PurpurWorldConfig { @@ -2080,6 +2081,7 @@ public class PurpurWorldConfig {
skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater); skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater);
skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp); skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent); skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent);
+ skeletonFeedWitherRoses = getInt("mobs.skeleton.feed-wither-roses", skeletonFeedWitherRoses); + skeletonFeedWitherRoses = getInt("mobs.skeleton.feed-wither-roses", skeletonFeedWitherRoses);
} }
public boolean skeletonHorseRidableInWater = true; public double skeletonHorseMaxHealthMin = 15.0D;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Enchantment Table Persists Lapis
diff --git a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java diff --git a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java
index c2fc00509bf3690d359928e8d352d4b3c2ca1491..69ae671be07b1928e778399551991777829e432a 100644 index 0c3c3902e84010684ef703545c1377d8a6f32580..556e36c96820bfeba46f8e98b905c4456b969545 100644
--- a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java --- a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java +++ b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java
@@ -38,6 +38,12 @@ import org.bukkit.event.enchantment.PrepareItemEnchantEvent; @@ -38,6 +38,12 @@ import org.bukkit.event.enchantment.PrepareItemEnchantEvent;
@@ -71,10 +71,10 @@ index c2fc00509bf3690d359928e8d352d4b3c2ca1491..69ae671be07b1928e778399551991777
}); });
} }
diff --git a/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java b/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java b/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java
index f4ee3ce287528337a0f9a3b612c157254f895a58..37a888e5db65b927094b43775ae9d4098244f809 100644 index 839b7bc9392906dca384003468746963631fe095..286f34eef22a85be3fe9747dc3c3f9a7d51f437c 100644
--- a/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java --- a/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java +++ b/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java
@@ -28,6 +28,8 @@ import net.minecraft.world.level.pathfinder.PathComputationType; @@ -29,6 +29,8 @@ import net.minecraft.world.level.pathfinder.PathComputationType;
import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.BlockHitResult;
import net.minecraft.world.phys.shapes.CollisionContext; import net.minecraft.world.phys.shapes.CollisionContext;
import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.phys.shapes.VoxelShape;
@@ -83,7 +83,7 @@ index f4ee3ce287528337a0f9a3b612c157254f895a58..37a888e5db65b927094b43775ae9d409
public class EnchantmentTableBlock extends BaseEntityBlock { public class EnchantmentTableBlock extends BaseEntityBlock {
protected static final VoxelShape SHAPE = Block.box(0.0D, 0.0D, 0.0D, 16.0D, 12.0D, 16.0D); protected static final VoxelShape SHAPE = Block.box(0.0D, 0.0D, 0.0D, 16.0D, 12.0D, 16.0D);
@@ -120,4 +122,18 @@ public class EnchantmentTableBlock extends BaseEntityBlock { @@ -121,4 +123,18 @@ public class EnchantmentTableBlock extends BaseEntityBlock {
public boolean isPathfindable(BlockState state, BlockGetter world, BlockPos pos, PathComputationType type) { public boolean isPathfindable(BlockState state, BlockGetter world, BlockPos pos, PathComputationType type) {
return false; return false;
} }
@@ -146,11 +146,11 @@ index 65e1381bb2d10bd212463feb602c60f8fdb9ade1..b7370e64fd0d50e8725d7d5afc30af2e
+ // Purpur + // Purpur
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2120da75446b48d58f16c187a01d73e4e1eb7a1e..61081f7e117777174b064353aa6453cecbad275d 100644 index d766e659f4fdb123c399d5bfff422806cc6e212f..a5d07401e670775cd27ebee2daaa04194dd4fdc4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1442,6 +1442,11 @@ public class PurpurWorldConfig { @@ -745,6 +745,11 @@ public class PurpurWorldConfig {
elderGuardianAlwaysDropExp = getBoolean("mobs.elder_guardian.always-drop-exp", elderGuardianAlwaysDropExp); anvilDamageObsidianAmount = getInt("blocks.anvil.obsidian-used-for-damage", anvilDamageObsidianAmount);
} }
+ public boolean enchantmentTableLapisPersists = false; + public boolean enchantmentTableLapisPersists = false;
@@ -158,6 +158,6 @@ index 2120da75446b48d58f16c187a01d73e4e1eb7a1e..61081f7e117777174b064353aa6453ce
+ enchantmentTableLapisPersists = getBoolean("blocks.enchantment-table.lapis-persists", enchantmentTableLapisPersists); + enchantmentTableLapisPersists = getBoolean("blocks.enchantment-table.lapis-persists", enchantmentTableLapisPersists);
+ } + }
+ +
public boolean enderDragonRidable = false; public double azaleaGrowthChance = 0.0D;
public boolean enderDragonRidableInWater = true; private void azaleaSettings() {
public boolean enderDragonControllable = true; azaleaGrowthChance = getDouble("blocks.azalea.growth-chance", azaleaGrowthChance);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Option to disable kick for out of order chat
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 565ae94ff218e18e38a5502c06d0caca407293e3..b5ff4750b669ffd60d7f3c926691fdce11dd52e4 100644 index 8e90ee2ee59395533dc8803ded3f06c694a02e4f..1dd46063aa511febc3621a36e8d7172c3bdb012a 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2452,7 +2452,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -2448,7 +2448,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
do { do {
instant1 = (Instant) this.lastChatTimeStamp.get(); instant1 = (Instant) this.lastChatTimeStamp.get();
if (timestamp.isBefore(instant1)) { if (timestamp.isBefore(instant1)) {
@@ -18,10 +18,10 @@ index 565ae94ff218e18e38a5502c06d0caca407293e3..b5ff4750b669ffd60d7f3c926691fdce
} while (!this.lastChatTimeStamp.compareAndSet(instant1, timestamp)); } while (!this.lastChatTimeStamp.compareAndSet(instant1, timestamp));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 15ed564a579237dd1f5d6ce56ccb473f038a8c13..9e87afb01e569e6d5c2846b931440c4ce395adae 100644 index c731c389ca4e9114512a00cd55933debfbefc9f5..ad7153e27b04fc12a4ff97f1563584471626c6eb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -461,9 +461,11 @@ public class PurpurConfig { @@ -459,9 +459,11 @@ public class PurpurConfig {
public static boolean useUPnP = false; public static boolean useUPnP = false;
public static boolean maxJoinsPerSecond = false; public static boolean maxJoinsPerSecond = false;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Config for sculk shrieker can_summon state
diff --git a/src/main/java/net/minecraft/world/level/block/SculkShriekerBlock.java b/src/main/java/net/minecraft/world/level/block/SculkShriekerBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/SculkShriekerBlock.java b/src/main/java/net/minecraft/world/level/block/SculkShriekerBlock.java
index 437b44fb68bcbe81d1c431689431225b6a17a1a6..06d091b7c4df949c4abda16c4f73c194a71a4669 100644 index 02d01eabb9606ae8c3b76ad9fa4bb9a525e247b1..ce51fec4a874f9466f9966684c535315dbf40b9e 100644
--- a/src/main/java/net/minecraft/world/level/block/SculkShriekerBlock.java --- a/src/main/java/net/minecraft/world/level/block/SculkShriekerBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/SculkShriekerBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SculkShriekerBlock.java
@@ -130,7 +130,7 @@ public class SculkShriekerBlock extends BaseEntityBlock implements SimpleWaterlo @@ -130,7 +130,7 @@ public class SculkShriekerBlock extends BaseEntityBlock implements SimpleWaterlo
@@ -18,10 +18,10 @@ index 437b44fb68bcbe81d1c431689431225b6a17a1a6..06d091b7c4df949c4abda16c4f73c194
@Override @Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 61081f7e117777174b064353aa6453cecbad275d..f31c457aa8bbccb4b9a6db9ab73eaeb2094140b7 100644 index a5d07401e670775cd27ebee2daaa04194dd4fdc4..8107a8c01bccbad7e6896f95d4a7bae52f57ce3a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -984,6 +984,11 @@ public class PurpurWorldConfig { @@ -1005,6 +1005,11 @@ public class PurpurWorldConfig {
fixSandDuping = getBoolean("blocks.sand.fix-duping", fixSandDuping); fixSandDuping = getBoolean("blocks.sand.fix-duping", fixSandDuping);
} }

View File

@@ -29,10 +29,10 @@ index 88faea00be60a519f56f975a5311df5e1eb3e6b8..cbb726ac367be81e27d3a86643baf7c4
int i = aenumdirection.length; int i = aenumdirection.length;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f31c457aa8bbccb4b9a6db9ab73eaeb2094140b7..2e1da0979b9672a4361dddf97bd8359a30c4d943 100644 index 8107a8c01bccbad7e6896f95d4a7bae52f57ce3a..1a9b1e0f2ffe47408a83e9de2fd2f258b6dd8595 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -821,6 +821,11 @@ public class PurpurWorldConfig { @@ -830,6 +830,11 @@ public class PurpurWorldConfig {
composterBulkProcess = getBoolean("blocks.composter.sneak-to-bulk-process", composterBulkProcess); composterBulkProcess = getBoolean("blocks.composter.sneak-to-bulk-process", composterBulkProcess);
} }

View File

@@ -5,11 +5,11 @@ Subject: [PATCH] Add local difficulty api
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index 8f0234296397ca2d4a607dcea6093c6c606dc7d2..a5260ff68e91f2594bcc6693663c3da2e477e5dd 100644 index 439857a814212b36e475461a01b320731a10b86d..2456d3710592dfc62b60dd609602306a20bd825a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2284,6 +2284,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -2278,6 +2278,12 @@ public class CraftWorld extends CraftRegionAccessor implements World {
return (this.getHandle().dragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().dragonFight()); return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight());
} }
+ // Purpur start + // Purpur start

View File

@@ -7,10 +7,10 @@ Paper patches RNG maniplulation by using a shared (and locked) random source.
This comes with a performance gain, but technical players may prefer the ability to manipulate RNG. This comes with a performance gain, but technical players may prefer the ability to manipulate RNG.
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index cf7eb47706b5344fa7619aeda88c9641bda0ad42..fe0b002a8ebf2f8495bab456854483c341e6a14e 100644 index ed73296c9c2e07c3b24067946f996c13aa777cbb..61699b09ab5005dec792b276ccaa62599dae62f7 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -580,7 +580,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -542,7 +542,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.bb = Entity.INITIAL_AABB; this.bb = Entity.INITIAL_AABB;
this.stuckSpeedMultiplier = Vec3.ZERO; this.stuckSpeedMultiplier = Vec3.ZERO;
this.nextStep = 1.0F; this.nextStep = 1.0F;
@@ -20,7 +20,7 @@ index cf7eb47706b5344fa7619aeda88c9641bda0ad42..fe0b002a8ebf2f8495bab456854483c3
this.fluidHeight = new Object2DoubleArrayMap(2); this.fluidHeight = new Object2DoubleArrayMap(2);
this.fluidOnEyes = new HashSet(); this.fluidOnEyes = new HashSet();
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java 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 2a2b56940cd39ca0f14dc8246b41cf6640caa3bd..31c89a6b8f766e1fd03608723c2d03f7f64e2e9b 100644 index b4d3ee520e8c10755ad0c608b4660d6213fcb5ca..e6910b5ee3828ca2242d3358b9378286bb9de0f8 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java --- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java +++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
@@ -46,7 +46,7 @@ public class Squid extends WaterAnimal { @@ -46,7 +46,7 @@ public class Squid extends WaterAnimal {
@@ -33,10 +33,10 @@ index 2a2b56940cd39ca0f14dc8246b41cf6640caa3bd..31c89a6b8f766e1fd03608723c2d03f7
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2e1da0979b9672a4361dddf97bd8359a30c4d943..7769ceb691f5563843d69463f89c3c49b095a3f4 100644 index 1a9b1e0f2ffe47408a83e9de2fd2f258b6dd8595..ffde033727a1587cf679a9626b562a17d6048539 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -206,9 +206,11 @@ public class PurpurWorldConfig { @@ -210,9 +210,11 @@ public class PurpurWorldConfig {
public int entityLifeSpan = 0; public int entityLifeSpan = 0;
public float entityLeftHandedChance = 0.05f; public float entityLeftHandedChance = 0.05f;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Send client custom name of BE
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
index 64c55f3ebdbc27f7f0cea38247ff7b35fa99e341..e438e7e018f643d82ddf5efbf72779876c516d1a 100644 index 2f19f6ac5de454845f5d13a3ebb93af625b2afc8..3431f1a00ae2918b91a6b7a449e613e6e12ff6d4 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java --- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java
@@ -206,10 +206,24 @@ public abstract class BlockEntity { @@ -205,10 +205,24 @@ public abstract class BlockEntity {
@Nullable @Nullable
public Packet<ClientGamePacketListener> getUpdatePacket() { public Packet<ClientGamePacketListener> getUpdatePacket() {

View File

@@ -85,19 +85,19 @@ index 574ebb3a2fcd0e4e426a8a7ee88d722ed3b9c3f5..842b921799111789b37a34b76644c921
} }
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
index c318f0b6d956c19d16b13c1aa99beda704d52027..45d864679816cb39420e079d37220a967e9d71d1 100644 index 0f6f14f3ddf18ef111d37434b8c2659c9a6484b9..57bdbfd436feb2004f8c1a45f4a1658e7167582b 100644
--- a/src/main/java/net/minecraft/world/item/ItemStack.java --- a/src/main/java/net/minecraft/world/item/ItemStack.java
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -111,6 +111,7 @@ import org.bukkit.event.world.StructureGrowEvent; @@ -113,6 +113,7 @@ import org.bukkit.event.world.StructureGrowEvent;
public final class ItemStack { public final class ItemStack {
+ public boolean isExactRecipeIngredient = false; // PaperPR + public boolean isExactRecipeIngredient = false; // PaperPR
public static final Codec<ItemStack> CODEC = RecordCodecBuilder.create((instance) -> { public static final Codec<ItemStack> CODEC = RecordCodecBuilder.create((instance) -> {
return instance.group(BuiltInRegistries.ITEM.byNameCodec().fieldOf("id").forGetter((itemstack) -> { return instance.group(BuiltInRegistries.ITEM.byNameCodec().fieldOf("id").forGetter(ItemStack::getItem), Codec.INT.fieldOf("Count").forGetter(ItemStack::getCount), CompoundTag.CODEC.optionalFieldOf("tag").forGetter((itemstack) -> {
return itemstack.item; return Optional.ofNullable(itemstack.getTag());
diff --git a/src/main/java/net/minecraft/world/item/crafting/Ingredient.java b/src/main/java/net/minecraft/world/item/crafting/Ingredient.java diff --git a/src/main/java/net/minecraft/world/item/crafting/Ingredient.java b/src/main/java/net/minecraft/world/item/crafting/Ingredient.java
index dbc3040bc087a6016a491caf76019663c1cd1b4c..e24034d1ce4bb529de084aab69a531227e0c2f79 100644 index 3ca086418ad037c48775db73d2b9c410acf1e326..f47eab4c31925f51de4a6bc8be730281cb3388fc 100644
--- a/src/main/java/net/minecraft/world/item/crafting/Ingredient.java --- a/src/main/java/net/minecraft/world/item/crafting/Ingredient.java
+++ b/src/main/java/net/minecraft/world/item/crafting/Ingredient.java +++ b/src/main/java/net/minecraft/world/item/crafting/Ingredient.java
@@ -51,7 +51,11 @@ public final class Ingredient implements Predicate<ItemStack> { @@ -51,7 +51,11 @@ public final class Ingredient implements Predicate<ItemStack> {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Allow custom ChatDecorators
Requires NMS to utilize. I'll write an API for this once our upstreams calm down with the changes. Requires NMS to utilize. I'll write an API for this once our upstreams calm down with the changes.
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 6349ef5221109b7c46a437ca069e802a7895a229..b710474e2a714a6502e0256c12fcfcba7af8e142 100644 index e059da8ea6925797b4aca13e937dc843888c32c6..17c20539170e48187bfc356f5cb905f4ae71409b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2667,6 +2667,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -2656,6 +2656,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
new com.google.common.util.concurrent.ThreadFactoryBuilder().setDaemon(true).setNameFormat("Async Chat Thread - #%d").setUncaughtExceptionHandler(new net.minecraft.DefaultUncaughtExceptionHandlerWithName(net.minecraft.server.MinecraftServer.LOGGER)).build()); // Paper new com.google.common.util.concurrent.ThreadFactoryBuilder().setDaemon(true).setNameFormat("Async Chat Thread - #%d").setUncaughtExceptionHandler(new net.minecraft.DefaultUncaughtExceptionHandlerWithName(net.minecraft.server.MinecraftServer.LOGGER)).build()); // Paper
public ChatDecorator getChatDecorator() { public ChatDecorator getChatDecorator() {

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Cache server motd
Paper ported my patch in an odd way. Keeping my patch around to reduce logic on the motd getter Paper ported my patch in an odd way. Keeping my patch around to reduce logic on the motd getter
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index b710474e2a714a6502e0256c12fcfcba7af8e142..0decdb4687734ed901929115d176e5128db4d390 100644 index 17c20539170e48187bfc356f5cb905f4ae71409b..bb6de1c489a9bbf34fc9ca5244ccd34ad4b39cc8 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -250,7 +250,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -250,7 +250,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -18,7 +18,7 @@ index b710474e2a714a6502e0256c12fcfcba7af8e142..0decdb4687734ed901929115d176e512
private int playerIdleTimeout; private int playerIdleTimeout;
public final long[] tickTimes; public final long[] tickTimes;
// Paper start // Paper start
@@ -1903,17 +1903,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1899,17 +1899,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
} }
public net.kyori.adventure.text.Component getComponentMotd() { public net.kyori.adventure.text.Component getComponentMotd() {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add more logger output for invalid movement kicks
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index f3ce7a1b5af187f281e0a3da03494ed323a585f9..11560dc4ab6eb33fcb1ffcfbd49ea663d754fd8a 100644 index 1dd46063aa511febc3621a36e8d7172c3bdb012a..f78d0e6241930909b7b227539c8698eabc270490 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -858,6 +858,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -865,6 +865,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
if (packet.getId() == this.awaitingTeleport) { if (packet.getId() == this.awaitingTeleport) {
if (this.awaitingPositionFromClient == null) { if (this.awaitingPositionFromClient == null) {
this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
@@ -16,10 +16,10 @@ index f3ce7a1b5af187f281e0a3da03494ed323a585f9..11560dc4ab6eb33fcb1ffcfbd49ea663
return; return;
} }
@@ -1438,8 +1439,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -1440,8 +1441,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@Override @Override
public void handleMovePlayer(ServerboundMovePlayerPacket packet) { public void handleMovePlayer(ServerboundMovePlayerPacket packet) {
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
- if (ServerGamePacketListenerImpl.containsInvalidValues(packet.getX(0.0D), packet.getY(0.0D), packet.getZ(0.0D), packet.getYRot(0.0F), packet.getXRot(0.0F))) { - if (ServerGamePacketListenerImpl.containsInvalidValues(packet.getX(0.0D), packet.getY(0.0D), packet.getZ(0.0D), packet.getYRot(0.0F), packet.getXRot(0.0F))) {
+ // Purpur start + // Purpur start
+ boolean invalidX = Double.isNaN(packet.getX(0.0D)); + boolean invalidX = Double.isNaN(packet.getX(0.0D));
@@ -32,5 +32,5 @@ index f3ce7a1b5af187f281e0a3da03494ed323a585f9..11560dc4ab6eb33fcb1ffcfbd49ea663
+ ServerGamePacketListenerImpl.LOGGER.warn(String.format("Disconnected on move player packet. Invalid data: x=%b, y=%b, z=%b, yaw=%b, pitch=%b", invalidX, invalidY, invalidZ, invalidYaw, invalidPitch)); + ServerGamePacketListenerImpl.LOGGER.warn(String.format("Disconnected on move player packet. Invalid data: x=%b, y=%b, z=%b, yaw=%b, pitch=%b", invalidX, invalidY, invalidZ, invalidYaw, invalidPitch));
+ // Purpur end + // Purpur end
} else { } else {
ServerLevel worldserver = this.player.getLevel(); ServerLevel worldserver = this.player.serverLevel();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add Bee API
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index e97731c58b86562827fb6b0a32a7a00e7b714cd3..d47dc0c3fe8c2b80d7b7eb828a12af6eb32145e4 100644 index 12ed22c17b50ff9c2050eedc0c9e1f2f1d011e8c..aef5c9b0b0b683cf7d39efe7c4cd0e9aa3a20162 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -804,6 +804,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { @@ -752,6 +752,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
if (optional.isPresent()) { if (optional.isPresent()) {
Bee.this.savedFlowerPos = (BlockPos) optional.get(); Bee.this.savedFlowerPos = (BlockPos) optional.get();
Bee.this.navigation.moveTo((double) Bee.this.savedFlowerPos.getX() + 0.5D, (double) Bee.this.savedFlowerPos.getY() + 0.5D, (double) Bee.this.savedFlowerPos.getZ() + 0.5D, 1.2000000476837158D); Bee.this.navigation.moveTo((double) Bee.this.savedFlowerPos.getX() + 0.5D, (double) Bee.this.savedFlowerPos.getY() + 0.5D, (double) Bee.this.savedFlowerPos.getZ() + 0.5D, 1.2000000476837158D);
@@ -16,7 +16,7 @@ index e97731c58b86562827fb6b0a32a7a00e7b714cd3..d47dc0c3fe8c2b80d7b7eb828a12af6e
return true; return true;
} else { } else {
Bee.this.remainingCooldownBeforeLocatingNewFlower = Mth.nextInt(Bee.this.random, 20, 60); Bee.this.remainingCooldownBeforeLocatingNewFlower = Mth.nextInt(Bee.this.random, 20, 60);
@@ -860,6 +861,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { @@ -808,6 +809,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
this.pollinating = false; this.pollinating = false;
Bee.this.navigation.stop(); Bee.this.navigation.stop();
Bee.this.remainingCooldownBeforeLocatingNewFlower = 200; Bee.this.remainingCooldownBeforeLocatingNewFlower = 200;
@@ -24,7 +24,7 @@ index e97731c58b86562827fb6b0a32a7a00e7b714cd3..d47dc0c3fe8c2b80d7b7eb828a12af6e
} }
@Override @Override
@@ -906,6 +908,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { @@ -854,6 +856,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
this.setWantedPos(); this.setWantedPos();
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Debug Marker API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 6c6fe8b0a6cb00647aa2cc8ad4dd56c0ce87721c..a3a7bf5dba5014df499eefb430b888743f1d2a4a 100644 index 3ef465b4ff9f3a602f8c289e65e5a9548846cbcd..ce8179d33d5a6a187e16496731798e42488cb87a 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1465,6 +1465,42 @@ public final class CraftServer implements Server { @@ -1458,6 +1458,42 @@ public final class CraftServer implements Server {
public void removeFuel(org.bukkit.Material material) { public void removeFuel(org.bukkit.Material material) {
net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity.removeFuel(net.minecraft.world.item.ItemStack.fromBukkitCopy(new ItemStack(material))); net.minecraft.world.level.block.entity.AbstractFurnaceBlockEntity.removeFuel(net.minecraft.world.item.ItemStack.fromBukkitCopy(new ItemStack(material)));
} }
@@ -52,10 +52,10 @@ index 6c6fe8b0a6cb00647aa2cc8ad4dd56c0ce87721c..a3a7bf5dba5014df499eefb430b88874
@Override @Override
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
index a5260ff68e91f2594bcc6693663c3da2e477e5dd..68df53648c9b76cf1b6abcaa90c5e8938e9e0d05 100644 index 2456d3710592dfc62b60dd609602306a20bd825a..b0a9e40e6054a23a9ebe8019ff40850942d6938e 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
@@ -2288,6 +2288,42 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -2282,6 +2282,42 @@ public class CraftWorld extends CraftRegionAccessor implements World {
public float getLocalDifficultyAt(Location location) { public float getLocalDifficultyAt(Location location) {
return getHandle().getCurrentDifficultyAt(io.papermc.paper.util.MCUtil.toBlockPosition(location)).getEffectiveDifficulty(); return getHandle().getCurrentDifficultyAt(io.papermc.paper.util.MCUtil.toBlockPosition(location)).getEffectiveDifficulty();
} }
@@ -99,10 +99,10 @@ index a5260ff68e91f2594bcc6693663c3da2e477e5dd..68df53648c9b76cf1b6abcaa90c5e893
@Override @Override
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 9b2f7d293669f0e9adcb8292e4a27a460321f5a0..2d74a3c6aeaa10abfbd19a424f3d27427a8d85c5 100644 index 48a330e253d5db20dbc834cf0e802a6c114e97a0..f71f9b1c6810bd021ae194386cec3792c8e57c62 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3247,5 +3247,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -3210,5 +3210,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) { public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) {
getHandle().spawnInvulnerableTime = spawnInvulnerableTime; getHandle().spawnInvulnerableTime = spawnInvulnerableTime;
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] mob spawning option to ignore creative players
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index ba4f51e081f4352530998a9a7fbf025216e2f503..132041362b2707946bd386c88bbdf871a317afb7 100644 index 089dd93d4cd4c1f72e63c4944b3b82c1e2ba732d..87e9bde78e4e90d17a02c1ed227c07fbe8c24f24 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java --- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java +++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -260,7 +260,7 @@ public final class NaturalSpawner { @@ -260,7 +260,7 @@ public final class NaturalSpawner {
@@ -18,10 +18,10 @@ index ba4f51e081f4352530998a9a7fbf025216e2f503..132041362b2707946bd386c88bbdf871
if (entityhuman != null) { if (entityhuman != null) {
double d2 = entityhuman.distanceToSqr(d0, (double) i, d1); double d2 = entityhuman.distanceToSqr(d0, (double) i, d1);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c5b5bbd4856f4c3da4cc79c13d4f547c5a5d50c7..772cfde0e31891e9cdca4c079f33b04bf2a7d81e 100644 index ffde033727a1587cf679a9626b562a17d6048539..e8b61afb7e64cf1fc5cab49bc66f48cb9bbc71fc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -379,6 +379,7 @@ public class PurpurWorldConfig { @@ -383,6 +383,7 @@ public class PurpurWorldConfig {
public boolean phantomSpawning; public boolean phantomSpawning;
public boolean villagerTraderSpawning; public boolean villagerTraderSpawning;
public boolean villageSiegeSpawning; public boolean villageSiegeSpawning;
@@ -29,7 +29,7 @@ index c5b5bbd4856f4c3da4cc79c13d4f547c5a5d50c7..772cfde0e31891e9cdca4c079f33b04b
private void mobSpawnerSettings() { private void mobSpawnerSettings() {
// values of "default" or null will default to true only if the world environment is normal (aka overworld) // values of "default" or null will default to true only if the world environment is normal (aka overworld)
Predicate<Boolean> predicate = (bool) -> (bool != null && bool) || (bool == null && environment == World.Environment.NORMAL); Predicate<Boolean> predicate = (bool) -> (bool != null && bool) || (bool == null && environment == World.Environment.NORMAL);
@@ -387,6 +388,7 @@ public class PurpurWorldConfig { @@ -391,6 +392,7 @@ public class PurpurWorldConfig {
phantomSpawning = getBoolean("gameplay-mechanics.mob-spawning.phantoms", predicate); phantomSpawning = getBoolean("gameplay-mechanics.mob-spawning.phantoms", predicate);
villagerTraderSpawning = getBoolean("gameplay-mechanics.mob-spawning.wandering-traders", predicate); villagerTraderSpawning = getBoolean("gameplay-mechanics.mob-spawning.wandering-traders", predicate);
villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate); villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate);

View File

@@ -5,32 +5,32 @@ Subject: [PATCH] Add skeleton bow accuracy option
diff --git a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java diff --git a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java
index 32a303f9ac9768daf621e3aa561cd6b31e5f5dff..9c8713ef3aeb2ff203bd0328d15d80c2d78d09e9 100644 index 5ce17aec68ef65436599fde0e8d8d8c31c8a246a..0ea8ccd40729a6ddf09c4757e165460fd6d94dc9 100644
--- a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java --- a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java
+++ b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java
@@ -182,7 +182,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo @@ -180,7 +180,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo
double d2 = target.getZ() - this.getZ(); double d2 = target.getZ() - this.getZ();
double d3 = Math.sqrt(d0 * d0 + d2 * d2); double d3 = Math.sqrt(d0 * d0 + d2 * d2);
- entityarrow.shoot(d0, d1 + d3 * 0.20000000298023224D, d2, 1.6F, (float) (14 - this.level.getDifficulty().getId() * 4)); - entityarrow.shoot(d0, d1 + d3 * 0.20000000298023224D, d2, 1.6F, (float) (14 - this.level().getDifficulty().getId() * 4));
+ entityarrow.shoot(d0, d1 + d3 * 0.20000000298023224D, d2, 1.6F, this.level.purpurConfig.skeletonBowAccuracyMap.getOrDefault(this.level.getDifficulty().getId(), (float) (14 - this.level.getDifficulty().getId() * 4))); // Purpur + entityarrow.shoot(d0, d1 + d3 * 0.20000000298023224D, d2, 1.6F, this.level().purpurConfig.skeletonBowAccuracyMap.getOrDefault(this.level().getDifficulty().getId(), (float) (14 - this.level().getDifficulty().getId() * 4))); // Purpur
// CraftBukkit start // CraftBukkit start
org.bukkit.event.entity.EntityShootBowEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityShootBowEvent(this, this.getMainHandItem(), entityarrow.getPickupItem(), entityarrow, net.minecraft.world.InteractionHand.MAIN_HAND, 0.8F, true); // Paper org.bukkit.event.entity.EntityShootBowEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityShootBowEvent(this, this.getMainHandItem(), entityarrow.getPickupItem(), entityarrow, net.minecraft.world.InteractionHand.MAIN_HAND, 0.8F, true); // Paper
if (event.isCancelled()) { if (event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 890697f97c5eb91ced0e31069c64139b99a902f1..121f08d682afad6d30e72b32950f69db5dd8b646 100644 index e8b61afb7e64cf1fc5cab49bc66f48cb9bbc71fc..c15c2b51d8818e50355fd7f77a05a89b023e3460 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2427,6 +2427,8 @@ public class PurpurWorldConfig { @@ -2090,6 +2090,8 @@ public class PurpurWorldConfig {
public boolean skeletonAlwaysDropExp = false; public boolean skeletonAlwaysDropExp = false;
public double skeletonHeadVisibilityPercent = 0.5D; public double skeletonHeadVisibilityPercent = 0.5D;
public int skeletonFeedWitherRoses = 0; public int skeletonFeedWitherRoses = 0;
+ public String skeletonBowAccuracy = "14 - difficulty * 4"; + public String skeletonBowAccuracy = "14 - difficulty * 4";
+ public Map<Integer, Float> skeletonBowAccuracyMap = new HashMap<>(); + public Map<Integer, Float> skeletonBowAccuracyMap = new HashMap<>();
private void skeletonSettings() { private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); if (PurpurConfig.version < 10) {
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); double oldValue = getDouble("mobs.skeleton.attributes.max-health", skeletonMaxHealth);
@@ -2441,6 +2443,18 @@ public class PurpurWorldConfig { @@ -2101,6 +2103,18 @@ public class PurpurWorldConfig {
skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp); skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent); skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent);
skeletonFeedWitherRoses = getInt("mobs.skeleton.feed-wither-roses", skeletonFeedWitherRoses); skeletonFeedWitherRoses = getInt("mobs.skeleton.feed-wither-roses", skeletonFeedWitherRoses);
@@ -48,4 +48,4 @@ index 890697f97c5eb91ced0e31069c64139b99a902f1..121f08d682afad6d30e72b32950f69db
+ } + }
} }
public boolean skeletonHorseRidableInWater = true; public double skeletonHorseMaxHealthMin = 15.0D;

View File

@@ -5,18 +5,18 @@ Subject: [PATCH] Allay respect item NBT
diff --git a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java diff --git a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
index 1c136aa0d6dcad18b5e6e2084d2c166105d54a3a..e95540122ae6a486ce12a5f50fb4d2d073239554 100644 index 339c70f101d026a100a801e66cf514b3329a89d2..cbfe6e47c480890ee98ce86921fb018137abcb0f 100644
--- a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java --- a/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
+++ b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java +++ b/src/main/java/net/minecraft/world/entity/animal/allay/Allay.java
@@ -409,9 +409,31 @@ public class Allay extends PathfinderMob implements InventoryCarrier { @@ -370,9 +370,31 @@ public class Allay extends PathfinderMob implements InventoryCarrier, VibrationS
@Override @Override
public boolean wantsToPickUp(ItemStack stack) { public boolean wantsToPickUp(ItemStack stack) {
- ItemStack itemstack1 = this.getItemInHand(InteractionHand.MAIN_HAND); - ItemStack itemstack1 = this.getItemInHand(InteractionHand.MAIN_HAND);
- -
- return !itemstack1.isEmpty() && this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) && this.inventory.canAddItem(stack) && this.allayConsidersItemEqual(itemstack1, stack); - return !itemstack1.isEmpty() && this.level().getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING) && this.inventory.canAddItem(stack) && this.allayConsidersItemEqual(itemstack1, stack);
+ // Purpur start + // Purpur start
+ if (!this.level.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) { + if (!this.level().getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) {
+ return false; + return false;
+ } + }
+ ItemStack itemStack = this.getItemInHand(InteractionHand.MAIN_HAND); + ItemStack itemStack = this.getItemInHand(InteractionHand.MAIN_HAND);
@@ -29,7 +29,7 @@ index 1c136aa0d6dcad18b5e6e2084d2c166105d54a3a..e95540122ae6a486ce12a5f50fb4d2d0
+ if (!this.inventory.canAddItem(stack)) { + if (!this.inventory.canAddItem(stack)) {
+ return false; + return false;
+ } + }
+ for (String tag : this.level.purpurConfig.allayRespectNBT) { + for (String tag : this.level().purpurConfig.allayRespectNBT) {
+ if (stack.hasTag() && itemStack.hasTag()) { + if (stack.hasTag() && itemStack.hasTag()) {
+ Tag tag1 = stack.getTag().get(tag); + Tag tag1 = stack.getTag().get(tag);
+ Tag tag2 = itemStack.getTag().get(tag); + Tag tag2 = itemStack.getTag().get(tag);
@@ -44,20 +44,19 @@ index 1c136aa0d6dcad18b5e6e2084d2c166105d54a3a..e95540122ae6a486ce12a5f50fb4d2d0
private boolean allayConsidersItemEqual(ItemStack stack, ItemStack stack2) { private boolean allayConsidersItemEqual(ItemStack stack, ItemStack stack2) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 121f08d682afad6d30e72b32950f69db5dd8b646..1b5d3d214b7390cb960f5ee180a21a2bc54e8123 100644 index c15c2b51d8818e50355fd7f77a05a89b023e3460..38d30017367320aeeb3c6d7524b2e800ba5a8cf5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1070,10 +1070,13 @@ public class PurpurWorldConfig { @@ -1049,6 +1049,12 @@ public class PurpurWorldConfig {
public boolean allayRidable = false; turtleEggsTramplingFeatherFalling = getBoolean("blocks.turtle_egg.feather-fall-distance-affects-trampling", turtleEggsTramplingFeatherFalling);
public boolean allayRidableInWater = true;
public boolean allayControllable = true;
+ public List<String> allayRespectNBT = new ArrayList<>();
private void allaySettings() {
allayRidable = getBoolean("mobs.allay.ridable", allayRidable);
allayRidableInWater = getBoolean("mobs.allay.ridable-in-water", allayRidableInWater);
allayControllable = getBoolean("mobs.allay.controllable", allayControllable);
+ allayRespectNBT.clear();
+ getList("mobs.allay.respect-nbt", new ArrayList<>()).forEach(key -> allayRespectNBT.add(key.toString()));
} }
public boolean axolotlRidable = false; + public List<String> allayRespectNBT = new ArrayList<>();
+ private void allaySettings() {
+ allayRespectNBT.clear();
+ getList("mobs.allay.respect-nbt", new ArrayList<>()).forEach(key -> allayRespectNBT.add(key.toString()));
+ }
+
public double axolotlMaxHealth = 14.0D;
public int axolotlBreedingTicks = 6000;
public boolean axolotlTakeDamageFromWater = false;

View File

@@ -5,21 +5,21 @@ Subject: [PATCH] Add death screen API
diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerCombatKillPacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerCombatKillPacket.java diff --git a/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerCombatKillPacket.java b/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerCombatKillPacket.java
index 53b75f5737a910ffc5448cd9a85eae57f9c1488f..ea95873dd034779e56a8b924cd27f9375be05daf 100644 index 76a62d872bc2ad12efd9522d8dd445b8d2342525..075a891413d072998e6d468e76d839e1a3bf7da9 100644
--- a/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerCombatKillPacket.java --- a/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerCombatKillPacket.java
+++ b/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerCombatKillPacket.java +++ b/src/main/java/net/minecraft/network/protocol/game/ClientboundPlayerCombatKillPacket.java
@@ -9,6 +9,7 @@ public class ClientboundPlayerCombatKillPacket implements Packet<ClientGamePacke @@ -7,6 +7,7 @@ import net.minecraft.network.protocol.Packet;
public class ClientboundPlayerCombatKillPacket implements Packet<ClientGamePacketListener> {
private final int playerId; private final int playerId;
private final int killerId;
private final Component message; private final Component message;
+ public net.kyori.adventure.text.Component adventure$message; // Purpur + public net.kyori.adventure.text.Component adventure$message; // Purpur
public ClientboundPlayerCombatKillPacket(CombatTracker damageTracker, Component message) { public ClientboundPlayerCombatKillPacket(int entityId, Component message) {
this(damageTracker.getMob().getId(), damageTracker.getKillerId(), message); this.playerId = entityId;
@@ -30,6 +31,12 @@ public class ClientboundPlayerCombatKillPacket implements Packet<ClientGamePacke @@ -21,6 +22,12 @@ public class ClientboundPlayerCombatKillPacket implements Packet<ClientGamePacke
@Override
public void write(FriendlyByteBuf buf) { public void write(FriendlyByteBuf buf) {
buf.writeVarInt(this.playerId); buf.writeVarInt(this.playerId);
buf.writeInt(this.killerId);
+ // Purpur start + // Purpur start
+ if (this.adventure$message != null) { + if (this.adventure$message != null) {
+ buf.writeComponent(this.adventure$message); + buf.writeComponent(this.adventure$message);
@@ -30,10 +30,10 @@ index 53b75f5737a910ffc5448cd9a85eae57f9c1488f..ea95873dd034779e56a8b924cd27f937
} }
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 2d74a3c6aeaa10abfbd19a424f3d27427a8d85c5..e363891e8ab872ed24c557e3f94110f36c6fb277 100644 index f71f9b1c6810bd021ae194386cec3792c8e57c62..d511adbeaf9ae22256e8e316237f9d487e04c2bf 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -3290,5 +3290,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -3253,5 +3253,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
if (this.getHandle().connection == null) return; if (this.getHandle().connection == null) return;
this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundCustomPayloadPacket(ClientboundCustomPayloadPacket.DEBUG_GAME_TEST_CLEAR, new FriendlyByteBuf(io.netty.buffer.Unpooled.buffer()))); this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundCustomPayloadPacket(ClientboundCustomPayloadPacket.DEBUG_GAME_TEST_CLEAR, new FriendlyByteBuf(io.netty.buffer.Unpooled.buffer())));
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Implement ram and rambar commands
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
index 6b05907bfec377e72a8858534d001bda10a1c88a..08bed4f01a27162902aa63bb8d35a9159fdcfc4e 100644 index 5f6cc8b16af6dce3b74f0c2c662b0ecf84ae8d36..022516a4d43cb5205a0b9ede2f5774414e3a47ed 100644
--- a/src/main/java/net/minecraft/commands/Commands.java --- a/src/main/java/net/minecraft/commands/Commands.java
+++ b/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java
@@ -228,6 +228,8 @@ public class Commands { @@ -230,6 +230,8 @@ public class Commands {
org.purpurmc.purpur.command.UptimeCommand.register(this.dispatcher); // Purpur org.purpurmc.purpur.command.UptimeCommand.register(this.dispatcher); // Purpur
org.purpurmc.purpur.command.TPSBarCommand.register(this.dispatcher); // Purpur org.purpurmc.purpur.command.TPSBarCommand.register(this.dispatcher); // Purpur
org.purpurmc.purpur.command.CompassCommand.register(this.dispatcher); // Purpur org.purpurmc.purpur.command.CompassCommand.register(this.dispatcher); // Purpur
@@ -18,7 +18,7 @@ index 6b05907bfec377e72a8858534d001bda10a1c88a..08bed4f01a27162902aa63bb8d35a915
if (environment.includeIntegrated) { if (environment.includeIntegrated) {
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index a9158f9572a4c787247721a36465e362ad975c20..852266234cf3d63e3b23a71639e40defca91c1b8 100644 index 2e5d186ac2904e3214e2e037f1eb1d486dc4a4a2..4917e4a4b984b1ba3cdf884218879e82a01e045b 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -279,6 +279,7 @@ public class ServerPlayer extends Player { @@ -279,6 +279,7 @@ public class ServerPlayer extends Player {
@@ -29,7 +29,7 @@ index a9158f9572a4c787247721a36465e362ad975c20..852266234cf3d63e3b23a71639e40def
private boolean tpsBar = false; // Purpur private boolean tpsBar = false; // Purpur
private boolean compassBar = false; // Purpur private boolean compassBar = false; // Purpur
@@ -520,6 +521,7 @@ public class ServerPlayer extends Player { @@ -561,6 +562,7 @@ public class ServerPlayer extends Player {
} }
} }
@@ -37,7 +37,7 @@ index a9158f9572a4c787247721a36465e362ad975c20..852266234cf3d63e3b23a71639e40def
if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur
if (nbt.contains("Purpur.CompassBar")) { this.compassBar = nbt.getBoolean("Purpur.CompassBar"); } // Purpur if (nbt.contains("Purpur.CompassBar")) { this.compassBar = nbt.getBoolean("Purpur.CompassBar"); } // Purpur
} }
@@ -588,6 +590,7 @@ public class ServerPlayer extends Player { @@ -629,6 +631,7 @@ public class ServerPlayer extends Player {
} }
this.getBukkitEntity().setExtraData(nbt); // CraftBukkit this.getBukkitEntity().setExtraData(nbt); // CraftBukkit
@@ -45,7 +45,7 @@ index a9158f9572a4c787247721a36465e362ad975c20..852266234cf3d63e3b23a71639e40def
nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur
nbt.putBoolean("Purpur.CompassBar", this.compassBar); // Purpur nbt.putBoolean("Purpur.CompassBar", this.compassBar); // Purpur
} }
@@ -2713,6 +2716,14 @@ public class ServerPlayer extends Player { @@ -2788,6 +2791,14 @@ public class ServerPlayer extends Player {
} }
} }
@@ -61,10 +61,10 @@ index a9158f9572a4c787247721a36465e362ad975c20..852266234cf3d63e3b23a71639e40def
return this.tpsBar; return this.tpsBar;
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 9e87afb01e569e6d5c2846b931440c4ce395adae..4142820c3053d77d4ae7186fec968d624f893056 100644 index ad7153e27b04fc12a4ff97f1563584471626c6eb..df67cee913c64fa1cac3aff8522bf656eb6ff653 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -182,6 +182,8 @@ public class PurpurConfig { @@ -181,6 +181,8 @@ public class PurpurConfig {
public static String creditsCommandOutput = "<green>%s has been shown the end credits"; public static String creditsCommandOutput = "<green>%s has been shown the end credits";
public static String demoCommandOutput = "<green>%s has been shown the demo screen"; public static String demoCommandOutput = "<green>%s has been shown the demo screen";
public static String pingCommandOutput = "<green>%s's ping is %sms"; public static String pingCommandOutput = "<green>%s's ping is %sms";
@@ -73,7 +73,7 @@ index 9e87afb01e569e6d5c2846b931440c4ce395adae..4142820c3053d77d4ae7186fec968d62
public static String tpsbarCommandOutput = "<green>Tpsbar toggled <onoff> for <target>"; public static String tpsbarCommandOutput = "<green>Tpsbar toggled <onoff> for <target>";
public static String dontRunWithScissors = "<red><italic>Don't run with scissors!"; public static String dontRunWithScissors = "<red><italic>Don't run with scissors!";
public static String uptimeCommandOutput = "<green>Server uptime is <uptime>"; public static String uptimeCommandOutput = "<green>Server uptime is <uptime>";
@@ -198,6 +200,8 @@ public class PurpurConfig { @@ -196,6 +198,8 @@ public class PurpurConfig {
creditsCommandOutput = getString("settings.messages.credits-command-output", creditsCommandOutput); creditsCommandOutput = getString("settings.messages.credits-command-output", creditsCommandOutput);
demoCommandOutput = getString("settings.messages.demo-command-output", demoCommandOutput); demoCommandOutput = getString("settings.messages.demo-command-output", demoCommandOutput);
pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput); pingCommandOutput = getString("settings.messages.ping-command-output", pingCommandOutput);
@@ -82,7 +82,7 @@ index 9e87afb01e569e6d5c2846b931440c4ce395adae..4142820c3053d77d4ae7186fec968d62
tpsbarCommandOutput = getString("settings.messages.tpsbar-command-output", tpsbarCommandOutput); tpsbarCommandOutput = getString("settings.messages.tpsbar-command-output", tpsbarCommandOutput);
dontRunWithScissors = getString("settings.messages.dont-run-with-scissors", dontRunWithScissors); dontRunWithScissors = getString("settings.messages.dont-run-with-scissors", dontRunWithScissors);
uptimeCommandOutput = getString("settings.messages.uptime-command-output", uptimeCommandOutput); uptimeCommandOutput = getString("settings.messages.uptime-command-output", uptimeCommandOutput);
@@ -245,6 +249,15 @@ public class PurpurConfig { @@ -243,6 +247,15 @@ public class PurpurConfig {
disableGiveCommandDrops = getBoolean("settings.disable-give-dropping", disableGiveCommandDrops); disableGiveCommandDrops = getBoolean("settings.disable-give-dropping", disableGiveCommandDrops);
} }
@@ -98,7 +98,7 @@ index 9e87afb01e569e6d5c2846b931440c4ce395adae..4142820c3053d77d4ae7186fec968d62
public static String commandTPSBarTitle = "<gray>TPS<yellow>:</yellow> <tps> MSPT<yellow>:</yellow> <mspt> Ping<yellow>:</yellow> <ping>ms"; public static String commandTPSBarTitle = "<gray>TPS<yellow>:</yellow> <tps> MSPT<yellow>:</yellow> <mspt> Ping<yellow>:</yellow> <ping>ms";
public static BossBar.Overlay commandTPSBarProgressOverlay = BossBar.Overlay.NOTCHED_20; public static BossBar.Overlay commandTPSBarProgressOverlay = BossBar.Overlay.NOTCHED_20;
public static TPSBarTask.FillMode commandTPSBarProgressFillMode = TPSBarTask.FillMode.MSPT; public static TPSBarTask.FillMode commandTPSBarProgressFillMode = TPSBarTask.FillMode.MSPT;
@@ -272,6 +285,16 @@ public class PurpurConfig { @@ -270,6 +283,16 @@ public class PurpurConfig {
public static String uptimeSecond = "%02d second"; public static String uptimeSecond = "%02d second";
public static String uptimeSeconds = "%02d seconds"; public static String uptimeSeconds = "%02d seconds";
private static void commandSettings() { private static void commandSettings() {

View File

@@ -36,11 +36,11 @@ index 9938bb90bef84cf784f9a1ceb02a1a45aa8b48a1..1f4b64a5f812376c499c98cb4be62469
this.writeId(BuiltInRegistries.ITEM, item); this.writeId(BuiltInRegistries.ITEM, item);
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 2bd58d13d4c48fdddee56e2b417b68fe15072386..beb05039926e1fb7a656dfcd0c503f82db67fc46 100644 index bb6de1c489a9bbf34fc9ca5244ccd34ad4b39cc8..c6fa1df24a1f30e2ddd7f0535d4071e0086ca8c4 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java --- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1548,6 +1548,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1545,6 +1545,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
//MinecraftTimings.timeUpdateTimer.stopTiming(); // Spigot // Paper // Purpur MinecraftTimings.timeUpdateTimer.stopTiming(); // Spigot // Paper
this.isIteratingOverLevels = true; // Paper this.isIteratingOverLevels = true; // Paper
+ net.minecraft.network.FriendlyByteBuf.hasItemSerializeEvent = org.purpurmc.purpur.event.packet.NetworkItemSerializeEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur + net.minecraft.network.FriendlyByteBuf.hasItemSerializeEvent = org.purpurmc.purpur.event.packet.NetworkItemSerializeEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur
@@ -48,10 +48,10 @@ index 2bd58d13d4c48fdddee56e2b417b68fe15072386..beb05039926e1fb7a656dfcd0c503f82
while (iterator.hasNext()) { while (iterator.hasNext()) {
ServerLevel worldserver = (ServerLevel) iterator.next(); ServerLevel worldserver = (ServerLevel) iterator.next();
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 11560dc4ab6eb33fcb1ffcfbd49ea663d754fd8a..af8cb1f1f0c128923495f51e4828003133ce766b 100644 index f78d0e6241930909b7b227539c8698eabc270490..117f406f5cf7d421931315763d23f68c7266bfec 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3454,6 +3454,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -3449,6 +3449,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
} }
} }
} }
@@ -65,10 +65,10 @@ index 11560dc4ab6eb33fcb1ffcfbd49ea663d754fd8a..af8cb1f1f0c128923495f51e48280031
boolean flag1 = packet.getSlotNum() >= 1 && packet.getSlotNum() <= 45; boolean flag1 = packet.getSlotNum() >= 1 && packet.getSlotNum() <= 45;
boolean flag2 = itemstack.isEmpty() || itemstack.getDamageValue() >= 0 && itemstack.getCount() <= 64 && !itemstack.isEmpty(); boolean flag2 = itemstack.isEmpty() || itemstack.getDamageValue() >= 0 && itemstack.getCount() <= 64 && !itemstack.isEmpty();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 4142820c3053d77d4ae7186fec968d624f893056..7a02cecaaef511c0db4708a1ce9eb885c1cfe028 100644 index df67cee913c64fa1cac3aff8522bf656eb6ff653..8ffa65bb262bdd391755b9d255ad0e68b32bb31d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -549,4 +549,9 @@ public class PurpurConfig { @@ -547,4 +547,9 @@ public class PurpurConfig {
} }
}); });
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Fix MC-123848
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
index 165382f5da5307d6f6eae971a565ab1ae3046891..25158e04c39146218b21ce5d5c963a24be68b2e2 100644 index 43f9733d4cc180b3103173d86bf2e8742f87de2a..5dcd53d1a8665ed2a63f87e1ab788a64c3e38b71 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java --- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
@@ -293,6 +293,13 @@ public class ItemFrame extends HangingEntity { @@ -293,6 +293,13 @@ public class ItemFrame extends HangingEntity {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Implement squid colors for rainglow fabric mod
diff --git a/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java diff --git a/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java
index c2309434b4d48a44587590623ac98dbf997b9578..6f723171fa71d74b351b5cf0cd167bb6f7ca1691 100644 index 0a2e0debc8e38cc32059c26d15cbbb0147622336..edfa9778c4dcabcd4bbf99b969c65d26b560b2f3 100644
--- a/src/main/java/net/minecraft/world/entity/GlowSquid.java --- a/src/main/java/net/minecraft/world/entity/GlowSquid.java
+++ b/src/main/java/net/minecraft/world/entity/GlowSquid.java +++ b/src/main/java/net/minecraft/world/entity/GlowSquid.java
@@ -18,6 +18,7 @@ import net.minecraft.world.level.block.Blocks; @@ -18,6 +18,7 @@ import net.minecraft.world.level.block.Blocks;
@@ -16,7 +16,7 @@ index c2309434b4d48a44587590623ac98dbf997b9578..6f723171fa71d74b351b5cf0cd167bb6
public GlowSquid(EntityType<? extends GlowSquid> type, Level world) { public GlowSquid(EntityType<? extends GlowSquid> type, Level world) {
super(type, world); super(type, world);
@@ -65,6 +66,7 @@ public class GlowSquid extends Squid { @@ -52,6 +53,7 @@ public class GlowSquid extends Squid {
protected void defineSynchedData() { protected void defineSynchedData() {
super.defineSynchedData(); super.defineSynchedData();
this.entityData.define(DATA_DARK_TICKS_REMAINING, 0); this.entityData.define(DATA_DARK_TICKS_REMAINING, 0);
@@ -24,7 +24,7 @@ index c2309434b4d48a44587590623ac98dbf997b9578..6f723171fa71d74b351b5cf0cd167bb6
} }
@Override @Override
@@ -91,12 +93,14 @@ public class GlowSquid extends Squid { @@ -78,12 +80,14 @@ public class GlowSquid extends Squid {
public void addAdditionalSaveData(CompoundTag nbt) { public void addAdditionalSaveData(CompoundTag nbt) {
super.addAdditionalSaveData(nbt); super.addAdditionalSaveData(nbt);
nbt.putInt("DarkTicksRemaining", this.getDarkTicksRemaining()); nbt.putInt("DarkTicksRemaining", this.getDarkTicksRemaining());
@@ -40,25 +40,23 @@ index c2309434b4d48a44587590623ac98dbf997b9578..6f723171fa71d74b351b5cf0cd167bb6
@Override @Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1b5d3d214b7390cb960f5ee180a21a2bc54e8123..eb35509626914354af3b6a54387b5e9673766697 100644 index 38d30017367320aeeb3c6d7524b2e800ba5a8cf5..9b2dc09bdc18b74b23ec0fa21ade6793f7df26b9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1679,6 +1679,7 @@ public class PurpurWorldConfig { @@ -1517,11 +1517,13 @@ public class PurpurWorldConfig {
public boolean glowSquidsCanFly = false; public boolean glowSquidsCanFly = false;
public boolean glowSquidTakeDamageFromWater = false; public boolean glowSquidTakeDamageFromWater = false;
public boolean glowSquidAlwaysDropExp = false; public boolean glowSquidAlwaysDropExp = false;
+ public GlowSquidColor.Mode glowSquidColorMode = GlowSquidColor.Mode.RAINBOW; + public GlowSquidColor.Mode glowSquidColorMode = GlowSquidColor.Mode.RAINBOW;
private void glowSquidSettings() { private void glowSquidSettings() {
glowSquidRidable = getBoolean("mobs.glow_squid.ridable", glowSquidRidable); glowSquidMaxHealth = getDouble("mobs.glow_squid.attributes.max_health", glowSquidMaxHealth);
glowSquidControllable = getBoolean("mobs.glow_squid.controllable", glowSquidControllable);
@@ -1686,6 +1687,7 @@ public class PurpurWorldConfig {
glowSquidsCanFly = getBoolean("mobs.glow_squid.can-fly", glowSquidsCanFly); glowSquidsCanFly = getBoolean("mobs.glow_squid.can-fly", glowSquidsCanFly);
glowSquidTakeDamageFromWater = getBoolean("mobs.glow_squid.takes-damage-from-water", glowSquidTakeDamageFromWater); glowSquidTakeDamageFromWater = getBoolean("mobs.glow_squid.takes-damage-from-water", glowSquidTakeDamageFromWater);
glowSquidAlwaysDropExp = getBoolean("mobs.glow_squid.always-drop-exp", glowSquidAlwaysDropExp); glowSquidAlwaysDropExp = getBoolean("mobs.glow_squid.always-drop-exp", glowSquidAlwaysDropExp);
+ glowSquidColorMode = GlowSquidColor.Mode.get(getString("mobs.glow_squid.rainglow-mode", glowSquidColorMode.toString())); + glowSquidColorMode = GlowSquidColor.Mode.get(getString("mobs.glow_squid.rainglow-mode", glowSquidColorMode.toString()));
} }
public boolean goatRidable = false; public double goatMaxHealth = 10.0D;
diff --git a/src/main/java/org/purpurmc/purpur/entity/GlowSquidColor.java b/src/main/java/org/purpurmc/purpur/entity/GlowSquidColor.java diff --git a/src/main/java/org/purpurmc/purpur/entity/GlowSquidColor.java b/src/main/java/org/purpurmc/purpur/entity/GlowSquidColor.java
new file mode 100644 new file mode 100644
index 0000000000000000000000000000000000000000..c90256f4c16ffdb2d8e767e837ea36ac7a6613be index 0000000000000000000000000000000000000000..c90256f4c16ffdb2d8e767e837ea36ac7a6613be

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add an option to fix MC-3304 (projectile looting)
diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
index 1ea5664e1e7dc73cbd2d1cc38c830a19ba985528..c6fddfa199e0c42e0556ed1ad380885a17208e37 100644 index 57f89ff7ddcd738100f296ae7a21b3240ab374de..3d036c2a62262522d3b87554ee33c83169c4d123 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java --- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java +++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
@@ -72,6 +72,7 @@ public abstract class AbstractArrow extends Projectile { @@ -72,6 +72,7 @@ public abstract class AbstractArrow extends Projectile {
@@ -48,10 +48,10 @@ index 220513d3fd5645322886522ea4f6b8c55d043b3c..d45a2f49c82d00801578c34e5f5277fc
org.bukkit.event.entity.EntityShootBowEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityShootBowEvent(entityhuman, stack, itemstack1, entityarrow, entityhuman.getUsedItemHand(), f, !flag1); org.bukkit.event.entity.EntityShootBowEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityShootBowEvent(entityhuman, stack, itemstack1, entityarrow, entityhuman.getUsedItemHand(), f, !flag1);
if (event.isCancelled()) { if (event.isCancelled()) {
diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java
index 0c566b14191c8438389150f0c6e70bcfa3d1f53c..310e03d8cc07f95927d9806fc80a4215283d2ef5 100644 index 1a2ce6fb16e8fed7c90ce99510b25531087a0699..5ddda49ca692b6397a8ce896baf449dc0c6183c1 100644
--- a/src/main/java/net/minecraft/world/item/CrossbowItem.java --- a/src/main/java/net/minecraft/world/item/CrossbowItem.java
+++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java +++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java
@@ -294,6 +294,14 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable { @@ -295,6 +295,14 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable {
entityarrow.setPierceLevel((byte) i); entityarrow.setPierceLevel((byte) i);
} }
@@ -67,7 +67,7 @@ index 0c566b14191c8438389150f0c6e70bcfa3d1f53c..310e03d8cc07f95927d9806fc80a4215
} }
diff --git a/src/main/java/net/minecraft/world/item/TridentItem.java b/src/main/java/net/minecraft/world/item/TridentItem.java diff --git a/src/main/java/net/minecraft/world/item/TridentItem.java b/src/main/java/net/minecraft/world/item/TridentItem.java
index 60512d08a45670a164a9b93191aafa40b2c2287c..d35432087c70ce66b74d1e27df19f462f22b1aa1 100644 index 6d1573161f0d8c7999f84925ba7bbf536ee9583a..c32cbe6065ecb6810f352b8a3598c21e42e60e1d 100644
--- a/src/main/java/net/minecraft/world/item/TridentItem.java --- a/src/main/java/net/minecraft/world/item/TridentItem.java
+++ b/src/main/java/net/minecraft/world/item/TridentItem.java +++ b/src/main/java/net/minecraft/world/item/TridentItem.java
@@ -82,6 +82,14 @@ public class TridentItem extends Item implements Vanishable { @@ -82,6 +82,14 @@ public class TridentItem extends Item implements Vanishable {
@@ -104,10 +104,10 @@ index 31918fa2eb38e42a5ea5366e559f25ea9d7d59ae..15d8e9261a89da30529ac347462c5209
if (context.hasParam(LootContextParams.LOOTING_MOD)) { if (context.hasParam(LootContextParams.LOOTING_MOD)) {
i = context.getParamOrNull(LootContextParams.LOOTING_MOD); i = context.getParamOrNull(LootContextParams.LOOTING_MOD);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 7a02cecaaef511c0db4708a1ce9eb885c1cfe028..af875d966081b6e9f0d6a2680cff7f843c8dea05 100644 index 8ffa65bb262bdd391755b9d255ad0e68b32bb31d..e7e72c4f7a1fcfb1b6372bb42c08961d0bf2738d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -554,4 +554,9 @@ public class PurpurConfig { @@ -552,4 +552,9 @@ public class PurpurConfig {
private static void fixNetworkSerializedCreativeItems() { private static void fixNetworkSerializedCreativeItems() {
fixNetworkSerializedItemsInCreative = getBoolean("settings.fix-network-serialized-items-in-creative", fixNetworkSerializedItemsInCreative); fixNetworkSerializedItemsInCreative = getBoolean("settings.fix-network-serialized-items-in-creative", fixNetworkSerializedItemsInCreative);
} }

View File

@@ -5,12 +5,12 @@ Subject: [PATCH] Configurable block blast resistance
diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
index 532a9920bccfc90ee75ac21714812e88d47b9ebb..bee42ce7c1cb0f5ebd4890c02bc9c5dd727f7fd6 100644 index 5ac102afde62c08f36886b466010ccfedabfa05e..942ce713afe27ec75d849877a88721ef6334fafa 100644
--- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java --- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
+++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java +++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
@@ -80,7 +80,7 @@ public abstract class BlockBehaviour implements FeatureElement { @@ -81,7 +81,7 @@ public abstract class BlockBehaviour implements FeatureElement {
protected static final Direction[] UPDATE_SHAPE_ORDER = new Direction[]{Direction.WEST, Direction.EAST, Direction.NORTH, Direction.SOUTH, Direction.DOWN, Direction.UP}; protected static final Direction[] UPDATE_SHAPE_ORDER = new Direction[]{Direction.WEST, Direction.EAST, Direction.NORTH, Direction.SOUTH, Direction.DOWN, Direction.UP};
public final Material material; // Purpur - protected -> public
public final boolean hasCollision; public final boolean hasCollision;
- protected final float explosionResistance; - protected final float explosionResistance;
+ public float explosionResistance; // Purpur - protected final -> public + public float explosionResistance; // Purpur - protected final -> public
@@ -18,7 +18,7 @@ index 532a9920bccfc90ee75ac21714812e88d47b9ebb..bee42ce7c1cb0f5ebd4890c02bc9c5dd
protected final SoundType soundType; protected final SoundType soundType;
protected final float friction; protected final float friction;
diff --git a/src/main/java/net/minecraft/world/level/material/LavaFluid.java b/src/main/java/net/minecraft/world/level/material/LavaFluid.java diff --git a/src/main/java/net/minecraft/world/level/material/LavaFluid.java b/src/main/java/net/minecraft/world/level/material/LavaFluid.java
index 3a04cb4c646c07abf4338c70c865a4c4cb34b1bc..b05b4d3d97bca159c297f150005b5ab5bf6087e0 100644 index b77cdbd8a7395e8442081c6a2b14695d62c9ef03..f3d4a4196847e26934b6d2ed592f0ddb0e53182b 100644
--- a/src/main/java/net/minecraft/world/level/material/LavaFluid.java --- a/src/main/java/net/minecraft/world/level/material/LavaFluid.java
+++ b/src/main/java/net/minecraft/world/level/material/LavaFluid.java +++ b/src/main/java/net/minecraft/world/level/material/LavaFluid.java
@@ -239,7 +239,7 @@ public abstract class LavaFluid extends FlowingFluid { @@ -239,7 +239,7 @@ public abstract class LavaFluid extends FlowingFluid {
@@ -44,10 +44,10 @@ index ec6c63075306f9e5389e83641d2c8a82369ddc6b..0f16deddd8cbb506ef7886f57ae640a4
@Override @Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index af875d966081b6e9f0d6a2680cff7f843c8dea05..8972bbbaca23f771fb5e10ee4099a420a0ec3ccd 100644 index e7e72c4f7a1fcfb1b6372bb42c08961d0bf2738d..3230dbbe472d3d2a6269cf216e783fab5b8093ee 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -559,4 +559,19 @@ public class PurpurConfig { @@ -557,4 +557,19 @@ public class PurpurConfig {
private static void fixProjectileLootingTransfer() { private static void fixProjectileLootingTransfer() {
fixProjectileLootingTransfer = getBoolean("settings.fix-projectile-looting-transfer", fixProjectileLootingTransfer); fixProjectileLootingTransfer = getBoolean("settings.fix-projectile-looting-transfer", fixProjectileLootingTransfer);
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable block fall damage modifiers
diff --git a/src/main/java/net/minecraft/world/level/block/BedBlock.java b/src/main/java/net/minecraft/world/level/block/BedBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/BedBlock.java b/src/main/java/net/minecraft/world/level/block/BedBlock.java
index ea448ef3e072f4144e6f506f1f38399ecd571d76..19d31064eb271ee02115a75cde383796c899e7f7 100644 index e8405a57fb88e63b63baaf00645c417633bdc0f2..2b66ddafaaca17f64d1e7502dfa4d7576e3e032f 100644
--- a/src/main/java/net/minecraft/world/level/block/BedBlock.java --- a/src/main/java/net/minecraft/world/level/block/BedBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/BedBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BedBlock.java
@@ -174,7 +174,7 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock @@ -173,7 +173,7 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock
@Override @Override
public void fallOn(Level world, BlockState state, BlockPos pos, Entity entity, float fallDistance) { public void fallOn(Level world, BlockState state, BlockPos pos, Entity entity, float fallDistance) {
@@ -18,10 +18,10 @@ index ea448ef3e072f4144e6f506f1f38399ecd571d76..19d31064eb271ee02115a75cde383796
@Override @Override
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
index 33d3a3df277e751a3fb0d4421bf9ea2e1173763c..773162c3456945605fb664114508622f7d2fcec8 100644 index 2feca2820d1760defe0ef784f9737ab9e9ec800f..3a935e4a16f1c71579d7021d3ad06d1f9b76e033 100644
--- a/src/main/java/net/minecraft/world/level/block/Block.java --- a/src/main/java/net/minecraft/world/level/block/Block.java
+++ b/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java
@@ -96,6 +96,10 @@ public class Block extends BlockBehaviour implements ItemLike { @@ -94,6 +94,10 @@ public class Block extends BlockBehaviour implements ItemLike {
public static final int UPDATE_LIMIT = 512; public static final int UPDATE_LIMIT = 512;
protected final StateDefinition<Block, BlockState> stateDefinition; protected final StateDefinition<Block, BlockState> stateDefinition;
private BlockState defaultBlockState; private BlockState defaultBlockState;
@@ -32,7 +32,7 @@ index 33d3a3df277e751a3fb0d4421bf9ea2e1173763c..773162c3456945605fb664114508622f
// Paper start // Paper start
public final boolean isDestroyable() { public final boolean isDestroyable() {
return io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.allowPermanentBlockBreakExploits || return io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.allowPermanentBlockBreakExploits ||
@@ -510,7 +514,7 @@ public class Block extends BlockBehaviour implements ItemLike { @@ -498,7 +502,7 @@ public class Block extends BlockBehaviour implements ItemLike {
} }
public void fallOn(Level world, BlockState state, BlockPos pos, Entity entity, float fallDistance) { public void fallOn(Level world, BlockState state, BlockPos pos, Entity entity, float fallDistance) {
@@ -54,10 +54,10 @@ index cfbe1dae76db76cf54a4f5d72aca72d5e893859e..74cb10230d459ac9f300a9d59af504d2
} }
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 8972bbbaca23f771fb5e10ee4099a420a0ec3ccd..290a66b51dc6b86b006b577754d1030def288cf7 100644 index 3230dbbe472d3d2a6269cf216e783fab5b8093ee..a8b217e3fe58b6435ef380a356db71ebcc557752 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -574,4 +574,50 @@ public class PurpurConfig { @@ -572,4 +572,50 @@ public class PurpurConfig {
block.explosionResistance = blastResistance.floatValue(); block.explosionResistance = blastResistance.floatValue();
}); });
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Language API
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index a3a7bf5dba5014df499eefb430b888743f1d2a4a..3310828edcabd2c24e3200dcb89d4e8ebd82cf16 100644 index ce8179d33d5a6a187e16496731798e42488cb87a..b250de8151c07ec960de8b6c4aff9d0ea852773b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -324,6 +324,20 @@ public final class CraftServer implements Server { @@ -324,6 +324,20 @@ public final class CraftServer implements Server {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Milk Keeps Beneficial Effects
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index ac323afc8491749969e53aa3841bc684d79c48d3..b67660cda74a4754d1701e746aca99bde868c150 100644 index 923f48e002f92a761619dbfb125d6154f4a328c5..a293a8b74837386c2e1dea17c21d0a520ba7e062 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1107,6 +1107,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1125,6 +1125,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
for (flag = false; iterator.hasNext(); flag = true) { for (flag = false; iterator.hasNext(); flag = true) {
// CraftBukkit start // CraftBukkit start
MobEffectInstance effect = (MobEffectInstance) iterator.next(); MobEffectInstance effect = (MobEffectInstance) iterator.next();
@@ -17,20 +17,20 @@ index ac323afc8491749969e53aa3841bc684d79c48d3..b67660cda74a4754d1701e746aca99bd
if (event.isCancelled()) { if (event.isCancelled()) {
continue; continue;
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java 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 fef9fd3e50bba3d0fffa3d61b60f3bb8cad081e0..a6a4d5203cb5f35306f8225e56681bc25e06beed 100644 index 1c81826a5bb71298cbcb9b3a5715d56bc8eec8be..72dbaee9858d9bb04b2bceb25b10b51ec61ead24 100644
--- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java --- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
+++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java +++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java
@@ -113,7 +113,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill @@ -93,7 +93,7 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
return this.canDrinkPotion && this.level.isNight() && !entityvillagertrader.isInvisible(); // Paper - Add more WanderingTrader API return this.canDrinkPotion && this.level().isNight() && !entityvillagertrader.isInvisible(); // Paper - Add more WanderingTrader API
})); }));
this.goalSelector.addGoal(0, new UseItemGoal<>(this, new ItemStack(Items.MILK_BUCKET), SoundEvents.WANDERING_TRADER_REAPPEARED, (entityvillagertrader) -> { this.goalSelector.addGoal(0, new UseItemGoal<>(this, new ItemStack(Items.MILK_BUCKET), SoundEvents.WANDERING_TRADER_REAPPEARED, (entityvillagertrader) -> {
- return canDrinkMilk && this.level.isDay() && entityvillagertrader.isInvisible(); // Paper - Add more WanderingTrader API - return this.canDrinkMilk && this.level().isDay() && entityvillagertrader.isInvisible(); // Paper - Add more WanderingTrader API
+ return level.purpurConfig.milkClearsBeneficialEffects && canDrinkMilk && this.level.isDay() && entityvillagertrader.isInvisible(); // Paper - Add more WanderingTrader API // Purpur + return level().purpurConfig.milkClearsBeneficialEffects && this.canDrinkMilk && this.level().isDay() && entityvillagertrader.isInvisible(); // Paper - Add more WanderingTrader API // Purpur
})); }));
this.goalSelector.addGoal(1, new TradeWithPlayerGoal(this)); this.goalSelector.addGoal(1, new TradeWithPlayerGoal(this));
this.goalSelector.addGoal(1, new AvoidEntityGoal<>(this, Zombie.class, 8.0F, 0.5D, 0.5D)); this.goalSelector.addGoal(1, new AvoidEntityGoal<>(this, Zombie.class, 8.0F, 0.5D, 0.5D));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 98545b9c06f4b5f1979633ff963bb5eb5e5f8a9c..afeab1031c329f5cfd23066f4d28827bc84c72ae 100644 index 9b2dc09bdc18b74b23ec0fa21ade6793f7df26b9..8d2786689cca301f8162163540a6dfd8e8a09101 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -130,6 +130,7 @@ public class PurpurWorldConfig { @@ -130,6 +130,7 @@ public class PurpurWorldConfig {
@@ -41,7 +41,7 @@ index 98545b9c06f4b5f1979633ff963bb5eb5e5f8a9c..afeab1031c329f5cfd23066f4d28827b
public boolean noteBlockIgnoreAbove = false; public boolean noteBlockIgnoreAbove = false;
public boolean persistentDroppableEntityDisplayNames = true; public boolean persistentDroppableEntityDisplayNames = true;
public boolean persistentTileEntityDisplayNames = false; public boolean persistentTileEntityDisplayNames = false;
@@ -156,6 +157,7 @@ public class PurpurWorldConfig { @@ -158,6 +159,7 @@ public class PurpurWorldConfig {
fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing); fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing);
imposeTeleportRestrictionsOnGateways = getBoolean("gameplay-mechanics.impose-teleport-restrictions-on-gateways", imposeTeleportRestrictionsOnGateways); imposeTeleportRestrictionsOnGateways = getBoolean("gameplay-mechanics.impose-teleport-restrictions-on-gateways", imposeTeleportRestrictionsOnGateways);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);

View File

@@ -5,12 +5,12 @@ Subject: [PATCH] MC-121706 - Fix mobs not looking up and down when strafing
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/RangedBowAttackGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/RangedBowAttackGoal.java diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/RangedBowAttackGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/RangedBowAttackGoal.java
index 6558b0d4bea99948fdc2b51751f3cfdc239d4b67..d85dabebbbbe213e791b8a3be3c6df05b959e40c 100644 index 87fb10096fc9dade33c663234b1cecc34d3d77bb..874c7b29a261b1b5ad6e86ca219ff935870aecb0 100644
--- a/src/main/java/net/minecraft/world/entity/ai/goal/RangedBowAttackGoal.java --- a/src/main/java/net/minecraft/world/entity/ai/goal/RangedBowAttackGoal.java
+++ b/src/main/java/net/minecraft/world/entity/ai/goal/RangedBowAttackGoal.java +++ b/src/main/java/net/minecraft/world/entity/ai/goal/RangedBowAttackGoal.java
@@ -111,9 +111,9 @@ public class RangedBowAttackGoal<T extends Monster & RangedAttackMob> extends Go @@ -119,9 +119,9 @@ public class RangedBowAttackGoal<T extends Monster & RangedAttackMob> extends Go
}
this.mob.getMoveControl().strafe(this.strafingBackwards ? -0.5F : 0.5F, this.strafingClockwise ? 0.5F : -0.5F);
this.mob.lookAt(livingEntity, 30.0F, 30.0F); this.mob.lookAt(livingEntity, 30.0F, 30.0F);
- } else { - } else {
+ } //else { // Purpur - fix MC-121706 + } //else { // Purpur - fix MC-121706

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add log suppression for LibraryLoader
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 290a66b51dc6b86b006b577754d1030def288cf7..c3878aed434bdf490cbaf45064fa5a6c5814476f 100644 index a8b217e3fe58b6435ef380a356db71ebcc557752..3bdba6932c1acac79c4772569b8fa27104bcf35b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -470,11 +470,14 @@ public class PurpurConfig { @@ -468,11 +468,14 @@ public class PurpurConfig {
public static boolean loggerSuppressIgnoredAdvancementWarnings = false; public static boolean loggerSuppressIgnoredAdvancementWarnings = false;
public static boolean loggerSuppressUnrecognizedRecipeErrors = false; public static boolean loggerSuppressUnrecognizedRecipeErrors = false;
public static boolean loggerSuppressSetBlockFarChunk = false; public static boolean loggerSuppressSetBlockFarChunk = false;

View File

@@ -5,25 +5,25 @@ Subject: [PATCH] Allow Transparent Blocks In Enchanting Box
diff --git a/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java b/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java b/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java
index 37a888e5db65b927094b43775ae9d4098244f809..c4a91d7f1320027ee6a2b364303c01ebbacde584 100644 index 286f34eef22a85be3fe9747dc3c3f9a7d51f437c..ff2b97e4feff3eefe50d2715437a68a8b16281fc 100644
--- a/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java --- a/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java +++ b/src/main/java/net/minecraft/world/level/block/EnchantmentTableBlock.java
@@ -42,6 +42,10 @@ public class EnchantmentTableBlock extends BaseEntityBlock { @@ -43,6 +43,10 @@ public class EnchantmentTableBlock extends BaseEntityBlock {
} }
public static boolean isValidBookShelf(Level world, BlockPos tablePos, BlockPos bookshelfOffset) { public static boolean isValidBookShelf(Level world, BlockPos tablePos, BlockPos providerOffset) {
+ // Purpur Start + // Purpur Start
+ if(org.purpurmc.purpur.PurpurConfig.allowTransparentBlocksInEnchantmentBox){ + if(org.purpurmc.purpur.PurpurConfig.allowTransparentBlocksInEnchantmentBox){
+ return world.getBlockState(tablePos.offset(bookshelfOffset)).is(Blocks.BOOKSHELF) && !world.getBlockState(tablePos.offset(bookshelfOffset.getX() / 2, bookshelfOffset.getY(), bookshelfOffset.getZ() / 2)).isSuffocating(world, bookshelfOffset); + return world.getBlockState(tablePos.offset(providerOffset)).is(BlockTags.ENCHANTMENT_POWER_PROVIDER) && !world.getBlockState(tablePos.offset(providerOffset.getX() / 2, providerOffset.getY(), providerOffset.getZ() / 2)).isSuffocating(world, providerOffset);
+ } // Purpur end + } // Purpur end
return world.getBlockState(tablePos.offset(bookshelfOffset)).is(Blocks.BOOKSHELF) && world.isEmptyBlock(tablePos.offset(bookshelfOffset.getX() / 2, bookshelfOffset.getY(), bookshelfOffset.getZ() / 2)); return world.getBlockState(tablePos.offset(providerOffset)).is(BlockTags.ENCHANTMENT_POWER_PROVIDER) && world.getBlockState(tablePos.offset(providerOffset.getX() / 2, providerOffset.getY(), providerOffset.getZ() / 2)).is(BlockTags.ENCHANTMENT_POWER_TRANSMITTER);
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index c3878aed434bdf490cbaf45064fa5a6c5814476f..81409df1af15b68971b1efd203b9ad8d87ca7b6e 100644 index 3bdba6932c1acac79c4772569b8fa27104bcf35b..d8e347b45ae89fbea403e4754c42b48776fcdfa0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -415,6 +415,7 @@ public class PurpurConfig { @@ -413,6 +413,7 @@ public class PurpurConfig {
public static boolean allowInfinityMending = false; public static boolean allowInfinityMending = false;
public static boolean allowCrossbowInfinity = false; public static boolean allowCrossbowInfinity = false;
public static boolean allowShearsLooting = false; public static boolean allowShearsLooting = false;
@@ -31,7 +31,7 @@ index c3878aed434bdf490cbaf45064fa5a6c5814476f..81409df1af15b68971b1efd203b9ad8d
public static boolean allowUnsafeEnchants = false; public static boolean allowUnsafeEnchants = false;
public static boolean allowInapplicableEnchants = true; public static boolean allowInapplicableEnchants = true;
public static boolean allowIncompatibleEnchants = true; public static boolean allowIncompatibleEnchants = true;
@@ -438,6 +439,7 @@ public class PurpurConfig { @@ -436,6 +437,7 @@ public class PurpurConfig {
allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending); allowInfinityMending = getBoolean("settings.enchantment.allow-infinity-and-mending-together", allowInfinityMending);
allowCrossbowInfinity = getBoolean("settings.enchantment.allow-infinity-on-crossbow", allowCrossbowInfinity); allowCrossbowInfinity = getBoolean("settings.enchantment.allow-infinity-on-crossbow", allowCrossbowInfinity);
allowShearsLooting = getBoolean("settings.enchantment.allow-looting-on-shears", allowShearsLooting); allowShearsLooting = getBoolean("settings.enchantment.allow-looting-on-shears", allowShearsLooting);

View File

@@ -24,22 +24,22 @@ index e241ae250f4f04a17ef2c583d00b065a4ca56a4c..02b567e4e808e1a809d285ef39e1abc5
} }
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7e89940e9add24fcd13287dc1afe1089260bd718..6943202332bf20392afc63617584ce2a07faa0dd 100644 index 8d2786689cca301f8162163540a6dfd8e8a09101..4efefbdb94cfd153f82be186fd9992960ba371a3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1335,6 +1335,7 @@ public class PurpurWorldConfig { @@ -1259,6 +1259,7 @@ public class PurpurWorldConfig {
public boolean creeperHealthRadius = false; public boolean creeperHealthRadius = false;
public boolean creeperAlwaysDropExp = false; public boolean creeperAlwaysDropExp = false;
public double creeperHeadVisibilityPercent = 0.5D; public double creeperHeadVisibilityPercent = 0.5D;
+ public boolean creeperEncircleTarget = false; + public boolean creeperEncircleTarget = false;
private void creeperSettings() { private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); if (PurpurConfig.version < 10) {
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); double oldValue = getDouble("mobs.creeper.attributes.max-health", creeperMaxHealth);
@@ -1353,6 +1354,7 @@ public class PurpurWorldConfig { @@ -1274,6 +1275,7 @@ public class PurpurWorldConfig {
creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius); creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius);
creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp); creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp);
creeperHeadVisibilityPercent = getDouble("mobs.creeper.head-visibility-percent", creeperHeadVisibilityPercent); creeperHeadVisibilityPercent = getDouble("mobs.creeper.head-visibility-percent", creeperHeadVisibilityPercent);
+ creeperEncircleTarget = getBoolean("mobs.creeper.encircle-target", creeperEncircleTarget); + creeperEncircleTarget = getBoolean("mobs.creeper.encircle-target", creeperEncircleTarget);
} }
public boolean dolphinRidable = false; public double dolphinMaxHealth = 10.0D;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fire Immunity API
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 889db414e3442f51f77be097806e52b4941362d5..3e2e2965270090cb2cf12b6c62cc13d3743e0604 100644 index 61699b09ab5005dec792b276ccaa62599dae62f7..123d67729f0219677e5f1e82db2dccdfe65b7adb 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -401,6 +401,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -404,6 +404,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
private UUID originWorld; private UUID originWorld;
public boolean freezeLocked = false; // Paper - Freeze Tick Lock API public boolean freezeLocked = false; // Paper - Freeze Tick Lock API
public boolean collidingWithWorldBorder; // Paper public boolean collidingWithWorldBorder; // Paper
@@ -16,7 +16,7 @@ index 889db414e3442f51f77be097806e52b4941362d5..3e2e2965270090cb2cf12b6c62cc13d3
public void setOrigin(@javax.annotation.Nonnull Location location) { public void setOrigin(@javax.annotation.Nonnull Location location) {
this.origin = location.toVector(); this.origin = location.toVector();
@@ -1678,7 +1679,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1741,7 +1742,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
public boolean fireImmune() { public boolean fireImmune() {
@@ -25,7 +25,7 @@ index 889db414e3442f51f77be097806e52b4941362d5..3e2e2965270090cb2cf12b6c62cc13d3
} }
public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) { public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) {
@@ -2340,6 +2341,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2411,6 +2412,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
nbt.putBoolean("Paper.FreezeLock", true); nbt.putBoolean("Paper.FreezeLock", true);
} }
// Paper end // Paper end
@@ -37,7 +37,7 @@ index 889db414e3442f51f77be097806e52b4941362d5..3e2e2965270090cb2cf12b6c62cc13d3
return nbt; return nbt;
} catch (Throwable throwable) { } catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT"); CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
@@ -2508,6 +2514,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -2579,6 +2585,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
freezeLocked = nbt.getBoolean("Paper.FreezeLock"); freezeLocked = nbt.getBoolean("Paper.FreezeLock");
} }
// Paper end // Paper end
@@ -50,14 +50,13 @@ index 889db414e3442f51f77be097806e52b4941362d5..3e2e2965270090cb2cf12b6c62cc13d3
} catch (Throwable throwable) { } catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT"); CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT");
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index bdb6485b7b3544e1b264a44ae919277221ce11ba..97ea9612343e4288decd8daa9327a7e781877a8e 100644 index 270d38696f95e259dd036c5db2883e406e81d3fa..973192ef61cd817611581c36d0d0aa5bcb2503c0 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -1473,5 +1473,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -209,6 +209,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
public boolean isRidableInWater() { this.entity = entity;
return !getHandle().dismountsUnderwater();
} }
+
+ @Override + @Override
+ public boolean isImmuneToFire() { + public boolean isImmuneToFire() {
+ return getHandle().fireImmune(); + return getHandle().fireImmune();
@@ -67,8 +66,10 @@ index bdb6485b7b3544e1b264a44ae919277221ce11ba..97ea9612343e4288decd8daa9327a7e7
+ public void setImmuneToFire(Boolean fireImmune) { + public void setImmuneToFire(Boolean fireImmune) {
+ getHandle().immuneToFire = fireImmune; + getHandle().immuneToFire = fireImmune;
+ } + }
// Purpur end +
} @Override
public boolean isInDaylight() {
return getHandle().isSunBurnTick();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java
index 09001578b88658c44d0661d340a0ee0f1ded6911..ea15690da167ec5e653da6f5afb55b33c45d1622 100644 index 09001578b88658c44d0661d340a0ee0f1ded6911..ea15690da167ec5e653da6f5afb55b33c45d1622 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java

View File

@@ -5,22 +5,30 @@ Subject: [PATCH] Add option to teleport to spawn on nether ceiling damage
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 3e2e2965270090cb2cf12b6c62cc13d3743e0604..e71eca3ddbbeb3168dd73433b6d6ffe9f6755f77 100644 index 123d67729f0219677e5f1e82db2dccdfe65b7adb..dd9b10e0b9da68cf4b71613770f8ca428f25ce73 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java --- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -900,6 +900,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -7,6 +7,7 @@ import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.google.common.collect.UnmodifiableIterator;
import com.mojang.logging.LogUtils;
+import io.papermc.paper.util.MCUtil;
import it.unimi.dsi.fastutil.objects.Object2DoubleArrayMap;
import it.unimi.dsi.fastutil.objects.Object2DoubleMap;
import java.util.Arrays;
@@ -858,6 +859,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
&& this.level.paperConfig().environment.netherCeilingVoidDamageHeight.test(v -> this.getY() >= v) && this.level.paperConfig().environment.netherCeilingVoidDamageHeight.test(v -> this.getY() >= v)
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) { && (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
// Paper end // Paper end
+ if (this.level.purpurConfig.teleportOnNetherCeilingDamage && this.level.getWorld().getEnvironment() == org.bukkit.World.Environment.NETHER && this instanceof ServerPlayer player) player.teleport(MCUtil.toLocation(this.level, this.level.getSharedSpawnPos())); else // Purpur + if (this.level.purpurConfig.teleportOnNetherCeilingDamage && this.level.getWorld().getEnvironment() == org.bukkit.World.Environment.NETHER && this instanceof ServerPlayer player) player.teleport(MCUtil.toLocation(this.level, this.level.getSharedSpawnPos())); else // Purpur
this.outOfWorld(); this.onBelowWorld();
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6943202332bf20392afc63617584ce2a07faa0dd..3bccb20fb131878c3bbbefa833a8b64a5dc599d6 100644 index 4efefbdb94cfd153f82be186fd9992960ba371a3..eae7d46957e06c80f21ac8cfc4ffa8db2bff2064 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -421,6 +421,7 @@ public class PurpurWorldConfig { @@ -425,6 +425,7 @@ public class PurpurWorldConfig {
public String playerDeathExpDropEquation = "expLevel * 7"; public String playerDeathExpDropEquation = "expLevel * 7";
public int playerDeathExpDropMax = 100; public int playerDeathExpDropMax = 100;
public boolean teleportIfOutsideBorder = false; public boolean teleportIfOutsideBorder = false;
@@ -28,7 +36,7 @@ index 6943202332bf20392afc63617584ce2a07faa0dd..3bccb20fb131878c3bbbefa833a8b64a
public boolean totemOfUndyingWorksInInventory = false; public boolean totemOfUndyingWorksInInventory = false;
public boolean playerFixStuckPortal = false; public boolean playerFixStuckPortal = false;
public boolean creativeOnePunch = false; public boolean creativeOnePunch = false;
@@ -452,6 +453,7 @@ public class PurpurWorldConfig { @@ -456,6 +457,7 @@ public class PurpurWorldConfig {
playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation); playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation);
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax); playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder); teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Added got ram event
diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
index 8129ad2ca6e0b4c6ca586dc221dcce1e883def9b..f5c0fc9f30bdf7935200b875ada0ff1011fdb034 100644 index c17692ff7fe82b6f3c1f1cc282f8c75f1b70664c..799390ae242935a7c4119dddd87d540badc21cc0 100644
--- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java --- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java +++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java
@@ -422,6 +422,7 @@ public class Goat extends Animal { @@ -402,6 +402,7 @@ public class Goat extends Animal {
// Paper start - Goat ram API // Paper start - Goat ram API
public void ram(net.minecraft.world.entity.LivingEntity entity) { public void ram(net.minecraft.world.entity.LivingEntity entity) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Log skipped entity's position
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
index 314a2a31079fcb7619ff9ebef8e6cf161f5c7c9c..3fc26a8976f4bfa28c2c6a862aac997d5f721f51 100644 index b144543131bb756294e02e05f83002fe9abc8d96..932a9d634bbf208d41ddcf06d3395e4cd33a28c3 100644
--- a/src/main/java/net/minecraft/world/entity/EntityType.java --- a/src/main/java/net/minecraft/world/entity/EntityType.java
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java
@@ -612,6 +612,12 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT @@ -610,6 +610,12 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
entity.load(nbt); entity.load(nbt);
}, () -> { }, () -> {
EntityType.LOGGER.warn("Skipping Entity with id {}", nbt.getString("id")); EntityType.LOGGER.warn("Skipping Entity with id {}", nbt.getString("id"));

View File

@@ -5,22 +5,22 @@ Subject: [PATCH] End Crystal Cramming
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
index a4fc0e9cb52bb5937effe5cd09f8bbefcf8dd531..e3fe5f18c77e36479eaeb7edfd2a3eb919c342d6 100644 index ada7eba2beca5b0897fa2eb3567a639573f4e18d..4591fd93d94a4e68c7e23674d434ba019ad85607 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
@@ -83,6 +83,7 @@ public class EndCrystal extends Entity { @@ -93,6 +93,7 @@ public class EndCrystal extends Entity {
} }
} }
// Paper end // Paper end
+ if (this.level.purpurConfig.endCrystalCramming > 0 && this.level.getEntitiesOfClass(EndCrystal.class, getBoundingBox()).size() > this.level.purpurConfig.endCrystalCramming) this.hurt(this.damageSources().cramming(), 6.0F); // Purpur + if (this.level.purpurConfig.endCrystalCramming > 0 && this.level.getEntitiesOfClass(EndCrystal.class, getBoundingBox()).size() > this.level.purpurConfig.endCrystalCramming) this.hurt(this.damageSources().cramming(), 6.0F); // Purpur
} }
// Purpur start }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3bccb20fb131878c3bbbefa833a8b64a5dc599d6..74e094982005e4f6044e063b1e168a96c7e7d976 100644 index eae7d46957e06c80f21ac8cfc4ffa8db2bff2064..ad1489bc7745f01eedfc3f439f86f125ffc1c30c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -864,6 +864,7 @@ public class PurpurWorldConfig { @@ -873,6 +873,7 @@ public class PurpurWorldConfig {
public double basedEndCrystalExplosionPower = 6.0D; public double basedEndCrystalExplosionPower = 6.0D;
public boolean basedEndCrystalExplosionFire = false; public boolean basedEndCrystalExplosionFire = false;
public net.minecraft.world.level.Level.ExplosionInteraction basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; public net.minecraft.world.level.Level.ExplosionInteraction basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK;
@@ -28,7 +28,7 @@ index 3bccb20fb131878c3bbbefa833a8b64a5dc599d6..74e094982005e4f6044e063b1e168a96
private void endCrystalSettings() { private void endCrystalSettings() {
if (PurpurConfig.version < 31) { if (PurpurConfig.version < 31) {
if ("DESTROY".equals(getString("blocks.end-crystal.baseless.explosion-effect", baselessEndCrystalExplosionEffect.name()))) { if ("DESTROY".equals(getString("blocks.end-crystal.baseless.explosion-effect", baselessEndCrystalExplosionEffect.name()))) {
@@ -891,6 +892,7 @@ public class PurpurWorldConfig { @@ -900,6 +901,7 @@ public class PurpurWorldConfig {
log(Level.SEVERE, "Unknown value for `blocks.end-crystal.base.explosion-effect`! Using default of `BLOCK`"); log(Level.SEVERE, "Unknown value for `blocks.end-crystal.base.explosion-effect`! Using default of `BLOCK`");
basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK;
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Option to allow beacon effects when covered by tinted glass
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
index c787019b5cbadec81dd33ef4021708b9b423485a..8f82b0ce87afc8890c5b3386d5f6e22c48974b16 100644 index cc03c02f290ee8d58a2fea54b1f977f49a2cec6e..49a2308832b24dc1eb839af786dbec9f046bdab6 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java --- a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java
@@ -165,6 +165,7 @@ public class BeaconBlockEntity extends BlockEntity implements MenuProvider, Name @@ -165,6 +165,7 @@ public class BeaconBlockEntity extends BlockEntity implements MenuProvider, Name
@@ -36,10 +36,10 @@ index c787019b5cbadec81dd33ef4021708b9b423485a..8f82b0ce87afc8890c5b3386d5f6e22c
BeaconBlockEntity.playSound(world, pos, SoundEvents.BEACON_AMBIENT); BeaconBlockEntity.playSound(world, pos, SoundEvents.BEACON_AMBIENT);
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 74e094982005e4f6044e063b1e168a96c7e7d976..820fe69d6eaa74c1d903770e56e7b436928a7fb4 100644 index ad1489bc7745f01eedfc3f439f86f125ffc1c30c..e41de3240daa6080f8ec463489d2eb51f9370fa2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -758,11 +758,13 @@ public class PurpurWorldConfig { @@ -767,11 +767,13 @@ public class PurpurWorldConfig {
public int beaconLevelTwo = 30; public int beaconLevelTwo = 30;
public int beaconLevelThree = 40; public int beaconLevelThree = 40;
public int beaconLevelFour = 50; public int beaconLevelFour = 50;

View File

@@ -36,10 +36,10 @@ index f0703302e7dbbda88de8c648d20d87c55ed9b1e0..a913ebabaa5f443afa987b972355a8f8
} }
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 81409df1af15b68971b1efd203b9ad8d87ca7b6e..be8b44daa0141151c973917a774aa07721647ed1 100644 index d8e347b45ae89fbea403e4754c42b48776fcdfa0..5527d7708ba57ef8a3c9f472dfc0496551eb0e20 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -565,6 +565,16 @@ public class PurpurConfig { @@ -563,6 +563,16 @@ public class PurpurConfig {
fixProjectileLootingTransfer = getBoolean("settings.fix-projectile-looting-transfer", fixProjectileLootingTransfer); fixProjectileLootingTransfer = getBoolean("settings.fix-projectile-looting-transfer", fixProjectileLootingTransfer);
} }

View File

@@ -4,20 +4,8 @@ Date: Mon, 9 Jan 2023 19:45:55 -0500
Subject: [PATCH] Config to remove explosion radius clamp Subject: [PATCH] Config to remove explosion radius clamp
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 790160cfcb113e046379c2fe5af32667faf3be8c..b6ac41633e91f6ee2755d1f05aac4c8046a4aa8a 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
@@ -108,6 +108,7 @@ public class EnderDragon extends Mob implements Enemy {
public EnderDragon(EntityType<? extends EnderDragon> entitytypes, Level world) {
super(EntityType.ENDER_DRAGON, world);
+ this.explosionSource = new Explosion(world, this, null, null, Double.NaN, Double.NaN, Double.NaN, Float.NaN, true, Explosion.BlockInteraction.DESTROY); // Purpur - moved instantiation from field
this.subEntities = new EnderDragonPart[]{this.head, this.neck, this.body, this.tail1, this.tail2, this.tail3, this.wing1, this.wing2};
this.setHealth(this.getMaxHealth());
this.noPhysics = true;
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
index 4392336d28aa3cc7a767a2e638e2227c16a597f4..4929149dde7630a2249a86f4ed0bf00ed3e75c84 100644 index 8f97c9df726ac20cfce7bdddd5dd4f8c5aa76c35..93e7e2fe1f4184719736e698563f493b1d31e8c0 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java --- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java
@@ -86,7 +86,7 @@ public class Explosion { @@ -86,7 +86,7 @@ public class Explosion {
@@ -39,10 +27,10 @@ index 4392336d28aa3cc7a767a2e638e2227c16a597f4..4929149dde7630a2249a86f4ed0bf00e
} }
// CraftBukkit end // CraftBukkit end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index bcefc3d5a0bab517d0ee06fd81dd6b040120cc6e..e8f0ec7eb707776e8746eae07e0fb1ac50cf7398 100644 index e41de3240daa6080f8ec463489d2eb51f9370fa2..cf10d332625c77068a1793e6e5eedfe8c93e3a2a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -215,6 +215,11 @@ public class PurpurWorldConfig { @@ -219,6 +219,11 @@ public class PurpurWorldConfig {
entitySharedRandom = getBoolean("settings.entity.shared-random", entitySharedRandom); entitySharedRandom = getBoolean("settings.entity.shared-random", entitySharedRandom);
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] bonemealable sugarcane, cactus, and netherwart
diff --git a/src/main/java/net/minecraft/world/level/block/CactusBlock.java b/src/main/java/net/minecraft/world/level/block/CactusBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/CactusBlock.java b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
index 2fffe4452d8f3fa5b9365dff1cfe5b5dab6bf2f8..ae2ac1c24c1e502a1968a3008273096281d5f1ca 100644 index c2ca3432a47124d02e1aaf8ffb621f9a2c7d7a62..0d5f87d24231f6d2b8639825bcd62dd2f8791c8e 100644
--- a/src/main/java/net/minecraft/world/level/block/CactusBlock.java --- a/src/main/java/net/minecraft/world/level/block/CactusBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CactusBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
@@ -22,7 +22,7 @@ import net.minecraft.world.phys.shapes.CollisionContext; @@ -22,7 +22,7 @@ import net.minecraft.world.phys.shapes.CollisionContext;
@@ -17,7 +17,7 @@ index 2fffe4452d8f3fa5b9365dff1cfe5b5dab6bf2f8..ae2ac1c24c1e502a1968a30082730962
public static final IntegerProperty AGE = BlockStateProperties.AGE_15; public static final IntegerProperty AGE = BlockStateProperties.AGE_15;
public static final int MAX_AGE = 15; public static final int MAX_AGE = 15;
@@ -131,4 +131,34 @@ public class CactusBlock extends Block { @@ -129,4 +129,34 @@ public class CactusBlock extends Block {
public boolean isPathfindable(BlockState state, BlockGetter world, BlockPos pos, PathComputationType type) { public boolean isPathfindable(BlockState state, BlockGetter world, BlockPos pos, PathComputationType type) {
return false; return false;
} }
@@ -89,7 +89,7 @@ index 0e4026e9d39735b840f12e59f84469b9acc2fc77..bf4485b4cad324d5aace657ebf284c4d
// Purpur end // Purpur end
} }
diff --git a/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java b/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java diff --git a/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java b/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java
index 6b400a4759c8c8612a3b5c96ca0d87ef9dc71435..992de1ab2c00a2545a857f1b5533926bc895f996 100644 index c3f500580d257e1397f2eb7c47b063a6fe6bb405..0d5c6bdfd4aeda472804b493315bf21ac3067e9d 100644
--- a/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java --- a/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java
@@ -19,7 +19,7 @@ import net.minecraft.world.level.material.FluidState; @@ -19,7 +19,7 @@ import net.minecraft.world.level.material.FluidState;
@@ -137,10 +137,10 @@ index 6b400a4759c8c8612a3b5c96ca0d87ef9dc71435..992de1ab2c00a2545a857f1b5533926b
+ // Purpur end + // Purpur end
} }
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4018817ad32fa06befd4fd90f1f06d0231a78bbe..0db8a1a51c857a3930d0b20028964fb355d8e5b4 100644 index cf10d332625c77068a1793e6e5eedfe8c93e3a2a..ac50955db036a87738acda18f8bab36e1060ccfd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -817,8 +817,20 @@ public class PurpurWorldConfig { @@ -826,8 +826,20 @@ public class PurpurWorldConfig {
} }
public boolean cactusBreaksFromSolidNeighbors = true; public boolean cactusBreaksFromSolidNeighbors = true;

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add PreExplodeEvents
diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java
index 4929149dde7630a2249a86f4ed0bf00ed3e75c84..4beaedc5ec3562df62a7a9e6b2f40728bd933044 100644 index 93e7e2fe1f4184719736e698563f493b1d31e8c0..845c94a398fddc35731a36a792f4a95435bd1fb8 100644
--- a/src/main/java/net/minecraft/world/level/Explosion.java --- a/src/main/java/net/minecraft/world/level/Explosion.java
+++ b/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java
@@ -141,6 +141,23 @@ public class Explosion { @@ -141,6 +141,23 @@ public class Explosion {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Make GUI Great Again
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 582467e3419c23446b20d3076fbfce22115250a8..6ecc75621867390738e804e06ac284524664473d 100644 index 9eeda0276b4a6f444e7fd2afee7a2c62ad58e0cd..af77803ab75fd7ace62fc2781b4de7287ff0974b 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -99,6 +99,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -99,6 +99,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add mending multiplier
diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
index df8d8f85f8db396b7db9fa6e46aa55c934105394..9a1dbb058a468c267606df336027806884fee645 100644 index 4746dcb444f0c1b0801cd1805b7fcd3612f5ad85..2930932b431c57974bae7c28a4450a03c5f29b6d 100644
--- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java --- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
+++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java +++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java
@@ -346,13 +346,15 @@ public class ExperienceOrb extends Entity { @@ -357,13 +357,15 @@ public class ExperienceOrb extends Entity {
} }
} }
@@ -27,7 +27,7 @@ index df8d8f85f8db396b7db9fa6e46aa55c934105394..9a1dbb058a468c267606df3360278068
public int getValue() { public int getValue() {
return this.value; return this.value;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 157c5ce26015cabd5a007cf7444c8255db1a0b0f..31622937846c14dab4177a1f08c15985957c98bb 100644 index ac50955db036a87738acda18f8bab36e1060ccfd..5e5b5384f619082d00c91e5de1e93f416cc621ba 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -121,6 +121,7 @@ public class PurpurWorldConfig { @@ -121,6 +121,7 @@ public class PurpurWorldConfig {
@@ -38,7 +38,7 @@ index 157c5ce26015cabd5a007cf7444c8255db1a0b0f..31622937846c14dab4177a1f08c15985
public boolean alwaysTameInCreative = false; public boolean alwaysTameInCreative = false;
public boolean boatEjectPlayersOnLand = false; public boolean boatEjectPlayersOnLand = false;
public boolean boatsDoFallDamage = false; public boolean boatsDoFallDamage = false;
@@ -148,6 +149,7 @@ public class PurpurWorldConfig { @@ -150,6 +151,7 @@ public class PurpurWorldConfig {
public int mobLastHurtByPlayerTime = 100; public int mobLastHurtByPlayerTime = 100;
private void miscGameplayMechanicsSettings() { private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);

View File

@@ -1,4 +1,6 @@
* make sure that all mobs are in entity attributes and ridables (some from previous updates weren't added to attributes) * make sure that all mobs are in entity attributes and ridables (some from previous updates weren't added to attributes)
* check sulker spawn from bullet options matches original design * check sulker spawn from bullet options matches original design
* configurable food atributes check `key.location().toString()` still works * configurable food atributes check `key.location().toString()` still works
* fix all instances of `level.blahblah` * fix all instances of `level.blahblah`
* merge pufferfish fixes into one
* test allow transparent blocks in enchanting box