9
0
mirror of https://github.com/BX-Team/DivineMC.git synced 2025-12-24 01:09:29 +00:00

33/50 patches

This commit is contained in:
NONPLAYT
2024-06-17 16:02:53 +03:00
parent c9f37aacfe
commit 20484be678
10 changed files with 80 additions and 522 deletions

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Don't save Fireworks
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
index 6671796d292fbc922a94271136f5a7a4bbdedaca..768daecf46aa77089ed7e0c4b0f5cfbf479d8d4e 100644
index 09d465947a5720e05c350d455c86002682104079..846d8d33eb0f5bb98848b9f3a9e8ab4f46bab984 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java
@@ -345,6 +345,13 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
@@ -347,6 +347,13 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier {
return false;
}

View File

@@ -7,10 +7,10 @@ Original code by Titaniumtown, modified by NONPLAYT
You can find the original code on https://gitlab.com/Titaniumtown/JettPack
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 63629a36572cd83977886c016084fd5ebefab65c..0d2cc738559e8b241539b49a35195291e78a54f2 100644
index 721fe9c6c3a6700d5d91d4078bfd79dd01ef32f3..975cd21cfe3199a3cf29439443c85d3f4ac5140e 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -176,8 +176,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -177,8 +177,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
public final DivineWorldConfig divinemcConfig; // DivineMC
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
public static BlockPos lastPhysicsProblem; // Spigot
@@ -19,17 +19,17 @@ index 63629a36572cd83977886c016084fd5ebefab65c..0d2cc738559e8b241539b49a35195291
private int tileTickPosition;
public final Map<Explosion.CacheKey, Float> explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions
public java.util.ArrayDeque<net.minecraft.world.level.block.RedstoneTorchBlock.Toggle> redstoneUpdateInfos; // Paper - Faster redstone torch rapid clock removal; Move from Map in BlockRedstoneTorch to here
@@ -334,8 +332,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -387,8 +385,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
});
// CraftBukkit end
this.timings = new co.aikar.timings.WorldTimingsHandler(this); // Paper - code below can generate new world and access timings
- this.entityLimiter = new org.spigotmc.TickLimiter(this.spigotConfig.entityMaxTickTime);
- this.tileLimiter = new org.spigotmc.TickLimiter(this.spigotConfig.tileMaxTickTime);
this.entityLookup = new ca.spottedleaf.moonrise.patches.chunk_system.level.entity.dfl.DefaultEntityLookup(this); // Paper - rewrite chunk system
this.chunkPacketBlockController = this.paperConfig().anticheat.antiXray.enabled ? new com.destroystokyo.paper.antixray.ChunkPacketBlockControllerAntiXray(this, executor) : com.destroystokyo.paper.antixray.ChunkPacketBlockController.NO_OPERATION_INSTANCE; // Paper - Anti-Xray
// Paper start - optimise collisions
this.minSection = io.papermc.paper.util.WorldUtil.getMinSection(this);
}
diff --git a/src/main/java/org/spigotmc/SpigotWorldConfig.java b/src/main/java/org/spigotmc/SpigotWorldConfig.java
index f9ba24d32f4170c641e420991e6c358f6bd91be2..8b6de4295172dfa7eb33a20a822923e7a4954812 100644
index 77beb2258b3e16860f005d6ce1280d7fa4c80961..8c01958a7f1b1250b4e627be867f0f44b5177485 100644
--- a/src/main/java/org/spigotmc/SpigotWorldConfig.java
+++ b/src/main/java/org/spigotmc/SpigotWorldConfig.java
@@ -452,6 +452,7 @@ public class SpigotWorldConfig

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Make entity goals public
diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java
index 539170813921de2dfcd7ef84dd7512d73cd27e68..b5609aae461d7b9353287d99a6ebe517e2b3b82e 100644
index 0422c4184c4823b8572afd398ef96fc6054e8485..97bb41ada82bd70fefb2d84aacaa33f665a56133 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Bee.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java
@@ -757,7 +757,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -768,7 +768,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
this.hivePos = pos;
}
@@ -17,7 +17,7 @@ index 539170813921de2dfcd7ef84dd7512d73cd27e68..b5609aae461d7b9353287d99a6ebe517
private static final int MIN_POLLINATION_TICKS = 400;
private static final int MIN_FIND_FLOWER_RETRY_COOLDOWN = 20;
@@ -946,7 +946,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -957,7 +957,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
}
}
@@ -26,7 +26,7 @@ index 539170813921de2dfcd7ef84dd7512d73cd27e68..b5609aae461d7b9353287d99a6ebe517
BeeLookControl(final Mob entity) {
super(entity);
@@ -982,7 +982,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -993,7 +993,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
}
}
@@ -35,7 +35,7 @@ index 539170813921de2dfcd7ef84dd7512d73cd27e68..b5609aae461d7b9353287d99a6ebe517
BeeEnterHiveGoal() {
super();
@@ -1025,7 +1025,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -1036,7 +1036,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
}
}
@@ -44,7 +44,7 @@ index 539170813921de2dfcd7ef84dd7512d73cd27e68..b5609aae461d7b9353287d99a6ebe517
BeeLocateHiveGoal() {
super();
@@ -1257,7 +1257,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -1268,7 +1268,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
}
}
@@ -53,7 +53,7 @@ index 539170813921de2dfcd7ef84dd7512d73cd27e68..b5609aae461d7b9353287d99a6ebe517
static final int GROW_CHANCE = 30;
@@ -1321,7 +1321,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -1332,7 +1332,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
}
}
@@ -62,7 +62,7 @@ index 539170813921de2dfcd7ef84dd7512d73cd27e68..b5609aae461d7b9353287d99a6ebe517
private static final int WANDER_THRESHOLD = 22;
@@ -1368,7 +1368,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -1379,7 +1379,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
}
}
@@ -71,7 +71,7 @@ index 539170813921de2dfcd7ef84dd7512d73cd27e68..b5609aae461d7b9353287d99a6ebe517
BeeHurtByOtherGoal(final Bee entitybee) {
super(entitybee);
@@ -1388,7 +1388,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -1399,7 +1399,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
}
}
@@ -80,7 +80,7 @@ index 539170813921de2dfcd7ef84dd7512d73cd27e68..b5609aae461d7b9353287d99a6ebe517
BeeBecomeAngryTargetGoal(Bee bee) {
// Objects.requireNonNull(entitybee); // CraftBukkit - decompile error
@@ -1419,7 +1419,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
@@ -1430,7 +1430,7 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal {
}
}
@@ -90,10 +90,10 @@ index 539170813921de2dfcd7ef84dd7512d73cd27e68..b5609aae461d7b9353287d99a6ebe517
BaseBeeGoal() {}
diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java
index 3e1345f1c534320e07820d573f5c8dba49746425..26ddab27ac1ca1902f849f98d000ffb801610691 100644
index 80c67e2eb79f47fec6cd9456f691ea03fec361dd..bc5df96aadb5230a99d983933a6cbe39154b0123 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Cat.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java
@@ -575,7 +575,7 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
@@ -565,7 +565,7 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
}
}
@@ -102,7 +102,7 @@ index 3e1345f1c534320e07820d573f5c8dba49746425..26ddab27ac1ca1902f849f98d000ffb8
private final Cat cat;
@Nullable
@@ -721,7 +721,7 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
@@ -711,7 +711,7 @@ public class Cat extends TamableAnimal implements VariantHolder<Holder<CatVarian
}
}
@@ -112,10 +112,10 @@ index 3e1345f1c534320e07820d573f5c8dba49746425..26ddab27ac1ca1902f849f98d000ffb8
private final Cat cat;
diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
index e7703aa5467e7551bff06fab4c11d76237bda2e0..e5944bd3598bd82b2891f576462013a4692c1609 100644
index a03eeb0cb4615a9f730fb0cc1b747f5f9341a855..05828fdbb8c97dab62df2c2597c3e52af867559a 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java
@@ -89,7 +89,7 @@ public class Vindicator extends AbstractIllager {
@@ -92,7 +92,7 @@ public class Vindicator extends AbstractIllager {
this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
this.goalSelector.addGoal(1, new Vindicator.VindicatorBreakDoorGoal(this));
this.goalSelector.addGoal(2, new AbstractIllager.RaiderOpenDoorGoal(this));
@@ -125,10 +125,10 @@ index e7703aa5467e7551bff06fab4c11d76237bda2e0..e5944bd3598bd82b2891f576462013a4
this.targetSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur
this.targetSelector.addGoal(1, new HurtByTargetGoal(this, Raider.class).setAlertOthers());
diff --git a/src/main/java/net/minecraft/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java
index 4a8fa7e5844b5cd12ef6b113f988b715c7a3ef64..f6e89565e793d346302498c1108069d3435ab082 100644
index 06487fc9ea416d8256e0c2cd1969d4e0283ffb05..ac38e44a7244cafb0b0ad2e5738664ac5d2aa6ca 100644
--- a/src/main/java/net/minecraft/world/entity/raid/Raider.java
+++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java
@@ -374,7 +374,7 @@ public abstract class Raider extends PatrollingMonster {
@@ -332,7 +332,7 @@ public abstract class Raider extends PatrollingMonster {
}
}
@@ -137,7 +137,7 @@ index 4a8fa7e5844b5cd12ef6b113f988b715c7a3ef64..f6e89565e793d346302498c1108069d3
private final Raider raider;
private final double speedModifier;
@@ -522,7 +522,7 @@ public abstract class Raider extends PatrollingMonster {
@@ -480,7 +480,7 @@ public abstract class Raider extends PatrollingMonster {
}
}

View File

@@ -4,193 +4,6 @@ Date: Sun, 12 May 2024 20:58:42 +0300
Subject: [PATCH] Delete Timings
diff --git a/src/main/java/co/aikar/timings/MinecraftTimings.java b/src/main/java/co/aikar/timings/MinecraftTimings.java
deleted file mode 100644
index 4b467f1af93452d13829f756d55dee18b8889d40..0000000000000000000000000000000000000000
--- a/src/main/java/co/aikar/timings/MinecraftTimings.java
+++ /dev/null
@@ -1,181 +0,0 @@
-package co.aikar.timings;
-
-import com.google.common.collect.MapMaker;
-import io.papermc.paper.configuration.GlobalConfiguration;
-import net.minecraft.commands.functions.CommandFunction;
-import net.minecraft.network.protocol.Packet;
-import net.minecraft.world.level.block.Block;
-import net.minecraft.world.level.block.entity.BlockEntity;
-import org.bukkit.plugin.Plugin;
-import org.bukkit.scheduler.BukkitTask;
-
-import org.bukkit.craftbukkit.scheduler.CraftTask;
-
-import java.util.Map;
-
-// TODO: Re-implement missing timers
-@Deprecated(forRemoval = true)
-public final class MinecraftTimings {
-
- public static final Timing serverOversleep = Timings.ofSafe("Server Oversleep");
- public static final Timing playerListTimer = Timings.ofSafe("Player List");
- public static final Timing commandFunctionsTimer = Timings.ofSafe("Command Functions");
- public static final Timing connectionTimer = Timings.ofSafe("Connection Handler");
- public static final Timing tickablesTimer = Timings.ofSafe("Tickables");
- public static final Timing minecraftSchedulerTimer = Timings.ofSafe("Minecraft Scheduler");
- public static final Timing bukkitSchedulerTimer = Timings.ofSafe("Bukkit Scheduler");
- public static final Timing bukkitSchedulerPendingTimer = Timings.ofSafe("Bukkit Scheduler - Pending");
- public static final Timing bukkitSchedulerFinishTimer = Timings.ofSafe("Bukkit Scheduler - Finishing");
- public static final Timing chunkIOTickTimer = Timings.ofSafe("ChunkIOTick");
- public static final Timing timeUpdateTimer = Timings.ofSafe("Time Update");
- public static final Timing serverCommandTimer = Timings.ofSafe("Server Command");
- public static final Timing savePlayers = Timings.ofSafe("Save Players");
-
- public static final Timing tickEntityTimer = Timings.ofSafe("## tickEntity");
- public static final Timing tickTileEntityTimer = Timings.ofSafe("## tickTileEntity");
- public static final Timing packetProcessTimer = Timings.ofSafe("## Packet Processing");
- public static final Timing scheduledBlocksTimer = Timings.ofSafe("## Scheduled Blocks");
- public static final Timing structureGenerationTimer = Timings.ofSafe("Structure Generation");
-
- public static final Timing processQueueTimer = Timings.ofSafe("processQueue");
- public static final Timing processTasksTimer = Timings.ofSafe("processTasks");
-
- public static final Timing playerCommandTimer = Timings.ofSafe("playerCommand");
-
- public static final Timing entityActivationCheckTimer = Timings.ofSafe("entityActivationCheck");
-
- public static final Timing antiXrayUpdateTimer = Timings.ofSafe("anti-xray - update");
- public static final Timing antiXrayObfuscateTimer = Timings.ofSafe("anti-xray - obfuscate");
- public static final Timing scoreboardScoreSearch = Timings.ofSafe("Scoreboard score search"); // Paper - add timings for scoreboard search
- public static final Timing distanceManagerTick = Timings.ofSafe("Distance Manager Tick"); // Paper - add timings for distance manager
-
- public static final Timing midTickChunkTasks = Timings.ofSafe("Mid Tick Chunk Tasks");
-
- private static final Map<Class<?>, String> taskNameCache = new MapMaker().weakKeys().makeMap();
-
- private MinecraftTimings() {}
-
- public static Timing getInternalTaskName(String taskName) {
- return Timings.ofSafe(taskName);
- }
-
- /**
- * Gets a timer associated with a plugins tasks.
- * @param bukkitTask
- * @param period
- * @return
- */
- public static Timing getPluginTaskTimings(BukkitTask bukkitTask, long period) {
- if (!bukkitTask.isSync()) {
- return NullTimingHandler.NULL;
- }
- Plugin plugin;
-
- CraftTask craftTask = (CraftTask) bukkitTask;
-
- final Class<?> taskClass = craftTask.getTaskClass();
- if (bukkitTask.getOwner() != null) {
- plugin = bukkitTask.getOwner();
- } else {
- plugin = TimingsManager.getPluginByClassloader(taskClass);
- }
-
- final String taskname = taskNameCache.computeIfAbsent(taskClass, clazz -> {
- try {
- String clsName = !clazz.isMemberClass()
- ? clazz.getName()
- : clazz.getCanonicalName();
- if (clsName != null && clsName.contains("$Lambda$")) {
- clsName = clsName.replaceAll("(Lambda\\$.*?)/.*", "$1");
- }
- return clsName != null ? clsName : "UnknownTask";
- } catch (Throwable ex) {
- new Exception("Error occurred detecting class name", ex).printStackTrace();
- return "MangledClassFile";
- }
- });
-
- StringBuilder name = new StringBuilder(64);
- name.append("Task: ").append(taskname);
- if (period > 0) {
- name.append(" (interval:").append(period).append(")");
- } else {
- name.append(" (Single)");
- }
-
- if (plugin == null) {
- return Timings.ofSafe(null, name.toString());
- }
-
- return Timings.ofSafe(plugin, name.toString());
- }
-
- /**
- * Get a named timer for the specified entity type to track type specific timings.
- * @param entityType
- * @return
- */
- public static Timing getEntityTimings(String entityType, String type) {
- return Timings.ofSafe("Minecraft", "## tickEntity - " + entityType + " - " + type, tickEntityTimer);
- }
-
- public static Timing getBehaviorTimings(String type) {
- return Timings.ofSafe("## Behavior - " + type);
- }
-
- public static Timing getSensorTimings(String type, int rate) {
- return Timings.ofSafe("## Sensor - " + type + " (Default rate: " + rate + ")");
- }
-
- /**
- * Get a named timer for the specified tile entity type to track type specific timings.
- * @param entity
- * @return
- */
- public static Timing getTileEntityTimings(BlockEntity entity) {
- String entityType = entity.getClass().getName();
- return Timings.ofSafe("Minecraft", "## tickTileEntity - " + entityType, tickTileEntityTimer);
- }
- public static Timing getCancelTasksTimer() {
- return Timings.ofSafe("Cancel Tasks");
- }
- public static Timing getCancelTasksTimer(Plugin plugin) {
- return Timings.ofSafe(plugin, "Cancel Tasks");
- }
-
- public static void stopServer() {
- TimingsManager.stopServer();
- }
-
- public static Timing getBlockTiming(Block block) {
- return Timings.ofSafe("## Scheduled Block: " + block.toString(), scheduledBlocksTimer);
- }
-/*
- public static Timing getStructureTiming(StructureGenerator structureGenerator) {
- return Timings.ofSafe("Structure Generator - " + structureGenerator.getName(), structureGenerationTimer);
- }*/
-
- public static Timing getPacketTiming(Packet packet) {
- return Timings.ofSafe("## Packet - " + packet.getClass().getName(), packetProcessTimer);
- }
-
- public static Timing getCommandFunctionTiming(CommandFunction<?> function) {
- return Timings.ofSafe("Command Function - " + function.id());
- }
-
- public static void processConfig(GlobalConfiguration.Timings config) {
- TimingsManager.url = config.url;
- if (!TimingsManager.url.endsWith("/")) {
- TimingsManager.url += "/";
- }
- TimingsManager.privacy = config.serverNamePrivacy;
- if (!config.hiddenConfigEntries.contains("proxies.velocity.secret")) {
- config.hiddenConfigEntries.add("proxies.velocity.secret");
- }
- TimingsManager.hiddenConfigs.addAll(config.hiddenConfigEntries);
- co.aikar.timings.Timings.setVerboseTimingsEnabled(config.verbose);
- co.aikar.timings.Timings.setTimingsEnabled(config.enabled);
- co.aikar.timings.Timings.setHistoryInterval(config.historyInterval * 20);
- co.aikar.timings.Timings.setHistoryLength(config.historyLength * 20);
- }
-}
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
deleted file mode 100644
index 7620c72a4c243cbeea245203ce03a97cbfa7d922..0000000000000000000000000000000000000000
@@ -585,166 +398,6 @@ index 7620c72a4c243cbeea245203ce03a97cbfa7d922..00000000000000000000000000000000
- }
- }
-}
diff --git a/src/main/java/co/aikar/timings/WorldTimingsHandler.java b/src/main/java/co/aikar/timings/WorldTimingsHandler.java
deleted file mode 100644
index 22687667ec69a954261e55e59261286ac1b8b8cd..0000000000000000000000000000000000000000
--- a/src/main/java/co/aikar/timings/WorldTimingsHandler.java
+++ /dev/null
@@ -1,140 +0,0 @@
-package co.aikar.timings;
-
-import net.minecraft.server.level.ServerLevel;
-import net.minecraft.world.level.Level;
-import net.minecraft.world.level.storage.PrimaryLevelData;
-
-/**
- * Set of timers per world, to track world specific timings.
- */
-// TODO: Re-implement missing timers
-@Deprecated(forRemoval = true)
-public class WorldTimingsHandler {
- public final Timing mobSpawn;
- public final Timing doChunkUnload;
- public final Timing doPortalForcer;
- public final Timing scheduledBlocks;
- public final Timing scheduledBlocksCleanup;
- public final Timing scheduledBlocksTicking;
- public final Timing chunkTicks;
- public final Timing lightChunk;
- public final Timing chunkTicksBlocks;
- public final Timing doVillages;
- public final Timing doChunkMap;
- public final Timing doChunkMapUpdate;
- public final Timing doChunkMapToUpdate;
- public final Timing doChunkMapSortMissing;
- public final Timing doChunkMapSortSendToPlayers;
- public final Timing doChunkMapPlayersNeedingChunks;
- public final Timing doChunkMapPendingSendToPlayers;
- public final Timing doChunkMapUnloadChunks;
- public final Timing doChunkGC;
- public final Timing doSounds;
- public final Timing entityRemoval;
- public final Timing entityTick;
- public final Timing tileEntityTick;
- public final Timing tileEntityPending;
- public final Timing tracker1;
- public final Timing tracker2;
- public final Timing doTick;
- public final Timing tickEntities;
- public final Timing chunks;
- public final Timing newEntities;
- public final Timing raids;
- public final Timing chunkProviderTick;
- public final Timing broadcastChunkUpdates;
- public final Timing countNaturalMobs;
-
- public final Timing chunkLoad;
- public final Timing chunkLoadPopulate;
- public final Timing syncChunkLoad;
- public final Timing chunkLoadLevelTimer;
- public final Timing chunkIO;
- public final Timing chunkPostLoad;
- public final Timing worldSave;
- public final Timing worldSaveChunks;
- public final Timing worldSaveLevel;
- public final Timing chunkSaveData;
-
-
- public final Timing miscMobSpawning;
-
- public final Timing poiUnload;
- public final Timing chunkUnload;
- public final Timing poiSaveDataSerialization;
- public final Timing chunkSave;
- public final Timing chunkSaveDataSerialization;
- public final Timing chunkSaveIOWait;
- public final Timing chunkUnloadPrepareSave;
- public final Timing chunkUnloadPOISerialization;
- public final Timing chunkUnloadDataSave;
-
- public WorldTimingsHandler(Level server) {
- String name = ((PrimaryLevelData) server.getLevelData()).getLevelName() + " - ";
-
- mobSpawn = Timings.ofSafe(name + "mobSpawn");
- doChunkUnload = Timings.ofSafe(name + "doChunkUnload");
- scheduledBlocks = Timings.ofSafe(name + "Scheduled Blocks");
- scheduledBlocksCleanup = Timings.ofSafe(name + "Scheduled Blocks - Cleanup");
- scheduledBlocksTicking = Timings.ofSafe(name + "Scheduled Blocks - Ticking");
- chunkTicks = Timings.ofSafe(name + "Chunk Ticks");
- lightChunk = Timings.ofSafe(name + "Light Chunk");
- chunkTicksBlocks = Timings.ofSafe(name + "Chunk Ticks - Blocks");
- doVillages = Timings.ofSafe(name + "doVillages");
- doChunkMap = Timings.ofSafe(name + "doChunkMap");
- doChunkMapUpdate = Timings.ofSafe(name + "doChunkMap - Update");
- doChunkMapToUpdate = Timings.ofSafe(name + "doChunkMap - To Update");
- doChunkMapSortMissing = Timings.ofSafe(name + "doChunkMap - Sort Missing");
- doChunkMapSortSendToPlayers = Timings.ofSafe(name + "doChunkMap - Sort Send To Players");
- doChunkMapPlayersNeedingChunks = Timings.ofSafe(name + "doChunkMap - Players Needing Chunks");
- doChunkMapPendingSendToPlayers = Timings.ofSafe(name + "doChunkMap - Pending Send To Players");
- doChunkMapUnloadChunks = Timings.ofSafe(name + "doChunkMap - Unload Chunks");
- doSounds = Timings.ofSafe(name + "doSounds");
- doChunkGC = Timings.ofSafe(name + "doChunkGC");
- doPortalForcer = Timings.ofSafe(name + "doPortalForcer");
- entityTick = Timings.ofSafe(name + "entityTick");
- entityRemoval = Timings.ofSafe(name + "entityRemoval");
- tileEntityTick = Timings.ofSafe(name + "tileEntityTick");
- tileEntityPending = Timings.ofSafe(name + "tileEntityPending");
-
- chunkLoad = Timings.ofSafe(name + "Chunk Load");
- chunkLoadPopulate = Timings.ofSafe(name + "Chunk Load - Populate");
- syncChunkLoad = Timings.ofSafe(name + "Sync Chunk Load");
- chunkLoadLevelTimer = Timings.ofSafe(name + "Chunk Load - Load Level");
- chunkIO = Timings.ofSafe(name + "Chunk Load - DiskIO");
- chunkPostLoad = Timings.ofSafe(name + "Chunk Load - Post Load");
- worldSave = Timings.ofSafe(name + "World Save");
- worldSaveLevel = Timings.ofSafe(name + "World Save - Level");
- worldSaveChunks = Timings.ofSafe(name + "World Save - Chunks");
- chunkSaveData = Timings.ofSafe(name + "Chunk Save - Data");
-
- tracker1 = Timings.ofSafe(name + "tracker stage 1");
- tracker2 = Timings.ofSafe(name + "tracker stage 2");
- doTick = Timings.ofSafe(name + "doTick");
- tickEntities = Timings.ofSafe(name + "tickEntities");
-
- chunks = Timings.ofSafe(name + "Chunks");
- newEntities = Timings.ofSafe(name + "New entity registration");
- raids = Timings.ofSafe(name + "Raids");
- chunkProviderTick = Timings.ofSafe(name + "Chunk provider tick");
- broadcastChunkUpdates = Timings.ofSafe(name + "Broadcast chunk updates");
- countNaturalMobs = Timings.ofSafe(name + "Count natural mobs");
-
-
- miscMobSpawning = Timings.ofSafe(name + "Mob spawning - Misc");
-
- poiUnload = Timings.ofSafe(name + "Chunk unload - POI");
- chunkUnload = Timings.ofSafe(name + "Chunk unload - Chunk");
- poiSaveDataSerialization = Timings.ofSafe(name + "Chunk save - POI Data serialization");
- chunkSave = Timings.ofSafe(name + "Chunk save - Chunk");
- chunkSaveDataSerialization = Timings.ofSafe(name + "Chunk save - Chunk Data serialization");
- chunkSaveIOWait = Timings.ofSafe(name + "Chunk save - Chunk IO Wait");
- chunkUnloadPrepareSave = Timings.ofSafe(name + "Chunk unload - Async Save Prepare");
- chunkUnloadPOISerialization = Timings.ofSafe(name + "Chunk unload - POI Data Serialization");
- chunkUnloadDataSave = Timings.ofSafe(name + "Chunk unload - Data Serialization");
- }
-
- public static Timing getTickList(ServerLevel worldserver, String timingsType) {
- return Timings.ofSafe(((PrimaryLevelData) worldserver.getLevelData()).getLevelName() + " - Scheduled " + timingsType);
- }
-}
diff --git a/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java b/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java
index e1ffd62f4ebceecb9bc5471df3da406cffea0483..5b446e6ac151f99f64f0c442d0b40b5e251bc4c4 100644
--- a/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java
+++ b/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkHolderManager.java
@@ -1316,9 +1316,7 @@ public final class ChunkHolderManager {
}
public boolean processTicketUpdates() {
- //co.aikar.timings.MinecraftTimings.distanceManagerTick.startTiming(); try { // Paper - add timings for distance manager // Purpur
return this.processTicketUpdates(true, true, null);
- //} finally { co.aikar.timings.MinecraftTimings.distanceManagerTick.stopTiming(); } // Paper - add timings for distance manager // Purpur
}
private static final ThreadLocal<List<ChunkProgressionTask>> CURRENT_TICKET_UPDATE_SCHEDULING = new ThreadLocal<>();
diff --git a/src/main/java/io/papermc/paper/command/brigadier/bukkit/BukkitCommandNode.java b/src/main/java/io/papermc/paper/command/brigadier/bukkit/BukkitCommandNode.java
index 24121a43aeb5e9bce013f30c92dddd15f99736c6..791cb04a13597eee4dbd28fabe2835ab41eb13f9 100644
--- a/src/main/java/io/papermc/paper/command/brigadier/bukkit/BukkitCommandNode.java
@@ -767,7 +420,7 @@ index 24121a43aeb5e9bce013f30c92dddd15f99736c6..791cb04a13597eee4dbd28fabe2835ab
String content = context.getRange().get(context.getInput());
String[] args = org.apache.commons.lang3.StringUtils.split(content, ' '); // fix adjacent spaces (from console/plugins) causing empty array elements
diff --git a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
index 17961dd8fbe306dfcb721db2830f0156db453a62..5dfb0c95642ab2e16501b9f95d96e02354643f34 100644
index 69fbb3ff023db00fb82a1c0235c05afdacb47abd..9d7f21cbd3ecaf5a4da3dceb43b223ff086b245b 100644
--- a/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
+++ b/src/main/java/io/papermc/paper/configuration/GlobalConfiguration.java
@@ -1,6 +1,5 @@
@@ -849,11 +502,11 @@ index 097500a59336db1bbfffcd1aa4cff7a8586e46ec..35b00c139864dd7925d46a2d6a317d7e
@Override
diff --git a/src/main/java/net/minecraft/network/protocol/PacketUtils.java b/src/main/java/net/minecraft/network/protocol/PacketUtils.java
index 8c134a642ccaf3530022f2e675a858d726e1dda4..d6daa27a8d7aca00b181e90d789f4249e8437d29 100644
index 0c8fe5b2500480c3a9e9ab3285ad22e0e599d953..f7197f1347251a37dd0f6d9ffa2f09bc3a4e1233 100644
--- a/src/main/java/net/minecraft/network/protocol/PacketUtils.java
+++ b/src/main/java/net/minecraft/network/protocol/PacketUtils.java
@@ -50,8 +50,7 @@ public class PacketUtils {
try { // Paper - detailed watchdog information
@@ -31,8 +31,7 @@ public class PacketUtils {
engine.executeIfPossible(() -> {
if (listener instanceof ServerCommonPacketListenerImpl serverCommonPacketListener && serverCommonPacketListener.processedDisconnect) return; // CraftBukkit - Don't handle sync packets for kicked players
if (listener.shouldHandleMessage(packet)) {
- co.aikar.timings.Timing timing = co.aikar.timings.MinecraftTimings.getPacketTiming(packet); // Paper - timings
@@ -863,7 +516,7 @@ index 8c134a642ccaf3530022f2e675a858d726e1dda4..d6daa27a8d7aca00b181e90d789f4249
} catch (Exception exception) {
if (exception instanceof ReportedException) {
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 105497ecdc207021febc3ba3156d2f9253f906f9..d3ee7a004d17d47b778e85dd655aff931f0f980d 100644
index 40a4273275822a8b3013807a9dd0716a0c93eaf0..2593d6c62ef8f45d35437cbfdfc938c4fbb4bbaf 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -3,7 +3,6 @@ package net.minecraft.server;
@@ -874,16 +527,16 @@ index 105497ecdc207021febc3ba3156d2f9253f906f9..d3ee7a004d17d47b778e85dd655aff93
import com.destroystokyo.paper.event.server.PaperServerListPingEvent;
import com.google.common.base.Stopwatch;
import com.google.common.collect.Lists;
@@ -190,8 +189,6 @@ import org.bukkit.craftbukkit.CraftRegistry;
@@ -196,8 +195,6 @@ import org.bukkit.craftbukkit.CraftRegistry;
import org.bukkit.event.server.ServerLoadEvent;
// CraftBukkit end
-import co.aikar.timings.MinecraftTimings; // Paper
-
public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTask> implements ServerInfo, CommandSource, AutoCloseable {
public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTask> implements ServerInfo, ChunkIOErrorReporter, CommandSource, AutoCloseable, ca.spottedleaf.moonrise.patches.chunk_system.server.ChunkSystemMinecraftServer { // Paper - rewrite chunk system
private static MinecraftServer SERVER; // Paper
@@ -975,7 +972,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -968,7 +965,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
MinecraftServer.LOGGER.info("Stopping server");
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing
@@ -891,61 +544,7 @@ index 105497ecdc207021febc3ba3156d2f9253f906f9..d3ee7a004d17d47b778e85dd655aff93
// Purpur start
if (upnp) {
if (dev.omega24.upnp4j.UPnP4J.close(this.getPort(), dev.omega24.upnp4j.util.Protocol.TCP)) {
@@ -1487,34 +1483,29 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
return;
}
- // co.aikar.timings.MinecraftTimings.midTickChunkTasks.startTiming(); // Purpur
- try {
- for (;;) {
- boolean moreTasks = this.tickMidTickTasks();
- long currTime = System.nanoTime();
- long diff = currTime - startTime;
-
- if (!moreTasks || diff >= MAX_CHUNK_EXEC_TIME) {
- if (!moreTasks) {
- lastMidTickExecuteFailure = currTime;
- }
-
- // note: negative values reduce the time
- long overuse = diff - MAX_CHUNK_EXEC_TIME;
- if (overuse >= (10L * 1000L * 1000L)) { // 10ms
- // make sure something like a GC or dumb plugin doesn't screw us over...
- overuse = 10L * 1000L * 1000L; // 10ms
- }
+ for (;;) {
+ boolean moreTasks = this.tickMidTickTasks();
+ long currTime = System.nanoTime();
+ long diff = currTime - startTime;
- double overuseCount = (double)overuse/(double)MAX_CHUNK_EXEC_TIME;
- long extraSleep = (long)Math.round(overuseCount*CHUNK_TASK_QUEUE_BACKOFF_MIN_TIME);
+ if (!moreTasks || diff >= MAX_CHUNK_EXEC_TIME) {
+ if (!moreTasks) {
+ lastMidTickExecuteFailure = currTime;
+ }
- lastMidTickExecute = currTime + extraSleep;
- return;
+ // note: negative values reduce the time
+ long overuse = diff - MAX_CHUNK_EXEC_TIME;
+ if (overuse >= (10L * 1000L * 1000L)) { // 10ms
+ // make sure something like a GC or dumb plugin doesn't screw us over...
+ overuse = 10L * 1000L * 1000L; // 10ms
}
+
+ double overuseCount = (double)overuse/(double)MAX_CHUNK_EXEC_TIME;
+ long extraSleep = (long)Math.round(overuseCount*CHUNK_TASK_QUEUE_BACKOFF_MIN_TIME);
+
+ lastMidTickExecute = currTime + extraSleep;
+ return;
}
- } finally {
- // co.aikar.timings.MinecraftTimings.midTickChunkTasks.stopTiming(); // Purpur
}
}
// Paper end - execute chunk tasks mid tick
@@ -1589,15 +1580,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1504,15 +1500,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public void tickServer(BooleanSupplier shouldKeepTicking) {
@@ -963,8 +562,8 @@ index 105497ecdc207021febc3ba3156d2f9253f906f9..d3ee7a004d17d47b778e85dd655aff93
// Paper end
new com.destroystokyo.paper.event.server.ServerTickStartEvent(this.tickCount+1).callEvent(); // Paper - Server Tick Events
@@ -1634,9 +1624,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Paper end - Incremental chunk and player saving
@@ -1537,9 +1532,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
io.papermc.paper.util.CachedLists.reset(); // Paper
// Paper start - move executeAll() into full server tick timing
- //try (co.aikar.timings.Timing ignored = MinecraftTimings.processTasksTimer.startTiming()) { // Purpur
@@ -974,7 +573,7 @@ index 105497ecdc207021febc3ba3156d2f9253f906f9..d3ee7a004d17d47b778e85dd655aff93
// Paper end
// Paper start - Server Tick Events
long endTime = System.nanoTime();
@@ -1659,7 +1647,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1562,7 +1555,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.logTickMethodTime(i);
//this.profiler.pop(); // Purpur
org.spigotmc.WatchdogThread.tick(); // Spigot
@@ -983,10 +582,10 @@ index 105497ecdc207021febc3ba3156d2f9253f906f9..d3ee7a004d17d47b778e85dd655aff93
private void logTickMethodTime(long tickStartTime) {
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index 1e74d2e2840dbe17c67e81683fdf451e2de8cd6f..7140adf3dcace6f082540663e2cfdf4773a9c0e5 100644
index d11f052f5432b75f25aefd967ebff936a72df4e1..5961b224aa0cb95f7e0a3838dfd6be91f12cd9fa 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -64,9 +64,6 @@ import org.apache.logging.log4j.Level;
@@ -66,9 +66,6 @@ import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.io.IoBuilder;
import org.bukkit.command.CommandSender;
@@ -996,7 +595,7 @@ index 1e74d2e2840dbe17c67e81683fdf451e2de8cd6f..7140adf3dcace6f082540663e2cfdf47
import org.bukkit.event.server.ServerCommandEvent;
import org.bukkit.craftbukkit.util.Waitable; // Paper
import org.bukkit.event.server.RemoteServerCommandEvent;
@@ -843,21 +840,9 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
@@ -819,21 +816,9 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
}
// Paper start
command.set(event.getCommand());
@@ -1019,7 +618,7 @@ index 1e74d2e2840dbe17c67e81683fdf451e2de8cd6f..7140adf3dcace6f082540663e2cfdf47
// Paper start
if (waitableArray[0] != null) {
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 97545fd84b9b1716e9847cac9e233742ea7f9252..22d0b075512279f43a261877e524f2b50c33b863 100644
index da56e8d58f8b0391689f697807a4873fc759a26b..323c4d36b21e2312b626870df69748cd3fff13bf 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1,6 +1,5 @@
@@ -1030,7 +629,7 @@ index 97545fd84b9b1716e9847cac9e233742ea7f9252..22d0b075512279f43a261877e524f2b5
import com.google.common.collect.ImmutableList.Builder;
import com.google.common.collect.Iterables;
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index 7924e3c597164f71056cd58dd167ee8b1d41b9c3..90aa52efeb8ae92bf981a973415d1c11c46386d1 100644
index 500a735113f9f16f9d336c2bb1cad1447e5d64c4..d4a4905372a06011a60e0b1a400e41902576ce7b 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 @@
@@ -1041,17 +640,18 @@ index 7924e3c597164f71056cd58dd167ee8b1d41b9c3..90aa52efeb8ae92bf981a973415d1c11
import com.google.common.collect.Lists;
import com.mojang.datafixers.DataFixer;
import com.mojang.datafixers.util.Pair;
@@ -1453,9 +1452,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
currentlyTickingEntity.lazySet(entity);
}
// Paper end - log detailed entity tick information
@@ -1228,9 +1227,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
}
public void tickNonPassenger(Entity entity) {
- ++TimingHistory.entityTicks; // Paper - timings
+ //++TimingHistory.entityTicks; // Paper - timings // DivineMC - Delete Timings
// Spigot start
- co.aikar.timings.Timing timer; // Paper
/*if (!org.spigotmc.ActivationRange.checkIfActive(entity)) { // Paper - comment out - EAR 2, reimplement below
entity.tickCount++;
timer = entity.getType().inactiveTickTimer.startTiming(); try { // Paper - timings
@@ -1478,7 +1475,6 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -1253,7 +1251,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
});*/ // Purpur
//gameprofilerfiller.incrementCounter("tickNonPassenger"); // Purpur
if (isActive) { // Paper - EAR 2
@@ -1060,7 +660,7 @@ index 7924e3c597164f71056cd58dd167ee8b1d41b9c3..90aa52efeb8ae92bf981a973415d1c11
entity.postTick(); // CraftBukkit
} else { entity.inactiveTick(); } // Paper - EAR 2
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index a8cd8e8b952ea41167156f07ac2d5dcca3325060..d2fba246a563aa1cff639129e3953439b985986a 100644
index 51cb32a67f81422fd59ef072633c3de523ff7405..df0471ca95bec71c9682e382d4c9bb7c91d14ed5 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1,6 +1,5 @@
@@ -1070,24 +670,8 @@ index a8cd8e8b952ea41167156f07ac2d5dcca3325060..d2fba246a563aa1cff639129e3953439
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
@@ -1273,7 +1272,6 @@ public abstract class PlayerList {
public void saveAll(int interval) {
io.papermc.paper.util.MCUtil.ensureMain("Save Players" , () -> { // Paper - Ensure main
- //MinecraftTimings.savePlayers.startTiming(); // Paper // Purpur
int numSaved = 0;
long now = MinecraftServer.currentTick;
for (int i = 0; i < this.players.size(); ++i) {
@@ -1284,7 +1282,6 @@ public abstract class PlayerList {
}
// Paper end - Incremental chunk and player saving
}
- //MinecraftTimings.savePlayers.stopTiming(); // Paper // Purpur
return null; }); // Paper - ensure main
}
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
index 8120f39a9689dae1233b243b74825e9ff110eac3..4203dae9628b0576cc0b9a9160dca985b5fb0ef2 100644
index b4f4addfd35a1961a237fc0ab83e6285a0faeaee..bdb70ffc77e763d449f4f550701900b06bd28f39 100644
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
@@ -354,10 +354,6 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
@@ -1115,10 +699,10 @@ index 8120f39a9689dae1233b243b74825e9ff110eac3..4203dae9628b0576cc0b9a9160dca985
return this != EntityType.PLAYER && this != EntityType.LLAMA_SPIT && this != EntityType.WITHER && this != EntityType.BAT && this != EntityType.ITEM_FRAME && this != EntityType.GLOW_ITEM_FRAME && this != EntityType.LEASH_KNOT && this != EntityType.PAINTING && this != EntityType.END_CRYSTAL && this != EntityType.EVOKER_FANGS;
}
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index def38ac6896ccdd7bab344cec13c76d74817e001..e79bab8808b113c36b3e89c977d067877b2bdd4f 100644
index 6aaee520213e576f131db430bd4d6df1b34ba197..a16ebe81ade583ff45c605e07a11d820557c3e77 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -150,8 +150,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
@@ -157,8 +157,6 @@ import org.bukkit.event.entity.EntityTeleportEvent;
import org.bukkit.event.player.PlayerItemConsumeEvent;
// CraftBukkit end
@@ -1168,10 +752,10 @@ index 09a7b418ddf564c0be13297f7c216db2e7ae1578..1e26b1099139d76e49fce14ee72061e1
this.scanRate = senseInterval;
this.timeToTick = (long)RANDOM.nextInt(senseInterval);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 0d2cc738559e8b241539b49a35195291e78a54f2..d58e039f11670a0c1e6e999c1738020e752f434a 100644
index 975cd21cfe3199a3cf29439443c85d3f4ac5140e..6cd892728effd3454df6799c34fb8820c980934d 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -174,7 +174,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -175,7 +175,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
public final org.purpurmc.purpur.PurpurWorldConfig purpurConfig; // Purpur
public final DivineWorldConfig divinemcConfig; // DivineMC
@@ -1179,15 +763,15 @@ index 0d2cc738559e8b241539b49a35195291e78a54f2..d58e039f11670a0c1e6e999c1738020e
public static BlockPos lastPhysicsProblem; // Spigot
private int tileTickPosition;
public final Map<Explosion.CacheKey, Float> explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions
@@ -331,7 +330,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -384,7 +383,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
public void onBorderSetDamageSafeZOne(WorldBorder border, double safeZoneRadius) {}
});
// CraftBukkit end
- this.timings = new co.aikar.timings.WorldTimingsHandler(this); // Paper - code below can generate new world and access timings
this.entityLookup = new ca.spottedleaf.moonrise.patches.chunk_system.level.entity.dfl.DefaultEntityLookup(this); // Paper - rewrite chunk system
this.chunkPacketBlockController = this.paperConfig().anticheat.antiXray.enabled ? new com.destroystokyo.paper.antixray.ChunkPacketBlockControllerAntiXray(this, executor) : com.destroystokyo.paper.antixray.ChunkPacketBlockController.NO_OPERATION_INSTANCE; // Paper - Anti-Xray
// Paper start - optimise collisions
this.minSection = io.papermc.paper.util.WorldUtil.getMinSection(this);
@@ -1334,9 +1332,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
}
@@ -1018,9 +1016,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl
}
this.blockEntityTickers.removeAll(toRemove); // Paper - Fix MC-117075
@@ -1198,10 +782,10 @@ index 0d2cc738559e8b241539b49a35195291e78a54f2..d58e039f11670a0c1e6e999c1738020e
this.spigotConfig.currentPrimedTnt = 0; // Spigot
}
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
index 5ae3decf100d21f7d4a471c155eaf5e00e996580..22d38bd7a8434685f2af084f1c608f48e9e6c0c2 100644
index daad0d67428bb49d7f0b37bec430ceb0d30564cf..df17fcc62049c2527ab31afbb14e582009f486c8 100644
--- a/src/main/java/net/minecraft/world/level/block/Block.java
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
@@ -107,13 +107,6 @@ public class Block extends BlockBehaviour implements ItemLike {
@@ -106,13 +106,6 @@ public class Block extends BlockBehaviour implements ItemLike {
this != Blocks.STRUCTURE_BLOCK &&
this != Blocks.JIGSAW;
}
@@ -1234,32 +818,6 @@ index cd0e43f4c53a746dd6183a8406269f9b11ad3571..54657ac895fb2fa9c58910d5421f0082
// CraftBukkit start - data containers
private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry();
public CraftPersistentDataContainer persistentDataContainer;
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 6aff380ee0224a438b36fa83cfbede4b57996d06..e8fa33e0c8a8d9847218a45e9aceba3b88aee4f1 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -362,8 +362,10 @@ public class Main {
tryPreloadClass("org.jline.terminal.impl.MouseSupport");
tryPreloadClass("org.jline.terminal.impl.MouseSupport$1");
tryPreloadClass("org.jline.terminal.Terminal$MouseTracking");
- tryPreloadClass("co.aikar.timings.TimingHistory");
- tryPreloadClass("co.aikar.timings.TimingHistory$MinuteReport");
+ // DivineMC start - Delete Timings
+ // tryPreloadClass("co.aikar.timings.TimingHistory");
+ // tryPreloadClass("co.aikar.timings.TimingHistory$MinuteReport");
+ // DivineMC end
tryPreloadClass("io.netty.channel.AbstractChannelHandlerContext");
tryPreloadClass("io.netty.channel.AbstractChannelHandlerContext$11");
tryPreloadClass("io.netty.channel.AbstractChannelHandlerContext$12");
@@ -376,7 +378,7 @@ public class Main {
tryPreloadClass("org.bukkit.craftbukkit.scheduler.CraftScheduler$1");
tryPreloadClass("org.bukkit.craftbukkit.scheduler.CraftScheduler$2");
tryPreloadClass("org.bukkit.craftbukkit.scheduler.CraftScheduler$3");
- tryPreloadClass("org.bukkit.craftbukkit.scheduler.CraftScheduler$4");
+ // tryPreloadClass("org.bukkit.craftbukkit.scheduler.CraftScheduler$4"); // DivineMC - Delete Timings
tryPreloadClass("org.slf4j.helpers.MessageFormatter");
tryPreloadClass("org.slf4j.helpers.FormattingTuple");
tryPreloadClass("org.slf4j.helpers.BasicMarker");
diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
index e68e13ac375a6418ad0785bc1c0f20af72bf6cf5..e51a9ec41054750c38f95b06881980842c2c57f3 100644
--- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java
@@ -1355,7 +913,7 @@ index d3ec817e95628f1fc8be4a29c9a0f13c7d5fd552..e9798517b9211c50a20ea5c69603aab3
}
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
index e29826bdfcdde938c1e1ea4092efccda13f52218..a59e3de2e82ac6feecb34babb60c4192596e7ef7 100644
index dcf90f04aec8e703d34357db569141aa3ccae35a..ff5cf90fe4ff572aa4ee3b4abc97d93828737fe4 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
@@ -220,7 +220,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
@@ -1377,7 +935,7 @@ index e29826bdfcdde938c1e1ea4092efccda13f52218..a59e3de2e82ac6feecb34babb60c4192
@Override
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
index f7644c5045b1accae4c0aaf44df26286c6cc5125..57d424d69c4fa761e673b649ce7777b6f86634e5 100644
index 1e8100be8d443d43e99e0c5f777e20872f6e1a7f..fd8e534a790b622d83aeac8e198d06a374a6a1c2 100644
--- a/src/main/java/org/spigotmc/ActivationRange.java
+++ b/src/main/java/org/spigotmc/ActivationRange.java
@@ -34,7 +34,6 @@ import net.minecraft.world.entity.projectile.FireworkRocketEntity;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix sprint glitch
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 4a224af1a9063e1617bc6753e063e8e395271ec7..6541fbb1ba6bfb9c2ea207e81049d5062d7d5848 100644
index a16ebe81ade583ff45c605e07a11d820557c3e77..48cc6ab18ffd5174d5d82a2aad468887abe2ebda 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1452,7 +1452,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1430,7 +1430,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
player.setRealHealth(health);
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Boat Settings
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
index 13e1c7594bf304b35ce8dcab2951329c527d7dea..efb2fac41a546ba312f4925f206f0975a0336406 100644
index 294b337ebbefa964975988be3a5476b21adced9e..45e803c67339abf9fe0dfc23173263b216ee4cf0 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java
@@ -331,7 +331,18 @@ public class Boat extends VehicleEntity implements VariantHolder<Boat.Type> {
@@ -335,7 +335,18 @@ public class Boat extends VehicleEntity implements Leashable, VariantHolder<Boat
}
if (!this.level().isClientSide && this.outOfControlTicks >= 60.0F) {
@@ -28,22 +28,22 @@ index 13e1c7594bf304b35ce8dcab2951329c527d7dea..efb2fac41a546ba312f4925f206f0975
}
if (this.getHurtTime() > 0) {
@@ -850,7 +861,13 @@ public class Boat extends VehicleEntity implements VariantHolder<Boat.Type> {
@Override
@@ -888,7 +899,13 @@ public class Boat extends VehicleEntity implements Leashable, VariantHolder<Boat
public InteractionResult interact(Player player, InteractionHand hand) {
- return player.isSecondaryUseActive() ? InteractionResult.PASS : (this.outOfControlTicks < 60.0F ? (!this.level().isClientSide ? (player.startRiding(this) ? InteractionResult.CONSUME : InteractionResult.PASS) : InteractionResult.SUCCESS) : InteractionResult.PASS);
InteractionResult enuminteractionresult = super.interact(player, hand);
- return enuminteractionresult != InteractionResult.PASS ? enuminteractionresult : (player.isSecondaryUseActive() ? InteractionResult.PASS : (this.outOfControlTicks < 60.0F ? (!this.level().isClientSide ? (player.startRiding(this) ? InteractionResult.CONSUME : InteractionResult.PASS) : InteractionResult.SUCCESS) : InteractionResult.PASS));
+ // DivineMC start - always allow to enter the boat
+ if (this.level().divinemcConfig.alwaysAllowToEnterTheBoat) {
+ return player.isSecondaryUseActive() ? InteractionResult.PASS : (true || this.outOfControlTicks < 60.0F ? (!this.level().isClientSide ? (player.startRiding(this) ? InteractionResult.CONSUME : InteractionResult.PASS) : InteractionResult.SUCCESS) : InteractionResult.PASS);
+ return enuminteractionresult != InteractionResult.PASS ? enuminteractionresult : (player.isSecondaryUseActive() ? InteractionResult.PASS : (true || this.outOfControlTicks < 60.0F ? (!this.level().isClientSide ? (player.startRiding(this) ? InteractionResult.CONSUME : InteractionResult.PASS) : InteractionResult.SUCCESS) : InteractionResult.PASS));
+ } else {
+ return player.isSecondaryUseActive() ? InteractionResult.PASS : (this.outOfControlTicks < 60.0F ? (!this.level().isClientSide ? (player.startRiding(this) ? InteractionResult.CONSUME : InteractionResult.PASS) : InteractionResult.SUCCESS) : InteractionResult.PASS);
+ return enuminteractionresult != InteractionResult.PASS ? enuminteractionresult : (player.isSecondaryUseActive() ? InteractionResult.PASS : (this.outOfControlTicks < 60.0F ? (!this.level().isClientSide ? (player.startRiding(this) ? InteractionResult.CONSUME : InteractionResult.PASS) : InteractionResult.SUCCESS) : InteractionResult.PASS));
+ }
+ // DivineMC end
}
@Override
@@ -922,7 +939,13 @@ public class Boat extends VehicleEntity implements VariantHolder<Boat.Type> {
@@ -976,7 +993,13 @@ public class Boat extends VehicleEntity implements Leashable, VariantHolder<Boat
@Override
protected boolean canAddPassenger(Entity passenger) {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Despawn shulker bullets on owner death
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java b/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java
index 8242d0f292120be6cf3d6dcec2820a35809d83dd..4404b39d0777b314797ef86efdb996464c6200a9 100644
index 7fde1807640d0b02d417f48f1f6758f8ae32e04b..8cbe6ad4277c255f6087e7734008d65d15b1a0da 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ShulkerBullet.java
@@ -225,6 +225,17 @@ public class ShulkerBullet extends Projectile {
@@ -226,6 +226,17 @@ public class ShulkerBullet extends Projectile {
Vec3 vec3d;
if (!this.level().isClientSide) {

View File

@@ -7,10 +7,10 @@ Original project: Bloom-host/Petal
Link: https://github.com/Bloom-host/Petal
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 66c353e3dcca3704094ec71c38219bf74e7d7fbb..8b946ed4f252c2ae881e179183559bb9aa98ea79 100644
index 48cc6ab18ffd5174d5d82a2aad468887abe2ebda..f740b190fc597b921e472719c1a2783d6961cc91 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1068,20 +1068,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -1041,20 +1041,19 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
if (entity != null) {

View File

@@ -31,10 +31,10 @@ index 1b9d0e28e518c501b4b93ae385ddd64aeade97d5..373ad51fc22e8ecd362297561184ef9e
// Purpur start - borrowed and modified code from ThrownPotion#onHitBlock and ThrownPotion#dowseFire
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
index 82bb8004635865f5202578d5a6f520048e7269d5..e7a95a87378b9fb785d99dff2fd2d5ddb3fdd5b8 100644
index dbd60cc8c39f5d2d4c77e2de4f2567e7fa456cd2..e560ab2c1ebe48367b6991eca4ff2464172f64df 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
@@ -46,7 +46,15 @@ public class ThrownEgg extends ThrowableItemProjectile {
@@ -49,7 +49,15 @@ public class ThrownEgg extends ThrowableItemProjectile {
@Override
protected void onHitEntity(EntityHitResult entityHitResult) {
super.onHitEntity(entityHitResult);