mirror of
https://github.com/Winds-Studio/Leaf.git
synced 2025-12-27 19:09:22 +00:00
Some fix
This commit is contained in:
@@ -30,6 +30,32 @@ Remove-Timings.patch
|
||||
Remove-Mojang-Profiler.patch
|
||||
MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index 397d93b63e412abb96cc8366c51c3927d760afb8..8c4d68b7293aba6622689b81c8b7cab08b4b92dc 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -57,6 +57,12 @@ dependencies {
|
||||
runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18")
|
||||
runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.18")
|
||||
|
||||
+ // Purpur start
|
||||
+ implementation("org.mozilla:rhino-runtime:1.7.15")
|
||||
+ implementation("org.mozilla:rhino-engine:1.7.15")
|
||||
+ implementation("dev.omega24:upnp4j:1.0")
|
||||
+ // Purpur end
|
||||
+
|
||||
testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
|
||||
testImplementation("org.junit.jupiter:junit-jupiter:5.10.2")
|
||||
testImplementation("org.hamcrest:hamcrest:2.2")
|
||||
@@ -164,7 +170,7 @@ fun TaskContainer.registerRunTask(
|
||||
name: String,
|
||||
block: JavaExec.() -> Unit
|
||||
): TaskProvider<JavaExec> = register<JavaExec>(name) {
|
||||
- group = "paper"
|
||||
+ group = "paperweight" // Purpur
|
||||
mainClass.set("org.bukkit.craftbukkit.Main")
|
||||
standardInput = System.`in`
|
||||
workingDir = rootProject.layout.projectDirectory
|
||||
diff --git a/src/log4jPlugins/java/org/purpurmc/purpur/gui/HighlightErrorConverter.java b/src/log4jPlugins/java/org/purpurmc/purpur/gui/HighlightErrorConverter.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..15a226e3854d731f7724025ea3459c8ace07630c
|
||||
@@ -136,6 +162,18 @@ index 06455d65c4605ce092bf5300d432087f24186741..750fd2809f6d5d5896904cad0f65029b
|
||||
|
||||
ignored.add("goal_selector_1");
|
||||
ignored.add("goal_selector_2");
|
||||
diff --git a/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java b/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java
|
||||
index 023016de1732f0b299428ec0544128cc17407333..9d003c2ae45a057c0274a34fe5012cf17d1a2681 100644
|
||||
--- a/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java
|
||||
+++ b/src/main/java/io/papermc/paper/ServerBuildInfoImpl.java
|
||||
@@ -32,6 +32,7 @@ public record ServerBuildInfoImpl(
|
||||
|
||||
private static final String BRAND_PAPER_NAME = "Paper";
|
||||
private static final String BRAND_GALE_NAME = "Gale"; // Gale - branding changes
|
||||
+ private static final String BRAND_PURPUR_NAME = "Purpur"; // Purpur
|
||||
private static final String BRAND_LEAF_NAME = "Leaf"; // Leaf
|
||||
|
||||
private static final String BUILD_DEV = "DEV";
|
||||
diff --git a/src/main/java/io/papermc/paper/command/PaperPluginsCommand.java b/src/main/java/io/papermc/paper/command/PaperPluginsCommand.java
|
||||
index f0fce4113fb07c64adbec029d177c236cbdcbae8..e94224ed280247ee69dfdff8dc960f2b8729be33 100644
|
||||
--- a/src/main/java/io/papermc/paper/command/PaperPluginsCommand.java
|
||||
@@ -1587,25 +1625,25 @@ index a720a05c47b2137a07515461960603cc5c939d16..b66fdb789fcb460d63fd81540112d655
|
||||
try {
|
||||
String channels = payload.toString(com.google.common.base.Charsets.UTF_8);
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index deb4282880aa5f28100a202c73514c892f487be0..dc4a4d7de838d8756b0f5cbbc149b1d5cd2b4dd6 100644
|
||||
index deb4282880aa5f28100a202c73514c892f487be0..554bff40f0dab4f49ed201cc6d6508ec0ec70f0a 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -337,6 +337,20 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||
private boolean justTeleported = false;
|
||||
// CraftBukkit end
|
||||
|
||||
+ // Purpur start
|
||||
+ // Purpur start
|
||||
+ private final com.google.common.cache.LoadingCache<CraftPlayer, Boolean> kickPermissionCache = com.google.common.cache.CacheBuilder.newBuilder()
|
||||
+ .maximumSize(1000)
|
||||
+ .expireAfterWrite(1, java.util.concurrent.TimeUnit.MINUTES)
|
||||
+ .build(
|
||||
+ new com.google.common.cache.CacheLoader<>() {
|
||||
+ @Override
|
||||
+ public Boolean load(CraftPlayer player) {
|
||||
+ return player.hasPermission("purpur.bypassIdleKick");
|
||||
+ }
|
||||
+ }
|
||||
+ );
|
||||
+ .maximumSize(1000)
|
||||
+ .expireAfterWrite(1, java.util.concurrent.TimeUnit.MINUTES)
|
||||
+ .build(
|
||||
+ new com.google.common.cache.CacheLoader<>() {
|
||||
+ @Override
|
||||
+ public Boolean load(CraftPlayer player) {
|
||||
+ return player.hasPermission("purpur.bypassIdleKick");
|
||||
+ }
|
||||
+ }
|
||||
+ );
|
||||
+ // Purpur end
|
||||
+
|
||||
@Override
|
||||
@@ -2574,10 +2612,10 @@ index 15844971ce2cca8c679ad3aaa2dfe160e6d0b564..3003f2ab38008b761bee49823b49edae
|
||||
if (optional.isPresent()) {
|
||||
ItemStack itemstack = ((EnchantedItemInUse) optional.get()).itemStack();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/GlowSquid.java b/src/main/java/net/minecraft/world/entity/GlowSquid.java
|
||||
index 09fdea983772612ef3fff6b2da3cf469a34e4ec0..3e2ea26c23e88c395856b65001f2895db6a52bd4 100644
|
||||
index 09fdea983772612ef3fff6b2da3cf469a34e4ec0..b69d924fa8034eabbf4aab8d3434f4f4e2529373 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/GlowSquid.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/GlowSquid.java
|
||||
@@ -23,6 +23,39 @@ public class GlowSquid extends Squid {
|
||||
@@ -23,6 +23,38 @@ public class GlowSquid extends Squid {
|
||||
super(type, world);
|
||||
}
|
||||
|
||||
@@ -2587,7 +2625,6 @@ index 09fdea983772612ef3fff6b2da3cf469a34e4ec0..3e2ea26c23e88c395856b65001f2895d
|
||||
+ return level().purpurConfig.glowSquidRidable;
|
||||
+ }
|
||||
+
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean isControllable() {
|
||||
+ return level().purpurConfig.glowSquidControllable;
|
||||
|
||||
@@ -86,15 +86,16 @@ index 096c89bd01cec2abd151bf6fffc4847d1bcd548f..cd0a8a6a1be75cab8bbb8ee3ac17bb73
|
||||
this.values[this.vp++ & 0xFF] = (int)(l * 100L / Runtime.getRuntime().maxMemory());
|
||||
this.repaint();
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
index 8367edebdfa2f022bcda1ec2b0e7881285d8bb9c..e1d2c90295580e130c7f317fa1164c395caea85f 100644
|
||||
index 8367edebdfa2f022bcda1ec2b0e7881285d8bb9c..023533e9ea342c8ff0d993544c45416af88bf5ab 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
@@ -458,7 +458,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
@@ -458,7 +458,8 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
this.lastSpawnState = spawnercreature_d;
|
||||
// Gale start - MultiPaper - skip unnecessary mob spawning computations
|
||||
} else {
|
||||
- spawnercreature_d = null;
|
||||
+ lastSpawnState = null; // Leaf - Pufferfish - Optimize mob spawning
|
||||
+ spawnercreature_d = null; // Dreeam TODO
|
||||
+ //lastSpawnState = null; // Leaf - Pufferfish - Optimize mob spawning // Dreeam TODO
|
||||
}
|
||||
// Gale end - MultiPaper - skip unnecessary mob spawning computations
|
||||
|
||||
@@ -293,15 +294,16 @@ index 1e1824eb80696452951cdbbdacad952ae0a7482b..b38110d4f01cae6746ccd38b5ae047cf
|
||||
@Override
|
||||
protected void registerGoals() {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java b/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java
|
||||
index 3ca83269311cbc18c9ef3ce62cff6a2d4dc0a683..a636ab87d21c67b152b40b77e62fa8043ca4211e 100644
|
||||
index 3ca83269311cbc18c9ef3ce62cff6a2d4dc0a683..28f6b54e16fa49388690679fb7a25941d0868add 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/npc/VillagerProfession.java
|
||||
@@ -31,7 +31,7 @@ public record VillagerProfession(
|
||||
@@ -31,7 +31,8 @@ public record VillagerProfession(
|
||||
public static final VillagerProfession ARMORER = register("armorer", PoiTypes.ARMORER, SoundEvents.VILLAGER_WORK_ARMORER);
|
||||
public static final VillagerProfession BUTCHER = register("butcher", PoiTypes.BUTCHER, SoundEvents.VILLAGER_WORK_BUTCHER);
|
||||
public static final VillagerProfession CARTOGRAPHER = register("cartographer", PoiTypes.CARTOGRAPHER, SoundEvents.VILLAGER_WORK_CARTOGRAPHER);
|
||||
- public static final VillagerProfession CLERIC = register("cleric", PoiTypes.CLERIC, ImmutableSet.of(Items.NETHER_WART), ImmutableSet.of(Blocks.SOUL_SAND), SoundEvents.VILLAGER_WORK_CLERIC); // Purpur
|
||||
+ public static final VillagerProfession CLERIC = register("cleric", PoiTypes.CLERIC, new Item[] {Items.NETHER_WART}, Blocks.SOUL_SAND, SoundEvents.VILLAGER_WORK_CLERIC); // Purpur // Leaf - sync with Gale's Optimize-villager-data-storage.patch
|
||||
+ public static final VillagerProfession CLERIC = register("cleric", PoiTypes.CLERIC, ImmutableSet.of(Items.NETHER_WART), ImmutableSet.of(Blocks.SOUL_SAND), SoundEvents.VILLAGER_WORK_CLERIC); // Purpur // Dreeam TODO
|
||||
+ //public static final VillagerProfession CLERIC = register("cleric", PoiTypes.CLERIC, new Item[] {Items.NETHER_WART}, Blocks.SOUL_SAND, SoundEvents.VILLAGER_WORK_CLERIC); // Purpur // Leaf - sync with Gale's Optimize-villager-data-storage.patch // Dreeam TODO
|
||||
public static final VillagerProfession FARMER = register(
|
||||
"farmer",
|
||||
PoiTypes.FARMER,
|
||||
|
||||
@@ -1136,37 +1136,20 @@ index 79057c2db0e6163f2d5466f50716a4ce230bfdf2..55ae1991316e5e67159c5babbc501190
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
index e1d2c90295580e130c7f317fa1164c395caea85f..121db0c3b0416e43a7cac8e33d498bbe6765602f 100644
|
||||
index 023533e9ea342c8ff0d993544c45416af88bf5ab..c60c9c6eaecadcf6c8ababd803aeeaf49befb6c7 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
@@ -355,12 +355,25 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
}
|
||||
@@ -356,9 +356,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
|
||||
public void save(boolean flush) {
|
||||
+<<<<<<< HEAD
|
||||
// Paper - rewrite chunk system
|
||||
try (co.aikar.timings.Timing timed = level.timings.chunkSaveData.startTiming()) { // Paper - Timings
|
||||
+=======
|
||||
+ this.runDistanceManagerUpdates();
|
||||
+>>>>>>> Remove Timings
|
||||
- try (co.aikar.timings.Timing timed = level.timings.chunkSaveData.startTiming()) { // Paper - Timings
|
||||
this.chunkMap.saveAllChunks(flush);
|
||||
- } // Paper - Timings
|
||||
}
|
||||
|
||||
+<<<<<<< HEAD
|
||||
+=======
|
||||
+ // Paper start - Incremental chunk and player saving; duplicate save, but call incremental
|
||||
+ public void saveIncrementally() {
|
||||
+ this.runDistanceManagerUpdates();
|
||||
+ this.chunkMap.saveIncrementally();
|
||||
+ }
|
||||
+ // Paper end - Incremental chunk and player saving
|
||||
+
|
||||
+>>>>>>> Remove Timings
|
||||
@Override
|
||||
public void close() throws IOException {
|
||||
// CraftBukkit start
|
||||
@@ -382,24 +395,23 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
@@ -382,24 +380,18 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
|
||||
@Override
|
||||
public void tick(BooleanSupplier shouldKeepTicking, boolean tickChunks) {
|
||||
@@ -1178,12 +1161,8 @@ index e1d2c90295580e130c7f317fa1164c395caea85f..121db0c3b0416e43a7cac8e33d498bbe
|
||||
this.runDistanceManagerUpdates();
|
||||
- this.level.timings.doChunkMap.stopTiming(); // Spigot
|
||||
if (tickChunks) {
|
||||
+<<<<<<< HEAD
|
||||
this.level.timings.chunks.startTiming(); // Paper - timings
|
||||
- this.level.timings.chunks.startTiming(); // Paper - timings
|
||||
((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemServerLevel)this.level).moonrise$getPlayerChunkLoader().tick(); // Paper - rewrite chunk system
|
||||
+=======
|
||||
+ this.chunkMap.level.playerChunkLoader.tick(); // Paper - replace player chunk loader - this is mostly required to account for view distance changes
|
||||
+>>>>>>> Remove Timings
|
||||
this.tickChunks();
|
||||
- this.level.timings.chunks.stopTiming(); // Paper - timings
|
||||
this.chunkMap.tick();
|
||||
@@ -1195,20 +1174,15 @@ index e1d2c90295580e130c7f317fa1164c395caea85f..121db0c3b0416e43a7cac8e33d498bbe
|
||||
this.clearCache();
|
||||
}
|
||||
|
||||
@@ -409,9 +421,12 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
|
||||
this.lastInhabitedUpdate = i;
|
||||
@@ -411,7 +403,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
if (!this.level.isDebug()) {
|
||||
+<<<<<<< HEAD
|
||||
List<ServerChunkCache.ChunkAndHolder> list = Lists.newArrayListWithCapacity(this.chunkMap.size());
|
||||
Iterator iterator = this.chunkMap.getChunks().iterator();
|
||||
if (this.level.getServer().tickRateManager().runsNormally()) this.level.timings.chunkTicks.startTiming(); // Paper
|
||||
+=======
|
||||
+>>>>>>> Remove Timings
|
||||
- if (this.level.getServer().tickRateManager().runsNormally()) this.level.timings.chunkTicks.startTiming(); // Paper
|
||||
|
||||
while (iterator.hasNext()) {
|
||||
ChunkHolder playerchunk = (ChunkHolder) iterator.next();
|
||||
@@ -429,7 +444,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
@@ -429,7 +420,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
boolean flagAndHasNaturalSpawn = flag && this.anySpawnCategoryIsSpawnedThisTick();
|
||||
if (flagAndHasNaturalSpawn) {
|
||||
// Gale end - MultiPaper - skip unnecessary mob spawning computations
|
||||
@@ -1216,7 +1190,7 @@ index e1d2c90295580e130c7f317fa1164c395caea85f..121db0c3b0416e43a7cac8e33d498bbe
|
||||
int k = this.distanceManager.getNaturalSpawnChunkCount();
|
||||
// Paper start - Optional per player mob spawns
|
||||
int naturalSpawnChunkCount = k;
|
||||
@@ -453,7 +467,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
@@ -453,7 +443,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
spawnercreature_d = NaturalSpawner.createState(naturalSpawnChunkCount, this.level.getAllEntities(), this::getFullChunk, !this.level.paperConfig().entities.spawning.perPlayerMobSpawns ? new LocalMobCapCalculator(this.chunkMap) : null, false);
|
||||
}
|
||||
// Paper end - Optional per player mob spawns
|
||||
@@ -1224,21 +1198,11 @@ index e1d2c90295580e130c7f317fa1164c395caea85f..121db0c3b0416e43a7cac8e33d498bbe
|
||||
|
||||
this.lastSpawnState = spawnercreature_d;
|
||||
// Gale start - MultiPaper - skip unnecessary mob spawning computations
|
||||
@@ -492,20 +505,79 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
@@ -493,19 +482,14 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
}
|
||||
}
|
||||
}
|
||||
+<<<<<<< HEAD
|
||||
this.level.timings.chunkTicks.stopTiming(); // Paper
|
||||
+=======
|
||||
+ // Paper start - optimise chunk tick iteration
|
||||
+ } finally {
|
||||
+ if (chunkIterator instanceof io.papermc.paper.util.maplist.IteratorSafeOrderedReferenceSet.Iterator safeIterator) {
|
||||
+ safeIterator.finishedIterating();
|
||||
+ }
|
||||
+ }
|
||||
+ // Paper end - optimise chunk tick iteration
|
||||
+>>>>>>> Remove Timings
|
||||
- this.level.timings.chunkTicks.stopTiming(); // Paper
|
||||
|
||||
if (flag) {
|
||||
- try (co.aikar.timings.Timing ignored = this.level.timings.miscMobSpawning.startTiming()) { // Paper - timings
|
||||
@@ -1247,67 +1211,15 @@ index e1d2c90295580e130c7f317fa1164c395caea85f..121db0c3b0416e43a7cac8e33d498bbe
|
||||
}
|
||||
}
|
||||
|
||||
+<<<<<<< HEAD
|
||||
list.forEach((chunkproviderserver_a1) -> {
|
||||
this.level.timings.broadcastChunkUpdates.startTiming(); // Paper - timing
|
||||
- this.level.timings.broadcastChunkUpdates.startTiming(); // Paper - timing
|
||||
chunkproviderserver_a1.holder.broadcastChanges(chunkproviderserver_a1.chunk);
|
||||
this.level.timings.broadcastChunkUpdates.stopTiming(); // Paper - timing
|
||||
- this.level.timings.broadcastChunkUpdates.stopTiming(); // Paper - timing
|
||||
});
|
||||
+=======
|
||||
+ // Paper - optimise chunk tick iteration
|
||||
+ // Paper start - optimise chunk tick iteration
|
||||
+ if (!this.chunkMap.needsChangeBroadcasting.isEmpty()) {
|
||||
+ it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet<ChunkHolder> copy = this.chunkMap.needsChangeBroadcasting.clone();
|
||||
+ this.chunkMap.needsChangeBroadcasting.clear();
|
||||
+ for (ChunkHolder holder : copy) {
|
||||
+ holder.broadcastChanges(holder.getFullChunkNowUnchecked()); // LevelChunks are NEVER unloaded
|
||||
+ if (holder.needsBroadcastChanges()) {
|
||||
+ // I DON'T want to KNOW what DUMB plugins might be doing.
|
||||
+ this.chunkMap.needsChangeBroadcasting.add(holder);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ // Paper end - optimise chunk tick iteration
|
||||
+ // Paper - optimise chunk tick iteration
|
||||
+ }
|
||||
+
|
||||
+ // Pufferfish start - optimize mob spawning
|
||||
+ if (org.dreeam.leaf.config.modules.async.AsyncMobSpawning.enabled) {
|
||||
+ for (ServerPlayer player : this.level.players) {
|
||||
+ // Paper start - per player mob spawning backoff
|
||||
+ for (int ii = 0; ii < ServerPlayer.MOBCATEGORY_TOTAL_ENUMS; ii++) {
|
||||
+ player.mobCounts[ii] = 0;
|
||||
+
|
||||
+ int newBackoff = player.mobBackoffCounts[ii] - 1; // TODO make configurable bleed // TODO use nonlinear algorithm?
|
||||
+ if (newBackoff < 0) {
|
||||
+ newBackoff = 0;
|
||||
+ }
|
||||
+ player.mobBackoffCounts[ii] = newBackoff;
|
||||
+ }
|
||||
+ // Paper end - per player mob spawning backoff
|
||||
+ }
|
||||
+ if (firstRunSpawnCounts) {
|
||||
+ firstRunSpawnCounts = false;
|
||||
+ _pufferfish_spawnCountsReady.set(true);
|
||||
+ }
|
||||
+ if (_pufferfish_spawnCountsReady.getAndSet(false)) {
|
||||
+ net.minecraft.server.MinecraftServer.getServer().mobSpawnExecutor.submit(() -> {
|
||||
+ int mapped = distanceManager.getNaturalSpawnChunkCount();
|
||||
+ io.papermc.paper.util.maplist.IteratorSafeOrderedReferenceSet.Iterator<Entity> objectiterator =
|
||||
+ level.entityTickList.entities.iterator(io.papermc.paper.util.maplist.IteratorSafeOrderedReferenceSet.ITERATOR_FLAG_SEE_ADDITIONS);
|
||||
+ gg.pufferfish.pufferfish.util.IterableWrapper<Entity> wrappedIterator =
|
||||
+ new gg.pufferfish.pufferfish.util.IterableWrapper<>(objectiterator);
|
||||
+ lastSpawnState = NaturalSpawner.createState(mapped, wrappedIterator, this::getFullChunk, null, true);
|
||||
+ objectiterator.finishedIterating();
|
||||
+ _pufferfish_spawnCountsReady.set(true);
|
||||
+ });
|
||||
+ }
|
||||
+>>>>>>> Remove Timings
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 528e6e37b5552fe8179b472ec5fbbb90fa1b7b5b..4fea04aaf08c8a8e7bbb2add980f28fca08dd97f 100644
|
||||
index 528e6e37b5552fe8179b472ec5fbbb90fa1b7b5b..b5acade29b8fce1bc9c960f0395cf1fabd4d49ac 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 @@
|
||||
@@ -1454,16 +1366,17 @@ index 528e6e37b5552fe8179b472ec5fbbb90fa1b7b5b..4fea04aaf08c8a8e7bbb2add980f28fc
|
||||
if (progressListener != null) {
|
||||
progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel"));
|
||||
}
|
||||
@@ -1298,9 +1264,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
@@ -1298,10 +1264,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
progressListener.progressStage(Component.translatable("menu.savingChunks"));
|
||||
}
|
||||
|
||||
- timings.worldSaveChunks.startTiming(); // Paper
|
||||
if (!close) { chunkproviderserver.save(flush); } // Paper - add close param
|
||||
- timings.worldSaveChunks.stopTiming(); // Paper
|
||||
}// Paper
|
||||
- }// Paper
|
||||
// Paper - rewrite chunk system
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index d2153c3e909e7e75529ce6e41d649bf54b48752b..33fd3c88f84a5d6f7f7c0212f364a83870c88fc7 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Bump Dependencies
|
||||
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index 397d93b63e412abb96cc8366c51c3927d760afb8..d6a307d6f949348559d3dc3e9bc6a8f98c8ac4f4 100644
|
||||
index 8c4d68b7293aba6622689b81c8b7cab08b4b92dc..989cf44a97e046ff5204184a5ae42504814aebd8 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -25,7 +25,7 @@ dependencies {
|
||||
@@ -17,7 +17,7 @@ index 397d93b63e412abb96cc8366c51c3927d760afb8..d6a307d6f949348559d3dc3e9bc6a8f9
|
||||
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
||||
implementation("net.kyori:adventure-text-serializer-ansi:4.17.0") // Keep in sync with adventureVersion from Paper-API build file
|
||||
/*
|
||||
@@ -34,33 +34,43 @@ dependencies {
|
||||
@@ -34,28 +34,32 @@ dependencies {
|
||||
all its classes to check if they are plugins.
|
||||
Scanning takes about 1-2 seconds so adding this speeds up the server start.
|
||||
*/
|
||||
@@ -57,14 +57,14 @@ index 397d93b63e412abb96cc8366c51c3927d760afb8..d6a307d6f949348559d3dc3e9bc6a8f9
|
||||
+ runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.20")
|
||||
+ // Leaf end
|
||||
|
||||
// Purpur start
|
||||
implementation("org.mozilla:rhino-runtime:1.7.15")
|
||||
@@ -63,10 +67,10 @@ dependencies {
|
||||
implementation("dev.omega24:upnp4j:1.0")
|
||||
// Purpur end
|
||||
|
||||
- testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
|
||||
- testImplementation("org.junit.jupiter:junit-jupiter:5.10.2")
|
||||
+ // Purpur start
|
||||
+ implementation("org.mozilla:rhino-runtime:1.7.15")
|
||||
+ implementation("org.mozilla:rhino-engine:1.7.15")
|
||||
+ implementation("dev.omega24:upnp4j:1.0")
|
||||
+ // Purpur end
|
||||
+
|
||||
+ testImplementation("io.github.classgraph:classgraph:4.8.173") // Paper - mob goal test // Leaf - Bump Dependencies
|
||||
+ testImplementation("org.junit.jupiter:junit-jupiter:5.11.0-M2") // Leaf - Bump Dependencies
|
||||
testImplementation("org.hamcrest:hamcrest:2.2")
|
||||
@@ -73,7 +73,7 @@ index 397d93b63e412abb96cc8366c51c3927d760afb8..d6a307d6f949348559d3dc3e9bc6a8f9
|
||||
testImplementation("org.ow2.asm:asm-tree:9.7")
|
||||
testImplementation("org.junit-pioneer:junit-pioneer:2.2.0") // Paper - CartesianTest
|
||||
implementation("net.neoforged:srgutils:1.0.9") // Paper - mappings handling
|
||||
@@ -71,6 +81,8 @@ dependencies {
|
||||
@@ -77,6 +81,8 @@ dependencies {
|
||||
implementation("io.papermc:reflection-rewriter-runtime:$reflectionRewriterVersion")
|
||||
implementation("io.papermc:reflection-rewriter-proxy-generator:$reflectionRewriterVersion")
|
||||
// Paper end - Remap reflection
|
||||
@@ -82,7 +82,7 @@ index 397d93b63e412abb96cc8366c51c3927d760afb8..d6a307d6f949348559d3dc3e9bc6a8f9
|
||||
}
|
||||
|
||||
paperweight {
|
||||
@@ -264,3 +276,8 @@ sourceSets {
|
||||
@@ -270,3 +276,8 @@ sourceSets {
|
||||
}
|
||||
}
|
||||
// Gale end - package license into jar
|
||||
|
||||
Reference in New Issue
Block a user