mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-19 15:09:25 +00:00
Updated Upstream (Paper/Gale/Purpur/Leaves)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@df3b654 ConcurrentUtil: Fix concurrent long map resize chain pull function PaperMC/Paper@5a5c3a4 Remove chunk unload trace debug PaperMC/Paper@7e44684 Fix wrong assumption about locale being null in the login phase (#11204) Gale Changes: Dreeam-qwq/Gale@ac42d6b Remove Optimize entity coordinate key Dreeam-qwq/Gale@6ce6bd0 Add back Optimize random calls in chunk ticking Dreeam-qwq/Gale@a8aff53 Fix fluidStateCount increment Purpur Changes: PurpurMC/Purpur@9e444c5 Add Entities can use portals patch back (#1571) PurpurMC/Purpur@930003b Updated Upstream (Paper) Leaves Changes: LeavesMC/Leaves@bb803a9 [release-skip] Move protocol config LeavesMC/Leaves@c279af4 Fix fortress mob spawn (#227) LeavesMC/Leaves@e6ca163 Update Paper LeavesMC/Leaves@a1fb5ff [ci skip] reduce cloud upload connect timeout LeavesMC/Leaves@a8897bd fix CraftScheduler internal plugin logging issue (#284) LeavesMC/Leaves@91ab4ed Try fix (#286) LeavesMC/Leaves@ec274f5 Remove Attack Self LeavesMC/Leaves@ffdcaa8 Update Paper LeavesMC/Leaves@a7b7a1a Fix Fakeplayer Action LeavesMC/Leaves@cd53d4c Try to fix #291, #292 (#293) LeavesMC/Leaves@e2db81a Fix #294 LeavesMC/Leaves@248cb93 Update Paper
This commit is contained in:
@@ -2,7 +2,7 @@ group = cn.dreeam.leaf
|
||||
mcVersion = 1.21
|
||||
version = 1.21-R0.1-SNAPSHOT
|
||||
|
||||
galeCommit = 00bcf2aa629587082823da93ca8c446a6112aa30
|
||||
galeCommit = a8aff53ed53fbbb183c120bc60aa085c80f00b83
|
||||
|
||||
org.gradle.caching = true
|
||||
org.gradle.parallel = true
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Purpur API Changes
|
||||
Original license: MIT
|
||||
Original project: https://github.com/PurpurMC/Purpur
|
||||
|
||||
Commit: b3623faa771db37a2a5f8b58b28d1782c3a22ee0
|
||||
Commit: 930003b1d1826c083f3cee4db79621e6a7d726f1
|
||||
|
||||
Patches below are removed in this patch:
|
||||
Pufferfish-API-Changes.patch
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Purpur generated-api Changes
|
||||
Original license: MIT
|
||||
Original project: https://github.com/PurpurMC/Purpur
|
||||
|
||||
Commit: b3623faa771db37a2a5f8b58b28d1782c3a22ee0
|
||||
Commit: 930003b1d1826c083f3cee4db79621e6a7d726f1
|
||||
|
||||
diff --git a/com/destroystokyo/paper/entity/ai/VanillaGoal.java b/com/destroystokyo/paper/entity/ai/VanillaGoal.java
|
||||
index 3add91218dd3f07052aa932f0503d1f10ac3799b..3e41a4141095bce989c75e989293deb3f47e8e6d 100644
|
||||
|
||||
@@ -8,7 +8,7 @@ TODO - Dreeam: Check Fix-pufferfish-issues.patch
|
||||
Original license: MIT
|
||||
Original project: https://github.com/PurpurMC/Purpur
|
||||
|
||||
Commit: b3623faa771db37a2a5f8b58b28d1782c3a22ee0
|
||||
Commit: 930003b1d1826c083f3cee4db79621e6a7d726f1
|
||||
|
||||
Patches below are removed in this patch:
|
||||
Brand changes in Rebrand.patch
|
||||
@@ -970,7 +970,7 @@ index c80be65d190c85e7f0ea8233ebbbdbc1ea67f276..97e793c971614299504605aeb4f99cad
|
||||
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/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index d0b8099b8ce299c44bbde9b8dd34ccd9312579e8..3a816a31b9f3ecb02291b8be897db828502eab84 100644
|
||||
index 21a910e69bf7b10d11a93793a6854198cc77c4c9..3a0315edfafd18b995b6b614b3b20f17777c4575 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -220,6 +220,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -1155,7 +1155,7 @@ index d0b8099b8ce299c44bbde9b8dd34ccd9312579e8..3a816a31b9f3ecb02291b8be897db828
|
||||
}
|
||||
// Paper end - Fix merchant inventory not closing on entity removal
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 0d92a3918e35217bba6aea00dce05ce386415f65..1d0044693dafce42921af0a44175b164d7321114 100644
|
||||
index 0d92a3918e35217bba6aea00dce05ce386415f65..690c3347ff228f7d8e5134221f9a96d7f11cb418 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -303,6 +303,10 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple
|
||||
@@ -1234,7 +1234,7 @@ index 0d92a3918e35217bba6aea00dce05ce386415f65..1d0044693dafce42921af0a44175b164
|
||||
worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION);
|
||||
this.unsetRemoved();
|
||||
// CraftBukkit end
|
||||
+ this.portalPos = io.papermc.paper.util.MCUtil.toBlockPosition(exit); // Purpur
|
||||
+ this.portalPos = io.papermc.paper.util.MCUtil.toBlockPosition(exit); // Purpur - Fix stuck in portals
|
||||
this.setServerLevel(worldserver);
|
||||
this.connection.teleport(exit); // CraftBukkit - use internal teleport without event
|
||||
this.connection.resetPosition();
|
||||
@@ -2100,7 +2100,7 @@ index f43bf280999ff3860cc702def50cc62b131eb1bd..66d9e99a351f5fc6cf58be3bee4397d9
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 815db5b0a24f1628d646893ebad466dcee2ab0bd..c0995861d1987f62f1bf2d37939f57c55f314c24 100644
|
||||
index 7c56c3b84809e751e94a2ac4ca27ab81168058c4..2429d9b16cb307d3c9aeb3ec8af677490d3fd3c2 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -169,6 +169,7 @@ import org.bukkit.plugin.PluginManager;
|
||||
@@ -2273,13 +2273,14 @@ index 815db5b0a24f1628d646893ebad466dcee2ab0bd..c0995861d1987f62f1bf2d37939f57c5
|
||||
+ public BlockPos portalPos = BlockPos.ZERO; // Purpur
|
||||
public void setAsInsidePortal(Portal portal, BlockPos pos) {
|
||||
if (this.isOnPortalCooldown()) {
|
||||
+ if (!(level().purpurConfig.playerFixStuckPortal && this instanceof Player && !pos.equals(portalPos))) // Purpur
|
||||
+ if (!(level().purpurConfig.playerFixStuckPortal && this instanceof Player && !pos.equals(this.portalPos))) // Purpur - Fix stuck in portals
|
||||
this.setPortalCooldown();
|
||||
} else {
|
||||
- } else {
|
||||
+ } else if (this.level.purpurConfig.entitiesCanUsePortals || this instanceof ServerPlayer) { // Purpur - Entities can use portals
|
||||
if (this.portalProcess != null && this.portalProcess.isSamePortal(portal)) {
|
||||
this.portalProcess.updateEntryPosition(pos.immutable());
|
||||
this.portalProcess.setAsInsidePortalThisTick(true);
|
||||
+ portalPos = BlockPos.ZERO; // Purpur
|
||||
+ this.portalPos = BlockPos.ZERO; // Purpur - Fix stuck in portals
|
||||
} else {
|
||||
this.portalProcess = new PortalProcessor(portal, pos.immutable());
|
||||
}
|
||||
@@ -2292,6 +2293,15 @@ index 815db5b0a24f1628d646893ebad466dcee2ab0bd..c0995861d1987f62f1bf2d37939f57c5
|
||||
}
|
||||
|
||||
public int getAirSupply() {
|
||||
@@ -3893,7 +3948,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
// CraftBukkit end
|
||||
|
||||
public boolean canUsePortal(boolean allowVehicles) {
|
||||
- return (allowVehicles || !this.isPassenger()) && this.isAlive();
|
||||
+ return (allowVehicles || !this.isPassenger()) && this.isAlive() && (this.level.purpurConfig.entitiesCanUsePortals || this instanceof ServerPlayer); // Purpur - Entities can use portals
|
||||
}
|
||||
|
||||
public boolean canChangeDimensions(Level from, Level to) {
|
||||
@@ -4215,6 +4270,20 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
|
||||
return SlotAccess.NULL;
|
||||
}
|
||||
@@ -18418,10 +18428,10 @@ index 0000000000000000000000000000000000000000..83fabd290d3c64f2766b3244f5cd695e
|
||||
+}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..b08583d1d5e923dc86378dbd97612aee5c7c43c7
|
||||
index 0000000000000000000000000000000000000000..57814f424a91ac5eb5e7c7fa5fe8c23625895c8c
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -0,0 +1,3445 @@
|
||||
@@ -0,0 +1,3447 @@
|
||||
+package org.purpurmc.purpur;
|
||||
+
|
||||
+import net.minecraft.core.registries.BuiltInRegistries;
|
||||
@@ -18543,6 +18553,7 @@ index 0000000000000000000000000000000000000000..b08583d1d5e923dc86378dbd97612aee
|
||||
+ public boolean boatEjectPlayersOnLand = false;
|
||||
+ public boolean boatsDoFallDamage = false;
|
||||
+ public boolean disableDropsOnCrammingDeath = false;
|
||||
+ public boolean entitiesCanUsePortals = true;
|
||||
+ public boolean entitiesPickUpLootBypassMobGriefing = false;
|
||||
+ public boolean fireballsBypassMobGriefing = false;
|
||||
+ public boolean imposeTeleportRestrictionsOnGateways = false;
|
||||
@@ -18573,6 +18584,7 @@ index 0000000000000000000000000000000000000000..b08583d1d5e923dc86378dbd97612aee
|
||||
+ 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);
|
||||
+ entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
|
||||
+ entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);
|
||||
+ fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing);
|
||||
+ imposeTeleportRestrictionsOnGateways = getBoolean("gameplay-mechanics.impose-teleport-restrictions-on-gateways", imposeTeleportRestrictionsOnGateways);
|
||||
|
||||
@@ -1155,7 +1155,7 @@ index 8fded112c6c30070ee6514ef25f1bad1d3fba4c1..42f2961ce975920bb20c73bd3e5b4b78
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 1b759f7ce1d1244982d8eac8b9bce95668e1bb8f..3ca207ead7a034469ab37e5621c6b5cb92979979 100644
|
||||
index 2535bc92d0ecebf5f859f13a1c4ffd51709f801f..0dd3f39a8be13a98575c05751a254699f4cdf69d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -1,7 +1,6 @@
|
||||
@@ -1596,10 +1596,10 @@ index cd0e43f4c53a746dd6183a8406269f9b11ad3571..54657ac895fb2fa9c58910d5421f0082
|
||||
private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry();
|
||||
public CraftPersistentDataContainer persistentDataContainer;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
index 36540053590c30a902b9986dcf2e74375157822d..fb0ffd302ec87516cd7f28b8b4c6a8e9b1577157 100644
|
||||
index f23ed06a943646f45e1291f35ab3025e1dfa6b49..070e7b5db06bd670f97ac7f25767be1d33c5d02e 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
@@ -655,7 +655,6 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
|
||||
@@ -669,7 +669,6 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
|
||||
((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemServerLevel)this.level).moonrise$getChunkTaskScheduler().chunkHolderManager.getChunkHolder(this.locX, this.locZ).getEntityChunk().callEntitiesLoadEvent(); // Paper - rewrite chunk system
|
||||
|
||||
if (this.needsDecoration) {
|
||||
@@ -1607,7 +1607,7 @@ index 36540053590c30a902b9986dcf2e74375157822d..fb0ffd302ec87516cd7f28b8b4c6a8e9
|
||||
this.needsDecoration = false;
|
||||
java.util.Random random = new java.util.Random();
|
||||
random.setSeed(this.level.getSeed());
|
||||
@@ -675,7 +674,6 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
|
||||
@@ -689,7 +688,6 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
|
||||
}
|
||||
}
|
||||
server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkPopulateEvent(bukkitChunk));
|
||||
@@ -1615,7 +1615,7 @@ index 36540053590c30a902b9986dcf2e74375157822d..fb0ffd302ec87516cd7f28b8b4c6a8e9
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1012,7 +1010,6 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
|
||||
@@ -1026,7 +1024,6 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
|
||||
|
||||
if (LevelChunk.this.isTicking(blockposition)) {
|
||||
try {
|
||||
@@ -1623,7 +1623,7 @@ index 36540053590c30a902b9986dcf2e74375157822d..fb0ffd302ec87516cd7f28b8b4c6a8e9
|
||||
BlockState iblockdata = LevelChunk.this.getBlockState(blockposition);
|
||||
|
||||
if (this.blockEntity.getType().isValid(iblockdata)) {
|
||||
@@ -1035,14 +1032,9 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
|
||||
@@ -1049,14 +1046,9 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
|
||||
net.minecraft.world.level.chunk.LevelChunk.this.level.getCraftServer().getPluginManager().callEvent(new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerInternalException(msg, throwable))); // Paper - ServerExceptionEvent
|
||||
LevelChunk.this.removeBlockEntity(this.getPos());
|
||||
// Paper end - Prevent block entity and entity crashes
|
||||
|
||||
@@ -9,7 +9,7 @@ and change store way to sql maybe?
|
||||
Original license: GPLv3
|
||||
Original project: https://github.com/LeavesMC/Leaves
|
||||
|
||||
Commit: 86d85530bc3cc448aea134690ae415fabec8e891
|
||||
Commit: 248cb933f1a67a50a94352da2c100722e4635575
|
||||
|
||||
diff --git a/src/main/java/org/leavesmc/leaves/LeavesLogger.java b/src/main/java/org/leavesmc/leaves/LeavesLogger.java
|
||||
new file mode 100644
|
||||
|
||||
@@ -3,8 +3,6 @@ From: violetc <58360096+s-yh-china@users.noreply.github.com>
|
||||
Date: Tue, 26 Sep 2023 19:00:41 +0800
|
||||
Subject: [PATCH] Leaves: Protocol Core
|
||||
|
||||
TODO - Dreeam: Configurable leaves protocol listening
|
||||
|
||||
Original license: GPLv3
|
||||
Original project: https://github.com/LeavesMC/Leaves
|
||||
|
||||
@@ -715,13 +713,14 @@ index 0000000000000000000000000000000000000000..9d71f8e6af24301bedf60f5c87e0bb3c
|
||||
+}
|
||||
diff --git a/src/main/java/org/leavesmc/leaves/protocol/core/ProtocolUtils.java b/src/main/java/org/leavesmc/leaves/protocol/core/ProtocolUtils.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..f54381eec7ec0ffde39e87b39b16e02d3ed1b419
|
||||
index 0000000000000000000000000000000000000000..72fb1e6517e266146cb1828875e7b7e6ae9b140d
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/leavesmc/leaves/protocol/core/ProtocolUtils.java
|
||||
@@ -0,0 +1,47 @@
|
||||
@@ -0,0 +1,52 @@
|
||||
+package org.leavesmc.leaves.protocol.core;
|
||||
+
|
||||
+import io.netty.buffer.ByteBuf;
|
||||
+import io.papermc.paper.ServerBuildInfo;
|
||||
+import net.minecraft.network.FriendlyByteBuf;
|
||||
+import net.minecraft.network.RegistryFriendlyByteBuf;
|
||||
+import net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket;
|
||||
@@ -738,6 +737,10 @@ index 0000000000000000000000000000000000000000..f54381eec7ec0ffde39e87b39b16e02d
|
||||
+
|
||||
+ private static final Function<ByteBuf, RegistryFriendlyByteBuf> bufDecorator = RegistryFriendlyByteBuf.decorator(MinecraftServer.getServer().registryAccess());
|
||||
+
|
||||
+ public static String buildProtocolVersion(String protocol) {
|
||||
+ return protocol + "-leaves-" + ServerBuildInfo.buildInfo().asString(ServerBuildInfo.StringRepresentation.VERSION_SIMPLE);
|
||||
+ }
|
||||
+
|
||||
+ public static void sendEmptyPayloadPacket(ServerPlayer player, ResourceLocation id) {
|
||||
+ player.connection.send(new ClientboundCustomPayloadPacket(new LeavesProtocolManager.EmptyPayload(id)));
|
||||
+ }
|
||||
|
||||
@@ -38,7 +38,7 @@ index a74732902c0494c67e6acf2fc04581ff9c46b832..8b60c922750e71f526976782a1f156e9
|
||||
LivingEntity entityliving1 = deadEntity.getLastHurtByMob();
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
index fb0ffd302ec87516cd7f28b8b4c6a8e9b1577157..a9fd817f42f2ec2e7393e2bd2009ac1fdf60f317 100644
|
||||
index 070e7b5db06bd670f97ac7f25767be1d33c5d02e..4e3da128942262a6b0230c0ffaad191112e9ec25 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
|
||||
@@ -81,7 +81,18 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
|
||||
@@ -61,7 +61,7 @@ index fb0ffd302ec87516cd7f28b8b4c6a8e9b1577157..a9fd817f42f2ec2e7393e2bd2009ac1f
|
||||
private final LevelChunkTicks<Block> blockTicks;
|
||||
private final LevelChunkTicks<Fluid> fluidTicks;
|
||||
|
||||
@@ -93,7 +104,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
|
||||
@@ -105,7 +116,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
|
||||
super(pos, upgradeData, world, net.minecraft.server.MinecraftServer.getServer().registryAccess().registryOrThrow(Registries.BIOME), inhabitedTime, sectionArrayInitializer, blendingData); // Paper - Anti-Xray - The world isn't ready yet, use server singleton for registry
|
||||
this.tickersInLevel = Maps.newHashMap();
|
||||
this.level = (ServerLevel) world; // CraftBukkit - type
|
||||
@@ -70,7 +70,7 @@ index fb0ffd302ec87516cd7f28b8b4c6a8e9b1577157..a9fd817f42f2ec2e7393e2bd2009ac1f
|
||||
Heightmap.Types[] aheightmap_type = Heightmap.Types.values();
|
||||
int j = aheightmap_type.length;
|
||||
|
||||
@@ -230,9 +241,23 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
|
||||
@@ -244,9 +255,23 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
|
||||
Level world = this.level;
|
||||
|
||||
if (world instanceof ServerLevel worldserver) {
|
||||
@@ -97,7 +97,7 @@ index fb0ffd302ec87516cd7f28b8b4c6a8e9b1577157..a9fd817f42f2ec2e7393e2bd2009ac1f
|
||||
} else {
|
||||
return super.getListenerRegistry(ySectionCoord);
|
||||
}
|
||||
@@ -616,7 +641,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
|
||||
@@ -630,7 +655,7 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p
|
||||
}
|
||||
|
||||
private void removeGameEventListenerRegistry(int ySectionCoord) {
|
||||
|
||||
@@ -97,10 +97,10 @@ index 1c04fbea0dce4167a0902b92b95d470f562825c2..4f1f816496f8f8564c1dc53ceae5cfb3
|
||||
@Override
|
||||
public EntityDimensions getDefaultDimensions(Pose pose) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index b08583d1d5e923dc86378dbd97612aee5c7c43c7..33990382600b155ed8afcaa93707d9b7c189ad83 100644
|
||||
index 57814f424a91ac5eb5e7c7fa5fe8c23625895c8c..4d438781d264d8a7fbda4d8913b84f27abafe6fc 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1577,6 +1577,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1579,6 +1579,7 @@ public class PurpurWorldConfig {
|
||||
public boolean drownedTakeDamageFromWater = false;
|
||||
public boolean drownedBreakDoors = false;
|
||||
public boolean drownedAlwaysDropExp = false;
|
||||
@@ -108,7 +108,7 @@ index b08583d1d5e923dc86378dbd97612aee5c7c43c7..33990382600b155ed8afcaa93707d9b7
|
||||
private void drownedSettings() {
|
||||
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
|
||||
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
|
||||
@@ -1595,6 +1596,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1597,6 +1598,7 @@ public class PurpurWorldConfig {
|
||||
drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater);
|
||||
drownedBreakDoors = getBoolean("mobs.drowned.can-break-doors", drownedBreakDoors);
|
||||
drownedAlwaysDropExp = getBoolean("mobs.drowned.always-drop-exp", drownedAlwaysDropExp);
|
||||
@@ -116,7 +116,7 @@ index b08583d1d5e923dc86378dbd97612aee5c7c43c7..33990382600b155ed8afcaa93707d9b7
|
||||
}
|
||||
|
||||
public boolean elderGuardianRidable = false;
|
||||
@@ -1964,6 +1966,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1966,6 +1968,7 @@ public class PurpurWorldConfig {
|
||||
public boolean huskJockeyTryExistingChickens = true;
|
||||
public boolean huskTakeDamageFromWater = false;
|
||||
public boolean huskAlwaysDropExp = false;
|
||||
@@ -124,7 +124,7 @@ index b08583d1d5e923dc86378dbd97612aee5c7c43c7..33990382600b155ed8afcaa93707d9b7
|
||||
private void huskSettings() {
|
||||
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
|
||||
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
|
||||
@@ -1981,6 +1984,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1983,6 +1986,7 @@ public class PurpurWorldConfig {
|
||||
huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens);
|
||||
huskTakeDamageFromWater = getBoolean("mobs.husk.takes-damage-from-water", huskTakeDamageFromWater);
|
||||
huskAlwaysDropExp = getBoolean("mobs.husk.always-drop-exp", huskAlwaysDropExp);
|
||||
@@ -132,7 +132,7 @@ index b08583d1d5e923dc86378dbd97612aee5c7c43c7..33990382600b155ed8afcaa93707d9b7
|
||||
}
|
||||
|
||||
public boolean illusionerRidable = false;
|
||||
@@ -3274,6 +3278,7 @@ public class PurpurWorldConfig {
|
||||
@@ -3276,6 +3280,7 @@ public class PurpurWorldConfig {
|
||||
public boolean zombieTakeDamageFromWater = false;
|
||||
public boolean zombieAlwaysDropExp = false;
|
||||
public double zombieHeadVisibilityPercent = 0.5D;
|
||||
@@ -140,7 +140,7 @@ index b08583d1d5e923dc86378dbd97612aee5c7c43c7..33990382600b155ed8afcaa93707d9b7
|
||||
private void zombieSettings() {
|
||||
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
|
||||
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
|
||||
@@ -3294,6 +3299,7 @@ public class PurpurWorldConfig {
|
||||
@@ -3296,6 +3301,7 @@ public class PurpurWorldConfig {
|
||||
zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater);
|
||||
zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp);
|
||||
zombieHeadVisibilityPercent = getDouble("mobs.zombie.head-visibility-percent", zombieHeadVisibilityPercent);
|
||||
@@ -148,7 +148,7 @@ index b08583d1d5e923dc86378dbd97612aee5c7c43c7..33990382600b155ed8afcaa93707d9b7
|
||||
}
|
||||
|
||||
public boolean zombieHorseRidable = false;
|
||||
@@ -3343,6 +3349,7 @@ public class PurpurWorldConfig {
|
||||
@@ -3345,6 +3351,7 @@ public class PurpurWorldConfig {
|
||||
public int zombieVillagerCuringTimeMax = 6000;
|
||||
public boolean zombieVillagerCureEnabled = true;
|
||||
public boolean zombieVillagerAlwaysDropExp = false;
|
||||
@@ -156,7 +156,7 @@ index b08583d1d5e923dc86378dbd97612aee5c7c43c7..33990382600b155ed8afcaa93707d9b7
|
||||
private void zombieVillagerSettings() {
|
||||
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
|
||||
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
|
||||
@@ -3363,6 +3370,7 @@ public class PurpurWorldConfig {
|
||||
@@ -3365,6 +3372,7 @@ public class PurpurWorldConfig {
|
||||
zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax);
|
||||
zombieVillagerCureEnabled = getBoolean("mobs.zombie_villager.cure.enabled", zombieVillagerCureEnabled);
|
||||
zombieVillagerAlwaysDropExp = getBoolean("mobs.zombie_villager.always-drop-exp", zombieVillagerAlwaysDropExp);
|
||||
@@ -164,7 +164,7 @@ index b08583d1d5e923dc86378dbd97612aee5c7c43c7..33990382600b155ed8afcaa93707d9b7
|
||||
}
|
||||
|
||||
public boolean zombifiedPiglinRidable = false;
|
||||
@@ -3377,6 +3385,7 @@ public class PurpurWorldConfig {
|
||||
@@ -3379,6 +3387,7 @@ public class PurpurWorldConfig {
|
||||
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
|
||||
public boolean zombifiedPiglinTakeDamageFromWater = false;
|
||||
public boolean zombifiedPiglinAlwaysDropExp = false;
|
||||
@@ -172,7 +172,7 @@ index b08583d1d5e923dc86378dbd97612aee5c7c43c7..33990382600b155ed8afcaa93707d9b7
|
||||
private void zombifiedPiglinSettings() {
|
||||
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
|
||||
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
|
||||
@@ -3395,6 +3404,7 @@ public class PurpurWorldConfig {
|
||||
@@ -3397,6 +3406,7 @@ public class PurpurWorldConfig {
|
||||
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
|
||||
zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater);
|
||||
zombifiedPiglinAlwaysDropExp = getBoolean("mobs.zombified_piglin.always-drop-exp", zombifiedPiglinAlwaysDropExp);
|
||||
|
||||
@@ -231,10 +231,10 @@ index 83fabd290d3c64f2766b3244f5cd695e1c674a2f..69832f436254d975a77e251e6ae5de2e
|
||||
org.bukkit.event.inventory.InventoryType.ENDER_CHEST.setDefaultSize(enderChestSixRows ? 54 : 27);
|
||||
enderChestPermissionRows = getBoolean("settings.blocks.ender_chest.use-permissions-for-rows", enderChestPermissionRows);
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 33990382600b155ed8afcaa93707d9b7c189ad83..7cae3a982d5c26c4b789630fd571d786c6c7bc07 100644
|
||||
index 4d438781d264d8a7fbda4d8913b84f27abafe6fc..97fae82daa11ef2002c342a3a337611ec3d80395 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1164,12 +1164,20 @@ public class PurpurWorldConfig {
|
||||
@@ -1166,12 +1166,20 @@ public class PurpurWorldConfig {
|
||||
public boolean allayControllable = true;
|
||||
public double allayMaxHealth = 20.0D;
|
||||
public double allayScale = 1.0D;
|
||||
@@ -255,7 +255,7 @@ index 33990382600b155ed8afcaa93707d9b7c189ad83..7cae3a982d5c26c4b789630fd571d786
|
||||
}
|
||||
|
||||
public boolean armadilloRidable = false;
|
||||
@@ -1319,6 +1327,10 @@ public class PurpurWorldConfig {
|
||||
@@ -1321,6 +1329,10 @@ public class PurpurWorldConfig {
|
||||
public double camelMovementSpeedMin = 0.09D;
|
||||
public double camelMovementSpeedMax = 0.09D;
|
||||
public int camelBreedingTicks = 6000;
|
||||
@@ -266,7 +266,7 @@ index 33990382600b155ed8afcaa93707d9b7c189ad83..7cae3a982d5c26c4b789630fd571d786
|
||||
private void camelSettings() {
|
||||
camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater);
|
||||
camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin);
|
||||
@@ -1328,6 +1340,10 @@ public class PurpurWorldConfig {
|
||||
@@ -1330,6 +1342,10 @@ public class PurpurWorldConfig {
|
||||
camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin);
|
||||
camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax);
|
||||
camelBreedingTicks = getInt("mobs.camel.breeding-delay-ticks", camelBreedingTicks);
|
||||
@@ -277,7 +277,7 @@ index 33990382600b155ed8afcaa93707d9b7c189ad83..7cae3a982d5c26c4b789630fd571d786
|
||||
}
|
||||
|
||||
public boolean catRidable = false;
|
||||
@@ -1775,12 +1791,22 @@ public class PurpurWorldConfig {
|
||||
@@ -1777,12 +1793,22 @@ public class PurpurWorldConfig {
|
||||
public boolean frogControllable = true;
|
||||
public float frogRidableJumpHeight = 0.65F;
|
||||
public int frogBreedingTicks = 6000;
|
||||
@@ -300,7 +300,7 @@ index 33990382600b155ed8afcaa93707d9b7c189ad83..7cae3a982d5c26c4b789630fd571d786
|
||||
}
|
||||
|
||||
public boolean ghastRidable = false;
|
||||
@@ -2782,6 +2808,10 @@ public class PurpurWorldConfig {
|
||||
@@ -2784,6 +2810,10 @@ public class PurpurWorldConfig {
|
||||
public double snifferMaxHealth = 14.0D;
|
||||
public double snifferScale = 1.0D;
|
||||
public int snifferBreedingTicks = 6000;
|
||||
@@ -311,7 +311,7 @@ index 33990382600b155ed8afcaa93707d9b7c189ad83..7cae3a982d5c26c4b789630fd571d786
|
||||
private void snifferSettings() {
|
||||
snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable);
|
||||
snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater);
|
||||
@@ -2789,6 +2819,10 @@ public class PurpurWorldConfig {
|
||||
@@ -2791,6 +2821,10 @@ public class PurpurWorldConfig {
|
||||
snifferMaxHealth = getDouble("mobs.sniffer.attributes.max_health", snifferMaxHealth);
|
||||
snifferScale = Mth.clamp(getDouble("mobs.sniffer.attributes.scale", snifferScale), 0.0625D, 16.0D);
|
||||
snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", snifferBreedingTicks);
|
||||
@@ -322,7 +322,7 @@ index 33990382600b155ed8afcaa93707d9b7c189ad83..7cae3a982d5c26c4b789630fd571d786
|
||||
}
|
||||
|
||||
public boolean squidRidable = false;
|
||||
@@ -2890,10 +2924,20 @@ public class PurpurWorldConfig {
|
||||
@@ -2892,10 +2926,20 @@ public class PurpurWorldConfig {
|
||||
public boolean tadpoleRidable = false;
|
||||
public boolean tadpoleRidableInWater = true;
|
||||
public boolean tadpoleControllable = true;
|
||||
@@ -343,7 +343,7 @@ index 33990382600b155ed8afcaa93707d9b7c189ad83..7cae3a982d5c26c4b789630fd571d786
|
||||
}
|
||||
|
||||
public boolean traderLlamaRidable = false;
|
||||
@@ -3118,10 +3162,20 @@ public class PurpurWorldConfig {
|
||||
@@ -3120,10 +3164,20 @@ public class PurpurWorldConfig {
|
||||
public boolean wardenRidable = false;
|
||||
public boolean wardenRidableInWater = true;
|
||||
public boolean wardenControllable = true;
|
||||
|
||||
Reference in New Issue
Block a user