at 100 patches now

This commit is contained in:
granny
2023-09-23 03:46:11 -07:00
parent 60f73e4a23
commit 6230542841
50 changed files with 244 additions and 244 deletions

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow leashing villagers
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 9ed3354296746e1c50d55bca8c07fd4946255795..137b08608b2f19aa609c5e1ef47d9b964c47e109 100644 index 439506a5916662c1976283da9834d6f19cfa7165..4863dc005e40f270ad33e33afce953739fd28101 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -1315,6 +1315,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -1312,6 +1312,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
if (!this.isAlive()) { if (!this.isAlive()) {
return InteractionResult.PASS; return InteractionResult.PASS;
} else if (this.getLeashHolder() == player) { } else if (this.getLeashHolder() == player) {
@@ -17,10 +17,10 @@ index 9ed3354296746e1c50d55bca8c07fd4946255795..137b08608b2f19aa609c5e1ef47d9b96
// Paper start - drop leash variable // Paper start - drop leash variable
org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, hand, !player.getAbilities().instabuild); org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, player, hand, !player.getAbilities().instabuild);
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java 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 91a44381a822ce4dc543401a930d32c8d4a5a7eb..50925ab7d719ae3323d7456df03a3d2ab3481bfd 100644 index d7cad34509c126122bce62596371780c34404024..8f65901bc4e189e2ac2686ca17233b9166e7b870 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
@@ -184,6 +184,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -183,6 +183,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.villagerMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.villagerMaxHealth);
} }
@@ -33,10 +33,10 @@ index 91a44381a822ce4dc543401a930d32c8d4a5a7eb..50925ab7d719ae3323d7456df03a3d2a
public Brain<Villager> getBrain() { public Brain<Villager> getBrain() {
return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error return (Brain<Villager>) super.getBrain(); // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java 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 509bde6c02d9e74158da7a134fbdda1603cb3ec0..7413f90dfcb68476f7d514607f38a8965dfa6fd0 100644 index c1c41990bc53c822aa170e3d69924437f4a25115..31daa61db84fcb3cde7ec4b18b32aba350ab2cfb 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
@@ -88,6 +88,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill @@ -92,6 +92,11 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.wanderingTraderMaxHealth); this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.wanderingTraderMaxHealth);
} }
@@ -49,10 +49,10 @@ index 509bde6c02d9e74158da7a134fbdda1603cb3ec0..7413f90dfcb68476f7d514607f38a896
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new FloatGoal(this));
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 e2667728ea44292ae05e80f1a27ed3edb36db7b1..ab42f93a621759a86c7e9eba14cb32b156d4f106 100644 index b78702f6d2cb36d720c6ef59e5414ca381af08a1..cb46d1527a5f7f9b3c06aea27a55d98b7b6e734e 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
@@ -1440,6 +1440,7 @@ public class PurpurWorldConfig { @@ -1436,6 +1436,7 @@ public class PurpurWorldConfig {
public boolean villagerControllable = true; public boolean villagerControllable = true;
public double villagerMaxHealth = 20.0D; public double villagerMaxHealth = 20.0D;
public boolean villagerFollowEmeraldBlock = false; public boolean villagerFollowEmeraldBlock = false;
@@ -60,7 +60,7 @@ index e2667728ea44292ae05e80f1a27ed3edb36db7b1..ab42f93a621759a86c7e9eba14cb32b1
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1451,6 +1452,7 @@ public class PurpurWorldConfig { @@ -1447,6 +1448,7 @@ public class PurpurWorldConfig {
} }
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
@@ -68,7 +68,7 @@ index e2667728ea44292ae05e80f1a27ed3edb36db7b1..ab42f93a621759a86c7e9eba14cb32b1
} }
public boolean vindicatorRidable = false; public boolean vindicatorRidable = false;
@@ -1474,6 +1476,7 @@ public class PurpurWorldConfig { @@ -1470,6 +1472,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderControllable = true; public boolean wanderingTraderControllable = true;
public double wanderingTraderMaxHealth = 20.0D; public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderFollowEmeraldBlock = false;
@@ -76,7 +76,7 @@ index e2667728ea44292ae05e80f1a27ed3edb36db7b1..ab42f93a621759a86c7e9eba14cb32b1
private void wanderingTraderSettings() { private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1485,6 +1488,7 @@ public class PurpurWorldConfig { @@ -1481,6 +1484,7 @@ public class PurpurWorldConfig {
} }
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Implement infinite liquids
diff --git a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java diff --git a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java
index 7d56693102ee558fe784e3a9b9fdcff4b7ad57b9..485bbec4b52f126393332d5cad2d97c2a220f91a 100644 index e21f4c5aff3a8e97101f6efc1349fbecf326b5ea..ad077179fe5cf4acbfbe7572470201ab91817996 100644
--- a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java --- a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java
+++ b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java +++ b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java
@@ -227,7 +227,7 @@ public abstract class FlowingFluid extends Fluid { @@ -218,7 +218,7 @@ public abstract class FlowingFluid extends Fluid {
} }
} }
@@ -17,7 +17,7 @@ index 7d56693102ee558fe784e3a9b9fdcff4b7ad57b9..485bbec4b52f126393332d5cad2d97c2
BlockState iblockdata2 = world.getBlockState(pos.below()); BlockState iblockdata2 = world.getBlockState(pos.below());
FluidState fluid1 = iblockdata2.getFluidState(); FluidState fluid1 = iblockdata2.getFluidState();
@@ -325,6 +325,12 @@ public abstract class FlowingFluid extends Fluid { @@ -302,6 +302,12 @@ public abstract class FlowingFluid extends Fluid {
protected abstract boolean canConvertToSource(Level world); protected abstract boolean canConvertToSource(Level world);
@@ -31,7 +31,7 @@ index 7d56693102ee558fe784e3a9b9fdcff4b7ad57b9..485bbec4b52f126393332d5cad2d97c2
if (state.getBlock() instanceof LiquidBlockContainer) { if (state.getBlock() instanceof LiquidBlockContainer) {
((LiquidBlockContainer) state.getBlock()).placeLiquid(world, pos, state, fluidState); ((LiquidBlockContainer) state.getBlock()).placeLiquid(world, pos, state, fluidState);
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 72f8b72c6436ca3b8eaeb39c7d3efe2c1462ae1d..3706ebc551413401b0e6a9a0b1c2e3257d1337c1 100644 index c3f8e1e2dd89c168b8b4a15b589109db486bc8d7..2076e4b433e0a57e3ae7053c1df77e0cdc457fc9 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
@@ -198,6 +198,13 @@ public abstract class LavaFluid extends FlowingFluid { @@ -198,6 +198,13 @@ public abstract class LavaFluid extends FlowingFluid {
@@ -49,7 +49,7 @@ index 72f8b72c6436ca3b8eaeb39c7d3efe2c1462ae1d..3706ebc551413401b0e6a9a0b1c2e325
protected boolean canConvertToSource(Level world) { protected boolean canConvertToSource(Level world) {
return world.getGameRules().getBoolean(GameRules.RULE_LAVA_SOURCE_CONVERSION); return world.getGameRules().getBoolean(GameRules.RULE_LAVA_SOURCE_CONVERSION);
diff --git a/src/main/java/net/minecraft/world/level/material/WaterFluid.java b/src/main/java/net/minecraft/world/level/material/WaterFluid.java diff --git a/src/main/java/net/minecraft/world/level/material/WaterFluid.java b/src/main/java/net/minecraft/world/level/material/WaterFluid.java
index 82e85fbbd45244d02df90fa00c9046e7f51275a2..ec6c63075306f9e5389e83641d2c8a82369ddc6b 100644 index d280c98aed5262c4ce39526c917de884f25a8584..e7d9f6802520620a1dcf0938256ffe80fc72a6f0 100644
--- a/src/main/java/net/minecraft/world/level/material/WaterFluid.java --- a/src/main/java/net/minecraft/world/level/material/WaterFluid.java
+++ b/src/main/java/net/minecraft/world/level/material/WaterFluid.java +++ b/src/main/java/net/minecraft/world/level/material/WaterFluid.java
@@ -64,6 +64,13 @@ public abstract class WaterFluid extends FlowingFluid { @@ -64,6 +64,13 @@ public abstract class WaterFluid extends FlowingFluid {
@@ -67,10 +67,10 @@ index 82e85fbbd45244d02df90fa00c9046e7f51275a2..ec6c63075306f9e5389e83641d2c8a82
@Override @Override
protected void beforeDestroyingBlock(LevelAccessor world, BlockPos pos, BlockState state, BlockPos source) { protected void beforeDestroyingBlock(LevelAccessor world, BlockPos pos, BlockState state, BlockPos source) {
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 ab42f93a621759a86c7e9eba14cb32b156d4f106..e72a61c0e3aeb9758245101621a5aa286f5f5658 100644 index cb46d1527a5f7f9b3c06aea27a55d98b7b6e734e..e06739783b33e72bf43e577f0f7931ad243a48c9 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
@@ -225,6 +225,11 @@ public class PurpurWorldConfig { @@ -221,6 +221,11 @@ public class PurpurWorldConfig {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
} }
@@ -82,7 +82,7 @@ index ab42f93a621759a86c7e9eba14cb32b156d4f106..e72a61c0e3aeb9758245101621a5aa28
public boolean turtleEggsBreakFromExpOrbs = true; public boolean turtleEggsBreakFromExpOrbs = true;
public boolean turtleEggsBreakFromItems = true; public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true; public boolean turtleEggsBreakFromMinecarts = true;
@@ -234,6 +239,11 @@ public class PurpurWorldConfig { @@ -230,6 +235,11 @@ public class PurpurWorldConfig {
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts); turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Make lava flow speed configurable
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 3706ebc551413401b0e6a9a0b1c2e3257d1337c1..b77cdbd8a7395e8442081c6a2b14695d62c9ef03 100644 index 2076e4b433e0a57e3ae7053c1df77e0cdc457fc9..70ddb3b130ee59a6e200ea5af3ac89f3c3fa9e9b 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
@@ -180,7 +180,7 @@ public abstract class LavaFluid extends FlowingFluid { @@ -180,7 +180,7 @@ public abstract class LavaFluid extends FlowingFluid {
@@ -18,10 +18,10 @@ index 3706ebc551413401b0e6a9a0b1c2e3257d1337c1..b77cdbd8a7395e8442081c6a2b14695d
@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 e72a61c0e3aeb9758245101621a5aa286f5f5658..bb5877d6feec92e87c13e33abfda48507201d08e 100644 index e06739783b33e72bf43e577f0f7931ad243a48c9..d85062beff8ee3b1c6141d433e133be8374e08d8 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
@@ -226,8 +226,12 @@ public class PurpurWorldConfig { @@ -222,8 +222,12 @@ public class PurpurWorldConfig {
} }
public int lavaInfiniteRequiredSources = 2; public int lavaInfiniteRequiredSources = 2;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add player death exp control options
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 7b39cb5346925c14f3f144d622ca7e5855420aa6..fa2a0cc24bbe31abd49ce0f3f41bab2aa5d9c81f 100644 index 535fe476ebe5b791cae7a4013c4a498b89d047e3..dd7e47ddde00e0b4f3b9833c1793246547ba0cf2 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java --- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1998,9 +1998,19 @@ public abstract class Player extends LivingEntity { @@ -2004,9 +2004,19 @@ public abstract class Player extends LivingEntity {
@Override @Override
public int getExperienceReward() { public int getExperienceReward() {
if (!this.level().getGameRules().getBoolean(GameRules.RULE_KEEPINVENTORY) && !this.isSpectator()) { if (!this.level().getGameRules().getBoolean(GameRules.RULE_KEEPINVENTORY) && !this.isSpectator()) {
@@ -32,22 +32,22 @@ index 7b39cb5346925c14f3f144d622ca7e5855420aa6..fa2a0cc24bbe31abd49ce0f3f41bab2a
return 0; return 0;
} }
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 bb5877d6feec92e87c13e33abfda48507201d08e..183a4e0192679d04555215c234dfefbc39dfe02e 100644 index d85062beff8ee3b1c6141d433e133be8374e08d8..189b59cd6218e8e6b7f7c0326211e1b6545e9ca3 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
@@ -173,6 +173,8 @@ public class PurpurWorldConfig { @@ -171,6 +171,8 @@ public class PurpurWorldConfig {
public boolean idleTimeoutCountAsSleeping = false;
public boolean idleTimeoutUpdateTabList = false;
public boolean idleTimeoutTargetPlayer = true; public boolean idleTimeoutTargetPlayer = true;
public int playerSpawnInvulnerableTicks = 60;
public boolean playerInvulnerableWhileAcceptingResourcePack = false;
+ public String playerDeathExpDropEquation = "expLevel * 7"; + public String playerDeathExpDropEquation = "expLevel * 7";
+ public int playerDeathExpDropMax = 100; + public int playerDeathExpDropMax = 100;
private void playerSettings() { private void playerSettings() {
if (PurpurConfig.version < 19) { if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -186,6 +188,8 @@ public class PurpurWorldConfig { @@ -182,6 +184,8 @@ public class PurpurWorldConfig {
idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping);
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer); idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer);
playerSpawnInvulnerableTicks = getInt("gameplay-mechanics.player.spawn-invulnerable-ticks", playerSpawnInvulnerableTicks);
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
+ 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);
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable void damage height and damage
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index acce1d46d6bce9b052126c76bc1f36264df39e71..5b9ddcab26a4c962dae104c44d65d623c036c8fd 100644 index 61183cfcff5f4c706d0491b844531596caa1080d..3d8228ee86e2924f584f14a43832060e6d59f709 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
@@ -915,7 +915,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -848,7 +848,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
public void checkBelowWorld() { public void checkBelowWorld() {
// Paper start - Configurable nether ceiling damage // Paper start - Configurable nether ceiling damage
@@ -18,10 +18,10 @@ index acce1d46d6bce9b052126c76bc1f36264df39e71..5b9ddcab26a4c962dae104c44d65d623
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) { && (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
// Paper end // Paper end
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 bb8ba67c7a4a4c7a641e103bd20cbc0a01dc66b2..c32a8c4b8a75f524b0f99ada0bba6de40c0aa732 100644 index 23c6ec58ab4bbd1807e3f05779258a9fd0e5133e..cb6bcd006ef482087a336747836889bb3afcb53e 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
@@ -2500,7 +2500,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -2512,7 +2512,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@Override @Override
protected void onBelowWorld() { protected void onBelowWorld() {
@@ -31,7 +31,7 @@ index bb8ba67c7a4a4c7a641e103bd20cbc0a01dc66b2..c32a8c4b8a75f524b0f99ada0bba6de4
protected void updateSwingTime() { protected void updateSwingTime() {
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 183a4e0192679d04555215c234dfefbc39dfe02e..a559ab65bc3f2d78d79e22b0e70afb6affd1d6a3 100644 index 189b59cd6218e8e6b7f7c0326211e1b6545e9ca3..9311e620a821bbd46d962dd01ef9b0c1ec99555f 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
@@ -98,10 +98,14 @@ public class PurpurWorldConfig { @@ -98,10 +98,14 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 5b9ddcab26a4c962dae104c44d65d623c036c8fd..01a1534ec503e9aaea7befdba86f452128f8863d 100644 index 3d8228ee86e2924f584f14a43832060e6d59f709..46098a03d6993db7509f351aa302d0e62a29078e 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
@@ -493,6 +493,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -486,6 +486,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return false; return false;
} }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Dispenser curse of binding protection
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 137b08608b2f19aa609c5e1ef47d9b964c47e109..2023ae88e6cb0565f8fe7b525dfe84279bf90dd6 100644 index 4863dc005e40f270ad33e33afce953739fd28101..1c457561399b4a531ca7cb616a4bde69b30a4bc6 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -65,6 +65,7 @@ import net.minecraft.world.item.ProjectileWeaponItem; @@ -65,6 +65,7 @@ import net.minecraft.world.item.ProjectileWeaponItem;
@@ -16,7 +16,7 @@ index 137b08608b2f19aa609c5e1ef47d9b964c47e109..2023ae88e6cb0565f8fe7b525dfe8427
import net.minecraft.world.level.GameRules; import net.minecraft.world.level.GameRules;
import net.minecraft.world.level.ItemLike; import net.minecraft.world.level.ItemLike;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
@@ -1173,6 +1174,12 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -1170,6 +1171,12 @@ public abstract class Mob extends LivingEntity implements Targeting {
} }
@@ -30,10 +30,10 @@ index 137b08608b2f19aa609c5e1ef47d9b964c47e109..2023ae88e6cb0565f8fe7b525dfe8427
public static Item getEquipmentForSlot(EquipmentSlot equipmentSlot, int equipmentLevel) { public static Item getEquipmentForSlot(EquipmentSlot equipmentSlot, int equipmentLevel) {
switch (equipmentSlot) { switch (equipmentSlot) {
diff --git a/src/main/java/net/minecraft/world/item/ArmorItem.java b/src/main/java/net/minecraft/world/item/ArmorItem.java diff --git a/src/main/java/net/minecraft/world/item/ArmorItem.java b/src/main/java/net/minecraft/world/item/ArmorItem.java
index d7a0cbde8f8c99276307502674c71463fbe7e89c..3500c56cb85d8c76b2acd77976d374eaf487b3b3 100644 index 42d87800a328f71c5127ce5599ca4c71cc9bb1cd..a48083b0dea8e4343edeb1bd89aef19bb465bd56 100644
--- a/src/main/java/net/minecraft/world/item/ArmorItem.java --- a/src/main/java/net/minecraft/world/item/ArmorItem.java
+++ b/src/main/java/net/minecraft/world/item/ArmorItem.java +++ b/src/main/java/net/minecraft/world/item/ArmorItem.java
@@ -60,7 +60,7 @@ public class ArmorItem extends Item implements Equipable { @@ -61,7 +61,7 @@ public class ArmorItem extends Item implements Equipable {
return false; return false;
} else { } else {
LivingEntity entityliving = (LivingEntity) list.get(0); LivingEntity entityliving = (LivingEntity) list.get(0);
@@ -41,12 +41,12 @@ index d7a0cbde8f8c99276307502674c71463fbe7e89c..3500c56cb85d8c76b2acd77976d374ea
+ EquipmentSlot enumitemslot = pointer.getLevel().purpurConfig.dispenserApplyCursedArmor ? Mob.getEquipmentSlotForItem(armor) : Mob.getSlotForDispenser(armor); if (enumitemslot == null) return false; // Purpur + EquipmentSlot enumitemslot = pointer.getLevel().purpurConfig.dispenserApplyCursedArmor ? Mob.getEquipmentSlotForItem(armor) : Mob.getSlotForDispenser(armor); if (enumitemslot == null) return false; // Purpur
ItemStack itemstack1 = armor.copyWithCount(1); // Paper - shrink below and single item in event ItemStack itemstack1 = armor.copyWithCount(1); // Paper - shrink below and single item in event
// CraftBukkit start // CraftBukkit start
Level world = pointer.getLevel(); Level world = pointer.level();
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 a559ab65bc3f2d78d79e22b0e70afb6affd1d6a3..a42f39fc79c6ab632ae9df59e76a719665fa4d88 100644 index 9311e620a821bbd46d962dd01ef9b0c1ec99555f..2e2a347d341ef831aaf1a6b01fa2aeb82e76b810 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
@@ -228,6 +228,11 @@ public class PurpurWorldConfig { @@ -224,6 +224,11 @@ public class PurpurWorldConfig {
}); });
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add option for boats to eject players on land
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
index 35aeba4e8430e6419caa9db4a0b931a994228618..cb8443c9bc902741dfe6746baca9129214ab503b 100644 index 5c07da62c82bc70138f6cb5007629d6974be69ac..96f4ef06d16483bd4bb88cc36207d5bdc4bd1280 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java --- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
@@ -541,6 +541,7 @@ public class Boat extends Entity implements VariantHolder<Boat.Type> { @@ -578,6 +578,7 @@ public class Boat extends Entity implements VariantHolder<Boat.Type> {
if (f > 0.0F) { if (f > 0.0F) {
this.landFriction = f; this.landFriction = f;
@@ -17,7 +17,7 @@ index 35aeba4e8430e6419caa9db4a0b931a994228618..cb8443c9bc902741dfe6746baca91292
} else { } else {
return Boat.Status.IN_AIR; return Boat.Status.IN_AIR;
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 a42f39fc79c6ab632ae9df59e76a719665fa4d88..d935bc8e47b31ff8ec66cd3c6a5b19450b4684d5 100644 index 2e2a347d341ef831aaf1a6b01fa2aeb82e76b810..e2e95793c02521df51d9dbf76a22e11f96778f49 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
@@ -95,12 +95,14 @@ public class PurpurWorldConfig { @@ -95,12 +95,14 @@ public class PurpurWorldConfig {

View File

@@ -18,10 +18,10 @@ index eca634792d2a7cc649675e3394e84dbaf1453905..2bd576849403bc2cfae298c221061619
if (entry != null) { if (entry != null) {
ItemStack itemstack = (ItemStack) entry.getValue(); ItemStack itemstack = (ItemStack) entry.getValue();
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 d138660e459b2d09ba9dd7ae2bf3da499d9ae25c..7ad1f9119991a7ef2c1c00d846729f39c2652849 100644 index 16f087adbf94b8fd6726ffd300b103dd709ad406..d375703e0ad4cc2b82d6693e15800539e0c7c9f1 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
@@ -584,6 +584,16 @@ public final class ItemStack { @@ -589,6 +589,16 @@ public final class ItemStack {
return this.isDamageableItem() && this.getDamageValue() > 0; return this.isDamageableItem() && this.getDamageValue() > 0;
} }
@@ -73,7 +73,7 @@ index ecf640b00007a386290f8dfe9935a8aa610079fd..2048899f8e4c8211e8dde0d11148d647
public static Map.Entry<EquipmentSlot, ItemStack> getRandomItemWith(Enchantment enchantment, LivingEntity entity) { public static Map.Entry<EquipmentSlot, ItemStack> getRandomItemWith(Enchantment enchantment, LivingEntity entity) {
return getRandomItemWith(enchantment, entity, (stack) -> { return getRandomItemWith(enchantment, entity, (stack) -> {
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 d935bc8e47b31ff8ec66cd3c6a5b19450b4684d5..9e4428db0ffa0f1b0e0ae11af903d3449c782ee4 100644 index e2e95793c02521df51d9dbf76a22e11f96778f49..c48fae071a538a11739193f782232edfafb14de4 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
@@ -95,6 +95,7 @@ public class PurpurWorldConfig { @@ -95,6 +95,7 @@ public class PurpurWorldConfig {

View File

@@ -27,10 +27,10 @@ index fa56cd09102a89692b42f1d14257990508c5c720..f9251183df72ddc56662fd3f02acf216
setListData(vector); setListData(vector);
} }
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 eda8479d26d5ccbb516adc6c483c1c8366375ddd..4cadfd50a0c465ab8d809b91b9a999943385bc8a 100644 index 09dca4c159e47432c6f2a463320456a1e7f1bae5..5c9eda3f59998a7d7cebadd1d67c316643614796 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
@@ -302,7 +302,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -297,7 +297,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public static final int TPS = 20; public static final int TPS = 20;
public static final int TICK_TIME = 1000000000 / MinecraftServer.TPS; public static final int TICK_TIME = 1000000000 / MinecraftServer.TPS;
private static final int SAMPLE_INTERVAL = 20; // Paper private static final int SAMPLE_INTERVAL = 20; // Paper
@@ -39,7 +39,7 @@ index eda8479d26d5ccbb516adc6c483c1c8366375ddd..4cadfd50a0c465ab8d809b91b9a99994
// Spigot end // Spigot end
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations;
public static long currentTickLong = 0L; // Paper public static long currentTickLong = 0L; // Paper
@@ -1048,6 +1048,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1029,6 +1029,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L; private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
private long lastTick = 0; private long lastTick = 0;
private long catchupTime = 0; private long catchupTime = 0;
@@ -47,7 +47,7 @@ index eda8479d26d5ccbb516adc6c483c1c8366375ddd..4cadfd50a0c465ab8d809b91b9a99994
public final RollingAverage tps1 = new RollingAverage(60); public final RollingAverage tps1 = new RollingAverage(60);
public final RollingAverage tps5 = new RollingAverage(60 * 5); public final RollingAverage tps5 = new RollingAverage(60 * 5);
public final RollingAverage tps15 = new RollingAverage(60 * 15); public final RollingAverage tps15 = new RollingAverage(60 * 15);
@@ -1148,13 +1149,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1129,13 +1130,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
{ {
final long diff = curTime - tickSection; final long diff = curTime - tickSection;
java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP); java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
@@ -69,10 +69,10 @@ index eda8479d26d5ccbb516adc6c483c1c8366375ddd..4cadfd50a0c465ab8d809b91b9a99994
lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur
tickSection = curTime; tickSection = curTime;
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 98c4b8356dc26cf220dddb5ec319751b81601991..9bf5facac29591b7f6d5cfb7abb5a7bf6e9d382b 100644 index 5130300dac468560b39825dbac93d275894f6636..3f06e418e1322b966f19b488beb2780e7168b45b 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
@@ -2874,6 +2874,7 @@ public final class CraftServer implements Server { @@ -2871,6 +2871,7 @@ public final class CraftServer implements Server {
@Override @Override
public double[] getTPS() { public double[] getTPS() {
return new double[] { return new double[] {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 9af671ceadea7000cc9fceefec6624151e8a0e88..e8a22e82d47ffd77170b72a4a409db9751e09bbc 100644 index cb6bcd006ef482087a336747836889bb3afcb53e..1c43db48baf33b96be7dd027f3cbaedf205b5101 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
@@ -3523,7 +3523,16 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -3526,7 +3526,16 @@ public abstract class LivingEntity extends Entity implements Attackable {
int j = i / 10; int j = i / 10;
if (j % 2 == 0) { if (j % 2 == 0) {
@@ -54,10 +54,10 @@ index 82b0bda3e35ec2157a477e1a17b2b46baadc97d9..0fc45b1048a1c4e0dc2bd1ae0437eecb
itemStack.shrink(1); itemStack.shrink(1);
} else ((net.minecraft.server.level.ServerPlayer) user).getBukkitEntity().updateInventory(); } else ((net.minecraft.server.level.ServerPlayer) user).getBukkitEntity().updateInventory();
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 7ad1f9119991a7ef2c1c00d846729f39c2652849..34068bd89cb4c111e468d85fb01e51d99efb3349 100644 index d375703e0ad4cc2b82d6693e15800539e0c7c9f1..c9d1e2af3afd7a9320b589ede8ff29ffbaf9297d 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
@@ -613,7 +613,7 @@ public final class ItemStack { @@ -618,7 +618,7 @@ public final class ItemStack {
int j; int j;
if (amount > 0) { if (amount > 0) {
@@ -66,7 +66,7 @@ index 7ad1f9119991a7ef2c1c00d846729f39c2652849..34068bd89cb4c111e468d85fb01e51d9
int k = 0; int k = 0;
for (int l = 0; j > 0 && l < amount; ++l) { for (int l = 0; j > 0 && l < amount; ++l) {
@@ -668,6 +668,12 @@ public final class ItemStack { @@ -673,6 +673,12 @@ public final class ItemStack {
if (this.hurt(amount, entity.getRandom(), entity /*instanceof ServerPlayer ? (ServerPlayer) entity : null*/)) { // Paper - pass LivingEntity for EntityItemDamageEvent if (this.hurt(amount, entity.getRandom(), entity /*instanceof ServerPlayer ? (ServerPlayer) entity : null*/)) { // Paper - pass LivingEntity for EntityItemDamageEvent
breakCallback.accept(entity); breakCallback.accept(entity);
Item item = this.getItem(); Item item = this.getItem();
@@ -99,7 +99,7 @@ index 8078f127ff4b6e0aafb5804b9c02e237f79445b5..06c2f30b77a2c8aecc65e0c305f643d5
entityhuman.startAutoSpinAttack(20); entityhuman.startAutoSpinAttack(20);
if (entityhuman.onGround()) { if (entityhuman.onGround()) {
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 9e4428db0ffa0f1b0e0ae11af903d3449c782ee4..abecd27fab86cb5c16b3d42d5f499caa1976bd45 100644 index c48fae071a538a11739193f782232edfafb14de4..b34f95b6104b1aebd8c07cf279e168cdb074efb9 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
@@ -112,6 +112,19 @@ public class PurpurWorldConfig { @@ -112,6 +112,19 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Item entity immunities
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
index 8ab959dd588b5154b63e133b2e937fa2d0ab8e52..fb11b020d52988360562db23d8568e5ef37e21c8 100644 index 892a334d1b1c0784ed6838d1aa066403998b9a9f..6047010e3a2063cec45cea4d1bc7dab367448d12 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java --- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -70,7 +70,7 @@ public class ServerEntity { @@ -73,7 +73,7 @@ public class ServerEntity {
@Nullable @Nullable
private List<SynchedEntityData.DataValue<?>> trackedDataValues; private List<SynchedEntityData.DataValue<?>> trackedDataValues;
// CraftBukkit start // CraftBukkit start
@@ -18,7 +18,7 @@ index 8ab959dd588b5154b63e133b2e937fa2d0ab8e52..fb11b020d52988360562db23d8568e5e
public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer<Packet<?>> consumer, Set<ServerPlayerConnection> trackedPlayers) { public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer<Packet<?>> consumer, Set<ServerPlayerConnection> trackedPlayers) {
this.trackedPlayers = trackedPlayers; this.trackedPlayers = trackedPlayers;
diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
index d39f31e7cf315c7cdc1daab28164380e44dd8341..028b83b8e835cfdad19ae9edad76c524b98ead7f 100644 index eb0351aa12eebcefab1d1d14641fc3c60cbbcab8..4f01fede54a3150798812d6e5116631bf897a29b 100644
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
@@ -56,6 +56,12 @@ public class ItemEntity extends Entity implements TraceableEntity { @@ -56,6 +56,12 @@ public class ItemEntity extends Entity implements TraceableEntity {
@@ -52,8 +52,8 @@ index d39f31e7cf315c7cdc1daab28164380e44dd8341..028b83b8e835cfdad19ae9edad76c524
return false; return false;
} else if (!this.getItem().isEmpty() && this.getItem().is(Items.NETHER_STAR) && source.is(DamageTypeTags.IS_EXPLOSION)) { } else if (!this.getItem().isEmpty() && this.getItem().is(Items.NETHER_STAR) && source.is(DamageTypeTags.IS_EXPLOSION)) {
return false; return false;
@@ -549,6 +564,12 @@ public class ItemEntity extends Entity implements TraceableEntity { @@ -548,6 +563,12 @@ public class ItemEntity extends Entity implements TraceableEntity {
// com.google.common.base.Preconditions.checkArgument(!stack.isEmpty(), "Cannot drop air"); // CraftBukkit // Paper - Remove check public void setItem(ItemStack stack) {
this.getEntityData().set(ItemEntity.DATA_ITEM, stack); this.getEntityData().set(ItemEntity.DATA_ITEM, stack);
this.despawnRate = this.level().paperConfig().entities.spawning.altItemDespawnRate.enabled ? this.level().paperConfig().entities.spawning.altItemDespawnRate.items.getOrDefault(stack.getItem(), this.level().spigotConfig.itemDespawnRate) : this.level().spigotConfig.itemDespawnRate; // Paper this.despawnRate = this.level().paperConfig().entities.spawning.altItemDespawnRate.enabled ? this.level().paperConfig().entities.spawning.altItemDespawnRate.items.getOrDefault(stack.getItem(), this.level().spigotConfig.itemDespawnRate) : this.level().spigotConfig.itemDespawnRate; // Paper
+ // Purpur start + // Purpur start
@@ -117,7 +117,7 @@ index 5e83fabb20bc2b0668cbf48530053ca1bb9092f3..8fcee0e426cd598ddfd7e12df4382d57
+ // 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 abecd27fab86cb5c16b3d42d5f499caa1976bd45..9639202024f79c8ed57207445380ef017cfeaea6 100644 index b34f95b6104b1aebd8c07cf279e168cdb074efb9..fb6d7e6917e0b8648b5192d83f7aa6a3e3742eae 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
@@ -125,6 +125,49 @@ public class PurpurWorldConfig { @@ -125,6 +125,49 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add ping command
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 147fcbdd784f06fe23138b20aef82f92ba154998..aadc9fc53b0f495664d90c40f30f9a128c3b4c95 100644 index a5829f0726fd92faae04f978c82b2f0736bcd50b..32fbe67a2dceda1a165edc7397a64beffc537488 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
@@ -224,6 +224,7 @@ public class Commands { @@ -230,6 +230,7 @@ public class Commands {
SetPlayerIdleTimeoutCommand.register(this.dispatcher); SetPlayerIdleTimeoutCommand.register(this.dispatcher);
StopCommand.register(this.dispatcher); StopCommand.register(this.dispatcher);
WhitelistCommand.register(this.dispatcher); WhitelistCommand.register(this.dispatcher);
@@ -17,7 +17,7 @@ index 147fcbdd784f06fe23138b20aef82f92ba154998..aadc9fc53b0f495664d90c40f30f9a12
if (environment.includeIntegrated) { if (environment.includeIntegrated) {
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 4905358e2a1939bfba963bda3fcf914721dfac45..a74932163207506e779c941c819eb663b98bd18c 100644 index e2edbb0842862b8ffdf30cec104a1d71a71e92e0..35400f352d44be9a32eb69eb87a3ffdeef9a20b3 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
@@ -179,6 +179,7 @@ public class PurpurConfig { @@ -179,6 +179,7 @@ public class PurpurConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add demo command
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 aadc9fc53b0f495664d90c40f30f9a128c3b4c95..54f9dd8d666b2b45190681f4362fce457e8e8ef2 100644 index 32fbe67a2dceda1a165edc7397a64beffc537488..4794bb7f80d3419c6da12ee0f608ba05080a409a 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
@@ -224,6 +224,7 @@ public class Commands { @@ -230,6 +230,7 @@ public class Commands {
SetPlayerIdleTimeoutCommand.register(this.dispatcher); SetPlayerIdleTimeoutCommand.register(this.dispatcher);
StopCommand.register(this.dispatcher); StopCommand.register(this.dispatcher);
WhitelistCommand.register(this.dispatcher); WhitelistCommand.register(this.dispatcher);
@@ -17,7 +17,7 @@ index aadc9fc53b0f495664d90c40f30f9a128c3b4c95..54f9dd8d666b2b45190681f4362fce45
} }
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 a74932163207506e779c941c819eb663b98bd18c..235db276a07017bf89e6311a0b84291e8a0af06b 100644 index 35400f352d44be9a32eb69eb87a3ffdeef9a20b3..00fb3507118960046a61d8a21f9654f279d53874 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
@@ -179,6 +179,7 @@ public class PurpurConfig { @@ -179,6 +179,7 @@ public class PurpurConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add credits command
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 54f9dd8d666b2b45190681f4362fce457e8e8ef2..e5b1b6ad32c48a4ba13b4930954fad18669677ad 100644 index 4794bb7f80d3419c6da12ee0f608ba05080a409a..637648e03985868c1fe420f84fa778b06deb23ee 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
@@ -224,6 +224,7 @@ public class Commands { @@ -230,6 +230,7 @@ public class Commands {
SetPlayerIdleTimeoutCommand.register(this.dispatcher); SetPlayerIdleTimeoutCommand.register(this.dispatcher);
StopCommand.register(this.dispatcher); StopCommand.register(this.dispatcher);
WhitelistCommand.register(this.dispatcher); WhitelistCommand.register(this.dispatcher);
@@ -17,7 +17,7 @@ index 54f9dd8d666b2b45190681f4362fce457e8e8ef2..e5b1b6ad32c48a4ba13b4930954fad18
org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur org.purpurmc.purpur.command.PingCommand.register(this.dispatcher); // Purpur
} }
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 235db276a07017bf89e6311a0b84291e8a0af06b..8e99128759e555cdef0efe9cea1b3b36f2c3fda9 100644 index 00fb3507118960046a61d8a21f9654f279d53874..d98e16bc47d3bc458281956bf538f4a37bd0f4b7 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
@@ -179,6 +179,7 @@ public class PurpurConfig { @@ -179,6 +179,7 @@ public class PurpurConfig {

View File

@@ -31,10 +31,10 @@ index 3cde608a222ab2ef2b5fc7f543e97ba71e440ea9..6ec7d0f5e525f9e04b6fa0fb6d4da5fc
protected void addBehaviourGoals() { protected void addBehaviourGoals() {
this.goalSelector.addGoal(1, new Drowned.DrownedGoToWaterGoal(this, 1.0D)); this.goalSelector.addGoal(1, new Drowned.DrownedGoToWaterGoal(this, 1.0D));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Husk.java b/src/main/java/net/minecraft/world/entity/monster/Husk.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Husk.java b/src/main/java/net/minecraft/world/entity/monster/Husk.java
index 5f801b2a7d8a69a38b8e10471a29f813c8d828ad..7e46ebc5c99f018cada50f491200e4fe7b7098d7 100644 index 469ad6f0d73add7b005217b2ae39b201c7679a27..ede13fe38fb97b94180ea8557d8a45d2ae5954d3 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Husk.java --- a/src/main/java/net/minecraft/world/entity/monster/Husk.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Husk.java +++ b/src/main/java/net/minecraft/world/entity/monster/Husk.java
@@ -49,6 +49,21 @@ public class Husk extends Zombie { @@ -51,6 +51,21 @@ public class Husk extends Zombie {
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.SPAWN_REINFORCEMENTS_CHANCE).setBaseValue(this.random.nextDouble() * this.level().purpurConfig.huskSpawnReinforcements); this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.SPAWN_REINFORCEMENTS_CHANCE).setBaseValue(this.random.nextDouble() * this.level().purpurConfig.huskSpawnReinforcements);
} }
@@ -57,10 +57,10 @@ index 5f801b2a7d8a69a38b8e10471a29f813c8d828ad..7e46ebc5c99f018cada50f491200e4fe
return checkMonsterSpawnRules(type, world, spawnReason, pos, random) && (spawnReason == MobSpawnType.SPAWNER || world.canSeeSky(pos)); return checkMonsterSpawnRules(type, world, spawnReason, pos, random) && (spawnReason == MobSpawnType.SPAWNER || world.canSeeSky(pos));
} }
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index b3a31549179760388bc2958b4339848d1f0b293d..b2b04d7b7bbc400fb66cac385fa754d4fb47c7d9 100644 index 004de1b76734d9015537fa4885656101d2f07efa..1efcafd736c1dbd057d5bfe7abbfcb1fb2d6f7b3 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -128,6 +128,18 @@ public class Zombie extends Monster { @@ -129,6 +129,18 @@ public class Zombie extends Monster {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.zombieMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.zombieMaxHealth);
} }
@@ -79,7 +79,7 @@ index b3a31549179760388bc2958b4339848d1f0b293d..b2b04d7b7bbc400fb66cac385fa754d4
@Override @Override
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
@@ -551,19 +563,20 @@ public class Zombie extends Monster { @@ -552,19 +564,20 @@ public class Zombie extends Monster {
if (object instanceof Zombie.ZombieGroupData) { if (object instanceof Zombie.ZombieGroupData) {
Zombie.ZombieGroupData entityzombie_groupdatazombie = (Zombie.ZombieGroupData) object; Zombie.ZombieGroupData entityzombie_groupdatazombie = (Zombie.ZombieGroupData) object;
@@ -106,7 +106,7 @@ index b3a31549179760388bc2958b4339848d1f0b293d..b2b04d7b7bbc400fb66cac385fa754d4
Chicken entitychicken1 = (Chicken) EntityType.CHICKEN.create(this.level()); Chicken entitychicken1 = (Chicken) EntityType.CHICKEN.create(this.level());
if (entitychicken1 != null) { if (entitychicken1 != null) {
@@ -573,6 +586,7 @@ public class Zombie extends Monster { @@ -574,6 +587,7 @@ public class Zombie extends Monster {
this.startRiding(entitychicken1); this.startRiding(entitychicken1);
world.addFreshEntity(entitychicken1, CreatureSpawnEvent.SpawnReason.MOUNT); // CraftBukkit world.addFreshEntity(entitychicken1, CreatureSpawnEvent.SpawnReason.MOUNT); // CraftBukkit
} }
@@ -115,10 +115,10 @@ index b3a31549179760388bc2958b4339848d1f0b293d..b2b04d7b7bbc400fb66cac385fa754d4
} }
} }
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
index c89680f83275169728f923e70a17cb88d4480f01..6f3667751e430ff6020a9a26f82a25e4ec043ce6 100644 index a205c668d0d7b428622fbcaa1598f01c685b516e..01f6b7eb50870f9bcac9bbd3b6a87382d6aa1f1b 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java --- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java
@@ -106,6 +106,21 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { @@ -109,6 +109,21 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder {
this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.SPAWN_REINFORCEMENTS_CHANCE).setBaseValue(this.random.nextDouble() * this.level().purpurConfig.zombieVillagerSpawnReinforcements); this.getAttribute(net.minecraft.world.entity.ai.attributes.Attributes.SPAWN_REINFORCEMENTS_CHANCE).setBaseValue(this.random.nextDouble() * this.level().purpurConfig.zombieVillagerSpawnReinforcements);
} }
@@ -141,10 +141,10 @@ index c89680f83275169728f923e70a17cb88d4480f01..6f3667751e430ff6020a9a26f82a25e4
protected void defineSynchedData() { protected void defineSynchedData() {
super.defineSynchedData(); super.defineSynchedData();
diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
index 8f22bfcde4bb8ad73794f2b98b156113e5a2a6c9..3d61b27c23d90e87fdfc8c170eafc116716ac047 100644 index fa5fa58ee03243054a38475634a6aa67815ca77d..764477c39e690d6373e17c77687809418e0de884 100644
--- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java --- a/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
+++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombifiedPiglin.java
@@ -85,6 +85,21 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob { @@ -86,6 +86,21 @@ public class ZombifiedPiglin extends Zombie implements NeutralMob {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.zombifiedPiglinMaxHealth); this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level().purpurConfig.zombifiedPiglinMaxHealth);
} }
@@ -167,10 +167,10 @@ index 8f22bfcde4bb8ad73794f2b98b156113e5a2a6c9..3d61b27c23d90e87fdfc8c170eafc116
public void setPersistentAngerTarget(@Nullable UUID angryAt) { public void setPersistentAngerTarget(@Nullable UUID angryAt) {
this.persistentAngerTarget = angryAt; this.persistentAngerTarget = angryAt;
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 9639202024f79c8ed57207445380ef017cfeaea6..c74027c71eecf76512d5737b496d98a6cffb5eab 100644 index fb6d7e6917e0b8648b5192d83f7aa6a3e3742eae..6da08454de6f0932971a230471d3558578a4b2a3 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
@@ -592,6 +592,9 @@ public class PurpurWorldConfig { @@ -588,6 +588,9 @@ public class PurpurWorldConfig {
public boolean drownedControllable = true; public boolean drownedControllable = true;
public double drownedMaxHealth = 20.0D; public double drownedMaxHealth = 20.0D;
public double drownedSpawnReinforcements = 0.1D; public double drownedSpawnReinforcements = 0.1D;
@@ -180,7 +180,7 @@ index 9639202024f79c8ed57207445380ef017cfeaea6..c74027c71eecf76512d5737b496d98a6
private void drownedSettings() { private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -603,6 +606,9 @@ public class PurpurWorldConfig { @@ -599,6 +602,9 @@ public class PurpurWorldConfig {
} }
drownedMaxHealth = getDouble("mobs.drowned.attributes.max_health", drownedMaxHealth); drownedMaxHealth = getDouble("mobs.drowned.attributes.max_health", drownedMaxHealth);
drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements); drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements);
@@ -190,7 +190,7 @@ index 9639202024f79c8ed57207445380ef017cfeaea6..c74027c71eecf76512d5737b496d98a6
} }
public boolean elderGuardianRidable = false; public boolean elderGuardianRidable = false;
@@ -851,6 +857,9 @@ public class PurpurWorldConfig { @@ -847,6 +853,9 @@ public class PurpurWorldConfig {
public boolean huskControllable = true; public boolean huskControllable = true;
public double huskMaxHealth = 20.0D; public double huskMaxHealth = 20.0D;
public double huskSpawnReinforcements = 0.1D; public double huskSpawnReinforcements = 0.1D;
@@ -200,7 +200,7 @@ index 9639202024f79c8ed57207445380ef017cfeaea6..c74027c71eecf76512d5737b496d98a6
private void huskSettings() { private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -862,6 +871,9 @@ public class PurpurWorldConfig { @@ -858,6 +867,9 @@ public class PurpurWorldConfig {
} }
huskMaxHealth = getDouble("mobs.husk.attributes.max_health", huskMaxHealth); huskMaxHealth = getDouble("mobs.husk.attributes.max_health", huskMaxHealth);
huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements); huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements);
@@ -210,7 +210,7 @@ index 9639202024f79c8ed57207445380ef017cfeaea6..c74027c71eecf76512d5737b496d98a6
} }
public boolean illusionerRidable = false; public boolean illusionerRidable = false;
@@ -1678,6 +1690,9 @@ public class PurpurWorldConfig { @@ -1674,6 +1686,9 @@ public class PurpurWorldConfig {
public boolean zombieControllable = true; public boolean zombieControllable = true;
public double zombieMaxHealth = 20.0D; public double zombieMaxHealth = 20.0D;
public double zombieSpawnReinforcements = 0.1D; public double zombieSpawnReinforcements = 0.1D;
@@ -220,7 +220,7 @@ index 9639202024f79c8ed57207445380ef017cfeaea6..c74027c71eecf76512d5737b496d98a6
private void zombieSettings() { private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1689,6 +1704,9 @@ public class PurpurWorldConfig { @@ -1685,6 +1700,9 @@ public class PurpurWorldConfig {
} }
zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth); zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth);
zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements); zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements);
@@ -230,7 +230,7 @@ index 9639202024f79c8ed57207445380ef017cfeaea6..c74027c71eecf76512d5737b496d98a6
} }
public boolean zombieHorseRidableInWater = false; public boolean zombieHorseRidableInWater = false;
@@ -1723,6 +1741,9 @@ public class PurpurWorldConfig { @@ -1719,6 +1737,9 @@ public class PurpurWorldConfig {
public boolean zombieVillagerControllable = true; public boolean zombieVillagerControllable = true;
public double zombieVillagerMaxHealth = 20.0D; public double zombieVillagerMaxHealth = 20.0D;
public double zombieVillagerSpawnReinforcements = 0.1D; public double zombieVillagerSpawnReinforcements = 0.1D;
@@ -240,7 +240,7 @@ index 9639202024f79c8ed57207445380ef017cfeaea6..c74027c71eecf76512d5737b496d98a6
private void zombieVillagerSettings() { private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -1734,6 +1755,9 @@ public class PurpurWorldConfig { @@ -1730,6 +1751,9 @@ public class PurpurWorldConfig {
} }
zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth); zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth);
zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements); zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements);
@@ -250,7 +250,7 @@ index 9639202024f79c8ed57207445380ef017cfeaea6..c74027c71eecf76512d5737b496d98a6
} }
public boolean zombifiedPiglinRidable = false; public boolean zombifiedPiglinRidable = false;
@@ -1741,6 +1765,9 @@ public class PurpurWorldConfig { @@ -1737,6 +1761,9 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinControllable = true; public boolean zombifiedPiglinControllable = true;
public double zombifiedPiglinMaxHealth = 20.0D; public double zombifiedPiglinMaxHealth = 20.0D;
public double zombifiedPiglinSpawnReinforcements = 0.0D; public double zombifiedPiglinSpawnReinforcements = 0.0D;
@@ -260,7 +260,7 @@ index 9639202024f79c8ed57207445380ef017cfeaea6..c74027c71eecf76512d5737b496d98a6
private void zombifiedPiglinSettings() { private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1752,5 +1779,8 @@ public class PurpurWorldConfig { @@ -1748,5 +1775,8 @@ public class PurpurWorldConfig {
} }
zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth); zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth);
zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements); zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements);

View File

@@ -73,10 +73,10 @@ index ffc5b68c4246a7111845230a75552bb15875a209..ef0098e46bda8abc456f2bb5929d874c
@Override @Override
protected void addAdditionalSaveData(CompoundTag nbt) { protected void addAdditionalSaveData(CompoundTag nbt) {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 961300cb8bcc7b0aff476a435aa33e713bd520a6..86df67578334a4743909c748213c2e1ed5d19bd9 100644 index 8446ce22139fa2473c789cab67f4031a23f0d31d..ef41a462b102981d30207299d0279fd51b433a22 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -49,6 +49,7 @@ public class Phantom extends FlyingMob implements Enemy { @@ -50,6 +50,7 @@ public class Phantom extends FlyingMob implements Enemy {
Vec3 moveTargetPoint; Vec3 moveTargetPoint;
public BlockPos anchorPoint; public BlockPos anchorPoint;
Phantom.AttackPhase attackPhase; Phantom.AttackPhase attackPhase;
@@ -84,7 +84,7 @@ index 961300cb8bcc7b0aff476a435aa33e713bd520a6..86df67578334a4743909c748213c2e1e
public Phantom(EntityType<? extends Phantom> type, Level world) { public Phantom(EntityType<? extends Phantom> type, Level world) {
super(type, world); super(type, world);
@@ -116,6 +117,23 @@ public class Phantom extends FlyingMob implements Enemy { @@ -117,6 +118,23 @@ public class Phantom extends FlyingMob implements Enemy {
level().addFreshEntity(flames); level().addFreshEntity(flames);
return true; return true;
} }
@@ -108,7 +108,7 @@ index 961300cb8bcc7b0aff476a435aa33e713bd520a6..86df67578334a4743909c748213c2e1e
// Purpur end // Purpur end
@Override @Override
@@ -130,11 +148,17 @@ public class Phantom extends FlyingMob implements Enemy { @@ -131,11 +149,17 @@ public class Phantom extends FlyingMob implements Enemy {
@Override @Override
protected void registerGoals() { protected void registerGoals() {
@@ -131,7 +131,7 @@ index 961300cb8bcc7b0aff476a435aa33e713bd520a6..86df67578334a4743909c748213c2e1e
this.targetSelector.addGoal(1, new Phantom.PhantomAttackPlayerTargetGoal()); this.targetSelector.addGoal(1, new Phantom.PhantomAttackPlayerTargetGoal());
} }
@@ -348,6 +372,124 @@ public class Phantom extends FlyingMob implements Enemy { @@ -353,6 +377,124 @@ public class Phantom extends FlyingMob implements Enemy {
private AttackPhase() {} private AttackPhase() {}
} }
@@ -257,10 +257,10 @@ index 961300cb8bcc7b0aff476a435aa33e713bd520a6..86df67578334a4743909c748213c2e1e
private float speed = 0.1F; private float speed = 0.1F;
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 c74027c71eecf76512d5737b496d98a6cffb5eab..49af5d8feae2b267a12273a91ee637c7a6e7021e 100644 index 6da08454de6f0932971a230471d3558578a4b2a3..fdb2d2f67d6356c010e430fc4aee5593811cbf17 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
@@ -1069,6 +1069,9 @@ public class PurpurWorldConfig { @@ -1065,6 +1065,9 @@ public class PurpurWorldConfig {
public String phantomAttackDamage = "6 + size"; public String phantomAttackDamage = "6 + size";
public Map<Integer, Double> phantomMaxHealthCache = new HashMap<>(); public Map<Integer, Double> phantomMaxHealthCache = new HashMap<>();
public Map<Integer, Double> phantomAttackDamageCache = new HashMap<>(); public Map<Integer, Double> phantomAttackDamageCache = new HashMap<>();
@@ -270,7 +270,7 @@ index c74027c71eecf76512d5737b496d98a6cffb5eab..49af5d8feae2b267a12273a91ee637c7
private void phantomSettings() { private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1090,6 +1093,9 @@ public class PurpurWorldConfig { @@ -1086,6 +1089,9 @@ public class PurpurWorldConfig {
phantomAttackDamage = getString("mobs.phantom.attributes.attack_damage", phantomAttackDamage); phantomAttackDamage = getString("mobs.phantom.attributes.attack_damage", phantomAttackDamage);
phantomMaxHealthCache.clear(); phantomMaxHealthCache.clear();
phantomAttackDamageCache.clear(); phantomAttackDamageCache.clear();

View File

@@ -40,10 +40,10 @@ index dfeb3e336e06ef01f5401a362755030db942bb07..f74c5eda91a3d521763ec7bc33f23e0c
for (int l = 0; l < k; ++l) { for (int l = 0; l < k; ++l) {
// Paper start // Paper 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 49af5d8feae2b267a12273a91ee637c7a6e7021e..fb1e819bf55623408a134bf334099c425609765d 100644 index fdb2d2f67d6356c010e430fc4aee5593811cbf17..efd10d6f2b3d342e2cb817b1e7fa7f5f86075b8c 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
@@ -1072,6 +1072,12 @@ public class PurpurWorldConfig { @@ -1068,6 +1068,12 @@ public class PurpurWorldConfig {
public double phantomAttackedByCrystalRadius = 0.0D; public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F; public float phantomAttackedByCrystalDamage = 1.0F;
public double phantomOrbitCrystalRadius = 0.0D; public double phantomOrbitCrystalRadius = 0.0D;
@@ -56,7 +56,7 @@ index 49af5d8feae2b267a12273a91ee637c7a6e7021e..fb1e819bf55623408a134bf334099c42
private void phantomSettings() { private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1096,6 +1102,12 @@ public class PurpurWorldConfig { @@ -1092,6 +1098,12 @@ public class PurpurWorldConfig {
phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius); phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius);
phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage); phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius); phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius);

View File

@@ -27,10 +27,10 @@ index d40500f9a807cab0b2fb6fa9032f33f4fb74c895..e8405a57fb88e63b63baaf00645c4176
} }
} }
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 fb1e819bf55623408a134bf334099c425609765d..ab4f4de26a6752b54f35b1aeec657c1d2be3ecdb 100644 index efd10d6f2b3d342e2cb817b1e7fa7f5f86075b8c..461627c87d514b8a936ad5675abb849aa49c569d 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
@@ -288,6 +288,27 @@ public class PurpurWorldConfig { @@ -284,6 +284,27 @@ public class PurpurWorldConfig {
}); });
} }

View File

@@ -18,10 +18,10 @@ index 2ed78cf83c0ae66a6ddba1ff307da89a24b0d0a8..ae17d6a54fad0bd2d71d306f418b5ced
public static boolean canSetSpawn(Level world) { public static boolean canSetSpawn(Level world) {
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 ab4f4de26a6752b54f35b1aeec657c1d2be3ecdb..dc7666906fb04bf8f1df54ac81e04d8ad76a893b 100644 index 461627c87d514b8a936ad5675abb849aa49c569d..3bfdc7ba270762ec114450d30e94457405d8bc19 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
@@ -328,6 +328,27 @@ public class PurpurWorldConfig { @@ -324,6 +324,27 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
} }

View File

@@ -5,19 +5,19 @@ Subject: [PATCH] Add allow water in end world option
diff --git a/src/main/java/net/minecraft/world/item/BucketItem.java b/src/main/java/net/minecraft/world/item/BucketItem.java diff --git a/src/main/java/net/minecraft/world/item/BucketItem.java b/src/main/java/net/minecraft/world/item/BucketItem.java
index 578c3db52dda4c169b5ea615a4ce4a79f15a4cad..0bd98b802f246a3f6061f716d470a4797b28d59d 100644 index 277555a26e8281dd1a626e572794b08cf51d00c5..48e4fecf5ae5538004e3f53093b8be7c4be1cbee 100644
--- a/src/main/java/net/minecraft/world/item/BucketItem.java --- a/src/main/java/net/minecraft/world/item/BucketItem.java
+++ b/src/main/java/net/minecraft/world/item/BucketItem.java +++ b/src/main/java/net/minecraft/world/item/BucketItem.java
@@ -164,7 +164,7 @@ public class BucketItem extends Item implements DispensibleContainerItem { @@ -195,7 +195,7 @@ public class BucketItem extends Item implements DispensibleContainerItem {
// CraftBukkit end // CraftBukkit end
if (!flag1) { if (!flag2) {
return movingobjectpositionblock != null && this.emptyContents(entityhuman, world, movingobjectpositionblock.getBlockPos().relative(movingobjectpositionblock.getDirection()), (BlockHitResult) null, enumdirection, clicked, itemstack, enumhand); // CraftBukkit return movingobjectpositionblock != null && this.emptyContents(entityhuman, world, movingobjectpositionblock.getBlockPos().relative(movingobjectpositionblock.getDirection()), (BlockHitResult) null, enumdirection, clicked, itemstack, enumhand); // CraftBukkit
- } else if (world.dimensionType().ultraWarm() && this.content.is(FluidTags.WATER)) { - } else if (world.dimensionType().ultraWarm() && this.content.is(FluidTags.WATER)) {
+ } else if ((world.dimensionType().ultraWarm() || (world.isTheEnd() && !org.purpurmc.purpur.PurpurConfig.allowWaterPlacementInTheEnd)) && this.content.is(FluidTags.WATER)) { // Purpur + } else if ((world.dimensionType().ultraWarm() || (world.isTheEnd() && !org.purpurmc.purpur.PurpurConfig.allowWaterPlacementInTheEnd)) && this.content.is(FluidTags.WATER)) { // Purpur
int i = blockposition.getX(); int i = blockposition.getX();
int j = blockposition.getY(); int j = blockposition.getY();
int k = blockposition.getZ(); int k = blockposition.getZ();
@@ -172,7 +172,7 @@ public class BucketItem extends Item implements DispensibleContainerItem { @@ -203,7 +203,7 @@ public class BucketItem extends Item implements DispensibleContainerItem {
world.playSound(entityhuman, blockposition, SoundEvents.FIRE_EXTINGUISH, SoundSource.BLOCKS, 0.5F, 2.6F + (world.random.nextFloat() - world.random.nextFloat()) * 0.8F); world.playSound(entityhuman, blockposition, SoundEvents.FIRE_EXTINGUISH, SoundSource.BLOCKS, 0.5F, 2.6F + (world.random.nextFloat() - world.random.nextFloat()) * 0.8F);
for (int l = 0; l < 8; ++l) { for (int l = 0; l < 8; ++l) {
@@ -27,13 +27,13 @@ index 578c3db52dda4c169b5ea615a4ce4a79f15a4cad..0bd98b802f246a3f6061f716d470a479
return true; return true;
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index f8615d9714ac6a9c83d881d6d89b1182a0f0d835..155f43ebf708031d5f3148282d30dca27192e926 100644 index 5101c5d3b2dc4b9ae72d2c9bc8bbe83ad6836515..1f23c66694d601d0cb52fb637407ada5f9975420 100644
--- a/src/main/java/net/minecraft/world/level/Level.java --- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -1586,4 +1586,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -1877,4 +1877,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
} }
} }
// Paper end // Paper end - notify observers even if grow failed
+ +
+ // Purpur start + // Purpur start
+ public boolean isNether() { + public boolean isNether() {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Allow color codes in books
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 317342df5d3afe65e09853fd9ffe4aca127152d2..970c711a6631cf3e16ca09704452b32b68672ce9 100644 index 4d81437253e5a66fb46cad979edfcf987f455477..68ed6821876e0ee310854b7f6436dd341712a92c 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
@@ -1359,13 +1359,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -1227,13 +1227,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
itemstack1.setTag(nbttagcompound.copy()); itemstack1.setTag(nbttagcompound.copy());
} }
@@ -28,7 +28,7 @@ index 317342df5d3afe65e09853fd9ffe4aca127152d2..970c711a6631cf3e16ca09704452b32b
this.updateBookPages(pages, (s) -> { this.updateBookPages(pages, (s) -> {
return Component.Serializer.toJson(Component.literal(s)); return Component.Serializer.toJson(Component.literal(s));
@@ -1377,10 +1380,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -1245,10 +1248,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
private void updateBookPages(List<FilteredText> list, UnaryOperator<String> unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit private void updateBookPages(List<FilteredText> list, UnaryOperator<String> unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit
ListTag nbttaglist = new ListTag(); ListTag nbttaglist = new ListTag();
@@ -44,7 +44,7 @@ index 317342df5d3afe65e09853fd9ffe4aca127152d2..970c711a6631cf3e16ca09704452b32b
Objects.requireNonNull(nbttaglist); Objects.requireNonNull(nbttaglist);
stream.forEach(nbttaglist::add); stream.forEach(nbttaglist::add);
@@ -1390,11 +1396,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -1258,11 +1264,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
for (int j = list.size(); i < j; ++i) { for (int j = list.size(); i < j; ++i) {
FilteredText filteredtext = (FilteredText) list.get(i); FilteredText filteredtext = (FilteredText) list.get(i);
@@ -58,7 +58,7 @@ index 317342df5d3afe65e09853fd9ffe4aca127152d2..970c711a6631cf3e16ca09704452b32b
} }
} }
@@ -1407,6 +1413,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -1275,6 +1281,16 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
this.player.getInventory().setItem(slot, CraftEventFactory.handleEditBookEvent(player, slot, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent) this.player.getInventory().setItem(slot, CraftEventFactory.handleEditBookEvent(player, slot, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent)
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Entity lifespan
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 2387d9d9373120794721cc65401d2635e84bab93..16aefb8b214a61f7b6f32d78f9e05870b8e2699f 100644 index 68ed6821876e0ee310854b7f6436dd341712a92c..2976ddef7292f3cdf14353d20b1e4e2085dbb1a8 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
@@ -2901,6 +2901,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -2738,6 +2738,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
AABB axisalignedbb = entity.getBoundingBox(); AABB axisalignedbb = entity.getBoundingBox();
if (axisalignedbb.distanceToSqr(this.player.getEyePosition()) < ServerGamePacketListenerImpl.MAX_INTERACTION_DISTANCE) { if (axisalignedbb.distanceToSqr(this.player.getEyePosition()) < ServerGamePacketListenerImpl.MAX_INTERACTION_DISTANCE) {
@@ -17,10 +17,10 @@ index 2387d9d9373120794721cc65401d2635e84bab93..16aefb8b214a61f7b6f32d78f9e05870
private void performInteraction(InteractionHand enumhand, ServerGamePacketListenerImpl.EntityInteraction playerconnection_a, PlayerInteractEntityEvent event) { // CraftBukkit private void performInteraction(InteractionHand enumhand, ServerGamePacketListenerImpl.EntityInteraction playerconnection_a, PlayerInteractEntityEvent event) { // CraftBukkit
ItemStack itemstack = ServerGamePacketListenerImpl.this.player.getItemInHand(enumhand); ItemStack itemstack = ServerGamePacketListenerImpl.this.player.getItemInHand(enumhand);
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 2023ae88e6cb0565f8fe7b525dfe84279bf90dd6..049a6b2186ff31ac9a815ac501b75488e2e19266 100644 index 1c457561399b4a531ca7cb616a4bde69b30a4bc6..574ef1a38fa65b2eb92c9168de27279efd4dd81c 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java --- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -133,6 +133,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -135,6 +135,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
private BlockPos restrictCenter; private BlockPos restrictCenter;
private float restrictRadius; private float restrictRadius;
@@ -28,7 +28,7 @@ index 2023ae88e6cb0565f8fe7b525dfe84279bf90dd6..049a6b2186ff31ac9a815ac501b75488
public boolean aware = true; // CraftBukkit public boolean aware = true; // CraftBukkit
protected Mob(EntityType<? extends Mob> type, Level world) { protected Mob(EntityType<? extends Mob> type, Level world) {
@@ -323,6 +324,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -322,6 +323,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
entityliving = null; entityliving = null;
} }
} }
@@ -36,7 +36,7 @@ index 2023ae88e6cb0565f8fe7b525dfe84279bf90dd6..049a6b2186ff31ac9a815ac501b75488
this.target = entityliving; this.target = entityliving;
return true; return true;
// CraftBukkit end // CraftBukkit end
@@ -370,8 +372,28 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -369,8 +371,28 @@ public abstract class Mob extends LivingEntity implements Targeting {
} }
this.level().getProfiler().pop(); this.level().getProfiler().pop();
@@ -65,7 +65,7 @@ index 2023ae88e6cb0565f8fe7b525dfe84279bf90dd6..049a6b2186ff31ac9a815ac501b75488
@Override @Override
protected void playHurtSound(DamageSource source) { protected void playHurtSound(DamageSource source) {
this.resetAmbientSoundTime(); this.resetAmbientSoundTime();
@@ -561,6 +583,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -560,6 +582,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
} }
nbt.putBoolean("Bukkit.Aware", this.aware); // CraftBukkit nbt.putBoolean("Bukkit.Aware", this.aware); // CraftBukkit
@@ -73,7 +73,7 @@ index 2023ae88e6cb0565f8fe7b525dfe84279bf90dd6..049a6b2186ff31ac9a815ac501b75488
} }
@Override @Override
@@ -631,6 +654,11 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -630,6 +653,11 @@ public abstract class Mob extends LivingEntity implements Targeting {
this.aware = nbt.getBoolean("Bukkit.Aware"); this.aware = nbt.getBoolean("Bukkit.Aware");
} }
// CraftBukkit end // CraftBukkit end
@@ -85,7 +85,7 @@ index 2023ae88e6cb0565f8fe7b525dfe84279bf90dd6..049a6b2186ff31ac9a815ac501b75488
} }
@Override @Override
@@ -1701,6 +1729,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -1704,6 +1732,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
this.setLastHurtMob(target); this.setLastHurtMob(target);
} }
@@ -94,7 +94,7 @@ index 2023ae88e6cb0565f8fe7b525dfe84279bf90dd6..049a6b2186ff31ac9a815ac501b75488
} }
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 dc7666906fb04bf8f1df54ac81e04d8ad76a893b..d315a4aac382462b1bd0d44b6b5a88552f663d36 100644 index 3bfdc7ba270762ec114450d30e94457405d8bc19..5afe1d5977f1bbc2b2c2aa5982c4eb23d82e7644 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
@@ -125,6 +125,11 @@ public class PurpurWorldConfig { @@ -125,6 +125,11 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border
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 03b19d56e4f75d71f592f400f59c9becd39c4d4f..459f8bcf13ed759c40eff1ade5d9011ede8547c3 100644 index 35cb194e15aacdd8022f5d29104e0cfaba9d49e3..7879d0e0b55977a372189649cfd3ac25afdaec50 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
@@ -2764,4 +2764,26 @@ public class ServerPlayer extends Player { @@ -2737,4 +2737,26 @@ public class ServerPlayer extends Player {
return (CraftPlayer) super.getBukkitEntity(); return (CraftPlayer) super.getBukkitEntity();
} }
// CraftBukkit end // CraftBukkit end
@@ -36,10 +36,10 @@ index 03b19d56e4f75d71f592f400f59c9becd39c4d4f..459f8bcf13ed759c40eff1ade5d9011e
+ // Purpur end + // Purpur end
} }
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 35e3cac34a6a508fbf3971cff9ac07db48ddeaae..8c0ef795691aa17e9522b2deda794bcdf38c64b6 100644 index 1c43db48baf33b96be7dd027f3cbaedf205b5101..de20531092b5a053e36ce9469ba5db40b1cf9381 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
@@ -427,6 +427,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -428,6 +428,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
double d1 = this.level().getWorldBorder().getDamagePerBlock(); double d1 = this.level().getWorldBorder().getDamagePerBlock();
if (d1 > 0.0D) { if (d1 > 0.0D) {
@@ -48,19 +48,19 @@ index 35e3cac34a6a508fbf3971cff9ac07db48ddeaae..8c0ef795691aa17e9522b2deda794bcd
} }
} }
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 d315a4aac382462b1bd0d44b6b5a88552f663d36..8fdbaa0cd95186b3b48aac1eb953e268554726e4 100644 index 5afe1d5977f1bbc2b2c2aa5982c4eb23d82e7644..8cc7e83e6272ed9c3f005c76aa3432fb2d3c76a6 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
@@ -244,6 +244,7 @@ public class PurpurWorldConfig { @@ -242,6 +242,7 @@ public class PurpurWorldConfig {
public boolean playerInvulnerableWhileAcceptingResourcePack = false; public boolean idleTimeoutTargetPlayer = true;
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;
private void playerSettings() { private void playerSettings() {
if (PurpurConfig.version < 19) { if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -259,6 +260,7 @@ public class PurpurWorldConfig { @@ -255,6 +256,7 @@ public class PurpurWorldConfig {
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer);
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] Squid EAR immunity
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 8fdbaa0cd95186b3b48aac1eb953e268554726e4..adfb558d98990739b24e10c7bf941287d30737a0 100644 index 8cc7e83e6272ed9c3f005c76aa3432fb2d3c76a6..b9ba53461de687070dda3c0bcccbee240017033a 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
@@ -1457,6 +1457,7 @@ public class PurpurWorldConfig { @@ -1453,6 +1453,7 @@ public class PurpurWorldConfig {
public boolean squidRidable = false; public boolean squidRidable = false;
public boolean squidControllable = true; public boolean squidControllable = true;
public double squidMaxHealth = 10.0D; public double squidMaxHealth = 10.0D;
@@ -16,7 +16,7 @@ index 8fdbaa0cd95186b3b48aac1eb953e268554726e4..adfb558d98990739b24e10c7bf941287
private void squidSettings() { private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1466,6 +1467,7 @@ public class PurpurWorldConfig { @@ -1462,6 +1463,7 @@ public class PurpurWorldConfig {
set("mobs.squid.attributes.max_health", oldValue); set("mobs.squid.attributes.max_health", oldValue);
} }
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
@@ -25,7 +25,7 @@ index 8fdbaa0cd95186b3b48aac1eb953e268554726e4..adfb558d98990739b24e10c7bf941287
public boolean spiderRidable = false; public boolean spiderRidable = false;
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index 12adaba78ec30e463963f99c0d78e844756143a1..79d027e517ce08443d86b877a55df24cc20d102b 100644 index 882541c570fa9d2bf0e03df30e112c84fa075c35..bc98504b9eacd41994c234e6385f37c5d681383b 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java --- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -15,6 +15,7 @@ import net.minecraft.world.entity.ambient.AmbientCreature; @@ -15,6 +15,7 @@ import net.minecraft.world.entity.ambient.AmbientCreature;
@@ -36,7 +36,7 @@ index 12adaba78ec30e463963f99c0d78e844756143a1..79d027e517ce08443d86b877a55df24c
import net.minecraft.world.entity.animal.WaterAnimal; import net.minecraft.world.entity.animal.WaterAnimal;
import net.minecraft.world.entity.animal.horse.Llama; import net.minecraft.world.entity.animal.horse.Llama;
import net.minecraft.world.entity.boss.EnderDragonPart; import net.minecraft.world.entity.boss.EnderDragonPart;
@@ -397,6 +398,7 @@ public class ActivationRange @@ -379,6 +380,7 @@ public class ActivationRange
*/ */
public static boolean checkIfActive(Entity entity) public static boolean checkIfActive(Entity entity)
{ {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Phantoms burn in light
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index 86df67578334a4743909c748213c2e1ed5d19bd9..899a7d3989b51456600787ae09b1736f83bf9a65 100644 index ef41a462b102981d30207299d0279fd51b433a22..6849b2ad3b2db840a1af35ef069490506449c861 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -49,6 +49,7 @@ public class Phantom extends FlyingMob implements Enemy { @@ -50,6 +50,7 @@ public class Phantom extends FlyingMob implements Enemy {
Vec3 moveTargetPoint; Vec3 moveTargetPoint;
public BlockPos anchorPoint; public BlockPos anchorPoint;
Phantom.AttackPhase attackPhase; Phantom.AttackPhase attackPhase;
@@ -16,7 +16,7 @@ index 86df67578334a4743909c748213c2e1ed5d19bd9..899a7d3989b51456600787ae09b1736f
Vec3 crystalPosition; // Purpur Vec3 crystalPosition; // Purpur
public Phantom(EntityType<? extends Phantom> type, Level world) { public Phantom(EntityType<? extends Phantom> type, Level world) {
@@ -246,7 +247,12 @@ public class Phantom extends FlyingMob implements Enemy { @@ -247,7 +248,12 @@ public class Phantom extends FlyingMob implements Enemy {
@Override @Override
public void aiStep() { public void aiStep() {
@@ -30,7 +30,7 @@ index 86df67578334a4743909c748213c2e1ed5d19bd9..899a7d3989b51456600787ae09b1736f
if (getRider() == null || !this.isControllable()) // Purpur if (getRider() == null || !this.isControllable()) // Purpur
this.setSecondsOnFire(8); this.setSecondsOnFire(8);
} }
@@ -656,6 +662,12 @@ public class Phantom extends FlyingMob implements Enemy { @@ -661,6 +667,12 @@ public class Phantom extends FlyingMob implements Enemy {
return false; return false;
} else if (!entityliving.isAlive()) { } else if (!entityliving.isAlive()) {
return false; return false;
@@ -43,7 +43,7 @@ index 86df67578334a4743909c748213c2e1ed5d19bd9..899a7d3989b51456600787ae09b1736f
} else { } else {
if (entityliving instanceof Player) { if (entityliving instanceof Player) {
Player entityhuman = (Player) entityliving; Player entityhuman = (Player) entityliving;
@@ -801,6 +813,7 @@ public class Phantom extends FlyingMob implements Enemy { @@ -806,6 +818,7 @@ public class Phantom extends FlyingMob implements Enemy {
this.nextScanTick = reducedTickDelay(60); this.nextScanTick = reducedTickDelay(60);
List<Player> list = Phantom.this.level().getNearbyPlayers(this.attackTargeting, Phantom.this, Phantom.this.getBoundingBox().inflate(16.0D, 64.0D, 16.0D)); List<Player> list = Phantom.this.level().getNearbyPlayers(this.attackTargeting, Phantom.this, Phantom.this.getBoundingBox().inflate(16.0D, 64.0D, 16.0D));
@@ -52,10 +52,10 @@ index 86df67578334a4743909c748213c2e1ed5d19bd9..899a7d3989b51456600787ae09b1736f
list.sort(Comparator.comparing((Entity e) -> { return e.getY(); }).reversed()); // CraftBukkit - decompile error list.sort(Comparator.comparing((Entity e) -> { return e.getY(); }).reversed()); // CraftBukkit - decompile error
Iterator iterator = list.iterator(); Iterator iterator = list.iterator();
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 adfb558d98990739b24e10c7bf941287d30737a0..d6221af9b94530882a93c178d555dfc363f241ce 100644 index b9ba53461de687070dda3c0bcccbee240017033a..35be76739cda5aa4a075dc665e7702a9269d4333 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
@@ -1127,6 +1127,9 @@ public class PurpurWorldConfig { @@ -1123,6 +1123,9 @@ public class PurpurWorldConfig {
public double phantomSpawnLocalDifficultyChance = 3.0D; public double phantomSpawnLocalDifficultyChance = 3.0D;
public int phantomSpawnMinPerAttempt = 1; public int phantomSpawnMinPerAttempt = 1;
public int phantomSpawnMaxPerAttempt = -1; public int phantomSpawnMaxPerAttempt = -1;
@@ -65,7 +65,7 @@ index adfb558d98990739b24e10c7bf941287d30737a0..d6221af9b94530882a93c178d555dfc3
private void phantomSettings() { private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1157,6 +1160,9 @@ public class PurpurWorldConfig { @@ -1153,6 +1156,9 @@ public class PurpurWorldConfig {
phantomSpawnLocalDifficultyChance = getDouble("mobs.phantom.spawn.local-difficulty-chance", phantomSpawnLocalDifficultyChance); phantomSpawnLocalDifficultyChance = getDouble("mobs.phantom.spawn.local-difficulty-chance", phantomSpawnLocalDifficultyChance);
phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt); phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt);
phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt); phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable villager breeding
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java 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 50925ab7d719ae3323d7456df03a3d2ab3481bfd..7d13a5308161d4093023b732bed7d06152f54737 100644 index 8f65901bc4e189e2ac2686ca17233b9166e7b870..a3064132c1ecdbff0414d1c3048a400cef6bad59 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
@@ -785,7 +785,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -780,7 +780,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@Override @Override
public boolean canBreed() { public boolean canBreed() {
@@ -18,10 +18,10 @@ index 50925ab7d719ae3323d7456df03a3d2ab3481bfd..7d13a5308161d4093023b732bed7d061
private boolean hungry() { private boolean hungry() {
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 d6221af9b94530882a93c178d555dfc363f241ce..b9873e66e91d596e17002a290027b0a9972a54fd 100644 index 35be76739cda5aa4a075dc665e7702a9269d4333..9cd4d38da512f209db7196f632031d51acc5947c 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
@@ -1615,6 +1615,7 @@ public class PurpurWorldConfig { @@ -1611,6 +1611,7 @@ public class PurpurWorldConfig {
public double villagerMaxHealth = 20.0D; public double villagerMaxHealth = 20.0D;
public boolean villagerFollowEmeraldBlock = false; public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false; public boolean villagerCanBeLeashed = false;
@@ -29,7 +29,7 @@ index d6221af9b94530882a93c178d555dfc363f241ce..b9873e66e91d596e17002a290027b0a9
private void villagerSettings() { private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1627,6 +1628,7 @@ public class PurpurWorldConfig { @@ -1623,6 +1624,7 @@ public class PurpurWorldConfig {
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);

View File

@@ -17,10 +17,10 @@ index 633500aefd515df5dadda3802b94079f75a03fa0..64d911bee1607880514061c75116d867
} }
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 b9873e66e91d596e17002a290027b0a9972a54fd..10994174be125f8ce819d4d6e851178a72779ba1 100644 index 9cd4d38da512f209db7196f632031d51acc5947c..669454dd9ad60116b664f4432f4fef9662ba170c 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
@@ -356,6 +356,11 @@ public class PurpurWorldConfig { @@ -352,6 +352,11 @@ public class PurpurWorldConfig {
} }
} }

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Totems work in inventory
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 29d523efe2222511c25c8d8a3eeff6adf2a2da0e..c75d3490dd475fc7c1bd4931841cc84888a23bac 100644 index de20531092b5a053e36ce9469ba5db40b1cf9381..de704fea146a758f27dc5c476ef08b58b4524e53 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
@@ -1594,6 +1594,18 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -1614,6 +1614,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
} }
} }
@@ -28,10 +28,10 @@ index 29d523efe2222511c25c8d8a3eeff6adf2a2da0e..c75d3490dd475fc7c1bd4931841cc848
EntityResurrectEvent event = new EntityResurrectEvent((org.bukkit.entity.LivingEntity) this.getBukkitEntity(), handSlot); EntityResurrectEvent event = new EntityResurrectEvent((org.bukkit.entity.LivingEntity) this.getBukkitEntity(), handSlot);
event.setCancelled(itemstack == null); event.setCancelled(itemstack == null);
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 10994174be125f8ce819d4d6e851178a72779ba1..9335574d7396da50fe027cb455847cfef6528436 100644 index 669454dd9ad60116b664f4432f4fef9662ba170c..2cf49e7cb1d128c9dfec76c33d2c9a88c09ae2ca 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
@@ -245,6 +245,7 @@ public class PurpurWorldConfig { @@ -243,6 +243,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;
@@ -39,7 +39,7 @@ index 10994174be125f8ce819d4d6e851178a72779ba1..9335574d7396da50fe027cb455847cfe
private void playerSettings() { private void playerSettings() {
if (PurpurConfig.version < 19) { if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -261,6 +262,7 @@ public class PurpurWorldConfig { @@ -257,6 +258,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,7 +5,7 @@ Subject: [PATCH] Add vindicator johnny spawn chance
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
index 40858ac2a9b58108472748d0ef2c2fd5ef5cfd98..2a5b6b94b15bf066b5722e7a4f782bc87f9debf4 100644 index fece613e9c182c6658f9df1d333a5b7e1e862218..a3db9c351b9cb06340458811c006d53796d96ab5 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java --- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java +++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
@@ -154,6 +154,12 @@ public class Vindicator extends AbstractIllager { @@ -154,6 +154,12 @@ public class Vindicator extends AbstractIllager {
@@ -22,10 +22,10 @@ index 40858ac2a9b58108472748d0ef2c2fd5ef5cfd98..2a5b6b94b15bf066b5722e7a4f782bc8
} }
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 9335574d7396da50fe027cb455847cfef6528436..1b7d8a8fc241e096fc4fd5b65d8444779d1deae5 100644 index 2cf49e7cb1d128c9dfec76c33d2c9a88c09ae2ca..008ae05e639b38a28d27a6dacbb6ef25a5c9ecbf 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
@@ -1642,6 +1642,7 @@ public class PurpurWorldConfig { @@ -1638,6 +1638,7 @@ public class PurpurWorldConfig {
public boolean vindicatorRidableInWater = true; public boolean vindicatorRidableInWater = true;
public boolean vindicatorControllable = true; public boolean vindicatorControllable = true;
public double vindicatorMaxHealth = 24.0D; public double vindicatorMaxHealth = 24.0D;
@@ -33,7 +33,7 @@ index 9335574d7396da50fe027cb455847cfef6528436..1b7d8a8fc241e096fc4fd5b65d844477
private void vindicatorSettings() { private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1652,6 +1653,7 @@ public class PurpurWorldConfig { @@ -1648,6 +1649,7 @@ public class PurpurWorldConfig {
set("mobs.vindicator.attributes.max_health", oldValue); set("mobs.vindicator.attributes.max_health", oldValue);
} }
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth); vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Dispensers place anvils option
diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
index 8c2750de3be202122ccf9923a9fa32fcb8bdb743..7961a69d3e70a8ae1d74c732cd97a9cbd824a8d0 100644 index a0c7c6208314d981e8577ad69ef1c5193290a085..6cf5727de364cf28b2c046fde380a0fd2bb315f0 100644
--- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java --- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
+++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
@@ -1187,6 +1187,23 @@ public interface DispenseItemBehavior { @@ -1188,6 +1188,23 @@ public interface DispenseItemBehavior {
} }
} }
}); });
@@ -31,12 +31,12 @@ index 8c2750de3be202122ccf9923a9fa32fcb8bdb743..7961a69d3e70a8ae1d74c732cd97a9cb
+ // Purpur end + // Purpur end
} }
static void setEntityPokingOutOfBlock(BlockSource pointer, Entity entity, Direction direction) { static Vec3 getEntityPokingOutOfBlockPos(BlockSource pointer, EntityType<?> entityType, Direction direction) {
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 1b7d8a8fc241e096fc4fd5b65d8444779d1deae5..0e473df153cfd9090b74b5fa2b5568220d61ae98 100644 index 008ae05e639b38a28d27a6dacbb6ef25a5c9ecbf..8ee713af7d57bbf52a9aacf11385c0a325a24aa8 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
@@ -319,8 +319,10 @@ public class PurpurWorldConfig { @@ -315,8 +315,10 @@ public class PurpurWorldConfig {
} }
public boolean dispenserApplyCursedArmor = true; public boolean dispenserApplyCursedArmor = true;

View File

@@ -64,10 +64,10 @@ index b500a04b8135604f0159a741b3d228c9e87b2a46..8a7c30e316db4960b0b62ca0e366c19f
} }
} else if (itemstack.hasCustomHoverName()) { } else if (itemstack.hasCustomHoverName()) {
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 0e473df153cfd9090b74b5fa2b5568220d61ae98..9344d7492585023f5de6db4e4c0cde41dc6c74cd 100644 index 8ee713af7d57bbf52a9aacf11385c0a325a24aa8..4ac9e1c076d73e3964be68f4a550e3f8e2c96a7d 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
@@ -297,6 +297,13 @@ public class PurpurWorldConfig { @@ -293,6 +293,13 @@ public class PurpurWorldConfig {
}); });
} }

View File

@@ -17,10 +17,10 @@ index 89e3dbfddc739f97fdb6ec9a5714530f03cc7092..079fd78528377ee4236fb2e7189a5f0f
} }
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 9344d7492585023f5de6db4e4c0cde41dc6c74cd..d230e75bebc1817c171cdd93a1634512d652ceea 100644 index 4ac9e1c076d73e3964be68f4a550e3f8e2c96a7d..f20c2daa8dabb5f6131eb6e6b8dba66cf5ad812b 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
@@ -614,6 +614,7 @@ public class PurpurWorldConfig { @@ -610,6 +610,7 @@ public class PurpurWorldConfig {
public float dolphinSpitSpeed = 1.0F; public float dolphinSpitSpeed = 1.0F;
public float dolphinSpitDamage = 2.0F; public float dolphinSpitDamage = 2.0F;
public double dolphinMaxHealth = 10.0D; public double dolphinMaxHealth = 10.0D;
@@ -28,7 +28,7 @@ index 9344d7492585023f5de6db4e4c0cde41dc6c74cd..d230e75bebc1817c171cdd93a1634512
private void dolphinSettings() { private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
@@ -626,6 +627,7 @@ public class PurpurWorldConfig { @@ -622,6 +623,7 @@ public class PurpurWorldConfig {
set("mobs.dolphin.attributes.max_health", oldValue); set("mobs.dolphin.attributes.max_health", oldValue);
} }
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth); dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Short enderman height
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 08beb4c4dfcb0986cdebb4d0cacc25e4e9c17674..e413aa4650297ce2109beb6319f52fb476e291fe 100644 index 74499ac528becad47565c87e49a8e0b6646a0612..55fced3e70c7bc49306af00dcc1d92ffb83a799b 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
@@ -308,7 +308,8 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT @@ -307,7 +307,8 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
private Component description; private Component description;
@Nullable @Nullable
private ResourceLocation lootTable; private ResourceLocation lootTable;
@@ -19,10 +19,10 @@ index 08beb4c4dfcb0986cdebb4d0cacc25e4e9c17674..e413aa4650297ce2109beb6319f52fb4
private static <T extends Entity> EntityType<T> register(String id, EntityType.Builder type) { // CraftBukkit - decompile error private static <T extends Entity> EntityType<T> register(String id, EntityType.Builder type) { // CraftBukkit - decompile error
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index 74d1a0e8de36aaf11e844cc4f40e4c469d6269b4..3861f367ac01028139cc6db35fb9a1e20cb39457 100644 index 587eaef37a5acff8c13e7256b9b90fea5e7a6310..8b4129b8f0f6a368ae6b168aac404316f12797bb 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -433,6 +433,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -434,6 +434,7 @@ public class EnderMan extends Monster implements NeutralMob {
if (this.isInvulnerableTo(source)) { if (this.isInvulnerableTo(source)) {
return false; return false;
} else if (getRider() != null && this.isControllable()) { return super.hurt(source, amount); // Purpur - no teleporting on damage } else if (getRider() != null && this.isControllable()) { return super.hurt(source, amount); // Purpur - no teleporting on damage

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
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 01a1534ec503e9aaea7befdba86f452128f8863d..6935e327b4c1580dae9fbf2279bde4af165f76ce 100644 index 46098a03d6993db7509f351aa302d0e62a29078e..cb4d428a4edfcfcd7b6750487620cfc9d613f561 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
@@ -4349,6 +4349,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -4356,6 +4356,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.yRotO = this.getYRot(); this.yRotO = this.getYRot();
} }
@@ -19,7 +19,7 @@ index 01a1534ec503e9aaea7befdba86f452128f8863d..6935e327b4c1580dae9fbf2279bde4af
+ // Purpur end + // Purpur end
+ +
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) { public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
if (false && this.touchingUnloadedChunk()) { // Pufferfish - cost of a lookup here is the same cost as below, so skip if (this.touchingUnloadedChunk()) {
return false; return false;
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 913b66be2111da862e706d4978825c64cfe8b00b..f68c18b6645981126329b58379946308bbb8ccf8 100644 index 913b66be2111da862e706d4978825c64cfe8b00b..f68c18b6645981126329b58379946308bbb8ccf8 100644
@@ -39,7 +39,7 @@ index 913b66be2111da862e706d4978825c64cfe8b00b..f68c18b6645981126329b58379946308
protected void registerGoals() { protected void registerGoals() {
this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this)); this.goalSelector.addGoal(0, new Squid.SquidRandomMovementGoal(this));
diff --git a/src/main/java/net/minecraft/world/phys/AABB.java b/src/main/java/net/minecraft/world/phys/AABB.java diff --git a/src/main/java/net/minecraft/world/phys/AABB.java b/src/main/java/net/minecraft/world/phys/AABB.java
index ffc76354ead6937daf366c3d87bcb51d3e4c47f5..5b98d42b5d6bc07265fbb017e51a6281c148436a 100644 index e3dbf3066337a482460238f8a94d854cf88adfa2..5c70aa2ce1a9e89c8c271201b6755ea1325058ac 100644
--- a/src/main/java/net/minecraft/world/phys/AABB.java --- a/src/main/java/net/minecraft/world/phys/AABB.java
+++ b/src/main/java/net/minecraft/world/phys/AABB.java +++ b/src/main/java/net/minecraft/world/phys/AABB.java
@@ -374,4 +374,10 @@ public class AABB { @@ -374,4 +374,10 @@ public class AABB {
@@ -54,10 +54,10 @@ index ffc76354ead6937daf366c3d87bcb51d3e4c47f5..5b98d42b5d6bc07265fbb017e51a6281
+ // 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 d230e75bebc1817c171cdd93a1634512d652ceea..88225ba1bad1a20cbb7bcd56b0cd7424661712c3 100644 index f20c2daa8dabb5f6131eb6e6b8dba66cf5ad812b..5bdd0d69eb2efcc6dbe0a3d48870e1906763948b 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
@@ -1482,6 +1482,7 @@ public class PurpurWorldConfig { @@ -1478,6 +1478,7 @@ public class PurpurWorldConfig {
public boolean squidControllable = true; public boolean squidControllable = true;
public double squidMaxHealth = 10.0D; public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true; public boolean squidImmuneToEAR = true;
@@ -65,7 +65,7 @@ index d230e75bebc1817c171cdd93a1634512d652ceea..88225ba1bad1a20cbb7bcd56b0cd7424
private void squidSettings() { private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1492,6 +1493,7 @@ public class PurpurWorldConfig { @@ -1488,6 +1489,7 @@ public class PurpurWorldConfig {
} }
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals configuration
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 6935e327b4c1580dae9fbf2279bde4af165f76ce..105b093cd0353a45197615e9fcdf06e72a0aad00 100644 index cb4d428a4edfcfcd7b6750487620cfc9d613f561..7a7f6368eae5cdad69d2ad4e2b8bcc547fb3853c 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
@@ -3063,7 +3063,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -3075,7 +3075,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
public void handleInsidePortal(BlockPos pos) { public void handleInsidePortal(BlockPos pos) {
if (this.isOnPortalCooldown()) { if (this.isOnPortalCooldown()) {
this.setPortalCooldown(); this.setPortalCooldown();
@@ -17,7 +17,7 @@ index 6935e327b4c1580dae9fbf2279bde4af165f76ce..105b093cd0353a45197615e9fcdf06e7
if (!this.level().isClientSide && !pos.equals(this.portalEntrancePos)) { if (!this.level().isClientSide && !pos.equals(this.portalEntrancePos)) {
this.portalEntrancePos = pos.immutable(); this.portalEntrancePos = pos.immutable();
} }
@@ -3764,7 +3764,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -3780,7 +3780,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
} }
public boolean canChangeDimensions() { public boolean canChangeDimensions() {
@@ -27,7 +27,7 @@ index 6935e327b4c1580dae9fbf2279bde4af165f76ce..105b093cd0353a45197615e9fcdf06e7
public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) { public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) {
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 88225ba1bad1a20cbb7bcd56b0cd7424661712c3..300c3d8a8fc34e95e9ad620aa603e66aa6847ae2 100644 index 5bdd0d69eb2efcc6dbe0a3d48870e1906763948b..3a4b67415d2e86d2d3d3709dd669c0d6ee56644a 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
@@ -98,6 +98,7 @@ public class PurpurWorldConfig { @@ -98,6 +98,7 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] LivingEntity#broadcastItemBreak
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 4ba5c78fa10c1e30962f30d97821fa105f804904..88fc33afb4a88d8c8b0a41331791f1ca87b8a8fd 100644 index 92f17bc1631e13bf025cf7b867f6c13ccdacc4e7..1001beea3538a9723074421047dc3fbecf063d02 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
@@ -1110,5 +1110,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -1110,5 +1110,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Customizable wither health and healing
Adds the ability to customize the health of the wither, as well as the amount that it heals, and how often. Adds the ability to customize the health of the wither, as well as the amount that it heals, and how often.
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
index e6d6341f895c763fee05db3a7a7e05a68b9d36e9..8796b779ac0550e32c7313b1280278de48070baf 100644 index 6f7ef64612d6229179545d56093efdf58a2d7978..b395d5c85f26ca4252d3f8f886b2ee5a7892af5f 100644
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
@@ -525,8 +525,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -518,8 +518,10 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
} }
} }
@@ -23,10 +23,10 @@ index e6d6341f895c763fee05db3a7a7e05a68b9d36e9..8796b779ac0550e32c7313b1280278de
this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth()); this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth());
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 300c3d8a8fc34e95e9ad620aa603e66aa6847ae2..32b2444c0e96d4ba53693764a4caf0b596ed947f 100644 index 3a4b67415d2e86d2d3d3709dd669c0d6ee56644a..2495cf8d28a2f11ddd1efefd6d772fccf1e488ba 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
@@ -1721,6 +1721,8 @@ public class PurpurWorldConfig { @@ -1717,6 +1717,8 @@ public class PurpurWorldConfig {
public boolean witherControllable = true; public boolean witherControllable = true;
public double witherMaxY = 320D; public double witherMaxY = 320D;
public double witherMaxHealth = 300.0D; public double witherMaxHealth = 300.0D;
@@ -35,7 +35,7 @@ index 300c3d8a8fc34e95e9ad620aa603e66aa6847ae2..32b2444c0e96d4ba53693764a4caf0b5
private void witherSettings() { private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1736,6 +1738,8 @@ public class PurpurWorldConfig { @@ -1732,6 +1734,8 @@ public class PurpurWorldConfig {
set("mobs.wither.attributes.max_health", oldValue); set("mobs.wither.attributes.max_health", oldValue);
} }
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth); witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Allow toggling special MobSpawners per world
In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this. In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this.
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 11f92c1011a1accaf485e5785d2e9ebc8440406c..af57326c8d461d3c5d84f582d5bc6345c3c9367b 100644 index b0064cda4b0283d46dad53675ec70ff10c4d2015..b2360029a0fbbea6cb47a13f93cba584d4349829 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -663,7 +663,24 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -587,7 +587,24 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.dragonParts = new Int2ObjectOpenHashMap(); this.dragonParts = new Int2ObjectOpenHashMap();
this.tickTime = flag1; this.tickTime = flag1;
this.server = minecraftserver; this.server = minecraftserver;
@@ -59,7 +59,7 @@ index 8385eb1d60f377da94e3178ab506feefb43563fd..a5443f92786427c42092aec8350e7ab3
if (NaturalSpawner.isSpawnPositionOk(SpawnPlacements.Type.ON_GROUND, world, blockposition2, EntityType.WANDERING_TRADER)) { if (NaturalSpawner.isSpawnPositionOk(SpawnPlacements.Type.ON_GROUND, world, blockposition2, EntityType.WANDERING_TRADER)) {
blockposition1 = blockposition2; blockposition1 = blockposition2;
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 32b2444c0e96d4ba53693764a4caf0b596ed947f..e0447c62f0c5df368a3ea41d63f64e23ccb06271 100644 index 2495cf8d28a2f11ddd1efefd6d772fccf1e488ba..8b1b424a61397f7e3c002611de961718046f0149 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
@@ -69,6 +69,12 @@ public class PurpurWorldConfig { @@ -69,6 +69,12 @@ public class PurpurWorldConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Raid cooldown setting
diff --git a/src/main/java/net/minecraft/world/entity/raid/Raids.java b/src/main/java/net/minecraft/world/entity/raid/Raids.java diff --git a/src/main/java/net/minecraft/world/entity/raid/Raids.java b/src/main/java/net/minecraft/world/entity/raid/Raids.java
index 41457c9f27b18fa2734a6cca297ec5186470e82f..94356e0541f8f4da68211fa533347cc97d4f3518 100644 index 31831811ce16265e9828fa34d9e67d8ac195d723..a1f74718240da3dfb0fc53f337ec3bf1636def75 100644
--- a/src/main/java/net/minecraft/world/entity/raid/Raids.java --- a/src/main/java/net/minecraft/world/entity/raid/Raids.java
+++ b/src/main/java/net/minecraft/world/entity/raid/Raids.java +++ b/src/main/java/net/minecraft/world/entity/raid/Raids.java
@@ -28,6 +28,7 @@ import net.minecraft.world.phys.Vec3; @@ -29,6 +29,7 @@ import net.minecraft.world.phys.Vec3;
public class Raids extends SavedData { public class Raids extends SavedData {
private static final String RAID_FILE_ID = "raids"; private static final String RAID_FILE_ID = "raids";
@@ -16,7 +16,7 @@ index 41457c9f27b18fa2734a6cca297ec5186470e82f..94356e0541f8f4da68211fa533347cc9
public final Map<Integer, Raid> raidMap = Maps.newHashMap(); public final Map<Integer, Raid> raidMap = Maps.newHashMap();
private final ServerLevel level; private final ServerLevel level;
private int nextAvailableID; private int nextAvailableID;
@@ -45,6 +46,17 @@ public class Raids extends SavedData { @@ -54,6 +55,17 @@ public class Raids extends SavedData {
public void tick() { public void tick() {
++this.tick; ++this.tick;
@@ -34,7 +34,7 @@ index 41457c9f27b18fa2734a6cca297ec5186470e82f..94356e0541f8f4da68211fa533347cc9
Iterator iterator = this.raidMap.values().iterator(); Iterator iterator = this.raidMap.values().iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
@@ -129,11 +141,13 @@ public class Raids extends SavedData { @@ -138,11 +150,13 @@ public class Raids extends SavedData {
} }
if (flag) { if (flag) {
@@ -49,7 +49,7 @@ index 41457c9f27b18fa2734a6cca297ec5186470e82f..94356e0541f8f4da68211fa533347cc9
if (!this.raidMap.containsKey(raid.getId())) { if (!this.raidMap.containsKey(raid.getId())) {
this.raidMap.put(raid.getId(), raid); this.raidMap.put(raid.getId(), raid);
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 e0447c62f0c5df368a3ea41d63f64e23ccb06271..f2db6143daf0ec578b224360273b8dc5ffa3bb43 100644 index 8b1b424a61397f7e3c002611de961718046f0149..bcee031a53e24a6c3731c2e0555f53ad2c5d81e8 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
@@ -109,6 +109,7 @@ public class PurpurWorldConfig { @@ -109,6 +109,7 @@ public class PurpurWorldConfig {

View File

@@ -7,10 +7,10 @@ This patch's implementation has been removed in favor of Pufferfish's entity-tim
The config remains for migration purposes. The config remains for migration purposes.
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 f2db6143daf0ec578b224360273b8dc5ffa3bb43..37bea4068461e0b2d3ded80529ca2a8c3e8473e2 100644 index bcee031a53e24a6c3731c2e0555f53ad2c5d81e8..472f3cb5775aed6d902928b9dafe99a139d475d5 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
@@ -290,6 +290,39 @@ public class PurpurWorldConfig { @@ -286,6 +286,39 @@ public class PurpurWorldConfig {
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory); totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
} }

View File

@@ -45,10 +45,10 @@ index 6ec7d0f5e525f9e04b6fa0fb6d4da5fcc22fe653..64acb2e81ef65acb0d41db8b5f7c924c
this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Axolotl.class, true, false)); this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, Axolotl.class, true, false));
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR)); this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index b2b04d7b7bbc400fb66cac385fa754d4fb47c7d9..bd75aa78a7dd437d6fce79a6cb18298184affe75 100644 index 1efcafd736c1dbd057d5bfe7abbfcb1fb2d6f7b3..d9caaa16e4d62bdfbc3106a63c1b4bef06727bad 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -156,7 +156,19 @@ public class Zombie extends Monster { @@ -157,7 +157,19 @@ public class Zombie extends Monster {
this.goalSelector.addGoal(7, new WaterAvoidingRandomStrollGoal(this, 1.0D)); this.goalSelector.addGoal(7, new WaterAvoidingRandomStrollGoal(this, 1.0D));
this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers(ZombifiedPiglin.class)); this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers(ZombifiedPiglin.class));
this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true)); this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true));
@@ -70,10 +70,10 @@ index b2b04d7b7bbc400fb66cac385fa754d4fb47c7d9..bd75aa78a7dd437d6fce79a6cb182981
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR)); this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
} }
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 37bea4068461e0b2d3ded80529ca2a8c3e8473e2..6e38987900f04d1aaf7030b3562c8571f12bbbde 100644 index 472f3cb5775aed6d902928b9dafe99a139d475d5..45fc13436aa43da593704d142202eb43e5cbe4b3 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
@@ -1854,6 +1854,7 @@ public class PurpurWorldConfig { @@ -1850,6 +1850,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyOnlyBaby = true; public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D; public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true; public boolean zombieJockeyTryExistingChickens = true;
@@ -81,7 +81,7 @@ index 37bea4068461e0b2d3ded80529ca2a8c3e8473e2..6e38987900f04d1aaf7030b3562c8571
private void zombieSettings() { private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1868,6 +1869,7 @@ public class PurpurWorldConfig { @@ -1864,6 +1865,7 @@ public class PurpurWorldConfig {
zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby); zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby);
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance); zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);

View File

@@ -5,18 +5,18 @@ Subject: [PATCH] Add predicate to recipe's ExactChoice ingredient
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 cd7ea0c16f9ddcb84b5d7e8a2533e6e84f3879c7..3ca086418ad037c48775db73d2b9c410acf1e326 100644 index 06fe5b056d78d42cdf78437eeabe1786d596b7f8..3532db21cee82c18f95c540d24b2071585d71c4e 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
@@ -39,6 +39,7 @@ public final class Ingredient implements Predicate<ItemStack> { @@ -39,6 +39,7 @@ public final class Ingredient implements Predicate<ItemStack> {
@Nullable @Nullable
private IntList stackingIds; private IntList stackingIds;
public boolean exact; // CraftBukkit public boolean exact; // CraftBukkit
+ public Predicate<org.bukkit.inventory.ItemStack> predicate; + public Predicate<org.bukkit.inventory.ItemStack> predicate; // Purpur
public static final Codec<Ingredient> CODEC = Ingredient.codec(true);
public static final Codec<Ingredient> CODEC_NONEMPTY = Ingredient.codec(false);
public Ingredient(Stream<? extends Ingredient.Value> entries) { @@ -70,6 +71,12 @@ public final class Ingredient implements Predicate<ItemStack> {
this.values = (Ingredient.Value[]) entries.toArray((i) -> {
@@ -64,6 +65,12 @@ public final class Ingredient implements Predicate<ItemStack> {
} else if (this.isEmpty()) { } else if (this.isEmpty()) {
return itemstack.isEmpty(); return itemstack.isEmpty();
} else { } else {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Flying squids! Oh my!
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 730958dab7f074930cdccb88a89aa26e2b6a112b..b1ba0f24dd6f1ec4c60208564e4eb84bdcd457f4 100644 index dc99e7f0e6f173c1313c0d5e9ea5dd6bdbdac169..19f95ddb2fa9dd264947a8b0033dd7437ee66c7f 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
@@ -41,6 +41,11 @@ public class GlowSquid extends Squid { @@ -41,6 +41,11 @@ public class GlowSquid extends Squid {
@@ -58,10 +58,10 @@ index f68c18b6645981126329b58379946308bbb8ccf8..80bdc93cba675d6c1286618f14fc33e0
float g = Mth.cos(f) * 0.2F; float g = Mth.cos(f) * 0.2F;
float h = -0.1F + this.squid.getRandom().nextFloat() * 0.2F; float h = -0.1F + this.squid.getRandom().nextFloat() * 0.2F;
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 6e38987900f04d1aaf7030b3562c8571f12bbbde..bc8ab431df81d52065b401cf9f5cf0d040c79905 100644 index 45fc13436aa43da593704d142202eb43e5cbe4b3..a85d4a9c2583f8233032b680c89b147a230bca41 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
@@ -906,10 +906,12 @@ public class PurpurWorldConfig { @@ -902,10 +902,12 @@ public class PurpurWorldConfig {
public boolean glowSquidRidable = false; public boolean glowSquidRidable = false;
public boolean glowSquidControllable = true; public boolean glowSquidControllable = true;
public double glowSquidMaxHealth = 10.0D; public double glowSquidMaxHealth = 10.0D;
@@ -74,7 +74,7 @@ index 6e38987900f04d1aaf7030b3562c8571f12bbbde..bc8ab431df81d52065b401cf9f5cf0d0
} }
public boolean goatRidable = false; public boolean goatRidable = false;
@@ -1541,6 +1543,7 @@ public class PurpurWorldConfig { @@ -1537,6 +1539,7 @@ public class PurpurWorldConfig {
public double squidMaxHealth = 10.0D; public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true; public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D; public double squidOffsetWaterCheck = 0.0D;
@@ -82,7 +82,7 @@ index 6e38987900f04d1aaf7030b3562c8571f12bbbde..bc8ab431df81d52065b401cf9f5cf0d0
private void squidSettings() { private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1552,6 +1555,7 @@ public class PurpurWorldConfig { @@ -1548,6 +1551,7 @@ public class PurpurWorldConfig {
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);

View File

@@ -27,7 +27,7 @@ index 08d597db1a5345a343777a01427655e6bf2c926b..33df0ca406dc8321b76b393f317bbd1c
} else { } else {
user.startUsingItem(hand); user.startUsingItem(hand);
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 bc8ab431df81d52065b401cf9f5cf0d040c79905..ae3beab9a442477973bc8f9ccd47f479d7ddc9ee 100644 index a85d4a9c2583f8233032b680c89b147a230bca41..598a9f2dae899513cf10e33c8baad5991597b55c 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
@@ -140,6 +140,17 @@ public class PurpurWorldConfig { @@ -140,6 +140,17 @@ public class PurpurWorldConfig {

View File

@@ -18,10 +18,10 @@ index 9ec6145fe04ec64bbee8ec6a837719caebdbc6f5..358d610ad020cada1bb83e393deeeaae
public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) { public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) {
this.gameTime = time; this.gameTime = time;
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 4cadfd50a0c465ab8d809b91b9a999943385bc8a..fd3a85a2b0e2dca36044535f8ff77fec63f73aee 100644 index 5c9eda3f59998a7d7cebadd1d67c316643614796..58bd3a05621a2a513efdaa81d63e6c3fff1b3b35 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
@@ -1532,7 +1532,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -1518,7 +1518,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
long worldTime = level.getGameTime(); long worldTime = level.getGameTime();
final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight); final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight);
for (Player entityhuman : level.players()) { for (Player entityhuman : level.players()) {
@@ -31,7 +31,7 @@ index 4cadfd50a0c465ab8d809b91b9a999943385bc8a..fd3a85a2b0e2dca36044535f8ff77fec
} }
ServerPlayer entityplayer = (ServerPlayer) entityhuman; ServerPlayer entityplayer = (ServerPlayer) entityhuman;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index af57326c8d461d3c5d84f582d5bc6345c3c9367b..0e8452f6a8300992f397fb15db763304d72fe3b9 100644 index b2360029a0fbbea6cb47a13f93cba584d4349829..3d890b71e4b5f44cd822fb0036d87bc5a6014d4e 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java --- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -214,6 +214,8 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -214,6 +214,8 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -43,7 +43,7 @@ index af57326c8d461d3c5d84f582d5bc6345c3c9367b..0e8452f6a8300992f397fb15db763304
private final RandomSequences randomSequences; private final RandomSequences randomSequences;
public long lastMidTickExecuteFailure; // Paper - execute chunk tasks mid tick public long lastMidTickExecuteFailure; // Paper - execute chunk tasks mid tick
@@ -750,6 +752,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -666,6 +668,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.chunkTaskScheduler = new io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler(this, io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler.workerThreads); // Paper - rewrite chunk system this.chunkTaskScheduler = new io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler(this, io.papermc.paper.chunk.system.scheduling.ChunkTaskScheduler.workerThreads); // Paper - rewrite chunk system
this.entityLookup = new io.papermc.paper.chunk.system.entity.EntityLookup(this, new EntityCallbacks()); // Paper - rewrite chunk system this.entityLookup = new io.papermc.paper.chunk.system.entity.EntityLookup(this, new EntityCallbacks()); // Paper - rewrite chunk system
@@ -51,7 +51,7 @@ index af57326c8d461d3c5d84f582d5bc6345c3c9367b..0e8452f6a8300992f397fb15db763304
} }
// Paper start // Paper start
@@ -933,6 +936,13 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -827,6 +830,13 @@ public class ServerLevel extends Level implements WorldGenLevel {
this.serverLevelData.setGameTime(i); this.serverLevelData.setGameTime(i);
this.serverLevelData.getScheduledEvents().tick(this.server, i); this.serverLevelData.getScheduledEvents().tick(this.server, i);
if (this.levelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) { if (this.levelData.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)) {
@@ -65,7 +65,7 @@ index af57326c8d461d3c5d84f582d5bc6345c3c9367b..0e8452f6a8300992f397fb15db763304
this.setDayTime(this.levelData.getDayTime() + 1L); this.setDayTime(this.levelData.getDayTime() + 1L);
} }
@@ -941,7 +951,21 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -835,7 +845,21 @@ public class ServerLevel extends Level implements WorldGenLevel {
public void setDayTime(long timeOfDay) { public void setDayTime(long timeOfDay) {
this.serverLevelData.setDayTime(timeOfDay); this.serverLevelData.setDayTime(timeOfDay);
@@ -88,7 +88,7 @@ index af57326c8d461d3c5d84f582d5bc6345c3c9367b..0e8452f6a8300992f397fb15db763304
public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) { public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) {
Iterator iterator = this.customSpawners.iterator(); Iterator iterator = this.customSpawners.iterator();
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 ae3beab9a442477973bc8f9ccd47f479d7ddc9ee..a721eb79dc528ada6a08265bb1f2895c31f0386e 100644 index 598a9f2dae899513cf10e33c8baad5991597b55c..7e8816a3bd9c60844ca0fbb8674abf6c53b4d81c 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
@@ -122,6 +122,13 @@ public class PurpurWorldConfig { @@ -122,6 +122,13 @@ public class PurpurWorldConfig {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Furnace uses lava from underneath
diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
index 448fa4f4f200430d6ce3051763c7ceb697696146..ca2052804ad829a1528a9c5a0a792275beead113 100644 index a18aadbf7ae83713e1f2b21553185d8000bc7699..b0afc384907bb75dfa26e432a2328fe080660019 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java --- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
@@ -44,6 +44,7 @@ import net.minecraft.world.level.Level; @@ -44,6 +44,7 @@ import net.minecraft.world.level.Level;
@@ -45,12 +45,12 @@ index 448fa4f4f200430d6ce3051763c7ceb697696146..ca2052804ad829a1528a9c5a0a792275
+ if (usedLavaFromUnderneath) blockEntity.items.set(1, ItemStack.EMPTY); // Purpur + if (usedLavaFromUnderneath) blockEntity.items.set(1, ItemStack.EMPTY); // Purpur
} }
private static boolean canBurn(RegistryAccess registryManager, @Nullable Recipe<?> recipe, NonNullList<ItemStack> slots, int count) { private static boolean canBurn(RegistryAccess registryManager, @Nullable RecipeHolder<?> recipe, NonNullList<ItemStack> slots, int count) {
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 a721eb79dc528ada6a08265bb1f2895c31f0386e..5c478488da15171d70c1b4c01d7ca33698314032 100644 index 7e8816a3bd9c60844ca0fbb8674abf6c53b4d81c..02aa54fbd0605b92de9263ba852ac04e24b2fdef 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
@@ -413,6 +413,17 @@ public class PurpurWorldConfig { @@ -409,6 +409,17 @@ public class PurpurWorldConfig {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
} }

View File

@@ -7,7 +7,7 @@ This prevents keeping arrows alive indefinitely (such as when the block
the arrow is stuck in gets removed, like a piston head going up/down) the arrow is stuck in gets removed, like a piston head going up/down)
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 fa885337085348308604e50049ecc5bb52023884..e8773aa2e796ca4e3b9b7cf85c40906d16eb241d 100644 index 8affdd74769aed9aa92a76ba539cd9d27208827c..9710d1cd31d263b29c80923c56134b1f8f6702b0 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
@@ -312,7 +312,7 @@ public abstract class AbstractArrow extends Projectile { @@ -312,7 +312,7 @@ public abstract class AbstractArrow extends Projectile {
@@ -20,7 +20,7 @@ index fa885337085348308604e50049ecc5bb52023884..e8773aa2e796ca4e3b9b7cf85c40906d
@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 5c478488da15171d70c1b4c01d7ca33698314032..b996cafed3083c3d9604005a054f0b4511bbf383 100644 index 02aa54fbd0605b92de9263ba852ac04e24b2fdef..41d694ec386530f97044ff6aa98f4e436cadddd7 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
@@ -101,6 +101,11 @@ public class PurpurWorldConfig { @@ -101,6 +101,11 @@ public class PurpurWorldConfig {