mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@9f1fa0b Fix item gravity on inactive items, remove dumb active skipping PaperMC/Paper@1a1d0cf Use target pitch in teleport (generally the same thing) PaperMC/Paper@8ba3073 fix "is_freezing" damage type tag PaperMC/Paper@1523212 don't resend effects when PlayerItemConsumeEvent is cancelled PaperMC/Paper@1330880 Add Friction API to minecarts PaperMC/Paper@580a610 Allow using old ender pearl behavior & apply ender pearl exploit patch (#11524) PaperMC/Paper@40a960d Rebuild patches PaperMC/Paper@dfedf79 Correctly cancel consumption of consumable PaperMC/Paper@147b796 get previous redstone level from the right state for experimental wires PaperMC/Paper@ad9c58e Only expose velocity relative tp flags to API (#11532) PaperMC/Paper@f273e6e Set updatingMinecraft to false PaperMC/Paper@c5c1250 [ci skip] Remove leftover todo file (#11540) PaperMC/Paper@7ee4835 Correctly clear explosion density cache(#11541) PaperMC/Paper@52a0590 Updated Upstream (Bukkit/CraftBukkit) (#11543) PaperMC/Paper@5c0930d Fix fix recipe iterator patch PaperMC/Paper@1de0130 re-add a dispense fix patch PaperMC/Paper@16d7d73 bunch more general fixes PaperMC/Paper@a5d7426 Correctly support RecipeChoice.empty (#11550) PaperMC/Paper@85c870e Correct update cursor (#11554) PaperMC/Paper@d19be64 Fix NPE with spark when CraftServer is not init yet (#11558) PaperMC/Paper@92131ad Decrease dead entity teleport warning (#11559)
This commit is contained in:
@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
|
||||
version = 1.21.3-R0.1-SNAPSHOT
|
||||
|
||||
mcVersion = 1.21.3
|
||||
paperCommit = fe2f3d46933c9f3dc0e4bda238e5af34b01d2a48
|
||||
paperCommit = 92131adaf2687f350b2f8dc7cd1213ab833d1831
|
||||
|
||||
org.gradle.caching = true
|
||||
org.gradle.parallel = true
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Wed, 10 Jul 2019 20:43:05 -0500
|
||||
Subject: [PATCH] Option to toggle milk curing bad omen
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/MilkBucketItem.java b/src/main/java/net/minecraft/world/item/MilkBucketItem.java
|
||||
index 43c9dea6b0db7f8d6070dedcb472883ab46d9eaf..15a1f9ffbf640bffadca97e28f72b6a5d43c65d7 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/MilkBucketItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/MilkBucketItem.java
|
||||
@@ -25,7 +25,9 @@ public class MilkBucketItem extends Item {
|
||||
}
|
||||
|
||||
if (!world.isClientSide) {
|
||||
+ net.minecraft.world.effect.MobEffectInstance badOmen = user.getEffect(net.minecraft.world.effect.MobEffects.BAD_OMEN); // Purpur
|
||||
user.removeAllEffects(org.bukkit.event.entity.EntityPotionEffectEvent.Cause.MILK); // CraftBukkit
|
||||
+ if (!world.purpurConfig.milkCuresBadOmen && badOmen != null) user.addEffect(badOmen); // Purpur
|
||||
}
|
||||
|
||||
if (user instanceof Player entityhuman) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 830ba18f1695bbf4099a9579166e29618206ba83..3273ac8bb8f836ea9d2d5d304985ca8152eb2d4a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -97,8 +97,10 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
|
||||
public boolean disableDropsOnCrammingDeath = false;
|
||||
+ public boolean milkCuresBadOmen = true;
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
|
||||
+ milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
|
||||
}
|
||||
|
||||
public double minecartMaxSpeed = 0.4D;
|
||||
@@ -1,43 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Sat, 3 Oct 2020 17:40:52 -0500
|
||||
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
|
||||
index e314f36951e9ac15c57137e24fce8c410373130a..21dfb8e91c5427ac12133de2c05d923d87adf5ba 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/crafting/Ingredient.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/crafting/Ingredient.java
|
||||
@@ -41,6 +41,7 @@ public final class Ingredient implements Predicate<ItemStack> {
|
||||
@Nullable
|
||||
private IntList stackingIds;
|
||||
public boolean exact; // CraftBukkit
|
||||
+ 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);
|
||||
|
||||
@@ -72,6 +73,12 @@ public final class Ingredient implements Predicate<ItemStack> {
|
||||
} else if (this.isEmpty()) {
|
||||
return itemstack.isEmpty();
|
||||
} else {
|
||||
+ // Purpur start
|
||||
+ if (predicate != null) {
|
||||
+ return predicate.test(itemstack.asBukkitCopy());
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
ItemStack[] aitemstack = this.getItems();
|
||||
int i = aitemstack.length;
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java
|
||||
index c76c78bb7757d407102271463e14716a1b012deb..458b91582a22fb1e6deb1551c38d2a10e33e24f1 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java
|
||||
@@ -29,6 +29,7 @@ public interface CraftRecipe extends Recipe {
|
||||
} else if (bukkit instanceof RecipeChoice.ExactChoice) {
|
||||
stack = new Ingredient(((RecipeChoice.ExactChoice) bukkit).getChoices().stream().map((mat) -> new net.minecraft.world.item.crafting.Ingredient.ItemValue(CraftItemStack.asNMSCopy(mat))));
|
||||
stack.exact = true;
|
||||
+ stack.predicate = ((RecipeChoice.ExactChoice) bukkit).getPredicate(); // Purpur
|
||||
// Paper start - support "empty" choices
|
||||
} else if (bukkit == RecipeChoice.empty()) {
|
||||
stack = Ingredient.EMPTY;
|
||||
@@ -267,10 +267,10 @@ index 6fef86e47e37eab6721cfd67d494afb25a2ded68..c914e1e13c4f64f24efa5f825e58efb6
|
||||
// (async tasks must live with race-conditions if they attempt to cancel between these few lines of code)
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
index 05a62b2cf9ca8e0141274bd7f44ef8fb703466d1..fcb5bc76955edd773488dd3e476ea5e6fd09ca9b 100644
|
||||
index 83020837e29ee627b1081daddb4bdee147b95af3..9bd91ddb964ff4d10a3a87ee50849ddf3c4d22e8 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
@@ -494,7 +494,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||
@@ -505,7 +505,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||
// Paper start
|
||||
@Override
|
||||
public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Purpur client support
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 4e4e5b7e8c387cf13cf5bc5e39d334c3222c9103..8640965d238d2983942ba3a3f08b048e84656cdd 100644
|
||||
index cffbd3300967e5d80b5973b35a76235bb2aa1b73..b9cad91aa728415a52a43d18301311e2c996da91 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -329,6 +329,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
@@ -43,10 +43,10 @@ index b0bc66dc7248aae691dcab68b925b52a1695e63f..b6dd6bde947ac7502f25d31603995961
|
||||
try {
|
||||
String channels = payload.toString(com.google.common.base.Charsets.UTF_8);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 9e4c416ddeccff87ea9ed5b45a2ef04eae2280bf..2c30bf2b0bdb29e549db10c324daceaa3fde38fd 100644
|
||||
index 2c7ec674f55b3178b9dcba7f2bc1ff5efccb50ea..c860c87a23b4d4b4328ccefbf7f1f127905f3605 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -3592,4 +3592,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -3590,4 +3590,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundEntityEventPacket(((CraftEntity) target).getHandle(), effect.getData()));
|
||||
}
|
||||
// Paper end - entity effect API
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Component related conveniences
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 8640965d238d2983942ba3a3f08b048e84656cdd..2de732451096f13d5df160500267cb2db0101c63 100644
|
||||
index b9cad91aa728415a52a43d18301311e2c996da91..4cd799505ad4f9e02eef5f015a6c092af0efba14 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -2252,6 +2252,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
@@ -2253,6 +2253,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
this.lastSentExp = -1; // CraftBukkit - Added to reset
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ index 8640965d238d2983942ba3a3f08b048e84656cdd..2de732451096f13d5df160500267cb2d
|
||||
@Override
|
||||
public void displayClientMessage(Component message, boolean overlay) {
|
||||
this.sendSystemMessage(message, overlay);
|
||||
@@ -2476,6 +2496,20 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
@@ -2477,6 +2497,20 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
return new CommandSourceStack(this.commandSource(), this.position(), this.getRotationVector(), this.serverLevel(), this.getPermissionLevel(), this.getName().getString(), this.getDisplayName(), this.server, this);
|
||||
}
|
||||
|
||||
@@ -57,10 +57,10 @@ index 8640965d238d2983942ba3a3f08b048e84656cdd..2de732451096f13d5df160500267cb2d
|
||||
this.sendSystemMessage(message, false);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index cf42042c754b30e41c0ec8a6a15195369bdbd199..0423eb224f21ad482d7bc9916f8f7597d80060d4 100644
|
||||
index 1fcd9cd9344b0d2c4752042b07142db7d727dce8..99472b1ae2261a53555c5212f5d8b0deebaa4c48 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -985,6 +985,20 @@ public abstract class PlayerList {
|
||||
@@ -991,6 +991,20 @@ public abstract class PlayerList {
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
|
||||
@@ -22,10 +22,10 @@ index f58a94efafbc01d402cd03a108bb90f60930a316..21ea63da99c5b3e2e1ab9cc1049c903b
|
||||
super(x, y, z);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 7933d6900dac67a24fb5f9378097dbde34be30b1..ef01653f889be21747205d9059ad86b7e51326d5 100644
|
||||
index 64b56abf8900d0424100da460fc68ac964394793..e37e11c7912cc2824b67928811a8e542fa0a9337 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1854,6 +1854,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1853,6 +1853,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - Add EntityMoveEvent
|
||||
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers
|
||||
worldserver.updateLagCompensationTick(); // Paper - lag compensation
|
||||
@@ -34,7 +34,7 @@ index 7933d6900dac67a24fb5f9378097dbde34be30b1..ef01653f889be21747205d9059ad86b7
|
||||
gameprofilerfiller.push(() -> {
|
||||
String s = String.valueOf(worldserver);
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index e65cfb1132f5f0c9e1fa5ae4a46a8abed0c56be1..43c976c5b61f26662d6e57b5cd39c3e153985db3 100644
|
||||
index 5964d601c05176f48167cc92057a59e52a4da92b..6a704739b1e4e12b6e3dcee4144fede634c559c8 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -230,6 +230,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -46,10 +46,10 @@ index e65cfb1132f5f0c9e1fa5ae4a46a8abed0c56be1..43c976c5b61f26662d6e57b5cd39c3e1
|
||||
public LevelChunk getChunkIfLoaded(int x, int z) {
|
||||
return this.chunkSource.getChunkAtIfLoadedImmediately(x, z); // Paper - Use getChunkIfLoadedImmediately
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 2de732451096f13d5df160500267cb2db0101c63..b345e0eb7145b5a3800dc9c73508e53d83ea0171 100644
|
||||
index 4cd799505ad4f9e02eef5f015a6c092af0efba14..c69080f68ac1a7e7113da692ae7baba467393d48 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1032,6 +1032,15 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
@@ -1033,6 +1033,15 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
this.trackEnteredOrExitedLavaOnVehicle();
|
||||
this.updatePlayerAttributes();
|
||||
this.advancements.flushDirty(this);
|
||||
@@ -66,10 +66,10 @@ index 2de732451096f13d5df160500267cb2db0101c63..b345e0eb7145b5a3800dc9c73508e53d
|
||||
|
||||
private void updatePlayerAttributes() {
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index c4b016a2fb5c79fb3f191e243712bee7cbe5cd2c..e670a3d04fca7bea2bc732d10e7865b76e396586 100644
|
||||
index b5d5dbc50a7b8c40739a15f164ffd08fdc534f9c..5d322e613a0116057373a3c9d7125620c63b43d7 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2820,6 +2820,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -2821,6 +2821,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
|
||||
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
|
||||
|
||||
@@ -79,7 +79,7 @@ index c4b016a2fb5c79fb3f191e243712bee7cbe5cd2c..e670a3d04fca7bea2bc732d10e7865b7
|
||||
if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
|
||||
entity.resendPossiblyDesyncedEntityData(ServerGamePacketListenerImpl.this.player); // Paper - The entire mob gets deleted, so resend it
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index bc81faf083e2a5455a7da0ba7cc18eae5e014a7a..fada28327176e8f3aab4b3f7f33b00fa83a7127c 100644
|
||||
index 341c324d15996a74b113f8879d7da737a1be86a1..1d23428d23c1281eea456fe6175e050826246848 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -383,7 +383,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -190,7 +190,7 @@ index b851c3ee1426bc0a259bf6c4a662af0c9883dd71..7c11b5e73d4f3c0be7c467f7522c2d97
|
||||
protected ParticleOptions getInkParticle() {
|
||||
return ParticleTypes.GLOW_SQUID_INK;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 0831d69d6ac1aa112dfe8243b01adcf5e8eba6a0..56613c25850f89d125cb213d37fd5fed9deee7f7 100644
|
||||
index 9c61225a728a2ca91a1c71dead75fc7cd93668b6..e8c1ffe30e0f211ae563e28afa2101e51a122777 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -248,9 +248,9 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -5112,7 +5112,7 @@ index 179886dcbda29c5cdb7dbd43e44951ae38d9df96..cf1797c6ba877c510bba5c8016e57003
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 1e98f68e51618606f1178c12be77c1a945362630..4046f911b1f0da909dbb4d8ff856fb869f61a0f8 100644
|
||||
index deba03eb37012c638e08e20cd1c98e9db190c790..26d7e7ace4491c444c31dc11359427259c04f93c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -602,6 +602,15 @@ public class CraftEventFactory {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Barrels and enderchests 6 rows
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 75e5e540f03d28b64fa5fef1f342a157598c3fa7..0dace6f1e1377c9eb5ae70524edf1e3aae2cfc91 100644
|
||||
index 99472b1ae2261a53555c5212f5d8b0deebaa4c48..718b9f237448685900cbb722510c93353a8c28b2 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1110,6 +1110,27 @@ public abstract class PlayerList {
|
||||
@@ -1116,6 +1116,27 @@ public abstract class PlayerList {
|
||||
player.getBukkitEntity().recalculatePermissions(); // CraftBukkit
|
||||
this.server.getCommands().sendCommands(player);
|
||||
} // Paper - Add sendOpLevel API
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index b345e0eb7145b5a3800dc9c73508e53d83ea0171..3403d74ec3ef30ec110031f3972a8482eea0bf41 100644
|
||||
index c69080f68ac1a7e7113da692ae7baba467393d48..a9228aa69e31b0e69f0b07170de0ac99b64fe0fe 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -2643,8 +2643,68 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
@@ -2644,8 +2644,68 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
|
||||
public void resetLastActionTime() {
|
||||
this.lastActionTime = Util.getMillis();
|
||||
@@ -78,7 +78,7 @@ index b345e0eb7145b5a3800dc9c73508e53d83ea0171..3403d74ec3ef30ec110031f3972a8482
|
||||
return this.stats;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index e670a3d04fca7bea2bc732d10e7865b76e396586..c65c924f739b1c2ed328c936ec1854e0bc1d5b84 100644
|
||||
index 5d322e613a0116057373a3c9d7125620c63b43d7..58540f1b04e569198c09ada7415a48b9af69147a 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -342,6 +342,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -223,7 +223,7 @@ index 5d7a6e4b73f032db356e7ec369b150013e940ee6..6b2cda6d578a0983b2401ea206292754
|
||||
if (range < 0.0 || d < range * range) {
|
||||
return true;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 2c30bf2b0bdb29e549db10c324daceaa3fde38fd..9d7def9b9a5c54efc661bffbc4926707101f65cb 100644
|
||||
index c860c87a23b4d4b4328ccefbf7f1f127905f3605..fab0b33b9a3f0520f9b754a1c409557c9fb2acbd 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -583,10 +583,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -243,7 +243,7 @@ index 2c30bf2b0bdb29e549db10c324daceaa3fde38fd..9d7def9b9a5c54efc661bffbc4926707
|
||||
if (this.getHandle().connection == null) return; // Paper - Updates are possible before the player has fully joined
|
||||
for (ServerPlayer player : (List<ServerPlayer>) this.server.getHandle().players) {
|
||||
if (player.getBukkitEntity().canSee(this)) {
|
||||
@@ -3598,5 +3603,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -3596,5 +3601,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public boolean usesPurpurClient() {
|
||||
return getHandle().purpurClient;
|
||||
}
|
||||
@@ -317,7 +317,7 @@ index 65cbd35892ab48fccda9bccf2b4dd66be5c84a0d..42bff6f2d864a31dcb1c0087a4e0c902
|
||||
public boolean untamedTamablesAreRidable = true;
|
||||
public boolean useNightVisionWhenRiding = false;
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index 6ffe86aa887ebf96f21114a468e16376c2449911..64cf620bde9807d77658c9f17015445070a3e634 100644
|
||||
index 133bcf639a45bd7fa1a2d02410ea3e8568265007..b7df4f62eb5f128ef6202b30ed2ffdea10e8a241 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
@@ -198,6 +198,8 @@ public class ActivationRange
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Lagging threshold
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index ea9947022e036a3e32eca7325bb71380c58533f9..941463daa771010031765818fcec4fe541b96659 100644
|
||||
index 3b49ba20c2d5f3a202996b8a5ca5cbba46975985..28985699d407a69906de670ee67f922df4a6d714 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -328,6 +328,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -16,7 +16,7 @@ index ea9947022e036a3e32eca7325bb71380c58533f9..941463daa771010031765818fcec4fe5
|
||||
|
||||
public volatile Thread shutdownThread; // Paper
|
||||
public volatile boolean abnormalExit = false; // Paper
|
||||
@@ -1302,6 +1303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1301,6 +1302,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.recentTps[0] = tps1.getAverage();
|
||||
this.recentTps[1] = tps5.getAverage();
|
||||
this.recentTps[2] = tps15.getAverage();
|
||||
@@ -25,7 +25,7 @@ index ea9947022e036a3e32eca7325bb71380c58533f9..941463daa771010031765818fcec4fe5
|
||||
}
|
||||
// Paper end - further improve server tick loop
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 2f81978ec902f87da751debf5f6991ae26c9d1b6..db68e166c7d320d843112dba5a689654be88c278 100644
|
||||
index 18c1eaeee2627a9713ac721a3cc6398769ab15af..6d23e739cd02cdf965ef7f48e670e3715a1fbcd0 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -3257,5 +3257,10 @@ public final class CraftServer implements Server {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Minecart settings and WASD controls
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 3403d74ec3ef30ec110031f3972a8482eea0bf41..cc586ae7c58ff5a662c572af47e22468fe301152 100644
|
||||
index a9228aa69e31b0e69f0b07170de0ac99b64fe0fe..b5054c762382bb81fa83069a97467af08946f6e5 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1441,6 +1441,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
@@ -1442,6 +1442,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
if (this.isInvulnerableTo(world, source)) {
|
||||
return false;
|
||||
} else {
|
||||
@@ -17,7 +17,7 @@ index 3403d74ec3ef30ec110031f3972a8482eea0bf41..cc586ae7c58ff5a662c572af47e22468
|
||||
|
||||
if (!flag && this.spawnInvulnerableTime > 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||
index d8fcd6d1edec1f31a861fab4b86cbeb15ddc799d..c328f4155c0c4cc4f590d9d7a992497d8d129421 100644
|
||||
index d277f56fef882313d6d21f636fafae2f26630ad7..a1593297b6764ba0229cc1c8f5a55aef107ff9df 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java
|
||||
@@ -92,6 +92,7 @@ public abstract class AbstractMinecart extends VehicleEntity {
|
||||
@@ -26,9 +26,9 @@ index d8fcd6d1edec1f31a861fab4b86cbeb15ddc799d..c328f4155c0c4cc4f590d9d7a992497d
|
||||
public double maxSpeed = 0.4D;
|
||||
+ public double storedMaxSpeed; // Purpur
|
||||
// CraftBukkit end
|
||||
public net.kyori.adventure.util.TriState frictionState = net.kyori.adventure.util.TriState.NOT_SET; // Paper - Friction API
|
||||
|
||||
protected AbstractMinecart(EntityType<?> type, Level world) {
|
||||
@@ -102,6 +103,7 @@ public abstract class AbstractMinecart extends VehicleEntity {
|
||||
@@ -103,6 +104,7 @@ public abstract class AbstractMinecart extends VehicleEntity {
|
||||
} else {
|
||||
this.behavior = new OldMinecartBehavior(this);
|
||||
}
|
||||
@@ -36,7 +36,7 @@ index d8fcd6d1edec1f31a861fab4b86cbeb15ddc799d..c328f4155c0c4cc4f590d9d7a992497d
|
||||
|
||||
}
|
||||
|
||||
@@ -288,6 +290,12 @@ public abstract class AbstractMinecart extends VehicleEntity {
|
||||
@@ -289,6 +291,12 @@ public abstract class AbstractMinecart extends VehicleEntity {
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
@@ -49,7 +49,7 @@ index d8fcd6d1edec1f31a861fab4b86cbeb15ddc799d..c328f4155c0c4cc4f590d9d7a992497d
|
||||
// CraftBukkit start
|
||||
double prevX = this.getX();
|
||||
double prevY = this.getY();
|
||||
@@ -425,16 +433,62 @@ public abstract class AbstractMinecart extends VehicleEntity {
|
||||
@@ -426,16 +434,62 @@ public abstract class AbstractMinecart extends VehicleEntity {
|
||||
this.behavior.moveAlongTrack(world);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
||||
Date: Wed, 10 Jul 2019 20:43:05 -0500
|
||||
Subject: [PATCH] Option to toggle milk curing bad omen
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/consume_effects/ClearAllStatusEffectsConsumeEffect.java b/src/main/java/net/minecraft/world/item/consume_effects/ClearAllStatusEffectsConsumeEffect.java
|
||||
index 0651c2af040e3f248860cfb3c5effce91589380e..d884df481b4bbb978113a4ac7a1feac31cf2f951 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/consume_effects/ClearAllStatusEffectsConsumeEffect.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/consume_effects/ClearAllStatusEffectsConsumeEffect.java
|
||||
@@ -24,6 +24,12 @@ public record ClearAllStatusEffectsConsumeEffect() implements ConsumeEffect {
|
||||
@Override
|
||||
// CraftBukkit start
|
||||
public boolean apply(Level world, ItemStack itemstack, LivingEntity entityliving, EntityPotionEffectEvent.Cause cause) {
|
||||
+ // Purpur start
|
||||
+ net.minecraft.world.effect.MobEffectInstance badOmen = entityliving.getEffect(net.minecraft.world.effect.MobEffects.BAD_OMEN);
|
||||
+ if (!world.purpurConfig.milkCuresBadOmen && itemstack.is(net.minecraft.world.item.Items.MILK_BUCKET) && badOmen != null) {
|
||||
+ return entityliving.removeAllEffects(cause) && entityliving.addEffect(badOmen);
|
||||
+ }
|
||||
+ // Purpur end
|
||||
return entityliving.removeAllEffects(cause);
|
||||
// CraftBukkit end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 03f5aea7bc98984ced82c7dce93cc4ea4c48179f..dc90d85b1c9e44163a92d25590d2e82901e32262 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -97,8 +97,10 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
|
||||
public boolean disableDropsOnCrammingDeath = false;
|
||||
+ public boolean milkCuresBadOmen = true;
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
|
||||
+ milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
|
||||
}
|
||||
|
||||
public double minecartMaxSpeed = 0.4D;
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for F3+N debug
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 7ec26117aa6d98140e994567fd0ded33d308e3d4..e8f43bcf810b200f0dfcac6feae7761f54dda6fe 100644
|
||||
index 718b9f237448685900cbb722510c93353a8c28b2..54e8d35edd45afd2dc152e60cc4ac96dd2916d55 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1102,6 +1102,7 @@ public abstract class PlayerList {
|
||||
@@ -1108,6 +1108,7 @@ public abstract class PlayerList {
|
||||
} else {
|
||||
b0 = (byte) (24 + permissionLevel);
|
||||
}
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 941463daa771010031765818fcec4fe541b96659..a1ba1896963ab0127de00f5906351872760e5439 100644
|
||||
index 28985699d407a69906de670ee67f922df4a6d714..9a48d35cf1266c6fb7ab6cbf23b63a0b56451c0d 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1342,6 +1342,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1341,6 +1341,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
gameprofilerfiller.popPush("nextTickWait");
|
||||
this.mayHaveDelayedTasks = true;
|
||||
this.delayedTasksMaxNextTickTimeNanos = Math.max(Util.getNanos() + i, this.nextTickTimeNanos);
|
||||
@@ -18,16 +18,17 @@ index 322733266fdca8ce43434a8ffea304c51794bcbb..489c26423a7f5bc9da45d247de57ec98
|
||||
Level world = this.level();
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 830ba18f1695bbf4099a9579166e29618206ba83..68e417cbe0c633528b1a064d64a061c0576ef3f8 100644
|
||||
index dc90d85b1c9e44163a92d25590d2e82901e32262..dd2a46697e8d85adcb5382c47f469cad2b420da2 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -97,8 +97,10 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
@@ -98,9 +98,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
public boolean disableDropsOnCrammingDeath = false;
|
||||
public boolean milkCuresBadOmen = true;
|
||||
+ public double tridentLoyaltyVoidReturnHeight = 0.0D;
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
|
||||
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
|
||||
+ tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
|
||||
}
|
||||
|
||||
@@ -38,10 +38,10 @@ index 4265dc40f7337e565d236eb3c04847a87494fc86..a356e7ac34aca1d14cb922565206304d
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 79e0d1b547668c006ff4d23722be99f69b4636fe..492c2a897368cc1477bc5b8fc776e5a6272e8a90 100644
|
||||
index dd2a46697e8d85adcb5382c47f469cad2b420da2..df21a5f89b1c659bc0dfea8f42362ef09b368d81 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -485,6 +485,7 @@ public class PurpurWorldConfig {
|
||||
@@ -487,6 +487,7 @@ public class PurpurWorldConfig {
|
||||
public double creeperMaxHealth = 20.0D;
|
||||
public double creeperScale = 1.0D;
|
||||
public double creeperChargedChance = 0.0D;
|
||||
@@ -49,7 +49,7 @@ index 79e0d1b547668c006ff4d23722be99f69b4636fe..492c2a897368cc1477bc5b8fc776e5a6
|
||||
private void creeperSettings() {
|
||||
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
|
||||
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
|
||||
@@ -497,6 +498,7 @@ public class PurpurWorldConfig {
|
||||
@@ -499,6 +500,7 @@ public class PurpurWorldConfig {
|
||||
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
|
||||
creeperScale = Mth.clamp(getDouble("mobs.creeper.attributes.scale", creeperScale), 0.0625D, 16.0D);
|
||||
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
|
||||
@@ -57,7 +57,7 @@ index 79e0d1b547668c006ff4d23722be99f69b4636fe..492c2a897368cc1477bc5b8fc776e5a6
|
||||
}
|
||||
|
||||
public boolean dolphinRidable = false;
|
||||
@@ -610,6 +612,7 @@ public class PurpurWorldConfig {
|
||||
@@ -612,6 +614,7 @@ public class PurpurWorldConfig {
|
||||
public boolean endermanControllable = true;
|
||||
public double endermanMaxHealth = 40.0D;
|
||||
public double endermanScale = 1.0D;
|
||||
@@ -65,7 +65,7 @@ index 79e0d1b547668c006ff4d23722be99f69b4636fe..492c2a897368cc1477bc5b8fc776e5a6
|
||||
private void endermanSettings() {
|
||||
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
|
||||
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
|
||||
@@ -621,6 +624,7 @@ public class PurpurWorldConfig {
|
||||
@@ -623,6 +626,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
|
||||
endermanScale = Mth.clamp(getDouble("mobs.enderman.attributes.scale", endermanScale), 0.0625D, 16.0D);
|
||||
@@ -54,10 +54,10 @@ index f741aca818bc983b034b3ac9864c1d71c714f9b4..c8f6a6fd0d954346e8651b83e05063e0
|
||||
this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
|
||||
this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index e9e999d06fec2918fc2ee0fed05f8fb88b9675c1..96cc376fb7e32ab9c2d7c8697ad98bfe00c6958a 100644
|
||||
index df21a5f89b1c659bc0dfea8f42362ef09b368d81..228ad3c9186d7128430be0edcd4447b168206721 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1573,6 +1573,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1575,6 +1575,7 @@ public class PurpurWorldConfig {
|
||||
public boolean villagerControllable = true;
|
||||
public double villagerMaxHealth = 20.0D;
|
||||
public double villagerScale = 1.0D;
|
||||
@@ -65,7 +65,7 @@ index e9e999d06fec2918fc2ee0fed05f8fb88b9675c1..96cc376fb7e32ab9c2d7c8697ad98bfe
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
@@ -1584,6 +1585,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1586,6 +1587,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
|
||||
villagerScale = Mth.clamp(getDouble("mobs.villager.attributes.scale", villagerScale), 0.0625D, 16.0D);
|
||||
@@ -73,7 +73,7 @@ index e9e999d06fec2918fc2ee0fed05f8fb88b9675c1..96cc376fb7e32ab9c2d7c8697ad98bfe
|
||||
}
|
||||
|
||||
public boolean vindicatorRidable = false;
|
||||
@@ -1609,6 +1611,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1611,6 +1613,7 @@ public class PurpurWorldConfig {
|
||||
public boolean wanderingTraderControllable = true;
|
||||
public double wanderingTraderMaxHealth = 20.0D;
|
||||
public double wanderingTraderScale = 1.0D;
|
||||
@@ -81,7 +81,7 @@ index e9e999d06fec2918fc2ee0fed05f8fb88b9675c1..96cc376fb7e32ab9c2d7c8697ad98bfe
|
||||
private void wanderingTraderSettings() {
|
||||
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
|
||||
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
|
||||
@@ -1620,6 +1623,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1622,6 +1625,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
|
||||
wanderingTraderScale = Mth.clamp(getDouble("mobs.wandering_trader.attributes.scale", wanderingTraderScale), 0.0625D, 16.0D);
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Allow leashing villagers
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 809ab6aaf50e573099dfb4ef839e3c2825cb7793..e4293aea8564372d29cc7076b0efdb5e957c8d9d 100644
|
||||
index db6feb93b43be183700337d1470eab9127e620f3..907d4661f123ae04c06c9fff8ebdf0b528ed21ba 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3125,6 +3125,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -49,10 +49,10 @@ index c8f6a6fd0d954346e8651b83e05063e09b53f7f9..7b8b5a7b1fea50c7b238afc4b3d79746
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 96cc376fb7e32ab9c2d7c8697ad98bfe00c6958a..d39d2ee00b3a2f487d0c341d4103f04ffe516022 100644
|
||||
index 228ad3c9186d7128430be0edcd4447b168206721..21c2b19f40f43ec78ff891c6333d8773f84ec85b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1574,6 +1574,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1576,6 +1576,7 @@ public class PurpurWorldConfig {
|
||||
public double villagerMaxHealth = 20.0D;
|
||||
public double villagerScale = 1.0D;
|
||||
public boolean villagerFollowEmeraldBlock = false;
|
||||
@@ -60,7 +60,7 @@ index 96cc376fb7e32ab9c2d7c8697ad98bfe00c6958a..d39d2ee00b3a2f487d0c341d4103f04f
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
@@ -1586,6 +1587,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1588,6 +1589,7 @@ public class PurpurWorldConfig {
|
||||
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
|
||||
villagerScale = Mth.clamp(getDouble("mobs.villager.attributes.scale", villagerScale), 0.0625D, 16.0D);
|
||||
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
|
||||
@@ -68,7 +68,7 @@ index 96cc376fb7e32ab9c2d7c8697ad98bfe00c6958a..d39d2ee00b3a2f487d0c341d4103f04f
|
||||
}
|
||||
|
||||
public boolean vindicatorRidable = false;
|
||||
@@ -1612,6 +1614,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1614,6 +1616,7 @@ public class PurpurWorldConfig {
|
||||
public double wanderingTraderMaxHealth = 20.0D;
|
||||
public double wanderingTraderScale = 1.0D;
|
||||
public boolean wanderingTraderFollowEmeraldBlock = false;
|
||||
@@ -76,7 +76,7 @@ index 96cc376fb7e32ab9c2d7c8697ad98bfe00c6958a..d39d2ee00b3a2f487d0c341d4103f04f
|
||||
private void wanderingTraderSettings() {
|
||||
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
|
||||
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
|
||||
@@ -1624,6 +1627,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1626,6 +1629,7 @@ public class PurpurWorldConfig {
|
||||
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
|
||||
wanderingTraderScale = Mth.clamp(getDouble("mobs.wandering_trader.attributes.scale", wanderingTraderScale), 0.0625D, 16.0D);
|
||||
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
|
||||
@@ -67,10 +67,10 @@ index 552925ba47c7475e2e1ec2ded0966f28ed3e50a5..1e741f36b79585f33abe413beafe00cf
|
||||
@Override
|
||||
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
|
||||
index d39d2ee00b3a2f487d0c341d4103f04ffe516022..dcc6cd317d6b1da58a3deb9fb022a2ba36cdd509 100644
|
||||
index 21c2b19f40f43ec78ff891c6333d8773f84ec85b..719ebfa48a36f7290e3212fcaf9920b733e7e2ff 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -220,6 +220,11 @@ public class PurpurWorldConfig {
|
||||
@@ -222,6 +222,11 @@ public class PurpurWorldConfig {
|
||||
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ index d39d2ee00b3a2f487d0c341d4103f04ffe516022..dcc6cd317d6b1da58a3deb9fb022a2ba
|
||||
public boolean turtleEggsBreakFromExpOrbs = false;
|
||||
public boolean turtleEggsBreakFromItems = false;
|
||||
public boolean turtleEggsBreakFromMinecarts = false;
|
||||
@@ -229,6 +234,11 @@ public class PurpurWorldConfig {
|
||||
@@ -231,6 +236,11 @@ public class PurpurWorldConfig {
|
||||
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
|
||||
}
|
||||
|
||||
@@ -18,10 +18,10 @@ index e9687c3580e5fff33ce902eb7b86eb815ca1072d..6e643c1a7f7e71cfd20603facaf22498
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index dcc6cd317d6b1da58a3deb9fb022a2ba36cdd509..e41649d2abd8e8ea4ddeb0af1f94d90a60174198 100644
|
||||
index 719ebfa48a36f7290e3212fcaf9920b733e7e2ff..a999f7333e0639f9e13c7dc4bb065bac0d5c73b8 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -221,8 +221,12 @@ public class PurpurWorldConfig {
|
||||
@@ -223,8 +223,12 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
|
||||
public int lavaInfiniteRequiredSources = 2;
|
||||
@@ -34,10 +34,10 @@ index d1b6e7cf8d110d9106ea99431cf9719ea3b102d5..f4823112f2daf2aa75e1f4520fb91077
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index e41649d2abd8e8ea4ddeb0af1f94d90a60174198..364321ea60e256edb10fea8efe4bfb3cdf33f3fb 100644
|
||||
index a999f7333e0639f9e13c7dc4bb065bac0d5c73b8..6668d186ff2f8e94ac7a7ce1de9fa0ee86757380 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -170,6 +170,8 @@ public class PurpurWorldConfig {
|
||||
@@ -172,6 +172,8 @@ public class PurpurWorldConfig {
|
||||
public boolean idleTimeoutCountAsSleeping = false;
|
||||
public boolean idleTimeoutUpdateTabList = false;
|
||||
public boolean idleTimeoutTargetPlayer = true;
|
||||
@@ -46,7 +46,7 @@ index e41649d2abd8e8ea4ddeb0af1f94d90a60174198..364321ea60e256edb10fea8efe4bfb3c
|
||||
private void playerSettings() {
|
||||
if (PurpurConfig.version < 19) {
|
||||
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
|
||||
@@ -181,6 +183,8 @@ public class PurpurWorldConfig {
|
||||
@@ -183,6 +185,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);
|
||||
@@ -19,7 +19,7 @@ index 1029b6de6f36b08bf634b4056ef5701383f6f258..ee0d1df78838e05450ad1a06ce70eab2
|
||||
|
||||
final ConfigurationTransformation.VersionedBuilder versionedBuilder = Transformations.versionedBuilder();
|
||||
diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
||||
index a81a332ffb80e67d7f886295099b5cd2ae8994c5..1d18cad6c32815854ff8dace256b59022200c842 100644
|
||||
index dad3fcc689ec806f985122a7cbd501a7d0fd0d36..b7428b8c287980941eaa5c5d1f1d321955277a09 100644
|
||||
--- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
||||
+++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
||||
@@ -400,6 +400,7 @@ public class WorldConfiguration extends ConfigurationPart {
|
||||
@@ -41,10 +41,10 @@ index a81a332ffb80e67d7f886295099b5cd2ae8994c5..1d18cad6c32815854ff8dace256b5902
|
||||
|
||||
public class FrostedIce extends ConfigurationPart {
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index a1ba1896963ab0127de00f5906351872760e5439..5b917da2009c31f62a21b3064c865dc181986843 100644
|
||||
index 9a48d35cf1266c6fb7ab6cbf23b63a0b56451c0d..d6b97aed27a628110145f83e120a54fcf650c621 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1268,7 +1268,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1267,7 +1267,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
LOGGER.info("*************************************************************************************");
|
||||
}
|
||||
// Paper end - Add onboarding message for initial server start
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add canSaveToDisk to Entity
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index b4732c20d5ab28cefcf14c650c9f32ea858381ed..a52ea836951da04b8ff15581c7e9323cfed53a92 100644
|
||||
index 907d4661f123ae04c06c9fff8ebdf0b528ed21ba..863780d37c804fc7a085f540af2b70491c570877 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -611,6 +611,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Dispenser curse of binding protection
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/core/dispenser/EquipmentDispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/EquipmentDispenseItemBehavior.java
|
||||
index a43ea83dbbd5946096cdde31af766674bda6c3be..8077334c24c3bf17404f24a8c5f22134ea01274d 100644
|
||||
index bf8c511739265c6a9cd277752e844481598f8966..ffe2399ab6b1f311536475d8216238b5b01c5dab 100644
|
||||
--- a/src/main/java/net/minecraft/core/dispenser/EquipmentDispenseItemBehavior.java
|
||||
+++ b/src/main/java/net/minecraft/core/dispenser/EquipmentDispenseItemBehavior.java
|
||||
@@ -41,7 +41,7 @@ public class EquipmentDispenseItemBehavior extends DefaultDispenseItemBehavior {
|
||||
@@ -14,11 +14,11 @@ index a43ea83dbbd5946096cdde31af766674bda6c3be..8077334c24c3bf17404f24a8c5f22134
|
||||
LivingEntity entityliving = (LivingEntity) list.getFirst();
|
||||
- EquipmentSlot enumitemslot = entityliving.getEquipmentSlotForItem(stack);
|
||||
+ EquipmentSlot enumitemslot = pointer.level().purpurConfig.dispenserApplyCursedArmor ? entityliving.getEquipmentSlotForItem(stack) : entityliving.getEquipmentSlotForDispenserItem(stack); if (enumitemslot == null) return false; // Purpur - Dispenser curse of binding protection
|
||||
ItemStack itemstack1 = stack.split(1);
|
||||
ItemStack itemstack1 = stack.copyWithCount(1); // Paper - shrink below and single item in event
|
||||
|
||||
// CraftBukkit start
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 4fc0aa48e4e0e291ba3f8291a2dfa671fbe553e5..bc21cac3af01dd2cca1d4431a1b651e8c71accae 100644
|
||||
index 85e0464199145b769beea337b3f7cdcb3e658eb7..b19d76ddb99f67c3bff08cc22b195ab08b4e5902 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -4669,7 +4669,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -44,10 +44,10 @@ index 4fc0aa48e4e0e291ba3f8291a2dfa671fbe553e5..bc21cac3af01dd2cca1d4431a1b651e8
|
||||
return slot != EquipmentSlot.HEAD && slot != EquipmentSlot.MAINHAND && slot != EquipmentSlot.OFFHAND ? SlotAccess.forEquipmentSlot(entity, slot, (itemstack) -> {
|
||||
return itemstack.isEmpty() || entity.getEquipmentSlotForItem(itemstack) == slot;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index cd90555354713be9a26c0a0abed43535a61281e8..680a89bff31861c25d76bf7ab59d87232228b34c 100644
|
||||
index 6668d186ff2f8e94ac7a7ce1de9fa0ee86757380..4a3fd89f79d539dd167fe3b616a0e0c539a9ac8f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -219,6 +219,11 @@ public class PurpurWorldConfig {
|
||||
@@ -221,6 +221,11 @@ public class PurpurWorldConfig {
|
||||
});
|
||||
}
|
||||
|
||||
@@ -17,18 +17,19 @@ index 1fdbef16cd29c8fc74578ac3328f985eca61088d..e523f651e8776a89ffba015921d708f5
|
||||
} else {
|
||||
return AbstractBoat.Status.IN_AIR;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 4b3727f9c4e4f1de2745e4984ad660b6a0ac7797..b87d96e31d5b0f931a420ae302ce944c94ffa97b 100644
|
||||
index 4a3fd89f79d539dd167fe3b616a0e0c539a9ac8f..968ac3249b4971c68be4e32ce35ae9456a92e52f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -96,9 +96,11 @@ public class PurpurWorldConfig {
|
||||
@@ -96,10 +96,12 @@ public class PurpurWorldConfig {
|
||||
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
|
||||
}
|
||||
|
||||
+ public boolean boatEjectPlayersOnLand = false;
|
||||
public boolean disableDropsOnCrammingDeath = false;
|
||||
public boolean milkCuresBadOmen = true;
|
||||
public double tridentLoyaltyVoidReturnHeight = 0.0D;
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
+ boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
|
||||
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
|
||||
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
|
||||
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
|
||||
}
|
||||
@@ -110,19 +110,20 @@ index d8fc10f9cd0ab2c26e64613006569a86ce201550..73241113e50dc8be89ef8850d49d95ec
|
||||
+ // Purpur end - Add option to mend the most damaged equipment first
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b87d96e31d5b0f931a420ae302ce944c94ffa97b..49efe798ae09c000c708001ca896620c468933d5 100644
|
||||
index 968ac3249b4971c68be4e32ce35ae9456a92e52f..2aa4a46418d37fd53ab215cf1bb4438f5efd8df7 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -96,10 +96,12 @@ public class PurpurWorldConfig {
|
||||
@@ -96,11 +96,13 @@ public class PurpurWorldConfig {
|
||||
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
|
||||
}
|
||||
|
||||
+ public boolean useBetterMending = false;
|
||||
public boolean boatEjectPlayersOnLand = false;
|
||||
public boolean disableDropsOnCrammingDeath = false;
|
||||
public boolean milkCuresBadOmen = true;
|
||||
public double tridentLoyaltyVoidReturnHeight = 0.0D;
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
+ useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
||||
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
|
||||
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
|
||||
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
|
||||
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
|
||||
@@ -26,7 +26,7 @@ index 12b327eea95e0de9e9c39b7d039badee8ec46508..849ecc5af70901f1e40cb6c419f33f1c
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 5b917da2009c31f62a21b3064c865dc181986843..49ed4f9d930b50bb11a9ecbfff0b99ea2ccd29c7 100644
|
||||
index d6b97aed27a628110145f83e120a54fcf650c621..9b93c5e5671bc910e8880a29ced9c4a5f0d36d53 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -324,7 +324,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -38,7 +38,7 @@ index 5b917da2009c31f62a21b3064c865dc181986843..49ed4f9d930b50bb11a9ecbfff0b99ea
|
||||
// Spigot end
|
||||
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; // Paper - add paper configuration files
|
||||
public boolean isIteratingOverLevels = false; // Paper - Throw exception on world create while being ticked
|
||||
@@ -1182,6 +1182,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1181,6 +1181,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
|
||||
private long lastTick = 0;
|
||||
private long catchupTime = 0;
|
||||
@@ -46,7 +46,7 @@ index 5b917da2009c31f62a21b3064c865dc181986843..49ed4f9d930b50bb11a9ecbfff0b99ea
|
||||
public final RollingAverage tps1 = new RollingAverage(60);
|
||||
public final RollingAverage tps5 = new RollingAverage(60 * 5);
|
||||
public final RollingAverage tps15 = new RollingAverage(60 * 15);
|
||||
@@ -1303,14 +1304,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1302,14 +1303,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
if (++MinecraftServer.currentTick % MinecraftServer.SAMPLE_INTERVAL == 0) {
|
||||
final long diff = currentTime - tickSection;
|
||||
final java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
|
||||
@@ -82,7 +82,7 @@ index 096c89bd01cec2abd151bf6fffc4847d1bcd548f..cd0a8a6a1be75cab8bbb8ee3ac17bb73
|
||||
this.values[this.vp++ & 0xFF] = (int)(l * 100L / Runtime.getRuntime().maxMemory());
|
||||
this.repaint();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index db68e166c7d320d843112dba5a689654be88c278..6e92cc1832510a9ed776f54e43d596fe4f8831d9 100644
|
||||
index 6d23e739cd02cdf965ef7f48e670e3715a1fbcd0..c08ed484a5fd32ce06855eab786e2b222ccfa2a3 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -3053,6 +3053,7 @@ public final class CraftServer implements Server {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Implement elytra settings
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index bc21cac3af01dd2cca1d4431a1b651e8c71accae..e49b530e8bdcff5aacc693f6e859c9c98fd50a19 100644
|
||||
index b19d76ddb99f67c3bff08cc22b195ab08b4e5902..66ae89ade2bb19b0a8498573f8c0c68ff0628594 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -3738,7 +3738,17 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -111,10 +111,10 @@ index 8b9a93ef71164cce8a616735b71d96d37e83b1a8..24b97c8e2758e4a991dbbbf5276580e1
|
||||
entityhuman.startAutoSpinAttack(20, 8.0F, stack);
|
||||
if (entityhuman.onGround()) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 9de89f7d5609748eaf188f4666120a4502a32b57..95a7e0870e45004523278ae78c25b9db80882630 100644
|
||||
index 2aa4a46418d37fd53ab215cf1bb4438f5efd8df7..b8113e86c3b4dfa4ebb8fc668057a902dd8c30d8 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -107,6 +107,17 @@ public class PurpurWorldConfig {
|
||||
@@ -109,6 +109,17 @@ public class PurpurWorldConfig {
|
||||
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ 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
|
||||
index 5bbc7ceaafc163f12344e5d5d355ad2ff30ddca2..af54b621f04de40b1539494f30bb95f03656b590 100644
|
||||
index 90eb4927fa51ce3df86aa7b6c71f49150a03e337..d8717af85f539da807ddf866e17f1e643c83d3f6 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
|
||||
@@ -81,7 +81,7 @@ public class ServerEntity {
|
||||
@@ -18,7 +18,7 @@ index 5bbc7ceaafc163f12344e5d5d355ad2ff30ddca2..af54b621f04de40b1539494f30bb95f0
|
||||
public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer<Packet<?>> consumer, Set<ServerPlayerConnection> 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
|
||||
index 5d8885bca55503bf7e1a2a4e1bb9b3bd86d55391..89d89a1b07231f3f009a8fa66374af3fcc3e2549 100644
|
||||
index 0f086af57a5ff08c264dcbf89a8c3931ec73a609..c63cf322e0d00b5ec9929db8c22d4a392049160f 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -64,6 +64,12 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -117,10 +117,10 @@ index 30d62ee4d5cd2ddacb8783b5bbbf475d592b3e02..01e4395f1669d21c30465aa1366bd2f1
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 95a7e0870e45004523278ae78c25b9db80882630..2a566e9eec02cf19d409dadff3ffaabc7715e05a 100644
|
||||
index b8113e86c3b4dfa4ebb8fc668057a902dd8c30d8..0766f4cb00caac477e7ee0d537dc1f5304cd7d1a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -118,6 +118,49 @@ public class PurpurWorldConfig {
|
||||
@@ -120,6 +120,49 @@ public class PurpurWorldConfig {
|
||||
elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
|
||||
}
|
||||
|
||||
@@ -167,10 +167,10 @@ index ba1ce7e0ed888bd47312e9d7da5426f5c1015d07..650f9e1ca3a5ddec5123133c9604f331
|
||||
public void setPersistentAngerTarget(@Nullable UUID angryAt) {
|
||||
this.persistentAngerTarget = angryAt;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 75e969ed3887fe2c57ca080e4f4b56dc53e295cb..6c5729b86a0540aa1ced33640170b4145efa08ba 100644
|
||||
index 0766f4cb00caac477e7ee0d537dc1f5304cd7d1a..7c1f903c41839251a69d38ba58fb4a7038f8901a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -634,6 +634,9 @@ public class PurpurWorldConfig {
|
||||
@@ -636,6 +636,9 @@ public class PurpurWorldConfig {
|
||||
public double drownedMaxHealth = 20.0D;
|
||||
public double drownedScale = 1.0D;
|
||||
public double drownedSpawnReinforcements = 0.1D;
|
||||
@@ -180,7 +180,7 @@ index 75e969ed3887fe2c57ca080e4f4b56dc53e295cb..6c5729b86a0540aa1ced33640170b414
|
||||
private void drownedSettings() {
|
||||
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
|
||||
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
|
||||
@@ -646,6 +649,9 @@ public class PurpurWorldConfig {
|
||||
@@ -648,6 +651,9 @@ public class PurpurWorldConfig {
|
||||
drownedMaxHealth = getDouble("mobs.drowned.attributes.max_health", drownedMaxHealth);
|
||||
drownedScale = Mth.clamp(getDouble("mobs.drowned.attributes.scale", drownedScale), 0.0625D, 16.0D);
|
||||
drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements);
|
||||
@@ -190,7 +190,7 @@ index 75e969ed3887fe2c57ca080e4f4b56dc53e295cb..6c5729b86a0540aa1ced33640170b414
|
||||
}
|
||||
|
||||
public boolean elderGuardianRidable = false;
|
||||
@@ -917,6 +923,9 @@ public class PurpurWorldConfig {
|
||||
@@ -919,6 +925,9 @@ public class PurpurWorldConfig {
|
||||
public double huskMaxHealth = 20.0D;
|
||||
public double huskScale = 1.0D;
|
||||
public double huskSpawnReinforcements = 0.1D;
|
||||
@@ -200,7 +200,7 @@ index 75e969ed3887fe2c57ca080e4f4b56dc53e295cb..6c5729b86a0540aa1ced33640170b414
|
||||
private void huskSettings() {
|
||||
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
|
||||
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
|
||||
@@ -929,6 +938,9 @@ public class PurpurWorldConfig {
|
||||
@@ -931,6 +940,9 @@ public class PurpurWorldConfig {
|
||||
huskMaxHealth = getDouble("mobs.husk.attributes.max_health", huskMaxHealth);
|
||||
huskScale = Mth.clamp(getDouble("mobs.husk.attributes.scale", huskScale), 0.0625D, 16.0D);
|
||||
huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements);
|
||||
@@ -210,7 +210,7 @@ index 75e969ed3887fe2c57ca080e4f4b56dc53e295cb..6c5729b86a0540aa1ced33640170b414
|
||||
}
|
||||
|
||||
public boolean illusionerRidable = false;
|
||||
@@ -1822,6 +1834,9 @@ public class PurpurWorldConfig {
|
||||
@@ -1824,6 +1836,9 @@ public class PurpurWorldConfig {
|
||||
public double zombieMaxHealth = 20.0D;
|
||||
public double zombieScale = 1.0D;
|
||||
public double zombieSpawnReinforcements = 0.1D;
|
||||
@@ -220,7 +220,7 @@ index 75e969ed3887fe2c57ca080e4f4b56dc53e295cb..6c5729b86a0540aa1ced33640170b414
|
||||
private void zombieSettings() {
|
||||
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
|
||||
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
|
||||
@@ -1834,6 +1849,9 @@ public class PurpurWorldConfig {
|
||||
@@ -1836,6 +1851,9 @@ public class PurpurWorldConfig {
|
||||
zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth);
|
||||
zombieScale = Mth.clamp(getDouble("mobs.zombie.attributes.scale", zombieScale), 0.0625D, 16.0D);
|
||||
zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements);
|
||||
@@ -230,7 +230,7 @@ index 75e969ed3887fe2c57ca080e4f4b56dc53e295cb..6c5729b86a0540aa1ced33640170b414
|
||||
}
|
||||
|
||||
public boolean zombieHorseRidable = false;
|
||||
@@ -1871,6 +1889,9 @@ public class PurpurWorldConfig {
|
||||
@@ -1873,6 +1891,9 @@ public class PurpurWorldConfig {
|
||||
public double zombieVillagerMaxHealth = 20.0D;
|
||||
public double zombieVillagerScale = 1.0D;
|
||||
public double zombieVillagerSpawnReinforcements = 0.1D;
|
||||
@@ -240,7 +240,7 @@ index 75e969ed3887fe2c57ca080e4f4b56dc53e295cb..6c5729b86a0540aa1ced33640170b414
|
||||
private void zombieVillagerSettings() {
|
||||
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
|
||||
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
|
||||
@@ -1883,6 +1904,9 @@ public class PurpurWorldConfig {
|
||||
@@ -1885,6 +1906,9 @@ public class PurpurWorldConfig {
|
||||
zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth);
|
||||
zombieVillagerScale = Mth.clamp(getDouble("mobs.zombie_villager.attributes.scale", zombieVillagerScale), 0.0625D, 16.0D);
|
||||
zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements);
|
||||
@@ -250,7 +250,7 @@ index 75e969ed3887fe2c57ca080e4f4b56dc53e295cb..6c5729b86a0540aa1ced33640170b414
|
||||
}
|
||||
|
||||
public boolean zombifiedPiglinRidable = false;
|
||||
@@ -1891,6 +1915,9 @@ public class PurpurWorldConfig {
|
||||
@@ -1893,6 +1917,9 @@ public class PurpurWorldConfig {
|
||||
public double zombifiedPiglinMaxHealth = 20.0D;
|
||||
public double zombifiedPiglinScale = 1.0D;
|
||||
public double zombifiedPiglinSpawnReinforcements = 0.0D;
|
||||
@@ -260,7 +260,7 @@ index 75e969ed3887fe2c57ca080e4f4b56dc53e295cb..6c5729b86a0540aa1ced33640170b414
|
||||
private void zombifiedPiglinSettings() {
|
||||
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
|
||||
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
|
||||
@@ -1903,5 +1930,8 @@ public class PurpurWorldConfig {
|
||||
@@ -1905,5 +1932,8 @@ public class PurpurWorldConfig {
|
||||
zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth);
|
||||
zombifiedPiglinScale = Mth.clamp(getDouble("mobs.zombified_piglin.attributes.scale", zombifiedPiglinScale), 0.0625D, 16.0D);
|
||||
zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements);
|
||||
@@ -256,10 +256,10 @@ index e44d6d02ceaf1f133705efcd58b94e36014389ec..bd1c23d849269df504c94da9d0ca0a68
|
||||
|
||||
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
|
||||
index 247f476b060221daaec64b975ebce74b458c5ec2..cfdb01c51909ac44a952fcd720af4b88157835b8 100644
|
||||
index 7c1f903c41839251a69d38ba58fb4a7038f8901a..50db395f519db1d25174e2bdb930e11a05167603 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1148,6 +1148,9 @@ public class PurpurWorldConfig {
|
||||
@@ -1150,6 +1150,9 @@ public class PurpurWorldConfig {
|
||||
public String phantomAttackDamage = "6 + size";
|
||||
public Map<Integer, Double> phantomMaxHealthCache = new HashMap<>();
|
||||
public Map<Integer, Double> phantomAttackDamageCache = new HashMap<>();
|
||||
@@ -269,7 +269,7 @@ index 247f476b060221daaec64b975ebce74b458c5ec2..cfdb01c51909ac44a952fcd720af4b88
|
||||
private void phantomSettings() {
|
||||
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
|
||||
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
|
||||
@@ -1169,6 +1172,9 @@ public class PurpurWorldConfig {
|
||||
@@ -1171,6 +1174,9 @@ public class PurpurWorldConfig {
|
||||
phantomAttackDamage = getString("mobs.phantom.attributes.attack_damage", phantomAttackDamage);
|
||||
phantomMaxHealthCache.clear();
|
||||
phantomAttackDamageCache.clear();
|
||||
@@ -40,10 +40,10 @@ index 021221da5d0315f6e371380a705ac6b3f6ac18d3..27eb9a365006884c85603dc6d9dd8eee
|
||||
for (int l = 0; l < k; ++l) {
|
||||
// Paper start - PhantomPreSpawnEvent
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 65c8b2e76677b92fee94e1149a9ce3803b3f1737..2858714275c2e3e9c0defaf264eeaade89e7cdaa 100644
|
||||
index 50db395f519db1d25174e2bdb930e11a05167603..862e65def7fd59810ca9bf206298556d900aa28d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1151,6 +1151,12 @@ public class PurpurWorldConfig {
|
||||
@@ -1153,6 +1153,12 @@ public class PurpurWorldConfig {
|
||||
public double phantomAttackedByCrystalRadius = 0.0D;
|
||||
public float phantomAttackedByCrystalDamage = 1.0F;
|
||||
public double phantomOrbitCrystalRadius = 0.0D;
|
||||
@@ -56,7 +56,7 @@ index 65c8b2e76677b92fee94e1149a9ce3803b3f1737..2858714275c2e3e9c0defaf264eeaade
|
||||
private void phantomSettings() {
|
||||
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
|
||||
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
|
||||
@@ -1175,6 +1181,12 @@ public class PurpurWorldConfig {
|
||||
@@ -1177,6 +1183,12 @@ public class PurpurWorldConfig {
|
||||
phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius);
|
||||
phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
|
||||
phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius);
|
||||
@@ -27,10 +27,10 @@ index c02c4834ace843633b77fb43eeadd3ddc7b1f743..3b19395f2ddee654a77df5738a1942a0
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 2858714275c2e3e9c0defaf264eeaade89e7cdaa..60bc2a992d407ad99705af0e34ec3c2182e1cc23 100644
|
||||
index 862e65def7fd59810ca9bf206298556d900aa28d..cecd694e5a3f6ce3ce4e92b71f7e6f917d5091c7 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -277,6 +277,27 @@ public class PurpurWorldConfig {
|
||||
@@ -279,6 +279,27 @@ public class PurpurWorldConfig {
|
||||
});
|
||||
}
|
||||
|
||||
@@ -18,10 +18,10 @@ index 9117c035d5a6ff114b028fad3380ceb1fc2b9691..2c5e394156dbf76107adb4913a094dfd
|
||||
|
||||
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
|
||||
index 60bc2a992d407ad99705af0e34ec3c2182e1cc23..a168eb5c1f08ad4def8421e298512c532ec06988 100644
|
||||
index cecd694e5a3f6ce3ce4e92b71f7e6f917d5091c7..df753eb03c427268d404598b96b8285a00460e2d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -317,6 +317,27 @@ public class PurpurWorldConfig {
|
||||
@@ -319,6 +319,27 @@ public class PurpurWorldConfig {
|
||||
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ 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
|
||||
index c65c924f739b1c2ed328c936ec1854e0bc1d5b84..fc3eda4b692482d95aade888e624ba0343a541f8 100644
|
||||
index 58540f1b04e569198c09ada7415a48b9af69147a..97caf27fe92ff6e34e2edba77abd3fa42211b00a 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1248,10 +1248,14 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -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
|
||||
index fc3eda4b692482d95aade888e624ba0343a541f8..d6ba87cd80abe6126a21df0aafc208a8a2260322 100644
|
||||
index 97caf27fe92ff6e34e2edba77abd3fa42211b00a..c5f36e6a37d1d718e145de85b9a0a89114790d36 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2855,6 +2855,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -2856,6 +2856,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
AABB axisalignedbb = entity.getBoundingBox();
|
||||
|
||||
if (this.player.canInteractWithEntity(axisalignedbb, io.papermc.paper.configuration.GlobalConfiguration.get().misc.clientInteractionLeniencyDistance.or(3.0D))) { // Paper - configurable lenience value for interact range
|
||||
@@ -94,10 +94,10 @@ index bc2380a71aa65c40f326c1f6bdf15ee25346ffee..8ce316292850353231e529f75630d3fd
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index cc890a4ac7cb6fc24f5903538d0f002e1df09d37..1bf4fa7b9652347a48010a0713190aec9a5fc166 100644
|
||||
index df753eb03c427268d404598b96b8285a00460e2d..722c95adbed966ddec57250a5fdc1978594fd499 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -118,6 +118,11 @@ public class PurpurWorldConfig {
|
||||
@@ -120,6 +120,11 @@ public class PurpurWorldConfig {
|
||||
elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
|
||||
}
|
||||
|
||||
@@ -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
|
||||
index cc586ae7c58ff5a662c572af47e22468fe301152..a0f3371520702a3a1643abd45bf6754336385397 100644
|
||||
index b5054c762382bb81fa83069a97467af08946f6e5..3d05da7985402f1cf361182084b62145c9bf9856 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -3412,4 +3412,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
@@ -3413,4 +3413,26 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
return (CraftPlayer) super.getBukkitEntity();
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -36,7 +36,7 @@ index cc586ae7c58ff5a662c572af47e22468fe301152..a0f3371520702a3a1643abd45bf67543
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index e49b530e8bdcff5aacc693f6e859c9c98fd50a19..418456bb08e00c6a9af492bda4f0600921fc5b77 100644
|
||||
index 66ae89ade2bb19b0a8498573f8c0c68ff0628594..ba9fc0f5d9979aee43dcf716cf25ff42928a9f1b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -479,6 +479,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -48,10 +48,10 @@ index e49b530e8bdcff5aacc693f6e859c9c98fd50a19..418456bb08e00c6a9af492bda4f06009
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 1bf4fa7b9652347a48010a0713190aec9a5fc166..0111b9e3484df5958ed5dee55a9b510ef4a1f35e 100644
|
||||
index 722c95adbed966ddec57250a5fdc1978594fd499..89151a9538e22941ad55aab1807d6871a852364c 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -235,6 +235,7 @@ public class PurpurWorldConfig {
|
||||
@@ -237,6 +237,7 @@ public class PurpurWorldConfig {
|
||||
public boolean idleTimeoutTargetPlayer = true;
|
||||
public String playerDeathExpDropEquation = "expLevel * 7";
|
||||
public int playerDeathExpDropMax = 100;
|
||||
@@ -59,7 +59,7 @@ index 1bf4fa7b9652347a48010a0713190aec9a5fc166..0111b9e3484df5958ed5dee55a9b510e
|
||||
private void playerSettings() {
|
||||
if (PurpurConfig.version < 19) {
|
||||
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
|
||||
@@ -248,6 +249,7 @@ public class PurpurWorldConfig {
|
||||
@@ -250,6 +251,7 @@ public class PurpurWorldConfig {
|
||||
idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer);
|
||||
playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation);
|
||||
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
|
||||
@@ -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
|
||||
index 0111b9e3484df5958ed5dee55a9b510ef4a1f35e..c0cb7399a1a8753bd5a5c390cb6f334d5aaf3907 100644
|
||||
index 89151a9538e22941ad55aab1807d6871a852364c..30c0c6d582069c6a01b033bb9707f4fa1c82f4e9 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1571,6 +1571,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1573,6 +1573,7 @@ public class PurpurWorldConfig {
|
||||
public boolean squidControllable = true;
|
||||
public double squidMaxHealth = 10.0D;
|
||||
public double squidScale = 1.0D;
|
||||
@@ -16,7 +16,7 @@ index 0111b9e3484df5958ed5dee55a9b510ef4a1f35e..c0cb7399a1a8753bd5a5c390cb6f334d
|
||||
private void squidSettings() {
|
||||
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
|
||||
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
|
||||
@@ -1581,6 +1582,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1583,6 +1584,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
|
||||
squidScale = Mth.clamp(getDouble("mobs.squid.attributes.scale", squidScale), 0.0625D, 16.0D);
|
||||
@@ -25,7 +25,7 @@ index 0111b9e3484df5958ed5dee55a9b510ef4a1f35e..c0cb7399a1a8753bd5a5c390cb6f334d
|
||||
|
||||
public boolean spiderRidable = false;
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index 64cf620bde9807d77658c9f17015445070a3e634..813b8aeb7bf39e03346fd9ca63c4c6498e162965 100644
|
||||
index b7df4f62eb5f128ef6202b30ed2ffdea10e8a241..66e7b1966602f6d9f5978d66df7cb81b8c89e75b 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
@@ -377,6 +377,7 @@ public class ActivationRange
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Phantoms burn in light
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
index 5d62be4ae4561262820d011f5e7318411d749bbb..11e0ba7ec12ba3b93589f451ef4f251598eb29c9 100644
|
||||
index bd1c23d849269df504c94da9d0ca0a6846b22c41..987b860f85a1be3159233fb3291773792d291348 100644
|
||||
--- a/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 {
|
||||
@@ -51,10 +51,10 @@ index 5d62be4ae4561262820d011f5e7318411d749bbb..11e0ba7ec12ba3b93589f451ef4f2515
|
||||
list.sort(Comparator.comparing((Entity e) -> { return e.getY(); }).reversed()); // CraftBukkit - decompile error
|
||||
Iterator iterator = list.iterator();
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 5f686584f2f9205c3594daa52c4b3daf32f8e57b..3e0113f24c49e9922ce3981855c810b0907cba07 100644
|
||||
index 30c0c6d582069c6a01b033bb9707f4fa1c82f4e9..feddf1aeb817e5bf3fbde76943c36da6bd4c1133 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1206,6 +1206,9 @@ public class PurpurWorldConfig {
|
||||
@@ -1208,6 +1208,9 @@ public class PurpurWorldConfig {
|
||||
public double phantomSpawnLocalDifficultyChance = 3.0D;
|
||||
public int phantomSpawnMinPerAttempt = 1;
|
||||
public int phantomSpawnMaxPerAttempt = -1;
|
||||
@@ -64,7 +64,7 @@ index 5f686584f2f9205c3594daa52c4b3daf32f8e57b..3e0113f24c49e9922ce3981855c810b0
|
||||
private void phantomSettings() {
|
||||
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
|
||||
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
|
||||
@@ -1236,6 +1239,9 @@ public class PurpurWorldConfig {
|
||||
@@ -1238,6 +1241,9 @@ public class PurpurWorldConfig {
|
||||
phantomSpawnLocalDifficultyChance = getDouble("mobs.phantom.spawn.local-difficulty-chance", phantomSpawnLocalDifficultyChance);
|
||||
phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt);
|
||||
phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt);
|
||||
@@ -18,10 +18,10 @@ index 9008eeae3187024862bef886801d197c4c425df3..62a1d6876ce75676c5fa381e48bc58b8
|
||||
|
||||
private boolean hungry() {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 3e0113f24c49e9922ce3981855c810b0907cba07..5175aff0fe60a9f1c71882d01f8ad29dac84f579 100644
|
||||
index feddf1aeb817e5bf3fbde76943c36da6bd4c1133..436f04b56ac6795e393008e4eeae4fc09cd2e2a9 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1743,6 +1743,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1745,6 +1745,7 @@ public class PurpurWorldConfig {
|
||||
public double villagerScale = 1.0D;
|
||||
public boolean villagerFollowEmeraldBlock = false;
|
||||
public boolean villagerCanBeLeashed = false;
|
||||
@@ -29,7 +29,7 @@ index 3e0113f24c49e9922ce3981855c810b0907cba07..5175aff0fe60a9f1c71882d01f8ad29d
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
@@ -1756,6 +1757,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1758,6 +1759,7 @@ public class PurpurWorldConfig {
|
||||
villagerScale = Mth.clamp(getDouble("mobs.villager.attributes.scale", villagerScale), 0.0625D, 16.0D);
|
||||
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
|
||||
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
|
||||
@@ -17,10 +17,10 @@ index 7de66aa435dd36899b80f4ecc64480680e474d94..bb4411cfdf1bc7adc12c2f918d2eec83
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 5175aff0fe60a9f1c71882d01f8ad29dac84f579..0c8ec8f1f6a79a0764ff05d34b40cf18c5590862 100644
|
||||
index 436f04b56ac6795e393008e4eeae4fc09cd2e2a9..8bd53ffbf41b45a2aa62f115884f2ec55574ec21 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -345,6 +345,11 @@ public class PurpurWorldConfig {
|
||||
@@ -347,6 +347,11 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Totems work in inventory
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 418456bb08e00c6a9af492bda4f0600921fc5b77..cccd99d642ea14eb175946656d4dead436268d01 100644
|
||||
index ba9fc0f5d9979aee43dcf716cf25ff42928a9f1b..7de429f377fa4880c3b0cfb9b72df06a9b89722e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1707,6 +1707,18 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -28,10 +28,10 @@ index 418456bb08e00c6a9af492bda4f0600921fc5b77..cccd99d642ea14eb175946656d4dead4
|
||||
EntityResurrectEvent event = new EntityResurrectEvent((org.bukkit.entity.LivingEntity) this.getBukkitEntity(), handSlot);
|
||||
event.setCancelled(itemstack == null);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index dc158fefad2a9d0b9be693ba892ddd1fa5189e8e..c03ded82f52f53e8d0e7b138e2fa34f86f46f180 100644
|
||||
index 8bd53ffbf41b45a2aa62f115884f2ec55574ec21..575d9dd236287ce26a1c080df2d05fa27849845e 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -236,6 +236,7 @@ public class PurpurWorldConfig {
|
||||
@@ -238,6 +238,7 @@ public class PurpurWorldConfig {
|
||||
public String playerDeathExpDropEquation = "expLevel * 7";
|
||||
public int playerDeathExpDropMax = 100;
|
||||
public boolean teleportIfOutsideBorder = false;
|
||||
@@ -39,7 +39,7 @@ index dc158fefad2a9d0b9be693ba892ddd1fa5189e8e..c03ded82f52f53e8d0e7b138e2fa34f8
|
||||
private void playerSettings() {
|
||||
if (PurpurConfig.version < 19) {
|
||||
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
|
||||
@@ -250,6 +251,7 @@ public class PurpurWorldConfig {
|
||||
@@ -252,6 +253,7 @@ public class PurpurWorldConfig {
|
||||
playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation);
|
||||
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
|
||||
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
|
||||
@@ -21,10 +21,10 @@ index 2bfce82bee8f3a16a33bd937eb610d9df1b6ceeb..2f7da09e14787395e95211acadd5c693
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index bd3c6364051419544cc1c5db110920ad51c1dbc7..fa69de1709b41faef119474b98bcd2839d0ae67d 100644
|
||||
index 575d9dd236287ce26a1c080df2d05fa27849845e..4ea6246187a94e596800f0c26c604c5bfb644823 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1772,6 +1772,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1774,6 +1774,7 @@ public class PurpurWorldConfig {
|
||||
public boolean vindicatorControllable = true;
|
||||
public double vindicatorMaxHealth = 24.0D;
|
||||
public double vindicatorScale = 1.0D;
|
||||
@@ -32,7 +32,7 @@ index bd3c6364051419544cc1c5db110920ad51c1dbc7..fa69de1709b41faef119474b98bcd283
|
||||
private void vindicatorSettings() {
|
||||
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
|
||||
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
|
||||
@@ -1783,6 +1784,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1785,6 +1786,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);
|
||||
vindicatorScale = Mth.clamp(getDouble("mobs.vindicator.attributes.scale", vindicatorScale), 0.0625D, 16.0D);
|
||||
@@ -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
|
||||
index cd77e86ff289634d2dd1c56002e569ff70d15f25..f5d7008ab65be21980063c6c5da783e4077252f5 100644
|
||||
index 0d12605dc84dad49faa18bf1fd058c3c168623ee..c6490554a3025f4de3f3218178fad76cd1848a19 100644
|
||||
--- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
|
||||
+++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java
|
||||
@@ -922,5 +922,22 @@ public interface DispenseItemBehavior {
|
||||
@@ -930,5 +930,22 @@ public interface DispenseItemBehavior {
|
||||
DispenserBlock.registerBehavior(Items.TNT_MINECART, new MinecartDispenseItemBehavior(EntityType.TNT_MINECART));
|
||||
DispenserBlock.registerBehavior(Items.HOPPER_MINECART, new MinecartDispenseItemBehavior(EntityType.HOPPER_MINECART));
|
||||
DispenserBlock.registerBehavior(Items.COMMAND_BLOCK_MINECART, new MinecartDispenseItemBehavior(EntityType.COMMAND_BLOCK_MINECART));
|
||||
@@ -32,10 +32,10 @@ index cd77e86ff289634d2dd1c56002e569ff70d15f25..f5d7008ab65be21980063c6c5da783e4
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index fa69de1709b41faef119474b98bcd2839d0ae67d..0aaf03f290a9bf410a5f854add927aca58d09ec3 100644
|
||||
index 4ea6246187a94e596800f0c26c604c5bfb644823..729123a4eb3323457819961685a6a088ca650de3 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -308,8 +308,10 @@ public class PurpurWorldConfig {
|
||||
@@ -310,8 +310,10 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
|
||||
public boolean dispenserApplyCursedArmor = true;
|
||||
@@ -64,10 +64,10 @@ index 0dfcce766872d9b1a9b898f56e6f4d9179a46bc4..f1834eec821a14ef6a7f42f827b7e0b8
|
||||
}
|
||||
} else if (itemstack.has(DataComponents.CUSTOM_NAME)) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 0aaf03f290a9bf410a5f854add927aca58d09ec3..cc35a98e9602b261da8613ae9cf95a0940bfeb19 100644
|
||||
index 729123a4eb3323457819961685a6a088ca650de3..1264d6e7304db19e8e10bace19d750fcf51fc995 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -286,6 +286,13 @@ public class PurpurWorldConfig {
|
||||
@@ -288,6 +288,13 @@ public class PurpurWorldConfig {
|
||||
});
|
||||
}
|
||||
|
||||
@@ -17,10 +17,10 @@ index a5a23c7f733d49c20c870f819eec2607781dccbf..be74a5732bc24eb3c909d28b4ef46d51
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index cc35a98e9602b261da8613ae9cf95a0940bfeb19..c1302e6cd7db386c94d95e03b901c65b3aca1887 100644
|
||||
index 1264d6e7304db19e8e10bace19d750fcf51fc995..f57bdfe69273a62dda9839b1725625aa969b2b78 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -654,6 +654,7 @@ public class PurpurWorldConfig {
|
||||
@@ -656,6 +656,7 @@ public class PurpurWorldConfig {
|
||||
public float dolphinSpitDamage = 2.0F;
|
||||
public double dolphinMaxHealth = 10.0D;
|
||||
public double dolphinScale = 1.0D;
|
||||
@@ -28,7 +28,7 @@ index cc35a98e9602b261da8613ae9cf95a0940bfeb19..c1302e6cd7db386c94d95e03b901c65b
|
||||
private void dolphinSettings() {
|
||||
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
|
||||
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
|
||||
@@ -667,6 +668,7 @@ public class PurpurWorldConfig {
|
||||
@@ -669,6 +670,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);
|
||||
dolphinScale = Mth.clamp(getDouble("mobs.dolphin.attributes.scale", dolphinScale), 0.0625D, 16.0D);
|
||||
@@ -5,7 +5,7 @@ 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
|
||||
index d0efef43b71298491b2e03b9ce5505729c3c4afc..5752388a5013a3054c3f453db844a6b4ca285bda 100644
|
||||
index 48386124487a1f0fdc1d476895fa118102fb4003..5796f9bdde43d5b681ee2aaa7bc47076114af321 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||
@@ -388,7 +388,8 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||
@@ -5,7 +5,7 @@ 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
|
||||
index 16efd32b5320fb0c7fcbeb1487075fe815e22b0a..ba4b903b034131cfc244a74fad9f6070b764ac32 100644
|
||||
index 863780d37c804fc7a085f540af2b70491c570877..3d25c9ec52dfcd85ab7220c5b2f760f31b564724 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4751,6 +4751,12 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -54,10 +54,10 @@ index 6cf6d4ec7b9e43c7b2b4c0e2fb080964ff588130..e74866e5195a5eeae7666ad7be750eda
|
||||
+ // Purpur
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 9bf9fe0fa23f24e097e21584da8526dd10993bb6..9f2192a5a22827a6d453fc326fffe161ff42aac1 100644
|
||||
index f57bdfe69273a62dda9839b1725625aa969b2b78..3fb03b012873999e2ff82b480908655303e47aaf 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1596,6 +1596,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1598,6 +1598,7 @@ public class PurpurWorldConfig {
|
||||
public double squidMaxHealth = 10.0D;
|
||||
public double squidScale = 1.0D;
|
||||
public boolean squidImmuneToEAR = true;
|
||||
@@ -65,7 +65,7 @@ index 9bf9fe0fa23f24e097e21584da8526dd10993bb6..9f2192a5a22827a6d453fc326fffe161
|
||||
private void squidSettings() {
|
||||
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
|
||||
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
|
||||
@@ -1607,6 +1608,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1609,6 +1610,7 @@ public class PurpurWorldConfig {
|
||||
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
|
||||
squidScale = Mth.clamp(getDouble("mobs.squid.attributes.scale", squidScale), 0.0625D, 16.0D);
|
||||
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Entities can use portals
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index ba4b903b034131cfc244a74fad9f6070b764ac32..6ed1567d1133cad36a4825aad9757baf23dd11aa 100644
|
||||
index 3d25c9ec52dfcd85ab7220c5b2f760f31b564724..ebffeb41944df4e097fad259f48b2d18941e55b3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3473,7 +3473,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -27,18 +27,19 @@ index ba4b903b034131cfc244a74fad9f6070b764ac32..6ed1567d1133cad36a4825aad9757baf
|
||||
|
||||
public boolean canTeleport(Level from, Level to) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 9f2192a5a22827a6d453fc326fffe161ff42aac1..ec22d8f33387615b46a578be746f79b624674055 100644
|
||||
index 3fb03b012873999e2ff82b480908655303e47aaf..b901f058f82033fe1750bfc4fb472c80268f1920 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -100,11 +100,13 @@ public class PurpurWorldConfig {
|
||||
public boolean boatEjectPlayersOnLand = false;
|
||||
@@ -101,12 +101,14 @@ public class PurpurWorldConfig {
|
||||
public boolean disableDropsOnCrammingDeath = false;
|
||||
public boolean milkCuresBadOmen = true;
|
||||
public double tridentLoyaltyVoidReturnHeight = 0.0D;
|
||||
+ public boolean entitiesCanUsePortals = true;
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
||||
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
|
||||
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
|
||||
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
|
||||
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
|
||||
+ entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
|
||||
}
|
||||
@@ -23,10 +23,10 @@ index f55842cf85dec8e5c26cd5ac52c63599f3b19cf3..2ec12ec298446b556132785d4d376130
|
||||
|
||||
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
|
||||
index 85c896145bd1489a9bcdfe580f959db308c59b65..119904f2c4e9f8c4b3596a26220833d457bb60df 100644
|
||||
index b901f058f82033fe1750bfc4fb472c80268f1920..26e89ab042792a627efdb5a8cee5c5972bba80ef 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1857,6 +1857,8 @@ public class PurpurWorldConfig {
|
||||
@@ -1859,6 +1859,8 @@ public class PurpurWorldConfig {
|
||||
public double witherMaxY = 320D;
|
||||
public double witherMaxHealth = 300.0D;
|
||||
public double witherScale = 1.0D;
|
||||
@@ -35,7 +35,7 @@ index 85c896145bd1489a9bcdfe580f959db308c59b65..119904f2c4e9f8c4b3596a26220833d4
|
||||
private void witherSettings() {
|
||||
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
|
||||
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
|
||||
@@ -1873,6 +1875,8 @@ public class PurpurWorldConfig {
|
||||
@@ -1875,6 +1877,8 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);
|
||||
witherScale = Mth.clamp(getDouble("mobs.wither.attributes.scale", witherScale), 0.0625D, 16.0D);
|
||||
@@ -6,7 +6,7 @@ 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.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 943ef063efa000da0810b079b47ec18ed2aa5a63..54f7545f35ba615ac942c82a2602b9466646f012 100644
|
||||
index bfe46102dd41a46c1cc0cdf7fa03a6a60254c529..0ba171e226eee4e140f6bae61dcb6f7660554548 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -598,7 +598,24 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -59,7 +59,7 @@ index a728dcbf956f108f01c966c7531449a506a14a87..4c1378132201c1e5d1bc01f8c0cbba91
|
||||
if (spawnplacementtype.isSpawnPositionOk(world, blockposition2, EntityType.WANDERING_TRADER)) {
|
||||
blockposition1 = blockposition2;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index f82f5405f3ff0bc91806da3b1ffdeb30206b6297..9ddd1796c83a68e1837cbdfe8db0baf9e3b1fdfa 100644
|
||||
index 26e89ab042792a627efdb5a8cee5c5972bba80ef..35c8798e3c839656758f11bf55f09983da337815 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -70,6 +70,12 @@ public class PurpurWorldConfig {
|
||||
@@ -75,7 +75,7 @@ index f82f5405f3ff0bc91806da3b1ffdeb30206b6297..9ddd1796c83a68e1837cbdfe8db0baf9
|
||||
private double getDouble(String path, double def) {
|
||||
PurpurConfig.config.addDefault("world-settings.default." + path, def);
|
||||
return PurpurConfig.config.getDouble("world-settings." + worldName + "." + path, PurpurConfig.config.getDouble("world-settings.default." + path));
|
||||
@@ -230,6 +236,21 @@ public class PurpurWorldConfig {
|
||||
@@ -232,6 +238,21 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,18 +49,19 @@ index 439d61d8689fabe940006b9b317a6810175dccfb..6b30941a84054efb5fcccb5d9e6c80d7
|
||||
if (!raid.isStarted() && !this.raidMap.containsKey(raid.getId())) {
|
||||
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
|
||||
index 668ea98aee2f74ff6ac961b61360fb2e48513ebf..0e1992ba3bbd470eee6bdd461d2f00abec5c6d55 100644
|
||||
index 35c8798e3c839656758f11bf55f09983da337815..2d34c9dc0f1bbd2b6c56ed80f088b604793b9a2a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -107,12 +107,14 @@ public class PurpurWorldConfig {
|
||||
public boolean disableDropsOnCrammingDeath = false;
|
||||
@@ -108,6 +108,7 @@ public class PurpurWorldConfig {
|
||||
public boolean milkCuresBadOmen = true;
|
||||
public double tridentLoyaltyVoidReturnHeight = 0.0D;
|
||||
public boolean entitiesCanUsePortals = true;
|
||||
+ public int raidCooldownSeconds = 0;
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
||||
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
|
||||
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
|
||||
@@ -115,6 +116,7 @@ public class PurpurWorldConfig {
|
||||
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
|
||||
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
|
||||
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
|
||||
+ raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to disable zombie aggressiveness towards villagers
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
|
||||
index f7241c5292f1c012404eea11256813fbc2c2df1a..fad407d0cec0605e303e93a79752435f0b4646d7 100644
|
||||
index 3470720466fc81f977c18e3a97bb918926025a22..c8651af322927c46d075f88890fcd0476bd85440 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/entity/ai/MobGoalHelper.java
|
||||
@@ -136,6 +136,10 @@ public class MobGoalHelper {
|
||||
@@ -70,10 +70,10 @@ index cb5cf34781de4e87074a70a447fd463280147bdc..e6fb53b828c1a2e76d398e88449260f6
|
||||
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
|
||||
index 0e1992ba3bbd470eee6bdd461d2f00abec5c6d55..a0a5059e5d86ff3626b7e4a6d378f9b34d6ba8dc 100644
|
||||
index 2d34c9dc0f1bbd2b6c56ed80f088b604793b9a2a..3c185f89b6f90720620f1fa93e13da60a944613e 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1965,6 +1965,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1967,6 +1967,7 @@ public class PurpurWorldConfig {
|
||||
public boolean zombieJockeyOnlyBaby = true;
|
||||
public double zombieJockeyChance = 0.05D;
|
||||
public boolean zombieJockeyTryExistingChickens = true;
|
||||
@@ -81,7 +81,7 @@ index 0e1992ba3bbd470eee6bdd461d2f00abec5c6d55..a0a5059e5d86ff3626b7e4a6d378f9b3
|
||||
private void zombieSettings() {
|
||||
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
|
||||
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
|
||||
@@ -1980,6 +1981,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1982,6 +1983,7 @@ public class PurpurWorldConfig {
|
||||
zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby);
|
||||
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
|
||||
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
|
||||
@@ -0,0 +1,42 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Sat, 3 Oct 2020 17:40:52 -0500
|
||||
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
|
||||
index 2dce801e06687c218be3333ac9f000bae09f0caf..ed9548341eb226cf5a5d2370419a01208cf0f742 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/crafting/Ingredient.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/crafting/Ingredient.java
|
||||
@@ -45,6 +45,7 @@ public final class Ingredient implements Predicate<ItemStack> {
|
||||
// CraftBukkit start
|
||||
@Nullable
|
||||
private List<ItemStack> itemStacks;
|
||||
+ public Predicate<org.bukkit.inventory.ItemStack> predicate; // Purpur
|
||||
|
||||
public boolean isExact() {
|
||||
return this.itemStacks != null;
|
||||
@@ -100,6 +101,11 @@ public final class Ingredient implements Predicate<ItemStack> {
|
||||
|
||||
return false;
|
||||
}
|
||||
+ // Purpur start
|
||||
+ if (predicate != null) {
|
||||
+ return predicate.test(itemstack.asBukkitCopy());
|
||||
+ }
|
||||
+ // Purpur end
|
||||
// CraftBukkit end
|
||||
List<Holder<Item>> list = this.items();
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java
|
||||
index 3592091c6d1371224e82e1f95b003951ad2f8779..4fdc78a9c74b42a8894030221e0452493d68020e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java
|
||||
@@ -38,6 +38,7 @@ public interface CraftRecipe extends Recipe {
|
||||
stack = Ingredient.of(((RecipeChoice.MaterialChoice) bukkit).getChoices().stream().map((mat) -> CraftItemType.bukkitToMinecraft(mat)));
|
||||
} else if (bukkit instanceof RecipeChoice.ExactChoice) {
|
||||
stack = Ingredient.ofStacks(((RecipeChoice.ExactChoice) bukkit).getChoices().stream().map((mat) -> CraftItemStack.asNMSCopy(mat)).toList());
|
||||
+ stack.predicate = ((RecipeChoice.ExactChoice) bukkit).getPredicate(); // Purpur
|
||||
// Paper start - support "empty" choices - legacy method that spigot might incorrectly call
|
||||
// Their impl of Ingredient.of() will error, ingredients need at least one entry.
|
||||
// Callers running into this exception may have passed an incorrect empty() recipe choice to a non-empty slot or
|
||||
@@ -21,7 +21,7 @@ index 27aee968718af1ae78e2076ddc890114b2c9bb94..0f5be53c6f6a66c61dc3f2bebeb18ca6
|
||||
protected ParticleOptions getInkParticle() {
|
||||
return ParticleTypes.GLOW_SQUID_INK;
|
||||
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 a0aa4ac61de870a374152018ebdeab47dc5b5a85..548f140c56277d46a3381b48d6f0b660c6e8feeb 100644
|
||||
index 7891d015d2f8dadcff8f457145574ea8ba48fe8d..4d2992a16865fa60dd38d0ff6dc341f9c5f6bd00 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
|
||||
@@ -84,6 +84,15 @@ public class Squid extends AgeableWaterCreature {
|
||||
@@ -58,10 +58,10 @@ index a0aa4ac61de870a374152018ebdeab47dc5b5a85..548f140c56277d46a3381b48d6f0b660
|
||||
this.squid.movementVector = new Vec3(
|
||||
(double)(Mth.cos(f) * 0.2F), (double)(-0.1F + this.squid.getRandom().nextFloat() * 0.2F), (double)(Mth.sin(f) * 0.2F)
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a0a5059e5d86ff3626b7e4a6d378f9b34d6ba8dc..166a7513ee9c309cc4dd16367fcb86b2ab3b243e 100644
|
||||
index 3c185f89b6f90720620f1fa93e13da60a944613e..32ceab27543b01a0340796255b6f48bc2834de9d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -931,11 +931,13 @@ public class PurpurWorldConfig {
|
||||
@@ -933,11 +933,13 @@ public class PurpurWorldConfig {
|
||||
public boolean glowSquidControllable = true;
|
||||
public double glowSquidMaxHealth = 10.0D;
|
||||
public double glowSquidScale = 1.0D;
|
||||
@@ -75,7 +75,7 @@ index a0a5059e5d86ff3626b7e4a6d378f9b34d6ba8dc..166a7513ee9c309cc4dd16367fcb86b2
|
||||
}
|
||||
|
||||
public boolean goatRidable = false;
|
||||
@@ -1622,6 +1624,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1624,6 +1626,7 @@ public class PurpurWorldConfig {
|
||||
public double squidScale = 1.0D;
|
||||
public boolean squidImmuneToEAR = true;
|
||||
public double squidOffsetWaterCheck = 0.0D;
|
||||
@@ -83,7 +83,7 @@ index a0a5059e5d86ff3626b7e4a6d378f9b34d6ba8dc..166a7513ee9c309cc4dd16367fcb86b2
|
||||
private void squidSettings() {
|
||||
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
|
||||
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
|
||||
@@ -1634,6 +1637,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1636,6 +1639,7 @@ public class PurpurWorldConfig {
|
||||
squidScale = Mth.clamp(getDouble("mobs.squid.attributes.scale", squidScale), 0.0625D, 16.0D);
|
||||
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
|
||||
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);
|
||||
@@ -30,10 +30,10 @@ index bb593209c95c9cf1f9c5d52d52fab4a33ddbabcf..1d4d0799a86b9940b5e3b614c5a188ad
|
||||
} else {
|
||||
user.startUsingItem(hand);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 166a7513ee9c309cc4dd16367fcb86b2ab3b243e..9031028533afbc896be2b1402b073c1bdd06dcfe 100644
|
||||
index 32ceab27543b01a0340796255b6f48bc2834de9d..b78f6b3e8b70a10f260c233be93947ac27e9edbd 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -133,6 +133,11 @@ public class PurpurWorldConfig {
|
||||
@@ -135,6 +135,11 @@ public class PurpurWorldConfig {
|
||||
entityLifeSpan = getInt("gameplay-mechanics.entity-lifespan", entityLifeSpan);
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable daylight cycle
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 7c5ab96dfa458afadbf8748dbdcbde7be8701a45..642439fe010b1b85b549e7971f98424bac6b334a 100644
|
||||
index 9b93c5e5671bc910e8880a29ced9c4a5f0d36d53..f937454c9bb398a612a6f25ab8579c8800dfa4d0 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1853,7 +1853,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1852,7 +1852,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
long worldTime = level.getGameTime();
|
||||
final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight);
|
||||
for (Player entityhuman : level.players()) {
|
||||
@@ -18,7 +18,7 @@ index 7c5ab96dfa458afadbf8748dbdcbde7be8701a45..642439fe010b1b85b549e7971f98424b
|
||||
}
|
||||
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
|
||||
index 54f7545f35ba615ac942c82a2602b9466646f012..7715ecbe45e82079f5e2b2ad2bdf15a58f9a529c 100644
|
||||
index 0ba171e226eee4e140f6bae61dcb6f7660554548..a1a01af28ca4a6da8f317839d457c655c14efe8d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -223,6 +223,8 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
@@ -75,10 +75,10 @@ index 54f7545f35ba615ac942c82a2602b9466646f012..7715ecbe45e82079f5e2b2ad2bdf15a5
|
||||
public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) {
|
||||
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
|
||||
index 7b8e2d1914a133da4050c04968487c5795e67f57..826c3cfe21e1ea2c59f461913f14806a3b5aade3 100644
|
||||
index b78f6b3e8b70a10f260c233be93947ac27e9edbd..c895c2e2bbdcc0cbdd69b2086e2d2d76a105f225 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -117,6 +117,13 @@ public class PurpurWorldConfig {
|
||||
@@ -119,6 +119,13 @@ public class PurpurWorldConfig {
|
||||
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
|
||||
}
|
||||
|
||||
@@ -39,10 +39,10 @@ index 15e0861486a2bda3e2f4049b1b5a299c870acd31..91a158ed90b7ce3eac7277fd962682a0
|
||||
|
||||
private static boolean canBurn(RegistryAccess dynamicRegistryManager, @Nullable RecipeHolder<? extends AbstractCookingRecipe> recipe, SingleRecipeInput input, NonNullList<ItemStack> inventory, int maxCount) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 50cc76689e64b27172e1806e564c8fae43378234..8c2a26c150bf43f4e344c4bdf49b90926cd044b0 100644
|
||||
index c895c2e2bbdcc0cbdd69b2086e2d2d76a105f225..d1a7e79ca23ad7a9b589578c91b2dd3427545a05 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -363,6 +363,17 @@ public class PurpurWorldConfig {
|
||||
@@ -365,6 +365,17 @@ public class PurpurWorldConfig {
|
||||
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
|
||||
}
|
||||
|
||||
@@ -20,7 +20,7 @@ index accc246f441c8bf5e1a755cfc0db8f97c0c01c6b..75d65b795a7802c0c5b5bd4a6ed42920
|
||||
|
||||
public boolean isInGround() {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 8c2a26c150bf43f4e344c4bdf49b90926cd044b0..1b005150d1ab5e561d2e30c895432c2c50fb061c 100644
|
||||
index d1a7e79ca23ad7a9b589578c91b2dd3427545a05..af54385705cb2a52cb50e939c4517339b1da5cac 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -102,6 +102,11 @@ public class PurpurWorldConfig {
|
||||
@@ -24,10 +24,10 @@ index df89b18f0d5d2dad5745ec65bcd9e4a7bf2f1f2b..e744a117d2f25ad24c87263ba2ab7f76
|
||||
return;
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 1b005150d1ab5e561d2e30c895432c2c50fb061c..0e05ebe9ee52033d86373bd2ad1c6f12503b3128 100644
|
||||
index af54385705cb2a52cb50e939c4517339b1da5cac..cbab2382562e3fc4a275433f1ffca879c563e09a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -364,8 +364,10 @@ public class PurpurWorldConfig {
|
||||
@@ -366,8 +366,10 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
|
||||
public boolean farmlandGetsMoistFromBelow = false;
|
||||
@@ -104,10 +104,10 @@ index 6847be7f95dc37e6259d6903798e6db20702cea8..c2aff2f03451b97f1ec6bd4ee987bb72
|
||||
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index c2d7b2787704614d2e3a3a8512a994e5434c093f..2640c1f0079f7f340e57d8f9e75f04185da064e7 100644
|
||||
index cbab2382562e3fc4a275433f1ffca879c563e09a..7895ad54e7c22cb25edb45d7ce38e87306673578 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -113,6 +113,7 @@ public class PurpurWorldConfig {
|
||||
@@ -114,6 +114,7 @@ public class PurpurWorldConfig {
|
||||
public double tridentLoyaltyVoidReturnHeight = 0.0D;
|
||||
public boolean entitiesCanUsePortals = true;
|
||||
public int raidCooldownSeconds = 0;
|
||||
@@ -115,7 +115,7 @@ index c2d7b2787704614d2e3a3a8512a994e5434c093f..2640c1f0079f7f340e57d8f9e75f0418
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
||||
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
|
||||
@@ -120,6 +121,7 @@ public class PurpurWorldConfig {
|
||||
@@ -122,6 +123,7 @@ public class PurpurWorldConfig {
|
||||
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
|
||||
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
|
||||
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
|
||||
@@ -538,10 +538,10 @@ index 08c4a32b1195820eb574cdf4a499107565a551d6..0220fb517d99e8c9629d191eb554799a
|
||||
public boolean canBeLeashed() {
|
||||
return true;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f50df33bce 100644
|
||||
index 7895ad54e7c22cb25edb45d7ce38e87306673578..295db9e5854f0a936832046f8ad436f722e8cacf 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -461,23 +461,27 @@ public class PurpurWorldConfig {
|
||||
@@ -463,23 +463,27 @@ public class PurpurWorldConfig {
|
||||
public boolean armadilloControllable = true;
|
||||
public double armadilloMaxHealth = 12.0D;
|
||||
public double armadilloScale = 1.0D;
|
||||
@@ -569,7 +569,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean batRidable = false;
|
||||
@@ -520,6 +524,7 @@ public class PurpurWorldConfig {
|
||||
@@ -522,6 +526,7 @@ public class PurpurWorldConfig {
|
||||
public double beeMaxY = 320D;
|
||||
public double beeMaxHealth = 10.0D;
|
||||
public double beeScale = 1.0D;
|
||||
@@ -577,7 +577,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void beeSettings() {
|
||||
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
|
||||
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
|
||||
@@ -532,6 +537,7 @@ public class PurpurWorldConfig {
|
||||
@@ -534,6 +539,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
|
||||
beeScale = Mth.clamp(getDouble("mobs.bee.attributes.scale", beeScale), 0.0625D, 16.0D);
|
||||
@@ -585,7 +585,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean blazeRidable = false;
|
||||
@@ -574,6 +580,7 @@ public class PurpurWorldConfig {
|
||||
@@ -576,6 +582,7 @@ public class PurpurWorldConfig {
|
||||
public double camelJumpStrengthMax = 0.42D;
|
||||
public double camelMovementSpeedMin = 0.09D;
|
||||
public double camelMovementSpeedMax = 0.09D;
|
||||
@@ -593,7 +593,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void camelSettings() {
|
||||
camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater);
|
||||
camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin);
|
||||
@@ -582,6 +589,7 @@ public class PurpurWorldConfig {
|
||||
@@ -584,6 +591,7 @@ public class PurpurWorldConfig {
|
||||
camelJumpStrengthMax = getDouble("mobs.camel.attributes.jump_strength.max", camelJumpStrengthMax);
|
||||
camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin);
|
||||
camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax);
|
||||
@@ -601,7 +601,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean catRidable = false;
|
||||
@@ -592,6 +600,7 @@ public class PurpurWorldConfig {
|
||||
@@ -594,6 +602,7 @@ public class PurpurWorldConfig {
|
||||
public int catSpawnDelay = 1200;
|
||||
public int catSpawnSwampHutScanRange = 16;
|
||||
public int catSpawnVillageScanRange = 48;
|
||||
@@ -609,7 +609,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void catSettings() {
|
||||
catRidable = getBoolean("mobs.cat.ridable", catRidable);
|
||||
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
|
||||
@@ -606,6 +615,7 @@ public class PurpurWorldConfig {
|
||||
@@ -608,6 +617,7 @@ public class PurpurWorldConfig {
|
||||
catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
|
||||
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
|
||||
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
|
||||
@@ -617,7 +617,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean caveSpiderRidable = false;
|
||||
@@ -632,6 +642,7 @@ public class PurpurWorldConfig {
|
||||
@@ -634,6 +644,7 @@ public class PurpurWorldConfig {
|
||||
public double chickenMaxHealth = 4.0D;
|
||||
public double chickenScale = 1.0D;
|
||||
public boolean chickenRetaliate = false;
|
||||
@@ -625,7 +625,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void chickenSettings() {
|
||||
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
|
||||
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
|
||||
@@ -644,6 +655,7 @@ public class PurpurWorldConfig {
|
||||
@@ -646,6 +657,7 @@ public class PurpurWorldConfig {
|
||||
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
|
||||
chickenScale = Mth.clamp(getDouble("mobs.chicken.attributes.scale", chickenScale), 0.0625D, 16.0D);
|
||||
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
|
||||
@@ -633,7 +633,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean codRidable = false;
|
||||
@@ -668,6 +680,7 @@ public class PurpurWorldConfig {
|
||||
@@ -670,6 +682,7 @@ public class PurpurWorldConfig {
|
||||
public double cowMaxHealth = 10.0D;
|
||||
public double cowScale = 1.0D;
|
||||
public int cowFeedMushrooms = 0;
|
||||
@@ -641,7 +641,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void cowSettings() {
|
||||
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
|
||||
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
|
||||
@@ -680,6 +693,7 @@ public class PurpurWorldConfig {
|
||||
@@ -682,6 +695,7 @@ public class PurpurWorldConfig {
|
||||
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
|
||||
cowScale = Mth.clamp(getDouble("mobs.cow.attributes.scale", cowScale), 0.0625D, 16.0D);
|
||||
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
|
||||
@@ -649,7 +649,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean creeperRidable = false;
|
||||
@@ -735,6 +749,7 @@ public class PurpurWorldConfig {
|
||||
@@ -737,6 +751,7 @@ public class PurpurWorldConfig {
|
||||
public double donkeyJumpStrengthMax = 0.5D;
|
||||
public double donkeyMovementSpeedMin = 0.175D;
|
||||
public double donkeyMovementSpeedMax = 0.175D;
|
||||
@@ -657,7 +657,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void donkeySettings() {
|
||||
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
|
||||
if (PurpurConfig.version < 10) {
|
||||
@@ -750,6 +765,7 @@ public class PurpurWorldConfig {
|
||||
@@ -752,6 +767,7 @@ public class PurpurWorldConfig {
|
||||
donkeyJumpStrengthMax = getDouble("mobs.donkey.attributes.jump_strength.max", donkeyJumpStrengthMax);
|
||||
donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin);
|
||||
donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax);
|
||||
@@ -665,7 +665,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean drownedRidable = false;
|
||||
@@ -880,6 +896,7 @@ public class PurpurWorldConfig {
|
||||
@@ -882,6 +898,7 @@ public class PurpurWorldConfig {
|
||||
public double foxMaxHealth = 10.0D;
|
||||
public double foxScale = 1.0D;
|
||||
public boolean foxTypeChangesWithTulips = false;
|
||||
@@ -673,7 +673,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void foxSettings() {
|
||||
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
|
||||
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
|
||||
@@ -892,17 +909,20 @@ public class PurpurWorldConfig {
|
||||
@@ -894,17 +911,20 @@ public class PurpurWorldConfig {
|
||||
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
|
||||
foxScale = Mth.clamp(getDouble("mobs.fox.attributes.scale", foxScale), 0.0625D, 16.0D);
|
||||
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
|
||||
@@ -694,7 +694,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean ghastRidable = false;
|
||||
@@ -977,12 +997,14 @@ public class PurpurWorldConfig {
|
||||
@@ -979,12 +999,14 @@ public class PurpurWorldConfig {
|
||||
public boolean goatControllable = true;
|
||||
public double goatMaxHealth = 10.0D;
|
||||
public double goatScale = 1.0D;
|
||||
@@ -709,7 +709,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean guardianRidable = false;
|
||||
@@ -1006,6 +1028,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1008,6 +1030,7 @@ public class PurpurWorldConfig {
|
||||
public boolean hoglinControllable = true;
|
||||
public double hoglinMaxHealth = 40.0D;
|
||||
public double hoglinScale = 1.0D;
|
||||
@@ -717,7 +717,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void hoglinSettings() {
|
||||
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
|
||||
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
|
||||
@@ -1017,6 +1040,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1019,6 +1042,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
|
||||
hoglinScale = Mth.clamp(getDouble("mobs.hoglin.attributes.scale", hoglinScale), 0.0625D, 16.0D);
|
||||
@@ -725,7 +725,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean horseRidableInWater = false;
|
||||
@@ -1026,6 +1050,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1028,6 +1052,7 @@ public class PurpurWorldConfig {
|
||||
public double horseJumpStrengthMax = 1.0D;
|
||||
public double horseMovementSpeedMin = 0.1125D;
|
||||
public double horseMovementSpeedMax = 0.3375D;
|
||||
@@ -733,7 +733,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void horseSettings() {
|
||||
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
|
||||
if (PurpurConfig.version < 10) {
|
||||
@@ -1041,6 +1066,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1043,6 +1068,7 @@ public class PurpurWorldConfig {
|
||||
horseJumpStrengthMax = getDouble("mobs.horse.attributes.jump_strength.max", horseJumpStrengthMax);
|
||||
horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin);
|
||||
horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax);
|
||||
@@ -741,7 +741,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean huskRidable = false;
|
||||
@@ -1124,6 +1150,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1126,6 +1152,7 @@ public class PurpurWorldConfig {
|
||||
public double llamaJumpStrengthMax = 0.5D;
|
||||
public double llamaMovementSpeedMin = 0.175D;
|
||||
public double llamaMovementSpeedMax = 0.175D;
|
||||
@@ -749,7 +749,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void llamaSettings() {
|
||||
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
|
||||
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
|
||||
@@ -1141,6 +1168,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1143,6 +1170,7 @@ public class PurpurWorldConfig {
|
||||
llamaJumpStrengthMax = getDouble("mobs.llama.attributes.jump_strength.max", llamaJumpStrengthMax);
|
||||
llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin);
|
||||
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
|
||||
@@ -757,7 +757,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean magmaCubeRidable = false;
|
||||
@@ -1170,6 +1198,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1172,6 +1200,7 @@ public class PurpurWorldConfig {
|
||||
public boolean mooshroomControllable = true;
|
||||
public double mooshroomMaxHealth = 10.0D;
|
||||
public double mooshroomScale = 1.0D;
|
||||
@@ -765,7 +765,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void mooshroomSettings() {
|
||||
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
|
||||
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
|
||||
@@ -1181,6 +1210,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1183,6 +1212,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
|
||||
mooshroomScale = Mth.clamp(getDouble("mobs.mooshroom.attributes.scale", mooshroomScale), 0.0625D, 16.0D);
|
||||
@@ -773,7 +773,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean muleRidableInWater = false;
|
||||
@@ -1190,6 +1220,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1192,6 +1222,7 @@ public class PurpurWorldConfig {
|
||||
public double muleJumpStrengthMax = 0.5D;
|
||||
public double muleMovementSpeedMin = 0.175D;
|
||||
public double muleMovementSpeedMax = 0.175D;
|
||||
@@ -781,7 +781,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void muleSettings() {
|
||||
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
|
||||
if (PurpurConfig.version < 10) {
|
||||
@@ -1205,6 +1236,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1207,6 +1238,7 @@ public class PurpurWorldConfig {
|
||||
muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax);
|
||||
muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin);
|
||||
muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax);
|
||||
@@ -789,7 +789,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean ocelotRidable = false;
|
||||
@@ -1212,6 +1244,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1214,6 +1246,7 @@ public class PurpurWorldConfig {
|
||||
public boolean ocelotControllable = true;
|
||||
public double ocelotMaxHealth = 10.0D;
|
||||
public double ocelotScale = 1.0D;
|
||||
@@ -797,7 +797,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void ocelotSettings() {
|
||||
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
|
||||
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
|
||||
@@ -1223,6 +1256,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1225,6 +1258,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
|
||||
ocelotScale = Mth.clamp(getDouble("mobs.ocelot.attributes.scale", ocelotScale), 0.0625D, 16.0D);
|
||||
@@ -805,7 +805,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean pandaRidable = false;
|
||||
@@ -1230,6 +1264,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1232,6 +1266,7 @@ public class PurpurWorldConfig {
|
||||
public boolean pandaControllable = true;
|
||||
public double pandaMaxHealth = 20.0D;
|
||||
public double pandaScale = 1.0D;
|
||||
@@ -813,7 +813,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void pandaSettings() {
|
||||
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
|
||||
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
|
||||
@@ -1241,6 +1276,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1243,6 +1278,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
|
||||
pandaScale = Mth.clamp(getDouble("mobs.panda.attributes.scale", pandaScale), 0.0625D, 16.0D);
|
||||
@@ -821,7 +821,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean parrotRidable = false;
|
||||
@@ -1327,6 +1363,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1329,6 +1365,7 @@ public class PurpurWorldConfig {
|
||||
public double pigMaxHealth = 10.0D;
|
||||
public double pigScale = 1.0D;
|
||||
public boolean pigGiveSaddleBack = false;
|
||||
@@ -829,7 +829,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void pigSettings() {
|
||||
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
|
||||
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
|
||||
@@ -1339,6 +1376,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1341,6 +1378,7 @@ public class PurpurWorldConfig {
|
||||
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
|
||||
pigScale = Mth.clamp(getDouble("mobs.pig.attributes.scale", pigScale), 0.0625D, 16.0D);
|
||||
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
|
||||
@@ -837,7 +837,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean piglinRidable = false;
|
||||
@@ -1402,6 +1440,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1404,6 +1442,7 @@ public class PurpurWorldConfig {
|
||||
public double polarBearScale = 1.0D;
|
||||
public String polarBearBreedableItemString = "";
|
||||
public Item polarBearBreedableItem = null;
|
||||
@@ -845,7 +845,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void polarBearSettings() {
|
||||
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
|
||||
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
|
||||
@@ -1416,6 +1455,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1418,6 +1457,7 @@ public class PurpurWorldConfig {
|
||||
polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
|
||||
Item item = BuiltInRegistries.ITEM.getValue(ResourceLocation.parse(polarBearBreedableItemString));
|
||||
if (item != Items.AIR) polarBearBreedableItem = item;
|
||||
@@ -853,7 +853,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean pufferfishRidable = false;
|
||||
@@ -1441,6 +1481,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1443,6 +1483,7 @@ public class PurpurWorldConfig {
|
||||
public double rabbitScale = 1.0D;
|
||||
public double rabbitNaturalToast = 0.0D;
|
||||
public double rabbitNaturalKiller = 0.0D;
|
||||
@@ -861,7 +861,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void rabbitSettings() {
|
||||
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
|
||||
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
|
||||
@@ -1454,6 +1495,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1456,6 +1497,7 @@ public class PurpurWorldConfig {
|
||||
rabbitScale = Mth.clamp(getDouble("mobs.rabbit.attributes.scale", rabbitScale), 0.0625D, 16.0D);
|
||||
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
|
||||
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
|
||||
@@ -869,7 +869,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean ravagerRidable = false;
|
||||
@@ -1495,6 +1537,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1497,6 +1539,7 @@ public class PurpurWorldConfig {
|
||||
public boolean sheepControllable = true;
|
||||
public double sheepMaxHealth = 8.0D;
|
||||
public double sheepScale = 1.0D;
|
||||
@@ -877,7 +877,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void sheepSettings() {
|
||||
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
|
||||
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
|
||||
@@ -1506,6 +1549,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1508,6 +1551,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
|
||||
sheepScale = Mth.clamp(getDouble("mobs.sheep.attributes.scale", sheepScale), 0.0625D, 16.0D);
|
||||
@@ -885,7 +885,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean shulkerRidable = false;
|
||||
@@ -1642,12 +1686,14 @@ public class PurpurWorldConfig {
|
||||
@@ -1644,12 +1688,14 @@ public class PurpurWorldConfig {
|
||||
public boolean snifferControllable = true;
|
||||
public double snifferMaxHealth = 14.0D;
|
||||
public double snifferScale = 1.0D;
|
||||
@@ -900,7 +900,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean squidRidable = false;
|
||||
@@ -1713,6 +1759,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1715,6 +1761,7 @@ public class PurpurWorldConfig {
|
||||
public boolean striderControllable = true;
|
||||
public double striderMaxHealth = 20.0D;
|
||||
public double striderScale = 1.0D;
|
||||
@@ -908,7 +908,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void striderSettings() {
|
||||
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
|
||||
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
|
||||
@@ -1724,6 +1771,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1726,6 +1773,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
|
||||
striderScale = Mth.clamp(getDouble("mobs.strider.attributes.scale", striderScale), 0.0625D, 16.0D);
|
||||
@@ -916,7 +916,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean tadpoleRidable = false;
|
||||
@@ -1744,6 +1792,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1746,6 +1794,7 @@ public class PurpurWorldConfig {
|
||||
public double traderLlamaJumpStrengthMax = 0.5D;
|
||||
public double traderLlamaMovementSpeedMin = 0.175D;
|
||||
public double traderLlamaMovementSpeedMax = 0.175D;
|
||||
@@ -924,7 +924,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void traderLlamaSettings() {
|
||||
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
|
||||
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
|
||||
@@ -1761,6 +1810,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1763,6 +1812,7 @@ public class PurpurWorldConfig {
|
||||
traderLlamaJumpStrengthMax = getDouble("mobs.trader_llama.attributes.jump_strength.max", traderLlamaJumpStrengthMax);
|
||||
traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin);
|
||||
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
|
||||
@@ -932,7 +932,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean tropicalFishRidable = false;
|
||||
@@ -1784,6 +1834,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1786,6 +1836,7 @@ public class PurpurWorldConfig {
|
||||
public boolean turtleControllable = true;
|
||||
public double turtleMaxHealth = 30.0D;
|
||||
public double turtleScale = 1.0D;
|
||||
@@ -940,7 +940,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void turtleSettings() {
|
||||
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
|
||||
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
|
||||
@@ -1795,6 +1846,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1797,6 +1848,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
|
||||
turtleScale = Mth.clamp(getDouble("mobs.turtle.attributes.scale", turtleScale), 0.0625D, 16.0D);
|
||||
@@ -948,7 +948,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean vexRidable = false;
|
||||
@@ -1825,6 +1877,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1827,6 +1879,7 @@ public class PurpurWorldConfig {
|
||||
public boolean villagerFollowEmeraldBlock = false;
|
||||
public boolean villagerCanBeLeashed = false;
|
||||
public boolean villagerCanBreed = true;
|
||||
@@ -956,7 +956,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
@@ -1839,6 +1892,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1841,6 +1894,7 @@ public class PurpurWorldConfig {
|
||||
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
|
||||
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
|
||||
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
|
||||
@@ -964,7 +964,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
}
|
||||
|
||||
public boolean vindicatorRidable = false;
|
||||
@@ -1961,6 +2015,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1963,6 +2017,7 @@ public class PurpurWorldConfig {
|
||||
public boolean wolfControllable = true;
|
||||
public double wolfMaxHealth = 8.0D;
|
||||
public double wolfScale = 1.0D;
|
||||
@@ -972,7 +972,7 @@ index 2640c1f0079f7f340e57d8f9e75f04185da064e7..638a93788422a2deb277e9d2aedfa8f5
|
||||
private void wolfSettings() {
|
||||
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
|
||||
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
|
||||
@@ -1972,6 +2027,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1974,6 +2029,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);
|
||||
wolfScale = Mth.clamp(getDouble("mobs.wolf.attributes.scale", wolfScale), 0.0625D, 16.0D);
|
||||
@@ -18,7 +18,7 @@ index edb0cd90e28016c44b0aaf5c9ed5d7bdbced5295..12ff824ffa81ea45f76337ec2b6d80b0
|
||||
this.drops.add(new DefaultDrop(itemstack, stack -> Block.popResource(this.level(), this.blockPosition(), stack))); // CraftBukkit - add to drops // Paper - Restore vanilla drops behavior
|
||||
return this.brokenByAnything(world, damageSource); // Paper
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
|
||||
index d6f835320014c07f9d174d05929ed8cc16a10c10..9992a4e791495baae07645444f6374f083c56552 100644
|
||||
index bbdaaa1cc0b4aed28bc39385508d221055b99d4d..bd5e034ce58ebe53d2121209d76ae60134ce72fe 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java
|
||||
@@ -240,7 +240,13 @@ public class ItemFrame extends HangingEntity {
|
||||
@@ -126,7 +126,7 @@ index cdc17ad948d8ac5de62f14b1a561433d33211f32..44a7cee7df2927a923455e8cedaab593
|
||||
|
||||
if (((HangingEntity) object).survives()) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index c78b2c5098dc67a3aadf9f6d4ea5289b7d5124ea..a241c190532b0afd6d00deff3ec9c9100562524a 100644
|
||||
index 295db9e5854f0a936832046f8ad436f722e8cacf..509eac0592bcb5b67b8f1fcb68b53caa0e10a37b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -98,8 +98,10 @@ public class PurpurWorldConfig {
|
||||
@@ -140,7 +140,7 @@ index c78b2c5098dc67a3aadf9f6d4ea5289b7d5124ea..a241c190532b0afd6d00deff3ec9c910
|
||||
}
|
||||
|
||||
public boolean arrowMovementResetsDespawnCounter = true;
|
||||
@@ -114,6 +116,7 @@ public class PurpurWorldConfig {
|
||||
@@ -115,6 +117,7 @@ public class PurpurWorldConfig {
|
||||
public boolean entitiesCanUsePortals = true;
|
||||
public int raidCooldownSeconds = 0;
|
||||
public int animalBreedingCooldownSeconds = 0;
|
||||
@@ -148,7 +148,7 @@ index c78b2c5098dc67a3aadf9f6d4ea5289b7d5124ea..a241c190532b0afd6d00deff3ec9c910
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
||||
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
|
||||
@@ -122,6 +125,8 @@ public class PurpurWorldConfig {
|
||||
@@ -124,6 +127,8 @@ public class PurpurWorldConfig {
|
||||
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
|
||||
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
|
||||
animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds);
|
||||
@@ -17,7 +17,7 @@ index 000d1863bfba98b5132dfc6743362d687b2f54f3..20fece9908382f40b4082f7b1fb7d419
|
||||
// Paper end - Add PlayerNameEntityEvent
|
||||
mob.setPersistenceRequired();
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a241c190532b0afd6d00deff3ec9c9100562524a..258f973c9debcaf09f95f73b8ca1276e107d29f8 100644
|
||||
index 509eac0592bcb5b67b8f1fcb68b53caa0e10a37b..07e997fd9adb318820e6acafc781a8bfa9d2d0d8 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -99,9 +99,11 @@ public class PurpurWorldConfig {
|
||||
@@ -8,7 +8,7 @@ This should help to reduce the amount of dirt, gravel, grass, and etc.
|
||||
that Endermen like to randomly place all over the world.
|
||||
|
||||
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 1a33a41f79f9d661cb958a6ecee2ab7e8a819877..3a37ff8bd8ca792393fa10fed4d38eb72559d4db 100644
|
||||
index 8933b1f16617f0373cc99f93254533cc7d1e923f..02336ee7a002a620cd76570c84d1d53194a23668 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
|
||||
@@ -468,7 +468,7 @@ public class EnderMan extends Monster implements NeutralMob {
|
||||
@@ -21,10 +21,10 @@ index 1a33a41f79f9d661cb958a6ecee2ab7e8a819877..3a37ff8bd8ca792393fa10fed4d38eb7
|
||||
|
||||
private static class EndermanFreezeWhenLookedAt extends Goal {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 258f973c9debcaf09f95f73b8ca1276e107d29f8..bc28a4851dd68874042c05bed3486eace3db5963 100644
|
||||
index 07e997fd9adb318820e6acafc781a8bfa9d2d0d8..5e3240a67fac56631b5611176d9bf8fd426ad97b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -847,6 +847,7 @@ public class PurpurWorldConfig {
|
||||
@@ -849,6 +849,7 @@ public class PurpurWorldConfig {
|
||||
public double endermanMaxHealth = 40.0D;
|
||||
public double endermanScale = 1.0D;
|
||||
public boolean endermanAllowGriefing = true;
|
||||
@@ -32,7 +32,7 @@ index 258f973c9debcaf09f95f73b8ca1276e107d29f8..bc28a4851dd68874042c05bed3486eac
|
||||
private void endermanSettings() {
|
||||
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
|
||||
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
|
||||
@@ -859,6 +860,7 @@ public class PurpurWorldConfig {
|
||||
@@ -861,6 +862,7 @@ public class PurpurWorldConfig {
|
||||
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
|
||||
endermanScale = Mth.clamp(getDouble("mobs.enderman.attributes.scale", endermanScale), 0.0625D, 16.0D);
|
||||
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
|
||||
@@ -18,10 +18,10 @@ index 70961e151666a0ecf5b791853f4581eaebbdcc8b..8c853b6fbbc966ee6ba9ad3770d4e2e2
|
||||
entity.hurt(this.damageSources().thrown(this, this.getOwner()), (float) i);
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index bc28a4851dd68874042c05bed3486eace3db5963..3bbc81e6a97728b032f0097b2a88a7ff69bd18ce 100644
|
||||
index 5e3240a67fac56631b5611176d9bf8fd426ad97b..c005d1932f41b2b4959b7753e14f0463d2eccec5 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -337,6 +337,11 @@ public class PurpurWorldConfig {
|
||||
@@ -339,6 +339,11 @@ public class PurpurWorldConfig {
|
||||
});
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Changeable Mob Left Handed Chance
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 17e6e4a858d3a2332c14d2860d2f5d1e87e1c629..7b0cb3f4d8d810b32cda964c20437fea5ea00e24 100644
|
||||
index 8ce316292850353231e529f75630d3fde290a161..43a37611c046c70833349c2ff5313f312bebf25b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -1422,7 +1422,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab
|
||||
@@ -18,10 +18,10 @@ index 17e6e4a858d3a2332c14d2860d2f5d1e87e1c629..7b0cb3f4d8d810b32cda964c20437fea
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 3bbc81e6a97728b032f0097b2a88a7ff69bd18ce..a5f51c2dff32452ad5dda0623dda90da358fe322 100644
|
||||
index c005d1932f41b2b4959b7753e14f0463d2eccec5..23ee0ca0ce934e3cd30c0ad86481988223698372 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -150,8 +150,10 @@ public class PurpurWorldConfig {
|
||||
@@ -152,8 +152,10 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
|
||||
public int entityLifeSpan = 0;
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add boat fall damage config
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index a0f3371520702a3a1643abd45bf6754336385397..0823fd91cbee711847c4a3d06f46c7d3b694833c 100644
|
||||
index 3d05da7985402f1cf361182084b62145c9bf9856..3b9ebf98eab678938e2b619eb42025c0322bf5dd 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1441,7 +1441,16 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
@@ -1442,7 +1442,16 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
if (this.isInvulnerableTo(world, source)) {
|
||||
return false;
|
||||
} else {
|
||||
@@ -27,7 +27,7 @@ index a0f3371520702a3a1643abd45bf6754336385397..0823fd91cbee711847c4a3d06f46c7d3
|
||||
|
||||
if (!flag && this.spawnInvulnerableTime > 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 0ac20878dfa363c3a28b784e3cba8cba8874a105..13107decd92901bae038ca5bfa69a83adabd3e3d 100644
|
||||
index 23ee0ca0ce934e3cd30c0ad86481988223698372..db63c982a19e8e95f4601dadc17cd5f52f29253a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -113,6 +113,7 @@ public class PurpurWorldConfig {
|
||||
@@ -36,13 +36,13 @@ index 0ac20878dfa363c3a28b784e3cba8cba8874a105..13107decd92901bae038ca5bfa69a83a
|
||||
public boolean boatEjectPlayersOnLand = false;
|
||||
+ public boolean boatsDoFallDamage = false;
|
||||
public boolean disableDropsOnCrammingDeath = false;
|
||||
public boolean milkCuresBadOmen = true;
|
||||
public double tridentLoyaltyVoidReturnHeight = 0.0D;
|
||||
public boolean entitiesCanUsePortals = true;
|
||||
@@ -122,6 +123,7 @@ public class PurpurWorldConfig {
|
||||
@@ -123,6 +124,7 @@ public class PurpurWorldConfig {
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
||||
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
|
||||
+ boatsDoFallDamage = getBoolean("gameplay-mechanics.boat.do-fall-damage", boatsDoFallDamage);
|
||||
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
|
||||
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
|
||||
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
|
||||
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
|
||||
@@ -23,10 +23,10 @@ index bfdb0c52db44e7cc4f37fd42a22c8dae2cc28fac..3f97118c8ce4f4e9a5f2a2fc3acdc68a
|
||||
this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F));
|
||||
this.goalSelector.addGoal(4, new RandomLookAroundGoal(this));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index d5a546191014dc1cc9ed8b314c67983b0401d37b..e7a09087dc2382d7739f8955be1bfc966fbc4c70 100644
|
||||
index db63c982a19e8e95f4601dadc17cd5f52f29253a..60c89f3e4cbf5b02479dacd21ebe61ef41bc3478 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1684,6 +1684,10 @@ public class PurpurWorldConfig {
|
||||
@@ -1686,6 +1686,10 @@ public class PurpurWorldConfig {
|
||||
public double snowGolemMaxHealth = 4.0D;
|
||||
public double snowGolemScale = 1.0D;
|
||||
public boolean snowGolemPutPumpkinBack = false;
|
||||
@@ -37,7 +37,7 @@ index d5a546191014dc1cc9ed8b314c67983b0401d37b..e7a09087dc2382d7739f8955be1bfc96
|
||||
private void snowGolemSettings() {
|
||||
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
|
||||
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
|
||||
@@ -1697,6 +1701,10 @@ public class PurpurWorldConfig {
|
||||
@@ -1699,6 +1703,10 @@ public class PurpurWorldConfig {
|
||||
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);
|
||||
snowGolemScale = Mth.clamp(getDouble("mobs.snow_golem.attributes.scale", snowGolemScale), 0.0625D, 16.0D);
|
||||
snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);
|
||||
@@ -174,10 +174,10 @@ index 8734ab1bd8299bbf43906d81a349c2a13e0981a7..3ca83269311cbc18c9ef3ce62cff6a2d
|
||||
"farmer",
|
||||
PoiTypes.FARMER,
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index e7a09087dc2382d7739f8955be1bfc966fbc4c70..24855a55bc90c5b57cec3bfcf2efc36523d817f2 100644
|
||||
index 60c89f3e4cbf5b02479dacd21ebe61ef41bc3478..5e1da3824ef5e8dc9333f2248fde1548f496abc1 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1904,6 +1904,8 @@ public class PurpurWorldConfig {
|
||||
@@ -1906,6 +1906,8 @@ public class PurpurWorldConfig {
|
||||
public boolean villagerCanBeLeashed = false;
|
||||
public boolean villagerCanBreed = true;
|
||||
public int villagerBreedingTicks = 6000;
|
||||
@@ -186,7 +186,7 @@ index e7a09087dc2382d7739f8955be1bfc966fbc4c70..24855a55bc90c5b57cec3bfcf2efc365
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
@@ -1919,6 +1921,8 @@ public class PurpurWorldConfig {
|
||||
@@ -1921,6 +1923,8 @@ public class PurpurWorldConfig {
|
||||
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
|
||||
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
|
||||
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
|
||||
@@ -35,10 +35,10 @@ index 650f9e1ca3a5ddec5123133c9604f33140e948a8..cb47b15d197b1167dcbac1b989903bbf
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 24855a55bc90c5b57cec3bfcf2efc36523d817f2..71b5f351c539584ccb1d215b7d4dce3e4541ac41 100644
|
||||
index 5e1da3824ef5e8dc9333f2248fde1548f496abc1..1433d56c0830b0b91bac87df0ac400977ee3a24f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2170,6 +2170,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2172,6 +2172,7 @@ public class PurpurWorldConfig {
|
||||
public boolean zombifiedPiglinJockeyOnlyBaby = true;
|
||||
public double zombifiedPiglinJockeyChance = 0.05D;
|
||||
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
|
||||
@@ -46,7 +46,7 @@ index 24855a55bc90c5b57cec3bfcf2efc36523d817f2..71b5f351c539584ccb1d215b7d4dce3e
|
||||
private void zombifiedPiglinSettings() {
|
||||
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
|
||||
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
|
||||
@@ -2185,5 +2186,6 @@ public class PurpurWorldConfig {
|
||||
@@ -2187,5 +2188,6 @@ public class PurpurWorldConfig {
|
||||
zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby);
|
||||
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
|
||||
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);
|
||||
@@ -182,10 +182,10 @@ index ecd33b4add46acbe4e4f8879c0601220423d66ca..1506a8c0fa490726eb4a4ae14f3aa194
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 14fe426bac1cc6711b264a03e472f3b48b8f9b07..8f2f978dbd10b742c6bfad36fb0e0aaf37e4deeb 100644
|
||||
index 1433d56c0830b0b91bac87df0ac400977ee3a24f..f6a47daaf8f03d9f0cfc8a49e242e8c1dffe62f8 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -2045,6 +2045,8 @@ public class PurpurWorldConfig {
|
||||
@@ -2047,6 +2047,8 @@ public class PurpurWorldConfig {
|
||||
public boolean wolfControllable = true;
|
||||
public double wolfMaxHealth = 8.0D;
|
||||
public double wolfScale = 1.0D;
|
||||
@@ -194,7 +194,7 @@ index 14fe426bac1cc6711b264a03e472f3b48b8f9b07..8f2f978dbd10b742c6bfad36fb0e0aaf
|
||||
public int wolfBreedingTicks = 6000;
|
||||
private void wolfSettings() {
|
||||
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
|
||||
@@ -2057,6 +2059,8 @@ public class PurpurWorldConfig {
|
||||
@@ -2059,6 +2061,8 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);
|
||||
wolfScale = Mth.clamp(getDouble("mobs.wolf.attributes.scale", wolfScale), 0.0625D, 16.0D);
|
||||
@@ -26,7 +26,7 @@ index f79146925e99da08492e7b445006be003a56f340..8a89ea47d79065e85bb831578c6a1ab7
|
||||
@Override
|
||||
public Cat getBreedOffspring(ServerLevel world, AgeableMob entity) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
index 54effd4230d1b231ef94a3e3948a535e6ba15537..e8f825288aaa6f513f1ac25689a9669e3cfc015f 100644
|
||||
index 37687335041ae47725c6931e2c7d54c192e2de36..7343c5a81ddf7db1e9e434796489fd8a98b9a70c 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -212,6 +212,12 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
|
||||
@@ -43,10 +43,10 @@ index 54effd4230d1b231ef94a3e3948a535e6ba15537..e8f825288aaa6f513f1ac25689a9669e
|
||||
protected void registerGoals() {
|
||||
this.goalSelector.addGoal(1, new FloatGoal(this));
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index bb30d75feae68fdf2714fe51c8ddc8ef71fc647c..0360a6d10440cd5a656f3ace25254d6021ca2964 100644
|
||||
index f6a47daaf8f03d9f0cfc8a49e242e8c1dffe62f8..57a5631a139251ae23592c10b082ab738f5cbb0b 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -617,6 +617,7 @@ public class PurpurWorldConfig {
|
||||
@@ -619,6 +619,7 @@ public class PurpurWorldConfig {
|
||||
public int catSpawnSwampHutScanRange = 16;
|
||||
public int catSpawnVillageScanRange = 48;
|
||||
public int catBreedingTicks = 6000;
|
||||
@@ -54,7 +54,7 @@ index bb30d75feae68fdf2714fe51c8ddc8ef71fc647c..0360a6d10440cd5a656f3ace25254d60
|
||||
private void catSettings() {
|
||||
catRidable = getBoolean("mobs.cat.ridable", catRidable);
|
||||
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
|
||||
@@ -632,6 +633,11 @@ public class PurpurWorldConfig {
|
||||
@@ -634,6 +635,11 @@ public class PurpurWorldConfig {
|
||||
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
|
||||
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
|
||||
catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks);
|
||||
@@ -66,7 +66,7 @@ index bb30d75feae68fdf2714fe51c8ddc8ef71fc647c..0360a6d10440cd5a656f3ace25254d60
|
||||
}
|
||||
|
||||
public boolean caveSpiderRidable = false;
|
||||
@@ -2045,6 +2051,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2047,6 +2053,7 @@ public class PurpurWorldConfig {
|
||||
public boolean wolfControllable = true;
|
||||
public double wolfMaxHealth = 8.0D;
|
||||
public double wolfScale = 1.0D;
|
||||
@@ -74,7 +74,7 @@ index bb30d75feae68fdf2714fe51c8ddc8ef71fc647c..0360a6d10440cd5a656f3ace25254d60
|
||||
public boolean wolfMilkCuresRabies = true;
|
||||
public double wolfNaturalRabid = 0.0D;
|
||||
public int wolfBreedingTicks = 6000;
|
||||
@@ -2059,6 +2066,11 @@ public class PurpurWorldConfig {
|
||||
@@ -2061,6 +2068,11 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);
|
||||
wolfScale = Mth.clamp(getDouble("mobs.wolf.attributes.scale", wolfScale), 0.0625D, 16.0D);
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Phantom flames on swoop
|
||||
|
||||
|
||||
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 11e0ba7ec12ba3b93589f451ef4f251598eb29c9..32ac2ec33daacf038d2c10b748e89a7725d36a79 100644
|
||||
index 987b860f85a1be3159233fb3291773792d291348..39ae23d4942178ce95d4c06e676545aa9a1e8756 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
|
||||
@@ -238,6 +238,7 @@ public class Phantom extends FlyingMob implements Enemy {
|
||||
@@ -17,10 +17,10 @@ index 11e0ba7ec12ba3b93589f451ef4f251598eb29c9..32ac2ec33daacf038d2c10b748e89a77
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 0360a6d10440cd5a656f3ace25254d6021ca2964..947c0405fd4e695509597cfa54f5307fc9fc5add 100644
|
||||
index 57a5631a139251ae23592c10b082ab738f5cbb0b..7e32f0ec92b9309ca61a0c773d75b996768d3b74 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1346,6 +1346,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1348,6 +1348,7 @@ public class PurpurWorldConfig {
|
||||
public int phantomBurnInLight = 0;
|
||||
public boolean phantomIgnorePlayersWithTorch = false;
|
||||
public boolean phantomBurnInDaylight = true;
|
||||
@@ -28,7 +28,7 @@ index 0360a6d10440cd5a656f3ace25254d6021ca2964..947c0405fd4e695509597cfa54f5307f
|
||||
private void phantomSettings() {
|
||||
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
|
||||
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
|
||||
@@ -1379,6 +1380,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1381,6 +1382,7 @@ public class PurpurWorldConfig {
|
||||
phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight);
|
||||
phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight);
|
||||
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);
|
||||
@@ -17,10 +17,10 @@ index edef8fc62f8dba1b57214d8d7d805ff0d83f4114..663eb96b8227f000448957b5d8ea13ca
|
||||
|
||||
return world.getBlockState(blockposition1).isRedstoneConductor(world, blockposition1);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 947c0405fd4e695509597cfa54f5307fc9fc5add..0fb7337e34d172d28172f2836432e4ff24769765 100644
|
||||
index 7e32f0ec92b9309ca61a0c773d75b996768d3b74..bae2bb894cc068cbf738849b9e46ce8d8b78f919 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -374,6 +374,11 @@ public class PurpurWorldConfig {
|
||||
@@ -376,6 +376,11 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,10 +17,10 @@ index 24c2568db30f970aed1a4897cfbc7d07297047d3..5d94b71bd54f99040b76cca74964a32d
|
||||
|
||||
if (environment.includeIntegrated) {
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 3c901f5597e4bb2a77168eb5ad1d14e13142983f..3c28590feaec355d94b1a8c7228c3b62e9d815ad 100644
|
||||
index f937454c9bb398a612a6f25ab8579c8800dfa4d0..509175e1dd9f64d1a4f343cc21e0dc6d04dea68d 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1156,6 +1156,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1155,6 +1155,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.safeShutdown(waitForShutdown, false);
|
||||
}
|
||||
public void safeShutdown(boolean waitForShutdown, boolean isRestarting) {
|
||||
@@ -41,7 +41,7 @@ index de6f842349dee273eb84b2f12ea6a41d43f17fb1..94d292b97ca2404fa1ae8ceec7c48540
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 0823fd91cbee711847c4a3d06f46c7d3b694833c..a3d163500999dae1552da9cccea06d58f735c9cf 100644
|
||||
index 3b9ebf98eab678938e2b619eb42025c0322bf5dd..976dfffac3895015d0eb00bab0ea93f9e5cc27a2 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -330,6 +330,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
@@ -68,7 +68,7 @@ index 0823fd91cbee711847c4a3d06f46c7d3b694833c..a3d163500999dae1552da9cccea06d58
|
||||
}
|
||||
|
||||
private void saveParentVehicle(CompoundTag nbt) {
|
||||
@@ -3442,5 +3445,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
@@ -3443,5 +3446,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
this.server.getPlayerList().respawn(this, true, RemovalReason.KILLED, org.bukkit.event.player.PlayerRespawnEvent.RespawnReason.DEATH, to);
|
||||
}
|
||||
}
|
||||
@@ -83,7 +83,7 @@ index 0823fd91cbee711847c4a3d06f46c7d3b694833c..a3d163500999dae1552da9cccea06d58
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index ca793a3275cbfe46cf95813020a991993d356aca..c41cd92990db562ddd204c8eb8a03e803ed747ff 100644
|
||||
index 54e8d35edd45afd2dc152e60cc4ac96dd2916d55..5476701392abb1b6fb70ab90e72b59a8bfbef02b 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -419,6 +419,7 @@ public abstract class PlayerList {
|
||||
@@ -29,10 +29,10 @@ index 0cc49b0a600a5e6fb4fc21e698e3a5fef5996df1..bb2283fa9a21d7fc609f0a914cdb8b13
|
||||
if (!this.level().isClientSide) {
|
||||
player.startRiding(this);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 0fb7337e34d172d28172f2836432e4ff24769765..b02c2aa15bbfd3b917476f0fd296612d548d450f 100644
|
||||
index bae2bb894cc068cbf738849b9e46ce8d8b78f919..cd61cf137bfe39633414c59beaf7e4fb303fa2f1 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1799,6 +1799,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1801,6 +1801,7 @@ public class PurpurWorldConfig {
|
||||
public double striderMaxHealth = 20.0D;
|
||||
public double striderScale = 1.0D;
|
||||
public int striderBreedingTicks = 6000;
|
||||
@@ -40,7 +40,7 @@ index 0fb7337e34d172d28172f2836432e4ff24769765..b02c2aa15bbfd3b917476f0fd296612d
|
||||
private void striderSettings() {
|
||||
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
|
||||
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
|
||||
@@ -1811,6 +1812,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1813,6 +1814,7 @@ public class PurpurWorldConfig {
|
||||
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
|
||||
striderScale = Mth.clamp(getDouble("mobs.strider.attributes.scale", striderScale), 0.0625D, 16.0D);
|
||||
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] PlayerBookTooLargeEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index d6ba87cd80abe6126a21df0aafc208a8a2260322..a29a06a11fd44219742ee621fcd090e9cc710012 100644
|
||||
index c5f36e6a37d1d718e145de85b9a0a89114790d36..bb78e5782615bf07aecd4f4e1bf24291eb6d0764 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1202,6 +1202,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -27,10 +27,10 @@ index 773be9c116a664e4d0349c58c00df34f203f8ebf..ae5f7c275003b6fb9f6c5a0277482b4f
|
||||
this.updatePlayerPose();
|
||||
if (this.currentImpulseContextResetGraceTime > 0) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 9775eda4e445a29852cbf12db43282cf8ac9a118..f218c12634f40a171a5022cb3d2956236d9a4d20 100644
|
||||
index cd61cf137bfe39633414c59beaf7e4fb303fa2f1..afd52da926501e8a99b7d889e8fdbb8c5d20f5cc 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -283,6 +283,19 @@ public class PurpurWorldConfig {
|
||||
@@ -285,6 +285,19 @@ public class PurpurWorldConfig {
|
||||
villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index cccd99d642ea14eb175946656d4dead436268d01..beb573d8fdc5f9e07146a7bd4d7c51d596a791a1 100644
|
||||
index 7de429f377fa4880c3b0cfb9b72df06a9b89722e..d6c1910cdc9bbdda217f1f13334312fafdb3c8fa 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1884,7 +1884,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -285,10 +285,10 @@ index 2f00676f62478897ae4931ea06e047567c407535..6bd6113cabfae068aa421991f0a90164
|
||||
// CraftBukkit start - fire ExplosionPrimeEvent
|
||||
ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity());
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
index 49c0f09f91f9ea2428fd3b13b00c99073074beba..b0e258d6025dd9536f1656e087bf85fee60e642d 100644
|
||||
index 6c2d4d6f3a36ab452dfd3c33f66e54f152906639..275347d563fbcffa896b6c1c9f7f51c8797c2379 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java
|
||||
@@ -479,7 +479,7 @@ public abstract class Projectile extends Entity implements TraceableEntity {
|
||||
@@ -480,7 +480,7 @@ public abstract class Projectile extends Entity implements TraceableEntity {
|
||||
public boolean mayInteract(ServerLevel world, BlockPos pos) {
|
||||
Entity entity = this.getOwner();
|
||||
|
||||
@@ -376,10 +376,10 @@ index bae4931fff0db56aa125248e17b29f7c2557221f..4eb0f7a9cf6b12c02d0bd42980ae302d
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a8c2f8034 100644
|
||||
index afd52da926501e8a99b7d889e8fdbb8c5d20f5cc..9b0bdd1d70f7c50e81d273612919e7ccf7721df8 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -120,6 +120,9 @@ public class PurpurWorldConfig {
|
||||
@@ -121,6 +121,9 @@ public class PurpurWorldConfig {
|
||||
public int raidCooldownSeconds = 0;
|
||||
public int animalBreedingCooldownSeconds = 0;
|
||||
public boolean persistentDroppableEntityDisplayNames = true;
|
||||
@@ -389,7 +389,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
||||
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
|
||||
@@ -130,6 +133,9 @@ public class PurpurWorldConfig {
|
||||
@@ -132,6 +135,9 @@ public class PurpurWorldConfig {
|
||||
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
|
||||
animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds);
|
||||
persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames);
|
||||
@@ -399,7 +399,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
|
||||
}
|
||||
|
||||
@@ -399,9 +405,11 @@ public class PurpurWorldConfig {
|
||||
@@ -401,9 +407,11 @@ public class PurpurWorldConfig {
|
||||
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
|
||||
}
|
||||
|
||||
@@ -411,7 +411,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
|
||||
farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha);
|
||||
}
|
||||
@@ -426,6 +434,11 @@ public class PurpurWorldConfig {
|
||||
@@ -428,6 +436,11 @@ public class PurpurWorldConfig {
|
||||
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
|
||||
}
|
||||
|
||||
@@ -423,7 +423,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
public boolean respawnAnchorExplode = true;
|
||||
public double respawnAnchorExplosionPower = 5.0D;
|
||||
public boolean respawnAnchorExplosionFire = true;
|
||||
@@ -455,10 +468,12 @@ public class PurpurWorldConfig {
|
||||
@@ -457,10 +470,12 @@ public class PurpurWorldConfig {
|
||||
public boolean turtleEggsBreakFromExpOrbs = false;
|
||||
public boolean turtleEggsBreakFromItems = false;
|
||||
public boolean turtleEggsBreakFromMinecarts = false;
|
||||
@@ -436,7 +436,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
}
|
||||
|
||||
public int waterInfiniteRequiredSources = 2;
|
||||
@@ -743,6 +758,7 @@ public class PurpurWorldConfig {
|
||||
@@ -745,6 +760,7 @@ public class PurpurWorldConfig {
|
||||
public double creeperScale = 1.0D;
|
||||
public double creeperChargedChance = 0.0D;
|
||||
public boolean creeperAllowGriefing = true;
|
||||
@@ -444,7 +444,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
private void creeperSettings() {
|
||||
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
|
||||
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
|
||||
@@ -756,6 +772,7 @@ public class PurpurWorldConfig {
|
||||
@@ -758,6 +774,7 @@ public class PurpurWorldConfig {
|
||||
creeperScale = Mth.clamp(getDouble("mobs.creeper.attributes.scale", creeperScale), 0.0625D, 16.0D);
|
||||
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
|
||||
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
|
||||
@@ -452,7 +452,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
}
|
||||
|
||||
public boolean dolphinRidable = false;
|
||||
@@ -856,6 +873,7 @@ public class PurpurWorldConfig {
|
||||
@@ -858,6 +875,7 @@ public class PurpurWorldConfig {
|
||||
public double enderDragonMaxY = 320D;
|
||||
public double enderDragonMaxHealth = 200.0D;
|
||||
public boolean enderDragonAlwaysDropsFullExp = false;
|
||||
@@ -460,7 +460,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
private void enderDragonSettings() {
|
||||
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
|
||||
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
|
||||
@@ -872,6 +890,7 @@ public class PurpurWorldConfig {
|
||||
@@ -874,6 +892,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
|
||||
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
|
||||
@@ -468,7 +468,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
}
|
||||
|
||||
public boolean endermanRidable = false;
|
||||
@@ -881,6 +900,7 @@ public class PurpurWorldConfig {
|
||||
@@ -883,6 +902,7 @@ public class PurpurWorldConfig {
|
||||
public double endermanScale = 1.0D;
|
||||
public boolean endermanAllowGriefing = true;
|
||||
public boolean endermanDespawnEvenWithBlock = false;
|
||||
@@ -476,7 +476,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
private void endermanSettings() {
|
||||
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
|
||||
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
|
||||
@@ -894,6 +914,7 @@ public class PurpurWorldConfig {
|
||||
@@ -896,6 +916,7 @@ public class PurpurWorldConfig {
|
||||
endermanScale = Mth.clamp(getDouble("mobs.enderman.attributes.scale", endermanScale), 0.0625D, 16.0D);
|
||||
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
|
||||
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
|
||||
@@ -484,7 +484,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
}
|
||||
|
||||
public boolean endermiteRidable = false;
|
||||
@@ -919,6 +940,7 @@ public class PurpurWorldConfig {
|
||||
@@ -921,6 +942,7 @@ public class PurpurWorldConfig {
|
||||
public boolean evokerControllable = true;
|
||||
public double evokerMaxHealth = 24.0D;
|
||||
public double evokerScale = 1.0D;
|
||||
@@ -492,7 +492,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
private void evokerSettings() {
|
||||
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
|
||||
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
|
||||
@@ -930,6 +952,7 @@ public class PurpurWorldConfig {
|
||||
@@ -932,6 +954,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth);
|
||||
evokerScale = Mth.clamp(getDouble("mobs.evoker.attributes.scale", evokerScale), 0.0625D, 16.0D);
|
||||
@@ -500,7 +500,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
}
|
||||
|
||||
public boolean foxRidable = false;
|
||||
@@ -939,6 +962,7 @@ public class PurpurWorldConfig {
|
||||
@@ -941,6 +964,7 @@ public class PurpurWorldConfig {
|
||||
public double foxScale = 1.0D;
|
||||
public boolean foxTypeChangesWithTulips = false;
|
||||
public int foxBreedingTicks = 6000;
|
||||
@@ -508,7 +508,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
private void foxSettings() {
|
||||
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
|
||||
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
|
||||
@@ -952,6 +976,7 @@ public class PurpurWorldConfig {
|
||||
@@ -954,6 +978,7 @@ public class PurpurWorldConfig {
|
||||
foxScale = Mth.clamp(getDouble("mobs.fox.attributes.scale", foxScale), 0.0625D, 16.0D);
|
||||
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
|
||||
foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
|
||||
@@ -516,7 +516,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
}
|
||||
|
||||
public boolean frogRidable = false;
|
||||
@@ -1428,6 +1453,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1430,6 +1455,7 @@ public class PurpurWorldConfig {
|
||||
public boolean piglinControllable = true;
|
||||
public double piglinMaxHealth = 16.0D;
|
||||
public double piglinScale = 1.0D;
|
||||
@@ -524,7 +524,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
private void piglinSettings() {
|
||||
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
|
||||
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
|
||||
@@ -1439,6 +1465,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1441,6 +1467,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
|
||||
piglinScale = Mth.clamp(getDouble("mobs.piglin.attributes.scale", piglinScale), 0.0625D, 16.0D);
|
||||
@@ -532,7 +532,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
}
|
||||
|
||||
public boolean piglinBruteRidable = false;
|
||||
@@ -1464,6 +1491,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1466,6 +1493,7 @@ public class PurpurWorldConfig {
|
||||
public boolean pillagerControllable = true;
|
||||
public double pillagerMaxHealth = 24.0D;
|
||||
public double pillagerScale = 1.0D;
|
||||
@@ -540,7 +540,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
private void pillagerSettings() {
|
||||
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
|
||||
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
|
||||
@@ -1475,6 +1503,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1477,6 +1505,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
|
||||
pillagerScale = Mth.clamp(getDouble("mobs.pillager.attributes.scale", pillagerScale), 0.0625D, 16.0D);
|
||||
@@ -548,7 +548,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
}
|
||||
|
||||
public boolean polarBearRidable = false;
|
||||
@@ -1526,6 +1555,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1528,6 +1557,7 @@ public class PurpurWorldConfig {
|
||||
public double rabbitNaturalToast = 0.0D;
|
||||
public double rabbitNaturalKiller = 0.0D;
|
||||
public int rabbitBreedingTicks = 6000;
|
||||
@@ -556,7 +556,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
private void rabbitSettings() {
|
||||
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
|
||||
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
|
||||
@@ -1540,6 +1570,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1542,6 +1572,7 @@ public class PurpurWorldConfig {
|
||||
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
|
||||
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
|
||||
rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
|
||||
@@ -564,7 +564,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
}
|
||||
|
||||
public boolean ravagerRidable = false;
|
||||
@@ -1547,6 +1578,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1549,6 +1580,7 @@ public class PurpurWorldConfig {
|
||||
public boolean ravagerControllable = true;
|
||||
public double ravagerMaxHealth = 100.0D;
|
||||
public double ravagerScale = 1.0D;
|
||||
@@ -572,7 +572,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
private void ravagerSettings() {
|
||||
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
|
||||
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
|
||||
@@ -1558,6 +1590,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1560,6 +1592,7 @@ public class PurpurWorldConfig {
|
||||
}
|
||||
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
|
||||
ravagerScale = Mth.clamp(getDouble("mobs.ravager.attributes.scale", ravagerScale), 0.0625D, 16.0D);
|
||||
@@ -580,7 +580,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
}
|
||||
|
||||
public boolean salmonRidable = false;
|
||||
@@ -1582,6 +1615,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1584,6 +1617,7 @@ public class PurpurWorldConfig {
|
||||
public double sheepMaxHealth = 8.0D;
|
||||
public double sheepScale = 1.0D;
|
||||
public int sheepBreedingTicks = 6000;
|
||||
@@ -588,7 +588,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
private void sheepSettings() {
|
||||
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
|
||||
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
|
||||
@@ -1594,6 +1628,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1596,6 +1630,7 @@ public class PurpurWorldConfig {
|
||||
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
|
||||
sheepScale = Mth.clamp(getDouble("mobs.sheep.attributes.scale", sheepScale), 0.0625D, 16.0D);
|
||||
sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
|
||||
@@ -596,7 +596,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
}
|
||||
|
||||
public boolean shulkerRidable = false;
|
||||
@@ -1621,6 +1656,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1623,6 +1658,7 @@ public class PurpurWorldConfig {
|
||||
public double silverfishScale = 1.0D;
|
||||
public double silverfishMovementSpeed = 0.25D;
|
||||
public double silverfishAttackDamage = 1.0D;
|
||||
@@ -604,7 +604,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
private void silverfishSettings() {
|
||||
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
|
||||
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
|
||||
@@ -1634,6 +1670,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1636,6 +1672,7 @@ public class PurpurWorldConfig {
|
||||
silverfishScale = Mth.clamp(getDouble("mobs.silverfish.attributes.scale", silverfishScale), 0.0625D, 16.0D);
|
||||
silverfishMovementSpeed = getDouble("mobs.silverfish.attributes.movement_speed", silverfishMovementSpeed);
|
||||
silverfishAttackDamage = getDouble("mobs.silverfish.attributes.attack_damage", silverfishAttackDamage);
|
||||
@@ -612,7 +612,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
}
|
||||
|
||||
public boolean skeletonRidable = false;
|
||||
@@ -1714,6 +1751,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1716,6 +1753,7 @@ public class PurpurWorldConfig {
|
||||
public int snowGolemSnowBallMax = 20;
|
||||
public float snowGolemSnowBallModifier = 10.0F;
|
||||
public double snowGolemAttackDistance = 1.25D;
|
||||
@@ -620,7 +620,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
private void snowGolemSettings() {
|
||||
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
|
||||
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
|
||||
@@ -1731,6 +1769,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1733,6 +1771,7 @@ public class PurpurWorldConfig {
|
||||
snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax);
|
||||
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
|
||||
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
|
||||
@@ -628,7 +628,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
}
|
||||
|
||||
public boolean snifferRidable = false;
|
||||
@@ -1934,6 +1973,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1936,6 +1975,7 @@ public class PurpurWorldConfig {
|
||||
public int villagerBreedingTicks = 6000;
|
||||
public boolean villagerClericsFarmWarts = false;
|
||||
public boolean villagerClericFarmersThrowWarts = true;
|
||||
@@ -636,7 +636,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
private void villagerSettings() {
|
||||
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
|
||||
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
|
||||
@@ -1951,6 +1991,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1953,6 +1993,7 @@ public class PurpurWorldConfig {
|
||||
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
|
||||
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
|
||||
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
|
||||
@@ -644,7 +644,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
}
|
||||
|
||||
public boolean vindicatorRidable = false;
|
||||
@@ -2030,6 +2071,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2032,6 +2073,7 @@ public class PurpurWorldConfig {
|
||||
public double witherScale = 1.0D;
|
||||
public float witherHealthRegenAmount = 1.0f;
|
||||
public int witherHealthRegenDelay = 20;
|
||||
@@ -652,7 +652,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
private void witherSettings() {
|
||||
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
|
||||
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
|
||||
@@ -2048,6 +2090,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2050,6 +2092,7 @@ public class PurpurWorldConfig {
|
||||
witherScale = Mth.clamp(getDouble("mobs.wither.attributes.scale", witherScale), 0.0625D, 16.0D);
|
||||
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
|
||||
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
|
||||
@@ -660,7 +660,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
}
|
||||
|
||||
public boolean witherSkeletonRidable = false;
|
||||
@@ -2126,6 +2169,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2128,6 +2171,7 @@ public class PurpurWorldConfig {
|
||||
public double zombieJockeyChance = 0.05D;
|
||||
public boolean zombieJockeyTryExistingChickens = true;
|
||||
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
|
||||
@@ -668,7 +668,7 @@ index f218c12634f40a171a5022cb3d2956236d9a4d20..f0d8e44aee5cd3b0e4012e41e622d89a
|
||||
private void zombieSettings() {
|
||||
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
|
||||
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
|
||||
@@ -2142,6 +2186,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2144,6 +2188,7 @@ public class PurpurWorldConfig {
|
||||
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
|
||||
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
|
||||
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);
|
||||
@@ -22,10 +22,10 @@ index 6582db84c5307257f16c321453491cf24e40c9c7..f9015d4e478efeec8a796b7a897638f7
|
||||
// org.bukkit.event.block.NotePlayEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callNotePlayEvent(world, pos, state.getValue(NoteBlock.INSTRUMENT), state.getValue(NoteBlock.NOTE));
|
||||
// if (event.isCancelled()) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b1d63425dc952c0ee0b3bd371a0910787ce628b7..eed88f28a22665b2998297af2d74535610cf9d58 100644
|
||||
index 9b0bdd1d70f7c50e81d273612919e7ccf7721df8..6843771f4946ca459ade3617d7320a05cc57e24d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -123,6 +123,7 @@ public class PurpurWorldConfig {
|
||||
@@ -124,6 +124,7 @@ public class PurpurWorldConfig {
|
||||
public boolean entitiesPickUpLootBypassMobGriefing = false;
|
||||
public boolean fireballsBypassMobGriefing = false;
|
||||
public boolean projectilesBypassMobGriefing = false;
|
||||
@@ -33,7 +33,7 @@ index b1d63425dc952c0ee0b3bd371a0910787ce628b7..eed88f28a22665b2998297af2d745356
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
||||
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
|
||||
@@ -136,7 +137,7 @@ public class PurpurWorldConfig {
|
||||
@@ -138,7 +139,7 @@ public class PurpurWorldConfig {
|
||||
entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);
|
||||
fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing);
|
||||
projectilesBypassMobGriefing = getBoolean("gameplay-mechanics.projectiles-bypass-mob-griefing", projectilesBypassMobGriefing);
|
||||
@@ -83,10 +83,10 @@ index cf1797c6ba877c510bba5c8016e57003373d8220..f68c1d6c7003202c4d107663b9c60c2f
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 9d7def9b9a5c54efc661bffbc4926707101f65cb..7f10bfe1d28bbc5b32b7554129552088711ebce5 100644
|
||||
index fab0b33b9a3f0520f9b754a1c409557c9fb2acbd..d936cc20fc2b06d72531747176d7578ddf83dd14 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1452,6 +1452,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1450,6 +1450,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
// Paper start - Teleport passenger API
|
||||
// Don't allow teleporting between worlds while keeping passengers
|
||||
if (ignorePassengers && entity.isVehicle() && location.getWorld() != this.getWorld()) {
|
||||
@@ -95,10 +95,10 @@ index 9d7def9b9a5c54efc661bffbc4926707101f65cb..7f10bfe1d28bbc5b32b7554129552088
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 3bba2c5e91d1b4679759c9fc32ee03e28bfbfe49..a820e3a66da8147f2526e98597b523a165cd4f93 100644
|
||||
index 6843771f4946ca459ade3617d7320a05cc57e24d..4fcb78a5dee5c7a12ba443c4d52b39a28ea9c061 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -124,6 +124,9 @@ public class PurpurWorldConfig {
|
||||
@@ -125,6 +125,9 @@ public class PurpurWorldConfig {
|
||||
public boolean fireballsBypassMobGriefing = false;
|
||||
public boolean projectilesBypassMobGriefing = false;
|
||||
public boolean noteBlockIgnoreAbove = false;
|
||||
@@ -108,7 +108,7 @@ index 3bba2c5e91d1b4679759c9fc32ee03e28bfbfe49..a820e3a66da8147f2526e98597b523a1
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
||||
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
|
||||
@@ -138,6 +141,10 @@ public class PurpurWorldConfig {
|
||||
@@ -140,6 +143,10 @@ public class PurpurWorldConfig {
|
||||
fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing);
|
||||
projectilesBypassMobGriefing = getBoolean("gameplay-mechanics.projectiles-bypass-mob-griefing", projectilesBypassMobGriefing);
|
||||
noteBlockIgnoreAbove = getBoolean("gameplay-mechanics.note-block-ignore-above", noteBlockIgnoreAbove);
|
||||
@@ -37,10 +37,10 @@ index e1abec46177887a92726de80f66226fe7fbbb4a2..bc149eb17695ac727aa8db08db620949
|
||||
if (!CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState())) {
|
||||
return;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 929bb86a823f3283d9abae278186b9f24a8543a8..ec44bddaedef83fa9feedee6253df78213f71280 100644
|
||||
index 4fcb78a5dee5c7a12ba443c4d52b39a28ea9c061..2431777ccdf0e2aa0f8488e13da3f64baa079c11 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -416,10 +416,16 @@ public class PurpurWorldConfig {
|
||||
@@ -418,10 +418,16 @@ public class PurpurWorldConfig {
|
||||
public boolean farmlandBypassMobGriefing = false;
|
||||
public boolean farmlandGetsMoistFromBelow = false;
|
||||
public boolean farmlandAlpha = false;
|
||||
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index f326f3a0a5b218addbf9d41837f5653248a39a1d..89d4d749336b2947b0ac12d7df140c0240f67636 100644
|
||||
index ebffeb41944df4e097fad259f48b2d18941e55b3..106dadefc463ba1f59e89e9c5d1386b0eda40d48 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2049,7 +2049,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -66,7 +66,7 @@ index 12ff824ffa81ea45f76337ec2b6d80b01047b698..c954cb3255145e18e8ab1e5a1b0267b8
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index ec44bddaedef83fa9feedee6253df78213f71280..63b38c9c0862a5bd00468024015e62d0485b2619 100644
|
||||
index 2431777ccdf0e2aa0f8488e13da3f64baa079c11..c51747bf291561359b028500652e556f677a0aa0 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -100,10 +100,16 @@ public class PurpurWorldConfig {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Fix stuck in portals
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index a3d163500999dae1552da9cccea06d58f735c9cf..ddce8eb3ac5962c0e93c879ede1bbb34f7b72166 100644
|
||||
index 976dfffac3895015d0eb00bab0ea93f9e5cc27a2..430ea84cbca69b6d119c2739bed9de37a970c2e5 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1686,6 +1686,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
@@ -1687,6 +1687,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION);
|
||||
this.unsetRemoved();
|
||||
// CraftBukkit end
|
||||
@@ -17,7 +17,7 @@ index a3d163500999dae1552da9cccea06d58f735c9cf..ddce8eb3ac5962c0e93c879ede1bbb34
|
||||
this.connection.internalTeleport(PositionMoveRotation.of(teleportTarget), teleportTarget.relatives()); // CraftBukkit - use internal teleport without event
|
||||
this.connection.resetPosition();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index ba080a23e88d6eafc2af97acef415c736eb1cc28..f90e6a515a0d614f0b784c4ee37819bc14bf3af3 100644
|
||||
index 106dadefc463ba1f59e89e9c5d1386b0eda40d48..93468974af35aa2f4f72d80b72aabe2dc8519f9e 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3470,14 +3470,17 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
@@ -39,10 +39,10 @@ index ba080a23e88d6eafc2af97acef415c736eb1cc28..f90e6a515a0d614f0b784c4ee37819bc
|
||||
} else {
|
||||
this.portalProcess = new PortalProcessor(portal, pos.immutable());
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b1c53b3f490ee39184ce868bdb38eaa69e35e7f2..f9fde0c0cdc14cf5427df3c8ecfa8d407233cdc3 100644
|
||||
index c51747bf291561359b028500652e556f677a0aa0..0347b0d83a9824a355bdcaaaf36f98fd6828effd 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -325,6 +325,7 @@ public class PurpurWorldConfig {
|
||||
@@ -327,6 +327,7 @@ public class PurpurWorldConfig {
|
||||
public int playerDeathExpDropMax = 100;
|
||||
public boolean teleportIfOutsideBorder = false;
|
||||
public boolean totemOfUndyingWorksInInventory = false;
|
||||
@@ -50,7 +50,7 @@ index b1c53b3f490ee39184ce868bdb38eaa69e35e7f2..f9fde0c0cdc14cf5427df3c8ecfa8d40
|
||||
private void playerSettings() {
|
||||
if (PurpurConfig.version < 19) {
|
||||
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
|
||||
@@ -340,6 +341,7 @@ public class PurpurWorldConfig {
|
||||
@@ -342,6 +343,7 @@ public class PurpurWorldConfig {
|
||||
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
|
||||
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
|
||||
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
|
||||
File diff suppressed because it is too large
Load Diff
@@ -46,7 +46,7 @@ index b3dab2eda7aa109c4715e027fd6bba6ac320a106..9c7e29307b811d859a0d743b232463e1
|
||||
this.level().broadcastEntityEvent(this, (byte) 7);
|
||||
} else {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
index ec8dc3d02920580103e534f3102063c80bfab5f0..27fb659a92606a89e5e669d41618f94996bf0c5a 100644
|
||||
index 91474a8a795a278493c07002bd99ec75effa659c..15675dd5df0ec88636019ac57fd0540bef3af5f6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java
|
||||
@@ -637,7 +637,7 @@ public class Wolf extends TamableAnimal implements NeutralMob, VariantHolder<Hol
|
||||
@@ -59,7 +59,7 @@ index ec8dc3d02920580103e534f3102063c80bfab5f0..27fb659a92606a89e5e669d41618f949
|
||||
this.navigation.stop();
|
||||
this.setTarget((LivingEntity) null);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index d3e196a29e10a21436c4e8049790d87cae2037be..48c1c436f85031df702d7cea74cf7b5713025a3c 100644
|
||||
index dbb6f3eb9b36fe47d04cdee51b829f11587a4dbf..6653343c36a62d09ea3c5f1395429edd7dabd3de 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -118,6 +118,7 @@ public class PurpurWorldConfig {
|
||||
@@ -70,7 +70,7 @@ index d3e196a29e10a21436c4e8049790d87cae2037be..48c1c436f85031df702d7cea74cf7b57
|
||||
public boolean boatEjectPlayersOnLand = false;
|
||||
public boolean boatsDoFallDamage = false;
|
||||
public boolean disableDropsOnCrammingDeath = false;
|
||||
@@ -135,6 +136,7 @@ public class PurpurWorldConfig {
|
||||
@@ -136,6 +137,7 @@ public class PurpurWorldConfig {
|
||||
public boolean imposeTeleportRestrictionsOnEndPortals = false;
|
||||
private void miscGameplayMechanicsSettings() {
|
||||
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
|
||||
@@ -53,10 +53,10 @@ index 4c9709e680b585316978b6a410600a8a3b4b6e3e..305c3350116f656c3d0e6134e4d8023e
|
||||
this.remove(Entity.RemovalReason.KILLED, EntityRemoveEvent.Cause.DEATH); // CraftBukkit - add Bukkit remove cause
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 48c1c436f85031df702d7cea74cf7b5713025a3c..f969c4c453b80f674e964ed0542d633c76380cab 100644
|
||||
index 6653343c36a62d09ea3c5f1395429edd7dabd3de..d4ba95503b26274c768eca9a4c740b9a36387916 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -423,6 +423,43 @@ public class PurpurWorldConfig {
|
||||
@@ -425,6 +425,43 @@ public class PurpurWorldConfig {
|
||||
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
|
||||
}
|
||||
|
||||
@@ -29,10 +29,10 @@ index 1f9d7c85f2ee5f6653e11457e19c03e6fa0419d9..8ecb72f6cd12d1e12f5ae9b240ccd6d9
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index f969c4c453b80f674e964ed0542d633c76380cab..49edc77bdfe789408e553b9e08aa09ee23806aa1 100644
|
||||
index d4ba95503b26274c768eca9a4c740b9a36387916..f63907aa140ba2c38c8804b49a9e4539d59d1a8f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -964,6 +964,7 @@ public class PurpurWorldConfig {
|
||||
@@ -966,6 +966,7 @@ public class PurpurWorldConfig {
|
||||
public boolean enderDragonAlwaysDropsFullExp = false;
|
||||
public boolean enderDragonBypassMobGriefing = false;
|
||||
public boolean enderDragonTakeDamageFromWater = false;
|
||||
@@ -40,7 +40,7 @@ index f969c4c453b80f674e964ed0542d633c76380cab..49edc77bdfe789408e553b9e08aa09ee
|
||||
private void enderDragonSettings() {
|
||||
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
|
||||
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
|
||||
@@ -982,6 +983,7 @@ public class PurpurWorldConfig {
|
||||
@@ -984,6 +985,7 @@ public class PurpurWorldConfig {
|
||||
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
|
||||
enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing);
|
||||
enderDragonTakeDamageFromWater = getBoolean("mobs.ender_dragon.takes-damage-from-water", enderDragonTakeDamageFromWater);
|
||||
@@ -48,7 +48,7 @@ index f969c4c453b80f674e964ed0542d633c76380cab..49edc77bdfe789408e553b9e08aa09ee
|
||||
}
|
||||
|
||||
public boolean endermanRidable = false;
|
||||
@@ -2264,6 +2266,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2266,6 +2268,7 @@ public class PurpurWorldConfig {
|
||||
public int witherHealthRegenDelay = 20;
|
||||
public boolean witherBypassMobGriefing = false;
|
||||
public boolean witherTakeDamageFromWater = false;
|
||||
@@ -56,7 +56,7 @@ index f969c4c453b80f674e964ed0542d633c76380cab..49edc77bdfe789408e553b9e08aa09ee
|
||||
private void witherSettings() {
|
||||
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
|
||||
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
|
||||
@@ -2284,6 +2287,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2286,6 +2289,7 @@ public class PurpurWorldConfig {
|
||||
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
|
||||
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
|
||||
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Dont run with scissors!
|
||||
inspired by https://modrinth.com/mod/dont-run-with-scissors
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index a29a06a11fd44219742ee621fcd090e9cc710012..e3a67829d6d3e2594387e7e02ad619dc373f305a 100644
|
||||
index bb78e5782615bf07aecd4f4e1bf24291eb6d0764..37515387f91c9493dd259b677e9a6aa2dc19912d 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1666,6 +1666,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
@@ -149,10 +149,10 @@ index 64c84cb6cc647ca37a0664b83eb24e7202aeb1e2..28800c519ab8a6648d632a577ffbecae
|
||||
|
||||
public static String serverModName = io.papermc.paper.ServerBuildInfo.buildInfo().brandName();
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 7ba94e40a7ca1b6e81b1404736ee2ec6dc10dca9..dfea07d861779bc6f8c6041ac57bde1596a65e92 100644
|
||||
index f63907aa140ba2c38c8804b49a9e4539d59d1a8f..a036097666a22f17953dd6fbf541c4976de37436 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -189,6 +189,10 @@ public class PurpurWorldConfig {
|
||||
@@ -191,6 +191,10 @@ public class PurpurWorldConfig {
|
||||
public List<Item> itemImmuneToExplosion = new ArrayList<>();
|
||||
public List<Item> itemImmuneToFire = new ArrayList<>();
|
||||
public List<Item> itemImmuneToLightning = new ArrayList<>();
|
||||
@@ -163,7 +163,7 @@ index 7ba94e40a7ca1b6e81b1404736ee2ec6dc10dca9..dfea07d861779bc6f8c6041ac57bde15
|
||||
private void itemSettings() {
|
||||
itemImmuneToCactus.clear();
|
||||
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
|
||||
@@ -226,6 +230,10 @@ public class PurpurWorldConfig {
|
||||
@@ -228,6 +232,10 @@ public class PurpurWorldConfig {
|
||||
Item item = BuiltInRegistries.ITEM.getValue(ResourceLocation.parse(key.toString()));
|
||||
if (item != Items.AIR) itemImmuneToLightning.add(item);
|
||||
});
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] One Punch Man!
|
||||
inspired by https://modrinth.com/mod/creative-one-punch
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index beb573d8fdc5f9e07146a7bd4d7c51d596a791a1..42755171ccaf9cb23494d3bd53154d934fe68a77 100644
|
||||
index d6c1910cdc9bbdda217f1f13334312fafdb3c8fa..a7a6f8b7b1dfa2002f57fb6e0aaae376357dd5b4 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -1455,6 +1455,24 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -35,10 +35,10 @@ index beb573d8fdc5f9e07146a7bd4d7c51d596a791a1..42755171ccaf9cb23494d3bd53154d93
|
||||
if (amount < 0.0F) {
|
||||
amount = 0.0F;
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index dfea07d861779bc6f8c6041ac57bde1596a65e92..69f59d4d1cf30358f26f11e9c4cb9b8e2e6ce486 100644
|
||||
index a036097666a22f17953dd6fbf541c4976de37436..317d79355d534a484aabfdd6776cb8ff5b6f3d79 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -336,6 +336,7 @@ public class PurpurWorldConfig {
|
||||
@@ -338,6 +338,7 @@ public class PurpurWorldConfig {
|
||||
public boolean teleportIfOutsideBorder = false;
|
||||
public boolean totemOfUndyingWorksInInventory = false;
|
||||
public boolean playerFixStuckPortal = false;
|
||||
@@ -46,7 +46,7 @@ index dfea07d861779bc6f8c6041ac57bde1596a65e92..69f59d4d1cf30358f26f11e9c4cb9b8e
|
||||
private void playerSettings() {
|
||||
if (PurpurConfig.version < 19) {
|
||||
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
|
||||
@@ -352,6 +353,7 @@ public class PurpurWorldConfig {
|
||||
@@ -354,6 +355,7 @@ public class PurpurWorldConfig {
|
||||
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
|
||||
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
|
||||
playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal);
|
||||
@@ -8,7 +8,7 @@ Subject: [PATCH] Configurable Ender Pearl cooldown, damage, and Endermite RNG
|
||||
- Endermite spawn chance
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
||||
index 5f790dd24f2bdae827c6dc597064b9b265089751..88bb9ef154faf45a270750914b9b6b769819ccb9 100644
|
||||
index bd2684528157f928460f2143dd71a48e11983123..a044a5242ce1d1f6e34ecd5b4568553428d2f0b8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEnderpearl.java
|
||||
@@ -152,7 +152,7 @@ public class ThrownEnderpearl extends ThrowableItemProjectile {
|
||||
@@ -42,10 +42,10 @@ index b232390d8ee8e449e61c0ea7f3af60df507abb97..ad99c6fb7bcd8ccbdeb405ca7ff73ae4
|
||||
// Paper end - PlayerLaunchProjectileEvent
|
||||
if (user instanceof net.minecraft.server.level.ServerPlayer) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index bdf8bdf14cc54ddb44c6e6f7bc1572bb7920dd45..428fd6150856e3f247c37779891c5ccc92dddcc1 100644
|
||||
index 317d79355d534a484aabfdd6776cb8ff5b6f3d79..64d202df3bf8219d391f23b9c5f0be328ec55947 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -193,6 +193,10 @@ public class PurpurWorldConfig {
|
||||
@@ -195,6 +195,10 @@ public class PurpurWorldConfig {
|
||||
public boolean ignoreScissorsInWater = false;
|
||||
public boolean ignoreScissorsInLava = false;
|
||||
public double scissorsRunningDamage = 1D;
|
||||
@@ -56,7 +56,7 @@ index bdf8bdf14cc54ddb44c6e6f7bc1572bb7920dd45..428fd6150856e3f247c37779891c5ccc
|
||||
private void itemSettings() {
|
||||
itemImmuneToCactus.clear();
|
||||
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
|
||||
@@ -234,6 +238,10 @@ public class PurpurWorldConfig {
|
||||
@@ -236,6 +240,10 @@ public class PurpurWorldConfig {
|
||||
ignoreScissorsInWater = getBoolean("gameplay-mechanics.item.shears.ignore-in-water", ignoreScissorsInWater);
|
||||
ignoreScissorsInLava = getBoolean("gameplay-mechanics.item.shears.ignore-in-lava", ignoreScissorsInLava);
|
||||
scissorsRunningDamage = getDouble("gameplay-mechanics.item.shears.sprinting-damage", scissorsRunningDamage);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index ddce8eb3ac5962c0e93c879ede1bbb34f7b72166..813192b363dc59e2afa2289414726edf40123370 100644
|
||||
index 430ea84cbca69b6d119c2739bed9de37a970c2e5..803eaf29e33c939b23719611d1d19b297f12d7c2 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1797,7 +1797,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
@@ -1798,7 +1798,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
return entitymonster.isPreventingPlayerRest(this.serverLevel(), this);
|
||||
});
|
||||
|
||||
@@ -18,10 +18,10 @@ index ddce8eb3ac5962c0e93c879ede1bbb34f7b72166..813192b363dc59e2afa2289414726edf
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index a53b1209743fc1944764436255bb1c8a195303d1..c3343c0ffcee58b8dffeef4f6ff14be2701df443 100644
|
||||
index 64d202df3bf8219d391f23b9c5f0be328ec55947..3397c9fbdad9e7c6023c013d38e5061663b4434a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -345,6 +345,7 @@ public class PurpurWorldConfig {
|
||||
@@ -347,6 +347,7 @@ public class PurpurWorldConfig {
|
||||
public boolean totemOfUndyingWorksInInventory = false;
|
||||
public boolean playerFixStuckPortal = false;
|
||||
public boolean creativeOnePunch = false;
|
||||
@@ -29,7 +29,7 @@ index a53b1209743fc1944764436255bb1c8a195303d1..c3343c0ffcee58b8dffeef4f6ff14be2
|
||||
private void playerSettings() {
|
||||
if (PurpurConfig.version < 19) {
|
||||
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
|
||||
@@ -362,6 +363,7 @@ public class PurpurWorldConfig {
|
||||
@@ -364,6 +365,7 @@ public class PurpurWorldConfig {
|
||||
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
|
||||
playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal);
|
||||
creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch);
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user