work
This commit is contained in:
@@ -21,19 +21,19 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 1c3bb7cd27d97e54cbe74465bd8a7c5faeafdf4a..fd23107e3777b79ac7d598bdd5ec9b9fb8822dbb 100644
|
||||
index 5cd9b92bc..6773081b6 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1704,6 +1704,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
//this.profiler.pop(); // Purpur
|
||||
org.spigotmc.WatchdogThread.tick(); // Spigot
|
||||
//co.aikar.timings.TimingsManager.FULL_SERVER_TICK.stopTiming(); // Paper // Purpur
|
||||
+ org.plazmamc.plazma.util.TickControl.tick(); // Plazma - TickControl System
|
||||
@@ -1668,6 +1668,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
}
|
||||
|
||||
private void logTickMethodTime(long tickStartTime) {
|
||||
public void tickServer(BooleanSupplier shouldKeepTicking) {
|
||||
+ org.plazmamc.plazma.util.TickControl.tick(); // Plazma - TickControl System
|
||||
org.spigotmc.WatchdogThread.tick(); // Spigot
|
||||
long i = Util.getNanos();
|
||||
int j = this.pauseWhileEmptySeconds() * 20;
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/ServerWatchdog.java b/src/main/java/net/minecraft/server/dedicated/ServerWatchdog.java
|
||||
index a08159bf2fcfe343ca21eb996f085aa71681a7af..48e2a040f60f843493f363d2f218d2c151b27464 100644
|
||||
index 660a14203..d092bef5e 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/ServerWatchdog.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/ServerWatchdog.java
|
||||
@@ -34,6 +34,7 @@ public class ServerWatchdog implements Runnable {
|
||||
@@ -45,32 +45,29 @@ index a08159bf2fcfe343ca21eb996f085aa71681a7af..48e2a040f60f843493f363d2f218d2c1
|
||||
long m = Util.getNanos();
|
||||
long n = m - l;
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
index ebe872c4643038f0c99b289d4d5afdbedd76c6ef..eb75a457c207059591d5e42d1cd46a50facc65db 100644
|
||||
index bb168636c..b55ad2615 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
@@ -504,7 +504,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
entityPlayer.playerNaturallySpawnedEvent.callEvent();
|
||||
}
|
||||
// Paper end - PlayerNaturallySpawnCreaturesEvent
|
||||
- int l = this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING);
|
||||
+ int l = org.plazmamc.plazma.util.TickControl.calc(this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING), it -> it.accelerate.randomTick, false); // Plazma - TickControl system
|
||||
boolean flag1 = this.level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) != 0L && this.level.getLevelData().getGameTime() % this.level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) == 0L; // CraftBukkit
|
||||
Iterator iterator1 = list.iterator();
|
||||
@@ -579,7 +579,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon
|
||||
this.lastSpawnState = spawnercreature_d;
|
||||
//profiler.popPush("spawnAndTick"); // Purpur
|
||||
boolean flag = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && !this.level.players().isEmpty(); // CraftBukkit
|
||||
- int k = this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING);
|
||||
+ int k = org.plazmamc.plazma.util.TickControl.calc(this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING), it -> it.accelerate.randomTick, false); // Plazma - TickControl system
|
||||
List list1;
|
||||
|
||||
if (flag && (this.spawnEnemies || this.spawnFriendlies)) {
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index 6fbf3a479ee1927b1099d2678db693341491b2b7..e5721ae2d55c614bcee58868acfcd06025d9e3c8 100644
|
||||
index d5662fd0b..48ea65f67 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -832,9 +832,14 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.
|
||||
if (incrementTicks != 12000) {
|
||||
this.preciseTime += 12000 / (double) incrementTicks;
|
||||
@@ -879,7 +879,12 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
|
||||
this.setDayTime(this.preciseTime);
|
||||
- } else
|
||||
+ } // Plazma - TickControl System
|
||||
} else
|
||||
// Purpur end
|
||||
- this.setDayTime(this.levelData.getDayTime() + 1L);
|
||||
+ // Plazma start - TickControl System
|
||||
+ else if (org.plazmamc.plazma.configurations.GlobalConfiguration.get().tickControl.accelerate.dayTime)
|
||||
+ if (org.plazmamc.plazma.configurations.GlobalConfiguration.get().tickControl.accelerate.dayTime)
|
||||
+ this.setDayTime(this.levelData.getDayTime() + org.plazmamc.plazma.util.TickControl.missedTicks() + 1L);
|
||||
+ else
|
||||
+ this.setDayTime(this.levelData.getDayTime() + 1L);
|
||||
@@ -79,10 +76,10 @@ index 6fbf3a479ee1927b1099d2678db693341491b2b7..e5721ae2d55c614bcee58868acfcd060
|
||||
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 9ab19aa8d05384bc03c8250f8ea628a9b0a00fa2..794c012ebc2c46a1f31a71eec1753374bb2ea88c 100644
|
||||
index 4653b25a8..9e9dd4ae1 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -545,6 +545,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
@@ -562,6 +562,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||
}
|
||||
|
||||
this.tickEffects();
|
||||
@@ -91,7 +88,7 @@ index 9ab19aa8d05384bc03c8250f8ea628a9b0a00fa2..794c012ebc2c46a1f31a71eec1753374
|
||||
this.yBodyRotO = this.yBodyRot;
|
||||
this.yHeadRotO = this.yHeadRot;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/PortalProcessor.java b/src/main/java/net/minecraft/world/entity/PortalProcessor.java
|
||||
index 45761c113116ae7417e6ae99069bff35dbccdf30..1727d9d7a3787220f09b6574ce6e4c828106d680 100644
|
||||
index b4a824996..1e6b32ad6 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/PortalProcessor.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/PortalProcessor.java
|
||||
@@ -24,7 +24,7 @@ public class PortalProcessor {
|
||||
@@ -119,7 +116,7 @@ index 45761c113116ae7417e6ae99069bff35dbccdf30..1727d9d7a3787220f09b6574ce6e4c82
|
||||
return this.portalTime <= 0;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
index ffc754aa6ed61f62a0c94e9117f3008d24c0c163..744385f34727729f7ac4222ed140a9c7326147a8 100644
|
||||
index 89d89a1b0..7c4228c0b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
|
||||
@@ -158,6 +158,7 @@ public class ItemEntity extends Entity implements TraceableEntity {
|
||||
@@ -131,7 +128,7 @@ index ffc754aa6ed61f62a0c94e9117f3008d24c0c163..744385f34727729f7ac4222ed140a9c7
|
||||
// Paper start - remove anti tick skipping measures / wall time - revert to vanilla
|
||||
if (this.pickupDelay > 0 && this.pickupDelay != 32767) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index 330b21946564e6a7b463a258c02fee3f91e0f057..f8e09f24e818f960ea24446675996a25ed06d9a9 100644
|
||||
index c1d068fa9..27361bde0 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -302,6 +302,11 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -147,23 +144,23 @@ index 330b21946564e6a7b463a258c02fee3f91e0f057..f8e09f24e818f960ea24446675996a25
|
||||
if (!this.level().isClientSide && this.level().isDay()) {
|
||||
this.stopSleepInBed(false, true);
|
||||
diff --git a/src/main/java/net/minecraft/world/item/Item.java b/src/main/java/net/minecraft/world/item/Item.java
|
||||
index 8fd54bccb7af59da9113d8a289d12d8fad1fb467..e295b6b920dbb678bafe2042e4b82dc193bae4ef 100644
|
||||
index 3d948c8d3..0c77997e0 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/Item.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/Item.java
|
||||
@@ -268,7 +268,7 @@ public class Item implements FeatureElement, ItemLike {
|
||||
@@ -260,7 +260,7 @@ public class Item implements FeatureElement, ItemLike {
|
||||
|
||||
public int getUseDuration(ItemStack stack, LivingEntity user) {
|
||||
FoodProperties foodProperties = stack.get(DataComponents.FOOD);
|
||||
- return foodProperties != null ? foodProperties.eatDurationTicks() : 0;
|
||||
+ return foodProperties != null ? org.plazmamc.plazma.util.TickControl.calc(foodProperties.eatDurationTicks(), it -> it.delay.itemUse, true) : 0; // Plazma - TickControl System
|
||||
Consumable consumable = stack.get(DataComponents.CONSUMABLE);
|
||||
- return consumable != null ? consumable.consumeTicks() : 0;
|
||||
+ return consumable != null ? org.plazmamc.plazma.util.TickControl.calc(consumable.eatDurationTicks(), it -> it.delay.itemUse, true) : 0; // Plazma - TickControl System
|
||||
}
|
||||
|
||||
public void releaseUsing(ItemStack stack, Level world, LivingEntity user, int remainingUseTicks) {
|
||||
public boolean releaseUsing(ItemStack stack, Level world, LivingEntity user, int remainingUseTicks) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
index 40f15a30b1a0dd2040e75045f32f33082e70aaeb..0e022da01f4526b589774a7d304d32a5562d8ce4 100644
|
||||
index 852bfe68a..3cb943ea4 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java
|
||||
@@ -339,13 +339,14 @@ public abstract class BlockBehaviour implements FeatureElement {
|
||||
@@ -336,13 +336,14 @@ public abstract class BlockBehaviour implements FeatureElement {
|
||||
protected float getDestroyProgress(BlockState state, Player player, BlockGetter world, BlockPos pos) {
|
||||
float f = state.getDestroySpeed(world, pos);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user