mirror of
https://github.com/BX-Team/DivineMC.git
synced 2025-12-30 20:29:10 +00:00
apply paper server
This commit is contained in:
@@ -209,19 +209,6 @@ index 554fc2c53b5028c8f89a0ae69a75e075ba4f4435..a3e4065916f2aa2971f4e19f0702c7a0
|
||||
// We don't need to parse pending
|
||||
// (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/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||
index e34ceaa77c7e538c8d6bc341c4c6f450488ce426..4aef151bd162c4c99a3eaec1854b54639980a630 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||
@@ -11,7 +11,7 @@ public final class Versioning {
|
||||
public static String getBukkitVersion() {
|
||||
String result = "Unknown-Version";
|
||||
|
||||
- InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/org.purpurmc.purpur/purpur-api/pom.properties"); // Purpur - Rebrand
|
||||
+ InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/org.bxteam.divinemc/divinemc-api/pom.properties"); // DivineMC - Rebrand
|
||||
Properties properties = new Properties();
|
||||
|
||||
if (stream != null) {
|
||||
diff --git a/src/main/java/org/spigotmc/WatchdogThread.java b/src/main/java/org/spigotmc/WatchdogThread.java
|
||||
index bf0cda94d87e46149a21505fc67ddb9ad9af0838..0e5b10153821fda6056791e1c216d05a9ac8e5bc 100644
|
||||
--- a/src/main/java/org/spigotmc/WatchdogThread.java
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Configuration
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index d368d0d5161f6ed6d6bfdc104e8312e209b89b96..56611aa73c40432cbabbea0a6d603ec32e054848 100644
|
||||
index 7e11dae67841cedde4a86e4d17000fc8dc1b32fb..f90beb922e041d3af8aad55e2656f424af14797b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1007,6 +1007,7 @@ public final class CraftServer implements Server {
|
||||
@@ -15,7 +15,7 @@ index d368d0d5161f6ed6d6bfdc104e8312e209b89b96..56611aa73c40432cbabbea0a6d603ec3
|
||||
+ org.bxteam.divinemc.config.DivineConfig.init((File) console.options.valueOf("divinemc-settings")); // DivineMC - Configuration
|
||||
for (ServerLevel world : this.console.getAllLevels()) {
|
||||
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
||||
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && world.getGameRules().getBoolean(GameRules.RULE_SPAWN_MONSTERS)); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
||||
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && world.getGameRules().get(GameRules.SPAWN_MONSTERS)); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
||||
@@ -1023,6 +1024,13 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
world.spigotConfig.init(); // Spigot
|
||||
|
||||
@@ -5,12 +5,12 @@ Subject: [PATCH] Paper PR: Add FillBottleEvents for player and dispenser
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 09ef508247d98645591283d91a9beba90d1df7d5..5abf373c522e247440bf8f10bf10153e249bd7fc 100644
|
||||
index 690181c032667326c2e9c7edf678b2cdcd319c64..d37d7ae608c80913afdde48c3e03d11e4697d1d1 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -2191,4 +2191,18 @@ public class CraftEventFactory {
|
||||
event.callEvent();
|
||||
return event.isAllowed();
|
||||
@@ -2389,4 +2389,18 @@ public class CraftEventFactory {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
+
|
||||
+ // DivineMC start - Paper PR: Add FillBottleEvents for player and dispenser
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Paper PR: Player standing on position API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index 6ac0f9d208c41182b7c596ab809de41f07f265a9..20eb411e8c4a8076df3e1bc00e8d84d3242dcbb5 100644
|
||||
index d04ff11b293c458fd4f18f04336421e5e183c3f4..df5223c4b88705c751cff7e07626f6cd318ed98b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -1349,6 +1349,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -1350,6 +1350,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return this.entity.get(io.papermc.paper.datacomponent.PaperDataComponentType.bukkitToMinecraft(type)) != null;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Optimize default values for configs
|
||||
|
||||
|
||||
diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
|
||||
index 81553c3f08bfac855b914997fb6a4e7cf2241272..6c23b24477dd24ed43932d0c5ae5d97f80d968f6 100644
|
||||
index c95bca1a3100952fb02a7bff46fcf9155b185a80..61aeb613da5c3b38124d3eeea451b13e25527878 100644
|
||||
--- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
|
||||
+++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
|
||||
@@ -332,8 +332,8 @@ public class GlobalConfiguration extends ConfigurationPart {
|
||||
@@ -333,8 +333,8 @@ public class GlobalConfiguration extends ConfigurationPart {
|
||||
@Constraints.Min(4)
|
||||
public int regionFileCacheSize = 256;
|
||||
@Comment("See https://luckformula.emc.gs")
|
||||
@@ -20,7 +20,7 @@ index 81553c3f08bfac855b914997fb6a4e7cf2241272..6c23b24477dd24ed43932d0c5ae5d97f
|
||||
public IntOr.Default compressionLevel = IntOr.Default.USE_DEFAULT;
|
||||
@Comment("Defines the leniency distance added on the server to the interaction range of a player when validating interact packets.")
|
||||
diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
||||
index e65e3068ca11836bde554a3be2540760aeb25aff..3e4381a8a76385ba9dc9bef0d8d16fce36f3647b 100644
|
||||
index 2f36c4ba409830b1392a2b728effbcc45f8b7666..6ea8459c63c2ab30a882e290cd67512934f63096 100644
|
||||
--- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
||||
+++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java
|
||||
@@ -149,8 +149,10 @@ public class WorldConfiguration extends ConfigurationPart {
|
||||
|
||||
@@ -14,10 +14,10 @@ This seems stupid, but it does seem that it improves the performance a bit, and
|
||||
We also create a "canSee" method tailored for "ChunkMap#updatePlayer()", a method without the equals check (the "updatePlayer()" already checks if the entity is the same entity) because the CraftPlayer's `equals()` check is a *bit* expensive compared to only checking the object's identity, and because the identity has already been check, we don't need to check it twice.
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index bc5fac66b3c4ebce77b0b84e0ec5a525e2efec62..fde41d3afad329d9dc85343b7d3126f7f053efc0 100644
|
||||
index dc0ef7978ef22b7ce1a3b1e4d608f63c78077572..770939f9abf4640dff5fc6af113926913359186a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -234,7 +234,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa
|
||||
@@ -236,7 +236,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa
|
||||
private long lastPlayed = 0;
|
||||
private boolean hasPlayedBefore = false;
|
||||
private final ConversationTracker conversationTracker = new ConversationTracker();
|
||||
@@ -26,7 +26,7 @@ index bc5fac66b3c4ebce77b0b84e0ec5a525e2efec62..fde41d3afad329d9dc85343b7d3126f7
|
||||
private final Set<UUID> unlistedEntities = new HashSet<>(); // Paper - Add Listing API for Player
|
||||
private static final WeakHashMap<Plugin, WeakReference<Plugin>> pluginWeakReferences = new WeakHashMap<>();
|
||||
private int hash = 0;
|
||||
@@ -2140,9 +2140,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa
|
||||
@@ -2142,9 +2142,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa
|
||||
|
||||
@Override
|
||||
public boolean canSee(org.bukkit.entity.Entity entity) {
|
||||
|
||||
@@ -32,10 +32,10 @@ index d7398b1ecf2660c29fb7d106b48fe02d3736603e..ab499a7eaccdc1578ec64f90f54f79b0
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index fde41d3afad329d9dc85343b7d3126f7f053efc0..4fd8e8780ec378ce2f185b49c0db1a46b051edc3 100644
|
||||
index 770939f9abf4640dff5fc6af113926913359186a..c8d6b0dfe5674512b0d55e065b274b6df3f11c95 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2715,7 +2715,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa
|
||||
@@ -2717,7 +2717,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa
|
||||
Iterator<AttributeInstance> iterator = collection.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
AttributeInstance genericInstance = iterator.next();
|
||||
@@ -45,13 +45,13 @@ index fde41d3afad329d9dc85343b7d3126f7f053efc0..4fd8e8780ec378ce2f185b49c0db1a46
|
||||
break;
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 5abf373c522e247440bf8f10bf10153e249bd7fc..ed02ded2645fb57d82b6b1164c3343f94cc7a3ed 100644
|
||||
index 5bb856e86f2270c75406b8a5540f4a9c1e679fb4..da3a92e0f857a57c954b638b8e3bf7e65a7bd58e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -1797,6 +1797,26 @@ public class CraftEventFactory {
|
||||
@@ -1930,6 +1930,26 @@ public class CraftEventFactory {
|
||||
}
|
||||
|
||||
public static boolean handleBlockFormEvent(Level world, BlockPos pos, net.minecraft.world.level.block.state.BlockState state, int flags, @Nullable Entity entity, boolean checkSetResult) {
|
||||
public static boolean handleBlockFormEvent(Level world, BlockPos pos, net.minecraft.world.level.block.state.BlockState state, @net.minecraft.world.level.block.Block.UpdateFlags int flags, @Nullable Entity entity, boolean checkSetResult) {
|
||||
+ // DivineMC start - Multithreaded Tracker
|
||||
+ if (org.bxteam.divinemc.config.DivineConfig.AsyncCategory.multithreadedEnabled && Thread.currentThread() instanceof org.bxteam.divinemc.async.tracking.MultithreadedTracker.MultithreadedTrackerThread) {
|
||||
+ java.util.concurrent.CompletableFuture<Boolean> future = new java.util.concurrent.CompletableFuture<>();
|
||||
|
||||
@@ -223,10 +223,10 @@ index 69cdd304d255d52c9b7dc9b6a33ffdb630b79abe..73475f21a65395ab3f888d04d4860acd
|
||||
+ // DivineMC end - Parallel world ticking
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index b538a051de94c421fc4abeb1d3538f381081fd81..2565340258001c086aa23b018a4d7b3e4c89457b 100644
|
||||
index 9295d8e0b976677424e4a5e325fb789f8cb23ceb..cf286eddde6c45ee12bb080a3c00794697ae0ce2 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -3066,4 +3066,11 @@ public final class CraftServer implements Server {
|
||||
@@ -3068,4 +3068,11 @@ public final class CraftServer implements Server {
|
||||
return getServer().lagging;
|
||||
}
|
||||
// Purpur end - Lagging threshold
|
||||
@@ -239,10 +239,10 @@ index b538a051de94c421fc4abeb1d3538f381081fd81..2565340258001c086aa23b018a4d7b3e
|
||||
+ // DivineMC end - Parallel world ticking
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index b65a086a63a9fe1ea1810d3e4c614a6650cad50d..2136372fd19aa89476b9b54b07765c5a0e83596c 100644
|
||||
index aa019a9ef40a18714b9bd68260da612a6274c55b..1ac816225fe7ff1564a3b0fbfd44eee0ad9a9208 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -463,7 +463,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -461,7 +461,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
|
||||
@Override
|
||||
public boolean unloadChunkRequest(int x, int z) {
|
||||
@@ -257,7 +257,7 @@ index b65a086a63a9fe1ea1810d3e4c614a6650cad50d..2136372fd19aa89476b9b54b07765c5a
|
||||
if (this.isChunkLoaded(x, z)) {
|
||||
this.world.getChunkSource().removeTicketWithRadius(TicketType.PLUGIN, new ChunkPos(x, z), 1);
|
||||
}
|
||||
@@ -489,6 +495,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -487,6 +493,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
|
||||
@Override
|
||||
public boolean refreshChunk(int x, int z) {
|
||||
@@ -265,7 +265,7 @@ index b65a086a63a9fe1ea1810d3e4c614a6650cad50d..2136372fd19aa89476b9b54b07765c5a
|
||||
ChunkHolder playerChunk = this.world.getChunkSource().chunkMap.getVisibleChunkIfPresent(ChunkPos.asLong(x, z));
|
||||
if (playerChunk == null) return false;
|
||||
|
||||
@@ -539,7 +546,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -537,7 +544,13 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
|
||||
@Override
|
||||
public boolean loadChunk(int x, int z, boolean generate) {
|
||||
@@ -280,7 +280,7 @@ index b65a086a63a9fe1ea1810d3e4c614a6650cad50d..2136372fd19aa89476b9b54b07765c5a
|
||||
warnUnsafeChunk("loading a faraway chunk", x, z); // Paper
|
||||
ChunkAccess chunk = this.world.getChunkSource().getChunk(x, z, generate || isChunkGenerated(x, z) ? ChunkStatus.FULL : ChunkStatus.EMPTY, true); // Paper
|
||||
|
||||
@@ -752,6 +765,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -750,6 +763,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
|
||||
@Override
|
||||
public boolean generateTree(Location loc, TreeType type, BlockChangeDelegate delegate) {
|
||||
@@ -288,7 +288,7 @@ index b65a086a63a9fe1ea1810d3e4c614a6650cad50d..2136372fd19aa89476b9b54b07765c5a
|
||||
this.world.captureTreeGeneration = true;
|
||||
this.world.captureBlockStates = true;
|
||||
boolean grownTree = this.generateTree(loc, type);
|
||||
@@ -853,6 +867,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -851,6 +865,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
|
||||
private boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks, Entity source, Consumer<net.minecraft.world.level.ServerExplosion> configurator) {
|
||||
// Paper end - expand explosion API
|
||||
@@ -296,7 +296,7 @@ index b65a086a63a9fe1ea1810d3e4c614a6650cad50d..2136372fd19aa89476b9b54b07765c5a
|
||||
net.minecraft.world.level.Level.ExplosionInteraction explosionType;
|
||||
if (!breakBlocks) {
|
||||
explosionType = net.minecraft.world.level.Level.ExplosionInteraction.NONE; // Don't break blocks
|
||||
@@ -909,6 +924,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -907,6 +922,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
|
||||
@Override
|
||||
public int getHighestBlockYAt(int x, int z, org.bukkit.HeightMap heightMap) {
|
||||
@@ -304,7 +304,7 @@ index b65a086a63a9fe1ea1810d3e4c614a6650cad50d..2136372fd19aa89476b9b54b07765c5a
|
||||
warnUnsafeChunk("getting a faraway chunk", x >> 4, z >> 4); // Paper
|
||||
// Transient load for this tick
|
||||
return this.world.getChunk(x >> 4, z >> 4).getHeight(CraftHeightMap.toNMS(heightMap), x, z);
|
||||
@@ -924,6 +940,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -922,6 +938,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@Override
|
||||
public void setBiome(int x, int y, int z, Holder<net.minecraft.world.level.biome.Biome> bb) {
|
||||
BlockPos pos = new BlockPos(x, 0, z);
|
||||
@@ -312,7 +312,7 @@ index b65a086a63a9fe1ea1810d3e4c614a6650cad50d..2136372fd19aa89476b9b54b07765c5a
|
||||
if (this.world.hasChunkAt(pos)) {
|
||||
net.minecraft.world.level.chunk.LevelChunk chunk = this.world.getChunkAt(pos);
|
||||
|
||||
@@ -1903,6 +1920,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -1879,6 +1896,7 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
|
||||
@Override
|
||||
public void sendGameEvent(Entity sourceEntity, org.bukkit.GameEvent gameEvent, Vector position) {
|
||||
@@ -320,7 +320,7 @@ index b65a086a63a9fe1ea1810d3e4c614a6650cad50d..2136372fd19aa89476b9b54b07765c5a
|
||||
getHandle().gameEvent(sourceEntity != null ? ((CraftEntity) sourceEntity).getHandle(): null, net.minecraft.core.registries.BuiltInRegistries.GAME_EVENT.get(org.bukkit.craftbukkit.util.CraftNamespacedKey.toMinecraft(gameEvent.getKey())).orElseThrow(), org.bukkit.craftbukkit.util.CraftVector.toBlockPos(position));
|
||||
}
|
||||
// Paper end
|
||||
@@ -2113,4 +2131,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
@@ -2089,4 +2107,15 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||
return POINTERS_SUPPLIER.view(this);
|
||||
}
|
||||
// Paper end
|
||||
@@ -337,7 +337,7 @@ index b65a086a63a9fe1ea1810d3e4c614a6650cad50d..2136372fd19aa89476b9b54b07765c5a
|
||||
+ // DivineMC end - Parallel world ticking
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
|
||||
index 52b3362259ed1ba2ce5379230b2c3b06b0ff6249..1d8c9f94198b558a6b4cdc5d4981b6b4e946903b 100644
|
||||
index 94bea317e89e52794c0cb031417a920697d01cb5..ee755450f668e32329476f95942d71e7c77b0c3b 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java
|
||||
@@ -75,6 +75,11 @@ public class CraftBlock implements Block {
|
||||
@@ -355,7 +355,7 @@ index 52b3362259ed1ba2ce5379230b2c3b06b0ff6249..1d8c9f94198b558a6b4cdc5d4981b6b4
|
||||
@@ -155,6 +160,11 @@ public class CraftBlock implements Block {
|
||||
}
|
||||
|
||||
private void setData(final byte data, int flags) {
|
||||
private void setData(final byte data, @net.minecraft.world.level.block.Block.UpdateFlags int flags) {
|
||||
+ // DivineMC start - Parallel world ticking
|
||||
+ if (org.bxteam.divinemc.config.DivineConfig.AsyncCategory.enableParallelWorldTicking && world instanceof ServerLevel serverWorld) {
|
||||
+ ca.spottedleaf.moonrise.common.util.TickThread.ensureTickThread(serverWorld, position, "Cannot modify world asynchronously");
|
||||
@@ -508,7 +508,7 @@ index 52b3362259ed1ba2ce5379230b2c3b06b0ff6249..1d8c9f94198b558a6b4cdc5d4981b6b4
|
||||
this.getNMS().tick(level, this.position, level.random);
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
|
||||
index 5d4faad9df4824cfd61abfd4df011c006f114424..361ddcfaaa47f27135fd4629446b6560b60badeb 100644
|
||||
index 26feb76c52631e77b8529e4da1e54e1c703ea001..65b53e7cc7b25a37bbcc2ca3f88bb6781605bdf6 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java
|
||||
@@ -33,6 +33,25 @@ public abstract class CraftBlockEntityState<T extends BlockEntity> extends Craft
|
||||
@@ -551,10 +551,10 @@ index 5d4faad9df4824cfd61abfd4df011c006f114424..361ddcfaaa47f27135fd4629446b6560
|
||||
} else {
|
||||
this.snapshot = this.createSnapshot(blockEntity);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java
|
||||
index 196835bdf95ba0e149b2977e9ef41698971f501f..b35dbe2b6e75ec89483aef093474c6757983a73f 100644
|
||||
index 3036f3fa8b58607e2abbe1cbec065c7b78bdc025..e1baf15c59dcefc5e7646635e67317515293b4d2 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java
|
||||
@@ -218,6 +218,12 @@ public class CraftBlockState implements BlockState {
|
||||
@@ -219,6 +219,12 @@ public class CraftBlockState implements BlockState {
|
||||
LevelAccessor access = this.getWorldHandle();
|
||||
CraftBlock block = this.getBlock();
|
||||
|
||||
@@ -567,7 +567,7 @@ index 196835bdf95ba0e149b2977e9ef41698971f501f..b35dbe2b6e75ec89483aef093474c675
|
||||
if (block.getType() != this.getType()) {
|
||||
if (!force) {
|
||||
return false;
|
||||
@@ -365,6 +371,7 @@ public class CraftBlockState implements BlockState {
|
||||
@@ -366,6 +372,7 @@ public class CraftBlockState implements BlockState {
|
||||
|
||||
@Override
|
||||
public java.util.Collection<org.bukkit.inventory.ItemStack> getDrops(org.bukkit.inventory.ItemStack item, org.bukkit.entity.Entity entity) {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add missing purpur config options
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index b8cd96b4262bcff318620755cd57057da81a5f78..ea32c66be64197738b264ea5e56205993908dac6 100644
|
||||
index 96189eedfe63e457cdeca64b91670222fa0df31b..98a62c5b9448ef788e5ccf24d343175e44142c8e 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -333,6 +333,7 @@ public class PurpurConfig {
|
||||
@@ -25,10 +25,10 @@ index b8cd96b4262bcff318620755cd57057da81a5f78..ea32c66be64197738b264ea5e5620599
|
||||
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 3f81e8f364d84a8f7abb7f0976597c0f922eabed..f2fd24fd384e3e18eb5d2cd038cbd6d66055ebae 100644
|
||||
index 24a6733d8e9825d18aaacc46054929418744aa19..68e84c12fc25c425696aa1687f70660c19961f21 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1274,12 +1274,20 @@ public class PurpurWorldConfig {
|
||||
@@ -1272,12 +1272,20 @@ public class PurpurWorldConfig {
|
||||
public boolean allayControllable = true;
|
||||
public double allayMaxHealth = 20.0D;
|
||||
public double allayScale = 1.0D;
|
||||
@@ -49,7 +49,7 @@ index 3f81e8f364d84a8f7abb7f0976597c0f922eabed..f2fd24fd384e3e18eb5d2cd038cbd6d6
|
||||
}
|
||||
|
||||
public boolean armadilloRidable = false;
|
||||
@@ -1434,6 +1442,10 @@ public class PurpurWorldConfig {
|
||||
@@ -1428,6 +1436,10 @@ public class PurpurWorldConfig {
|
||||
public double camelMovementSpeedMin = 0.09D;
|
||||
public double camelMovementSpeedMax = 0.09D;
|
||||
public int camelBreedingTicks = 6000;
|
||||
@@ -60,7 +60,7 @@ index 3f81e8f364d84a8f7abb7f0976597c0f922eabed..f2fd24fd384e3e18eb5d2cd038cbd6d6
|
||||
private void camelSettings() {
|
||||
camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater);
|
||||
camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin);
|
||||
@@ -1443,6 +1455,10 @@ public class PurpurWorldConfig {
|
||||
@@ -1437,6 +1449,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);
|
||||
@@ -71,7 +71,7 @@ index 3f81e8f364d84a8f7abb7f0976597c0f922eabed..f2fd24fd384e3e18eb5d2cd038cbd6d6
|
||||
}
|
||||
|
||||
public boolean catRidable = false;
|
||||
@@ -1951,12 +1967,22 @@ public class PurpurWorldConfig {
|
||||
@@ -1945,12 +1961,22 @@ public class PurpurWorldConfig {
|
||||
public boolean frogControllable = true;
|
||||
public float frogRidableJumpHeight = 0.65F;
|
||||
public int frogBreedingTicks = 6000;
|
||||
@@ -94,7 +94,7 @@ index 3f81e8f364d84a8f7abb7f0976597c0f922eabed..f2fd24fd384e3e18eb5d2cd038cbd6d6
|
||||
}
|
||||
|
||||
public boolean ghastRidable = false;
|
||||
@@ -3042,6 +3068,10 @@ public class PurpurWorldConfig {
|
||||
@@ -3057,6 +3083,10 @@ public class PurpurWorldConfig {
|
||||
public double snifferMaxHealth = 14.0D;
|
||||
public double snifferScale = 1.0D;
|
||||
public int snifferBreedingTicks = 6000;
|
||||
@@ -105,7 +105,7 @@ index 3f81e8f364d84a8f7abb7f0976597c0f922eabed..f2fd24fd384e3e18eb5d2cd038cbd6d6
|
||||
private void snifferSettings() {
|
||||
snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable);
|
||||
snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater);
|
||||
@@ -3049,6 +3079,10 @@ public class PurpurWorldConfig {
|
||||
@@ -3064,6 +3094,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);
|
||||
@@ -116,7 +116,7 @@ index 3f81e8f364d84a8f7abb7f0976597c0f922eabed..f2fd24fd384e3e18eb5d2cd038cbd6d6
|
||||
}
|
||||
|
||||
public boolean squidRidable = false;
|
||||
@@ -3150,10 +3184,20 @@ public class PurpurWorldConfig {
|
||||
@@ -3165,10 +3199,20 @@ public class PurpurWorldConfig {
|
||||
public boolean tadpoleRidable = false;
|
||||
public boolean tadpoleRidableInWater = true;
|
||||
public boolean tadpoleControllable = true;
|
||||
@@ -137,7 +137,7 @@ index 3f81e8f364d84a8f7abb7f0976597c0f922eabed..f2fd24fd384e3e18eb5d2cd038cbd6d6
|
||||
}
|
||||
|
||||
public boolean traderLlamaRidable = false;
|
||||
@@ -3388,11 +3432,21 @@ public class PurpurWorldConfig {
|
||||
@@ -3403,11 +3447,21 @@ public class PurpurWorldConfig {
|
||||
public boolean wardenRidableInWater = true;
|
||||
public boolean wardenControllable = true;
|
||||
public boolean wardenCanUseSonicBoom = true;
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Optimize default values for configs
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index ea32c66be64197738b264ea5e56205993908dac6..dffda7d18a8065ca230ef8dea8701f411360502f 100644
|
||||
index 98a62c5b9448ef788e5ccf24d343175e44142c8e..e596e1ed1b65ea3589b13d0684e7f136316b5770 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -246,7 +246,7 @@ public class PurpurConfig {
|
||||
@@ -18,10 +18,10 @@ index ea32c66be64197738b264ea5e56205993908dac6..dffda7d18a8065ca230ef8dea8701f41
|
||||
useAlternateKeepAlive = getBoolean("settings.use-alternate-keepalive", useAlternateKeepAlive);
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index f2fd24fd384e3e18eb5d2cd038cbd6d66055ebae..33906d7a1df6341a3df48963493400db6964f8e6 100644
|
||||
index 68e84c12fc25c425696aa1687f70660c19961f21..dbc8fd59f97ccd13e805128b7aee23486c840ad8 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -3325,8 +3325,8 @@ public class PurpurWorldConfig {
|
||||
@@ -3340,8 +3340,8 @@ public class PurpurWorldConfig {
|
||||
public boolean villagerDisplayTradeItem = true;
|
||||
public int villagerSpawnIronGolemRadius = 0;
|
||||
public int villagerSpawnIronGolemLimit = 0;
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable movement speed for entities
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 33906d7a1df6341a3df48963493400db6964f8e6..b8c6dc522df9d8cb159b2a02aae2b34d856bb592 100644
|
||||
index dbc8fd59f97ccd13e805128b7aee23486c840ad8..16a88be168ad71a5a8a96960dfbb54119f586132 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -1753,6 +1753,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1747,6 +1747,7 @@ public class PurpurWorldConfig {
|
||||
public boolean drownedTakeDamageFromWater = false;
|
||||
public boolean drownedBreakDoors = false;
|
||||
public boolean drownedAlwaysDropExp = false;
|
||||
@@ -16,7 +16,7 @@ index 33906d7a1df6341a3df48963493400db6964f8e6..b8c6dc522df9d8cb159b2a02aae2b34d
|
||||
private void drownedSettings() {
|
||||
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
|
||||
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
|
||||
@@ -1771,6 +1772,7 @@ public class PurpurWorldConfig {
|
||||
@@ -1765,6 +1766,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);
|
||||
@@ -24,7 +24,7 @@ index 33906d7a1df6341a3df48963493400db6964f8e6..b8c6dc522df9d8cb159b2a02aae2b34d
|
||||
}
|
||||
|
||||
public boolean elderGuardianRidable = false;
|
||||
@@ -2198,6 +2200,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2192,6 +2194,7 @@ public class PurpurWorldConfig {
|
||||
public boolean huskJockeyTryExistingChickens = true;
|
||||
public boolean huskTakeDamageFromWater = false;
|
||||
public boolean huskAlwaysDropExp = false;
|
||||
@@ -32,7 +32,7 @@ index 33906d7a1df6341a3df48963493400db6964f8e6..b8c6dc522df9d8cb159b2a02aae2b34d
|
||||
private void huskSettings() {
|
||||
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
|
||||
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
|
||||
@@ -2215,6 +2218,7 @@ public class PurpurWorldConfig {
|
||||
@@ -2209,6 +2212,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);
|
||||
@@ -40,7 +40,7 @@ index 33906d7a1df6341a3df48963493400db6964f8e6..b8c6dc522df9d8cb159b2a02aae2b34d
|
||||
}
|
||||
|
||||
public boolean illusionerRidable = false;
|
||||
@@ -3608,6 +3612,7 @@ public class PurpurWorldConfig {
|
||||
@@ -3623,6 +3627,7 @@ public class PurpurWorldConfig {
|
||||
public boolean zombieTakeDamageFromWater = false;
|
||||
public boolean zombieAlwaysDropExp = false;
|
||||
public double zombieHeadVisibilityPercent = 0.5D;
|
||||
@@ -48,7 +48,7 @@ index 33906d7a1df6341a3df48963493400db6964f8e6..b8c6dc522df9d8cb159b2a02aae2b34d
|
||||
private void zombieSettings() {
|
||||
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
|
||||
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
|
||||
@@ -3633,6 +3638,7 @@ public class PurpurWorldConfig {
|
||||
@@ -3648,6 +3653,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);
|
||||
@@ -56,7 +56,7 @@ index 33906d7a1df6341a3df48963493400db6964f8e6..b8c6dc522df9d8cb159b2a02aae2b34d
|
||||
}
|
||||
|
||||
public boolean zombieHorseRidable = false;
|
||||
@@ -3682,6 +3688,7 @@ public class PurpurWorldConfig {
|
||||
@@ -3697,6 +3703,7 @@ public class PurpurWorldConfig {
|
||||
public int zombieVillagerCuringTimeMax = 6000;
|
||||
public boolean zombieVillagerCureEnabled = true;
|
||||
public boolean zombieVillagerAlwaysDropExp = false;
|
||||
@@ -64,7 +64,7 @@ index 33906d7a1df6341a3df48963493400db6964f8e6..b8c6dc522df9d8cb159b2a02aae2b34d
|
||||
private void zombieVillagerSettings() {
|
||||
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
|
||||
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
|
||||
@@ -3702,6 +3709,7 @@ public class PurpurWorldConfig {
|
||||
@@ -3717,6 +3724,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);
|
||||
@@ -72,7 +72,7 @@ index 33906d7a1df6341a3df48963493400db6964f8e6..b8c6dc522df9d8cb159b2a02aae2b34d
|
||||
}
|
||||
|
||||
public boolean zombifiedPiglinRidable = false;
|
||||
@@ -3716,6 +3724,7 @@ public class PurpurWorldConfig {
|
||||
@@ -3731,6 +3739,7 @@ public class PurpurWorldConfig {
|
||||
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = false;
|
||||
public boolean zombifiedPiglinTakeDamageFromWater = false;
|
||||
public boolean zombifiedPiglinAlwaysDropExp = false;
|
||||
@@ -80,7 +80,7 @@ index 33906d7a1df6341a3df48963493400db6964f8e6..b8c6dc522df9d8cb159b2a02aae2b34d
|
||||
private void zombifiedPiglinSettings() {
|
||||
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
|
||||
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
|
||||
@@ -3737,6 +3746,7 @@ public class PurpurWorldConfig {
|
||||
@@ -3752,6 +3761,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);
|
||||
|
||||
Reference in New Issue
Block a user