This commit is contained in:
Jason Penilla 2024-04-23 14:12:24 -07:00
parent ffccfd5488
commit eb41348d39
No known key found for this signature in database
GPG Key ID: 0E75A301420E48F8
8 changed files with 35 additions and 35 deletions

View File

@ -12,19 +12,19 @@ Previous implementation did not calculate TPS correctly.
Switch to a realistic rolling average and factor in std deviation as an extra reporting variable
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 2be50609ccf90d3db6e572377ba63bcbad156382..c1f9acad1e97915dfad5fbc0ba2547853e3b37f1 100644
index 7ae4d4feb5c9281fa62a3f35c39eefdff1b684d8..cf9ce8a8e7d576d91e9d745e9c45f698100808bd 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -283,7 +283,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -289,7 +289,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public org.bukkit.craftbukkit.CraftServer server;
public OptionSet options;
public org.bukkit.command.ConsoleCommandSender console;
public ConsoleReader reader;
- public static int currentTick = (int) (System.currentTimeMillis() / 50);
+ public static int currentTick; // Paper - improve tick loop
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
public int autosavePeriod;
public Commands vanillaCommandDispatcher;
@@ -292,7 +292,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -298,7 +298,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Spigot start
public static final int TPS = 20;
public static final int TICK_TIME = 1000000000 / MinecraftServer.TPS;
@ -34,7 +34,7 @@ index 2be50609ccf90d3db6e572377ba63bcbad156382..c1f9acad1e97915dfad5fbc0ba254785
public final double[] recentTps = new double[ 3 ];
// Spigot end
public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; // Paper - add paper configuration files
@@ -998,6 +999,57 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1013,6 +1014,57 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
{
return ( avg * exp ) + ( tps * ( 1 - exp ) );
}
@ -92,7 +92,7 @@ index 2be50609ccf90d3db6e572377ba63bcbad156382..c1f9acad1e97915dfad5fbc0ba254785
// Spigot End
protected void runServer() {
@@ -1012,7 +1064,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1027,7 +1079,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
// Spigot start
Arrays.fill( this.recentTps, 20 );
@ -104,7 +104,7 @@ index 2be50609ccf90d3db6e572377ba63bcbad156382..c1f9acad1e97915dfad5fbc0ba254785
while (this.running) {
long i;
@@ -1035,15 +1090,22 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1050,15 +1105,22 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
// Spigot start
++MinecraftServer.currentTickLong; // Paper - track current tick as a long
@ -135,7 +135,7 @@ index 2be50609ccf90d3db6e572377ba63bcbad156382..c1f9acad1e97915dfad5fbc0ba254785
// Spigot end
boolean flag = i == 0L;
@@ -1053,7 +1115,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1068,7 +1130,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.debugCommandProfiler = new MinecraftServer.TimeProfiler(Util.getNanos(), this.tickCount);
}
@ -146,10 +146,10 @@ index 2be50609ccf90d3db6e572377ba63bcbad156382..c1f9acad1e97915dfad5fbc0ba254785
this.startMetricsRecordingTick();
this.profiler.push("tick");
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 13b33785e13d5f9cc659dc48e5fea6451ca778fc..5a720c0a751e7a83976727d01cc5bc6282702255 100644
index 7d2bb67867836e8f74b0583d36aed3966be8ed7d..a778954846bd6f7c63f1900e2189f47923c36c74 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2610,7 +2610,11 @@ public final class CraftServer implements Server {
@@ -2633,7 +2633,11 @@ public final class CraftServer implements Server {
@Override
public double[] getTPS() {

View File

@ -7,7 +7,7 @@ Subject: [PATCH] Add command line option to load extra plugin jars not in the
ex: java -jar paperclip.jar nogui -add-plugin=/path/to/plugin.jar -add-plugin=/path/to/another/plugin_jar.jar
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 5a720c0a751e7a83976727d01cc5bc6282702255..48c40f12649735f14204c516eace6905b2ac0019 100644
index a778954846bd6f7c63f1900e2189f47923c36c74..86d7bac35fca140cb0301ff0f44c4e908a1bc213 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -424,6 +424,35 @@ public final class CraftServer implements Server {
@ -47,7 +47,7 @@ index 5a720c0a751e7a83976727d01cc5bc6282702255..48c40f12649735f14204c516eace6905
if (type == PluginLoadOrder.STARTUP) {
this.helpMap.clear();
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index c513d932e0c455401bbe53d13779df0e4bda16ec..7f8d45856763fa155272898ee83212f8c808fb40 100644
index 9de87edb75947382fda114df883fb4b31c1a7141..bc664b090e16ed27ba795c204dc5639679e6eee8 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -160,6 +160,12 @@ public class Main {

View File

@ -5,11 +5,11 @@ Subject: [PATCH] Support components in ItemMeta
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
index 893da5266fc09e583a660bc23ac84008b95ea2a1..2157034e735c3921d4ef128688c30917aaad7161 100644
index 00067b8f8cfddf7d2fd67f08639ffdbfb768a332..484872b7f98cba5a176237fdbf7300bd14a990bb 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java
@@ -768,11 +768,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
return CraftChatMessage.fromJSONComponent(this.displayName);
@@ -860,11 +860,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
return CraftChatMessage.fromComponent(this.displayName);
}
+ // Paper start
@ -20,7 +20,7 @@ index 893da5266fc09e583a660bc23ac84008b95ea2a1..2157034e735c3921d4ef128688c30917
+ // Paper end
@Override
public final void setDisplayName(String name) {
this.displayName = CraftChatMessage.fromStringOrNullToJSON(name);
this.displayName = CraftChatMessage.fromStringOrNull(name);
}
+ // Paper start
@ -32,8 +32,8 @@ index 893da5266fc09e583a660bc23ac84008b95ea2a1..2157034e735c3921d4ef128688c30917
@Override
public boolean hasDisplayName() {
return this.displayName != null;
@@ -920,6 +932,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
return this.lore == null ? null : new ArrayList<String>(Lists.transform(this.lore, CraftChatMessage::fromJSONComponent));
@@ -1026,6 +1038,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
return this.lore == null ? null : new ArrayList<String>(Lists.transform(this.lore, CraftChatMessage::fromComponent));
}
+ // Paper start
@ -47,7 +47,7 @@ index 893da5266fc09e583a660bc23ac84008b95ea2a1..2157034e735c3921d4ef128688c30917
@Override
public void setLore(List<String> lore) {
if (lore == null || lore.isEmpty()) {
@@ -934,6 +954,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
@@ -1040,6 +1060,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
}
}
@ -69,7 +69,7 @@ index 893da5266fc09e583a660bc23ac84008b95ea2a1..2157034e735c3921d4ef128688c30917
@Override
public boolean hasCustomModelData() {
return this.customModelData != null;
@@ -1369,6 +1404,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
@@ -1654,6 +1689,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
}
for (Object object : addFrom) {

View File

@ -7,7 +7,7 @@ Bamboo - Both the minimum fully-grown height and the maximum are configurable
- Machine_Maker
diff --git a/src/main/java/net/minecraft/world/level/block/BambooStalkBlock.java b/src/main/java/net/minecraft/world/level/block/BambooStalkBlock.java
index bd72deadb59289ae90afc379ee61e8198ddaf4ed..e8dc4ea90d74036dacb0785fcb9125df192a4c22 100644
index eda75b316acd09120539c92ff8adb97d92e9523f..e2951dd077441fe9cda461a2d3ef0c0671308316 100644
--- a/src/main/java/net/minecraft/world/level/block/BambooStalkBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/BambooStalkBlock.java
@@ -137,7 +137,7 @@ public class BambooStalkBlock extends Block implements BonemealableBlock {
@ -65,7 +65,7 @@ index bd72deadb59289ae90afc379ee61e8198ddaf4ed..e8dc4ea90d74036dacb0785fcb9125df
}
diff --git a/src/main/java/net/minecraft/world/level/block/CactusBlock.java b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
index 2f343eaf0c2216702fd614dbec98ac3d46ef5b2e..0e8c337dde0cfa2ac289c79904ecd2affc86d70a 100644
index c7e462a187196da906aec3b528f7945afec9f6b0..fd344c5cf0d6d523abe34d5e3f8d939106942cbb 100644
--- a/src/main/java/net/minecraft/world/level/block/CactusBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/CactusBlock.java
@@ -61,7 +61,7 @@ public class CactusBlock extends Block {
@ -78,7 +78,7 @@ index 2f343eaf0c2216702fd614dbec98ac3d46ef5b2e..0e8c337dde0cfa2ac289c79904ecd2af
int modifier = world.spigotConfig.cactusModifier; // Spigot - SPIGOT-7159: Better modifier resolution
diff --git a/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java b/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java
index 47d4fc5bcf2657078abc7a2637b6337fc0ea0977..04957d461d0e968d443737068aaeec1d0bce78b2 100644
index f034a7dbc0124353f8cb9b2c841226e73d83423a..c48c622e92cedeaa46b929c7adfedec98dd5a3fb 100644
--- a/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java
@@ -59,7 +59,7 @@ public class SugarCaneBlock extends Block {

View File

@ -5,22 +5,22 @@ Subject: [PATCH] Configurable baby zombie movement speed
diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
index 190a02bce0026b2c6df796a5f14e639b5a84ccf1..a779d32f87b59f347408974e402fad22fdc47f09 100644
index bf573c3ca0b34e58525b547ae0228f8af7a4d333..767b8f4db39db9a3732282536b52ae1cb077b503 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java
@@ -78,6 +78,7 @@ public class Zombie extends Monster {
@@ -75,6 +75,7 @@ public class Zombie extends Monster {
private static final UUID SPEED_MODIFIER_BABY_UUID = UUID.fromString("B9766B59-9566-4402-BC1F-2EE2A276D836");
private static final AttributeModifier SPEED_MODIFIER_BABY = new AttributeModifier(Zombie.SPEED_MODIFIER_BABY_UUID, "Baby speed boost", 0.5D, AttributeModifier.Operation.MULTIPLY_BASE);
private static final AttributeModifier SPEED_MODIFIER_BABY = new AttributeModifier(Zombie.SPEED_MODIFIER_BABY_UUID, "Baby speed boost", 0.5D, AttributeModifier.Operation.ADD_MULTIPLIED_BASE);
+ private final AttributeModifier babyModifier = new net.minecraft.world.entity.ai.attributes.AttributeModifier(SPEED_MODIFIER_BABY.getId(), SPEED_MODIFIER_BABY.name, this.level().paperConfig().entities.behavior.babyZombieMovementModifier, SPEED_MODIFIER_BABY.getOperation()); // Paper - Make baby speed configurable
private static final EntityDataAccessor<Boolean> DATA_BABY_ID = SynchedEntityData.defineId(Zombie.class, EntityDataSerializers.BOOLEAN);
private static final EntityDataAccessor<Integer> DATA_SPECIAL_TYPE_ID = SynchedEntityData.defineId(Zombie.class, EntityDataSerializers.INT);
public static final EntityDataAccessor<Boolean> DATA_DROWNED_CONVERSION_ID = SynchedEntityData.defineId(Zombie.class, EntityDataSerializers.BOOLEAN);
@@ -186,9 +187,9 @@ public class Zombie extends Monster {
@@ -183,9 +184,9 @@ public class Zombie extends Monster {
if (this.level() != null && !this.level().isClientSide) {
AttributeInstance attributemodifiable = this.getAttribute(Attributes.MOVEMENT_SPEED);
- attributemodifiable.removeModifier(Zombie.SPEED_MODIFIER_BABY.getId());
- attributemodifiable.removeModifier(Zombie.SPEED_MODIFIER_BABY.id());
+ attributemodifiable.removeModifier(this.babyModifier.getId()); // Paper - Make baby speed configurable
if (baby) {
- attributemodifiable.addTransientModifier(Zombie.SPEED_MODIFIER_BABY);

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Configurable fishing time ranges
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
index 6d81bc003647ba593cd895a57d6651080efdf4a3..9bf5b67922f3368e1ee4d76f6297ebe425f3ceab 100644
index c9d619c61ed3ee3adb688d0f7d0878d25607a9a2..6b3cf71d7ced6405308b41ac316040bcc03f654d 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
@@ -93,6 +93,10 @@ public class FishingHook extends Projectile {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Allow nerfed mobs to jump
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 8892a6344b3a96a3d412528b80ce7bcf1ab30003..8395130fcc148ed1500342ead78b20a1387f23e9 100644
index 7d04a18f62411f00dc7be59564ac6c292834c08a..af1d4cab8ffa3b20dc7aa3af5d1cf8039ef9736f 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -113,6 +113,7 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -126,6 +126,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti
private final BodyRotationControl bodyRotationControl;
protected PathNavigation navigation;
public GoalSelector goalSelector;
@ -16,7 +16,7 @@ index 8892a6344b3a96a3d412528b80ce7bcf1ab30003..8395130fcc148ed1500342ead78b20a1
public GoalSelector targetSelector;
@Nullable
private LivingEntity target;
@@ -878,7 +879,15 @@ public abstract class Mob extends LivingEntity implements Targeting {
@@ -932,7 +933,15 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Targeti
@Override
protected final void serverAiStep() {
++this.noActionTime;
@ -30,9 +30,9 @@ index 8892a6344b3a96a3d412528b80ce7bcf1ab30003..8395130fcc148ed1500342ead78b20a1
+ return;
+ }
+ // Paper end - Allow nerfed mobs to jump and float
this.level().getProfiler().push("sensing");
this.sensing.tick();
this.level().getProfiler().pop();
ProfilerFiller gameprofilerfiller = this.level().getProfiler();
gameprofilerfiller.push("sensing");
diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/FloatGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/FloatGoal.java
index 5fbb5d2bf8945a361babfe50f5f92fa46b9e8b5f..7eb0e0486203d9ad6ce89d17a4da96a7563088a4 100644
--- a/src/main/java/net/minecraft/world/entity/ai/goal/FloatGoal.java