mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-02 13:07:06 +01:00
57dd397155
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: b999860d SPIGOT-2304: Add LootGenerateEvent CraftBukkit Changes:77fd87e4
SPIGOT-2304: Implement LootGenerateEventa1a705ee
SPIGOT-5566: Doused campfires & fires should call EntityChangeBlockEvent41712edd
SPIGOT-5707: PersistentDataHolder not Persistent on API dropped Item
68 lines
2.6 KiB
Diff
68 lines
2.6 KiB
Diff
From 2b18ff0e52e64c85b5911e2eb3e99883adf5a0cb Mon Sep 17 00:00:00 2001
|
|
From: Sudzzy <originmc@outlook.com>
|
|
Date: Wed, 2 Mar 2016 15:03:53 -0600
|
|
Subject: [PATCH] Configurable mob spawner tick rate
|
|
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
index f53d8b9675..428deed56d 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
@@ -171,4 +171,9 @@ public class PaperWorldConfig {
|
|
private void disableIceAndSnow(){
|
|
disableIceAndSnow = getBoolean("disable-ice-and-snow", false);
|
|
}
|
|
+
|
|
+ public int mobSpawnerTickRate;
|
|
+ private void mobSpawnerTickRate() {
|
|
+ mobSpawnerTickRate = getInt("mob-spawner-tick-rate", 1);
|
|
+ }
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
|
|
index 0f23313e89..b249af20c4 100644
|
|
--- a/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
|
|
+++ b/src/main/java/net/minecraft/server/MobSpawnerAbstract.java
|
|
@@ -24,6 +24,7 @@ public abstract class MobSpawnerAbstract {
|
|
public int maxNearbyEntities = 6;
|
|
public int requiredPlayerRange = 16;
|
|
public int spawnRange = 4;
|
|
+ private int tickDelay = 0; // Paper
|
|
|
|
public MobSpawnerAbstract() {}
|
|
|
|
@@ -53,6 +54,10 @@ public abstract class MobSpawnerAbstract {
|
|
}
|
|
|
|
public void c() {
|
|
+ // Paper start - Configurable mob spawner tick rate
|
|
+ if (spawnDelay > 0 && --tickDelay > 0) return;
|
|
+ tickDelay = this.a().paperConfig.mobSpawnerTickRate;
|
|
+ // Paper end
|
|
if (!this.h()) {
|
|
this.f = this.e;
|
|
} else {
|
|
@@ -67,18 +72,18 @@ public abstract class MobSpawnerAbstract {
|
|
world.addParticle(Particles.SMOKE, d0, d1, d2, 0.0D, 0.0D, 0.0D);
|
|
world.addParticle(Particles.FLAME, d0, d1, d2, 0.0D, 0.0D, 0.0D);
|
|
if (this.spawnDelay > 0) {
|
|
- --this.spawnDelay;
|
|
+ this.spawnDelay -= tickDelay; // Paper
|
|
}
|
|
|
|
this.f = this.e;
|
|
this.e = (this.e + (double) (1000.0F / ((float) this.spawnDelay + 200.0F))) % 360.0D;
|
|
} else {
|
|
- if (this.spawnDelay == -1) {
|
|
+ if (this.spawnDelay < -tickDelay) { // Paper
|
|
this.i();
|
|
}
|
|
|
|
if (this.spawnDelay > 0) {
|
|
- --this.spawnDelay;
|
|
+ this.spawnDelay -= tickDelay; // Paper
|
|
return;
|
|
}
|
|
|
|
--
|
|
2.26.2
|
|
|