mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: 0514fc4e2 Add missing effects 8f5d9effd Add getMainThreadExecutor to BukkitScheduler 313b5020b Allow adding items to BlockDropItemEvent (#5093) 9a556d9da [CI-SKIP] [Auto] Rebuild Patches 72b2768ad Inline shift fields in EnumDirection (#5082) ffff53fa7 added option to disable pathfinding updates on block changes (#5123) b67081fd7 add DragonEggFormEvent (fixes #5110) (#5112) 3eefafbaf Fix javadoc build 0081ed1c4 Add javadoc step to GH Actions 01082503e Add dropLeash variable to EntityUnleashEvent (#5130) 31f9f869a [CI-SKIP] Fix YourKit links in readme, fixes #5091 8ac27aa38 [Auto] Updated Upstream (CraftBukkit) c4d9cc831 [Auto] Updated Upstream (Bukkit/CraftBukkit) d0477d326 [Auto] Updated Upstream (CraftBukkit) d9f5f7018 EntityMoveEvent (#4614)
This commit is contained in:
2
Paper
2
Paper
Submodule Paper updated: a98d389d1f...0514fc4e2d
@@ -1,107 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
|
||||||
Date: Tue, 11 Feb 2020 21:56:38 -0600
|
|
||||||
Subject: [PATCH] EntityMoveEvent
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/event/entity/EntityMoveEvent.java b/src/main/java/net/pl3x/purpur/event/entity/EntityMoveEvent.java
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000000000000000000000000000000000..c48c525b8ee527a5766ac679619fd88956002d64
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/src/main/java/net/pl3x/purpur/event/entity/EntityMoveEvent.java
|
|
||||||
@@ -0,0 +1,95 @@
|
|
||||||
+package net.pl3x.purpur.event.entity;
|
|
||||||
+
|
|
||||||
+import com.google.common.base.Preconditions;
|
|
||||||
+import org.bukkit.Location;
|
|
||||||
+import org.bukkit.entity.LivingEntity;
|
|
||||||
+import org.bukkit.event.Cancellable;
|
|
||||||
+import org.bukkit.event.HandlerList;
|
|
||||||
+import org.bukkit.event.entity.EntityEvent;
|
|
||||||
+import org.jetbrains.annotations.NotNull;
|
|
||||||
+
|
|
||||||
+/**
|
|
||||||
+ * Holds information for living entity movement events
|
|
||||||
+ */
|
|
||||||
+public class EntityMoveEvent extends EntityEvent implements Cancellable {
|
|
||||||
+ private static final HandlerList handlers = new HandlerList();
|
|
||||||
+ private boolean canceled;
|
|
||||||
+ private Location from;
|
|
||||||
+ private Location to;
|
|
||||||
+
|
|
||||||
+ public EntityMoveEvent(@NotNull LivingEntity entity, @NotNull Location from, @NotNull Location to) {
|
|
||||||
+ super(entity);
|
|
||||||
+ this.from = from;
|
|
||||||
+ this.to = to;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ @NotNull
|
|
||||||
+ public LivingEntity getEntity() {
|
|
||||||
+ return (LivingEntity) entity;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public boolean isCancelled() {
|
|
||||||
+ return canceled;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public void setCancelled(boolean cancel) {
|
|
||||||
+ canceled = cancel;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Gets the location this entity moved from
|
|
||||||
+ *
|
|
||||||
+ * @return Location the entity moved from
|
|
||||||
+ */
|
|
||||||
+ @NotNull
|
|
||||||
+ public Location getFrom() {
|
|
||||||
+ return from;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Sets the location to mark as where the entity moved from
|
|
||||||
+ *
|
|
||||||
+ * @param from New location to mark as the entity's previous location
|
|
||||||
+ */
|
|
||||||
+ public void setFrom(@NotNull Location from) {
|
|
||||||
+ validateLocation(from);
|
|
||||||
+ this.from = from;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Gets the location this entity moved to
|
|
||||||
+ *
|
|
||||||
+ * @return Location the entity moved to
|
|
||||||
+ */
|
|
||||||
+ @NotNull
|
|
||||||
+ public Location getTo() {
|
|
||||||
+ return to;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ /**
|
|
||||||
+ * Sets the location that this entity will move to
|
|
||||||
+ *
|
|
||||||
+ * @param to New Location this entity will move to
|
|
||||||
+ */
|
|
||||||
+ public void setTo(@NotNull Location to) {
|
|
||||||
+ validateLocation(to);
|
|
||||||
+ this.to = to;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ private void validateLocation(@NotNull Location loc) {
|
|
||||||
+ Preconditions.checkArgument(loc != null, "Cannot use null location!");
|
|
||||||
+ Preconditions.checkArgument(loc.getWorld() != null, "Cannot use null location with null world!");
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ @NotNull
|
|
||||||
+ public HandlerList getHandlers() {
|
|
||||||
+ return handlers;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @NotNull
|
|
||||||
+ public static HandlerList getHandlerList() {
|
|
||||||
+ return handlers;
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
@@ -1,59 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
|
||||||
Date: Thu, 30 Jul 2020 18:15:04 -0500
|
|
||||||
Subject: [PATCH] DragonEggPlaceEvent
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/pl3x/purpur/event/block/DragonEggPlaceEvent.java b/src/main/java/net/pl3x/purpur/event/block/DragonEggPlaceEvent.java
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000000000000000000000000000000000000..bdabfd2b5f64b0e65c4eb09958282962620cdda2
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/src/main/java/net/pl3x/purpur/event/block/DragonEggPlaceEvent.java
|
|
||||||
@@ -0,0 +1,47 @@
|
|
||||||
+package net.pl3x.purpur.event.block;
|
|
||||||
+
|
|
||||||
+import org.bukkit.Location;
|
|
||||||
+import org.bukkit.event.Cancellable;
|
|
||||||
+import org.bukkit.event.Event;
|
|
||||||
+import org.bukkit.event.HandlerList;
|
|
||||||
+import org.jetbrains.annotations.NotNull;
|
|
||||||
+
|
|
||||||
+public class DragonEggPlaceEvent extends Event implements Cancellable {
|
|
||||||
+ private static final HandlerList handlers = new HandlerList();
|
|
||||||
+ private Location location;
|
|
||||||
+ private boolean cancelled;
|
|
||||||
+
|
|
||||||
+ public DragonEggPlaceEvent(@NotNull Location location) {
|
|
||||||
+ this.location = location;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @NotNull
|
|
||||||
+ public Location getLocation() {
|
|
||||||
+ return location;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ public void setLocation(@NotNull Location location) {
|
|
||||||
+ this.location = location;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public boolean isCancelled() {
|
|
||||||
+ return cancelled;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ public void setCancelled(boolean cancel) {
|
|
||||||
+ cancelled = cancel;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @Override
|
|
||||||
+ @NotNull
|
|
||||||
+ public HandlerList getHandlers() {
|
|
||||||
+ return handlers;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ @NotNull
|
|
||||||
+ public static HandlerList getHandlerList() {
|
|
||||||
+ return handlers;
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
@@ -1157,10 +1157,10 @@ index 7d23333e71482920cc42a4d8f3f38a7525aefe1f..765aa67f4cbb535128070d3310d1be9e
|
|||||||
/**
|
/**
|
||||||
* When a zombie gets cured and a villager is spawned.
|
* When a zombie gets cured and a villager is spawned.
|
||||||
diff --git a/src/main/java/org/bukkit/event/entity/EntityUnleashEvent.java b/src/main/java/org/bukkit/event/entity/EntityUnleashEvent.java
|
diff --git a/src/main/java/org/bukkit/event/entity/EntityUnleashEvent.java b/src/main/java/org/bukkit/event/entity/EntityUnleashEvent.java
|
||||||
index a33986a0c437a673435206fc337031a7eebdab3b..99a8e452904de21a5bd82f13f6b2d46537d07289 100644
|
index e0e068799a1868c8e561869015f41f553ef4fbdb..9fa0ba2f81a6724491c22446c87135841d099fb0 100644
|
||||||
--- a/src/main/java/org/bukkit/event/entity/EntityUnleashEvent.java
|
--- a/src/main/java/org/bukkit/event/entity/EntityUnleashEvent.java
|
||||||
+++ b/src/main/java/org/bukkit/event/entity/EntityUnleashEvent.java
|
+++ b/src/main/java/org/bukkit/event/entity/EntityUnleashEvent.java
|
||||||
@@ -37,6 +37,9 @@ public class EntityUnleashEvent extends EntityEvent {
|
@@ -66,6 +66,9 @@ public class EntityUnleashEvent extends EntityEvent {
|
||||||
return handlers;
|
return handlers;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -10401,10 +10401,10 @@ index e97c7794e86c0518bcec0a0370bffbeab20e2623..0816ab54bc99bcf29356b56516e83759
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
index eb5c3a1f0d9ff665631caf5bf579e83d1ed25e4f..7582a3a0955db2bc79daeced8e9c869f4276815a 100644
|
index a88521745f9f9b6935a61db52db915ea483af227..8a5e2806e68e5f4431fd9563fae780861e87632f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
@@ -710,7 +710,13 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -711,7 +711,13 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
if (this.world.getDifficulty() == EnumDifficulty.PEACEFUL && this.L()) {
|
if (this.world.getDifficulty() == EnumDifficulty.PEACEFUL && this.L()) {
|
||||||
this.die();
|
this.die();
|
||||||
} else if (!this.isPersistent() && !this.isSpecialPersistence()) {
|
} else if (!this.isPersistent() && !this.isSpecialPersistence()) {
|
||||||
@@ -10433,10 +10433,10 @@ index f41aaa7623c052b9f4044898d1bdee898c03057a..d99cecc4075338d7b8f154ab94d8ac04
|
|||||||
x = MathHelper.floorLong(x * 4096.0D) * (1 / 4096.0D);
|
x = MathHelper.floorLong(x * 4096.0D) * (1 / 4096.0D);
|
||||||
y = MathHelper.floorLong(y * 4096.0D) * (1 / 4096.0D);
|
y = MathHelper.floorLong(y * 4096.0D) * (1 / 4096.0D);
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
index 7b5bb97d410e20d3aa6b9222e4f8ad878e667bc8..365066cd7844261c5d437db17ebd61d0631ca140 100644
|
index b7a362bd9c5e9dae909b863335bae3a94d404a16..87b66c284208f12e9e7cd1c9950ada8d0fbf26a5 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
@@ -2857,7 +2857,11 @@ public abstract class EntityLiving extends Entity {
|
@@ -2879,7 +2879,11 @@ public abstract class EntityLiving extends Entity {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Paper - end don't run getEntities if we're not going to use its result
|
// Paper - end don't run getEntities if we're not going to use its result
|
||||||
@@ -10449,7 +10449,7 @@ index 7b5bb97d410e20d3aa6b9222e4f8ad878e667bc8..365066cd7844261c5d437db17ebd61d0
|
|||||||
|
|
||||||
if (!list.isEmpty()) {
|
if (!list.isEmpty()) {
|
||||||
// Paper - move up
|
// Paper - move up
|
||||||
@@ -2886,6 +2890,9 @@ public abstract class EntityLiving extends Entity {
|
@@ -2908,6 +2912,9 @@ public abstract class EntityLiving extends Entity {
|
||||||
this.C(entity);
|
this.C(entity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -10474,10 +10474,10 @@ index 7636a51a7ef0aa05b5b2aaa9d17e7b551dedac96..480a02a8f6ec7110f9af8f2037fdc09a
|
|||||||
|
|
||||||
double d0 = this.locX() + vec3d.x;
|
double d0 = this.locX() + vec3d.x;
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
index baa82134d1f56a4d370db3012207e0f2b2fcd9ed..2797941b53fa47316f90a86c8b2b4c2f059df223 100644
|
index a9a409eebabae11ab84cf9bcced1f9a030b4a479..173a210392d71cdfc551f095dc0d9c9040d22d3f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
@@ -527,6 +527,185 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -528,6 +528,185 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -10702,10 +10702,10 @@ index 3960a975e74ed81c45819fe5e0f01c6c18252982..526c1419af7bd0b6098a8f9a0a24a64b
|
|||||||
|
|
||||||
if (!list.equals(this.p)) {
|
if (!list.equals(this.p)) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/EnumDirection.java b/src/main/java/net/minecraft/server/EnumDirection.java
|
diff --git a/src/main/java/net/minecraft/server/EnumDirection.java b/src/main/java/net/minecraft/server/EnumDirection.java
|
||||||
index 1aa070db60f5473576fb5d056cadde5106766489..24e6f3141ff4434f770e956a8d240bf856442933 100644
|
index 05b0090ae36cf61f67e26aad478df30c89f31941..30ba21ac1bced18a9d0946b7c3ed55971ada48bb 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EnumDirection.java
|
--- a/src/main/java/net/minecraft/server/EnumDirection.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EnumDirection.java
|
+++ b/src/main/java/net/minecraft/server/EnumDirection.java
|
||||||
@@ -160,8 +160,8 @@ public enum EnumDirection implements INamable {
|
@@ -170,8 +170,8 @@ public enum EnumDirection implements INamable {
|
||||||
return EnumDirection.q[MathHelper.a(i % EnumDirection.q.length)];
|
return EnumDirection.q[MathHelper.a(i % EnumDirection.q.length)];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -11499,10 +11499,10 @@ index ff74be14512a947e81b62d53e616131ca7d7f609..e79e773f2219f9a9ae076fcbc8108b79
|
|||||||
public static <T> void mergeSortedSets(final java.util.function.Consumer<T> consumer, final java.util.Comparator<? super T> comparator, final java.util.SortedSet<T>...sets) {
|
public static <T> void mergeSortedSets(final java.util.function.Consumer<T> consumer, final java.util.Comparator<? super T> comparator, final java.util.SortedSet<T>...sets) {
|
||||||
final ObjectRBTreeSet<T> all = new ObjectRBTreeSet<>(comparator);
|
final ObjectRBTreeSet<T> all = new ObjectRBTreeSet<>(comparator);
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 8c384171ca56a0989ffef1813ad0a9ee3ea31d29..45e310e249a83714d0001d85b2ead8d4f8a2d742 100644
|
index ccf2d0b090f0c360dfc7886bb0726e099acec42c..1768554b00ea0b7a57ebbed1f0bc5d8fd6f02f76 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -151,6 +151,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -152,6 +152,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
public org.bukkit.command.RemoteConsoleCommandSender remoteConsole;
|
public org.bukkit.command.RemoteConsoleCommandSender remoteConsole;
|
||||||
//public ConsoleReader reader; // Paper
|
//public ConsoleReader reader; // Paper
|
||||||
public static int currentTick = 0; // Paper - Further improve tick loop
|
public static int currentTick = 0; // Paper - Further improve tick loop
|
||||||
@@ -11510,7 +11510,7 @@ index 8c384171ca56a0989ffef1813ad0a9ee3ea31d29..45e310e249a83714d0001d85b2ead8d4
|
|||||||
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
|
public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>();
|
||||||
public int autosavePeriod;
|
public int autosavePeriod;
|
||||||
public boolean serverAutoSave = false; // Paper
|
public boolean serverAutoSave = false; // Paper
|
||||||
@@ -749,10 +750,11 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -750,10 +751,11 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
org.spigotmc.WatchdogThread.doStop(); // Paper
|
org.spigotmc.WatchdogThread.doStop(); // Paper
|
||||||
if (!isMainThread()) {
|
if (!isMainThread()) {
|
||||||
MinecraftServer.LOGGER.info("Stopping main thread (Ignore any thread death message you see! - DO NOT REPORT THREAD DEATH TO PAPER)");
|
MinecraftServer.LOGGER.info("Stopping main thread (Ignore any thread death message you see! - DO NOT REPORT THREAD DEATH TO PAPER)");
|
||||||
@@ -11523,7 +11523,7 @@ index 8c384171ca56a0989ffef1813ad0a9ee3ea31d29..45e310e249a83714d0001d85b2ead8d4
|
|||||||
} catch (InterruptedException e) {}
|
} catch (InterruptedException e) {}
|
||||||
}
|
}
|
||||||
// We've just obliterated the main thread, this will prevent stop from dying when removing players
|
// We've just obliterated the main thread, this will prevent stop from dying when removing players
|
||||||
@@ -951,6 +953,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -952,6 +954,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
||||||
PaperJvmChecker.checkJvm(); // Paper jvm version nag
|
PaperJvmChecker.checkJvm(); // Paper jvm version nag
|
||||||
@@ -11531,7 +11531,7 @@ index 8c384171ca56a0989ffef1813ad0a9ee3ea31d29..45e310e249a83714d0001d85b2ead8d4
|
|||||||
org.spigotmc.WatchdogThread.tick(); // Paper
|
org.spigotmc.WatchdogThread.tick(); // Paper
|
||||||
org.spigotmc.WatchdogThread.hasStarted = true; // Paper
|
org.spigotmc.WatchdogThread.hasStarted = true; // Paper
|
||||||
Arrays.fill( recentTps, 20 );
|
Arrays.fill( recentTps, 20 );
|
||||||
@@ -968,6 +971,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -969,6 +972,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
this.lastOverloadTime = this.nextTick;
|
this.lastOverloadTime = this.nextTick;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -11539,7 +11539,7 @@ index 8c384171ca56a0989ffef1813ad0a9ee3ea31d29..45e310e249a83714d0001d85b2ead8d4
|
|||||||
if ( ++MinecraftServer.currentTick % SAMPLE_INTERVAL == 0 )
|
if ( ++MinecraftServer.currentTick % SAMPLE_INTERVAL == 0 )
|
||||||
{
|
{
|
||||||
final long diff = curTime - tickSection;
|
final long diff = curTime - tickSection;
|
||||||
@@ -982,7 +986,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -983,7 +987,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
// Paper end
|
// Paper end
|
||||||
tickSection = curTime;
|
tickSection = curTime;
|
||||||
}
|
}
|
||||||
@@ -11548,7 +11548,7 @@ index 8c384171ca56a0989ffef1813ad0a9ee3ea31d29..45e310e249a83714d0001d85b2ead8d4
|
|||||||
// Spigot end
|
// Spigot end
|
||||||
|
|
||||||
//MinecraftServer.currentTick = (int) (System.currentTimeMillis() / 50); // CraftBukkit // Paper - don't overwrite current tick time
|
//MinecraftServer.currentTick = (int) (System.currentTimeMillis() / 50); // CraftBukkit // Paper - don't overwrite current tick time
|
||||||
@@ -1075,6 +1079,76 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -1076,6 +1080,76 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
||||||
@@ -11625,7 +11625,7 @@ index 8c384171ca56a0989ffef1813ad0a9ee3ea31d29..45e310e249a83714d0001d85b2ead8d4
|
|||||||
private void executeModerately() {
|
private void executeModerately() {
|
||||||
this.executeAll();
|
this.executeAll();
|
||||||
java.util.concurrent.locks.LockSupport.parkNanos("executing tasks", 1000L);
|
java.util.concurrent.locks.LockSupport.parkNanos("executing tasks", 1000L);
|
||||||
@@ -1088,22 +1162,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -1089,22 +1163,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -11649,7 +11649,7 @@ index 8c384171ca56a0989ffef1813ad0a9ee3ea31d29..45e310e249a83714d0001d85b2ead8d4
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected TickTask postToMainThread(Runnable runnable) {
|
protected TickTask postToMainThread(Runnable runnable) {
|
||||||
@@ -1130,6 +1189,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -1131,6 +1190,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
|
|
||||||
private boolean bb() {
|
private boolean bb() {
|
||||||
if (super.executeNext()) {
|
if (super.executeNext()) {
|
||||||
@@ -11657,7 +11657,7 @@ index 8c384171ca56a0989ffef1813ad0a9ee3ea31d29..45e310e249a83714d0001d85b2ead8d4
|
|||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
if (this.canSleepForTick()) {
|
if (this.canSleepForTick()) {
|
||||||
@@ -1197,7 +1257,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -1198,7 +1258,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
// Paper start - move oversleep into full server tick
|
// Paper start - move oversleep into full server tick
|
||||||
isOversleep = true;MinecraftTimings.serverOversleep.startTiming();
|
isOversleep = true;MinecraftTimings.serverOversleep.startTiming();
|
||||||
this.awaitTasks(() -> {
|
this.awaitTasks(() -> {
|
||||||
@@ -11666,7 +11666,7 @@ index 8c384171ca56a0989ffef1813ad0a9ee3ea31d29..45e310e249a83714d0001d85b2ead8d4
|
|||||||
return !this.canOversleep();
|
return !this.canOversleep();
|
||||||
});
|
});
|
||||||
isOversleep = false;MinecraftTimings.serverOversleep.stopTiming();
|
isOversleep = false;MinecraftTimings.serverOversleep.stopTiming();
|
||||||
@@ -1262,6 +1322,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -1263,6 +1323,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
||||||
@@ -11675,7 +11675,7 @@ index 8c384171ca56a0989ffef1813ad0a9ee3ea31d29..45e310e249a83714d0001d85b2ead8d4
|
|||||||
// Paper start
|
// Paper start
|
||||||
long endTime = System.nanoTime();
|
long endTime = System.nanoTime();
|
||||||
long remaining = (TICK_TIME - (endTime - lastTick)) - catchupTime;
|
long remaining = (TICK_TIME - (endTime - lastTick)) - catchupTime;
|
||||||
@@ -1288,16 +1350,16 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -1289,16 +1351,16 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void b(BooleanSupplier booleansupplier) {
|
protected void b(BooleanSupplier booleansupplier) {
|
||||||
@@ -11695,7 +11695,7 @@ index 8c384171ca56a0989ffef1813ad0a9ee3ea31d29..45e310e249a83714d0001d85b2ead8d4
|
|||||||
this.methodProfiler.exitEnter("levels");
|
this.methodProfiler.exitEnter("levels");
|
||||||
Iterator iterator = this.getWorlds().iterator();
|
Iterator iterator = this.getWorlds().iterator();
|
||||||
|
|
||||||
@@ -1308,7 +1370,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -1309,7 +1371,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
processQueue.remove().run();
|
processQueue.remove().run();
|
||||||
}
|
}
|
||||||
MinecraftTimings.processQueueTimer.stopTiming(); // Spigot
|
MinecraftTimings.processQueueTimer.stopTiming(); // Spigot
|
||||||
@@ -11704,7 +11704,7 @@ index 8c384171ca56a0989ffef1813ad0a9ee3ea31d29..45e310e249a83714d0001d85b2ead8d4
|
|||||||
MinecraftTimings.timeUpdateTimer.startTiming(); // Spigot // Paper
|
MinecraftTimings.timeUpdateTimer.startTiming(); // Spigot // Paper
|
||||||
// Send time updates to everyone, it will get the right time from the world the player is in.
|
// Send time updates to everyone, it will get the right time from the world the player is in.
|
||||||
// Paper start - optimize time updates
|
// Paper start - optimize time updates
|
||||||
@@ -1350,11 +1412,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -1352,11 +1414,12 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
this.methodProfiler.enter("tick");
|
this.methodProfiler.enter("tick");
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -11719,7 +11719,7 @@ index 8c384171ca56a0989ffef1813ad0a9ee3ea31d29..45e310e249a83714d0001d85b2ead8d4
|
|||||||
} catch (Throwable throwable) {
|
} catch (Throwable throwable) {
|
||||||
// Spigot Start
|
// Spigot Start
|
||||||
CrashReport crashreport;
|
CrashReport crashreport;
|
||||||
@@ -1448,7 +1511,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -1450,7 +1513,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getServerModName() {
|
public String getServerModName() {
|
||||||
@@ -16053,7 +16053,7 @@ index f011869880fedae4b69e505491e8bdbc5f51dfba..0d10d317cd0b60fc0866ae505c7fd71f
|
|||||||
return this.j.d();
|
return this.j.d();
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee78988f623 100644
|
index 2b94c195db43d8e7fd58301a33377e87daa16e98..9c11a6ba0384baafaec1403a6a7c3f894d5cd7b3 100644
|
||||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
@@ -55,12 +55,13 @@ import org.bukkit.event.server.MapInitializeEvent;
|
@@ -55,12 +55,13 @@ import org.bukkit.event.server.MapInitializeEvent;
|
||||||
@@ -16080,7 +16080,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
protected final PersistentRaid persistentRaid;
|
protected final PersistentRaid persistentRaid;
|
||||||
private final ObjectLinkedOpenHashSet<BlockActionData> L;
|
private final ObjectLinkedOpenHashSet<BlockActionData> L;
|
||||||
private boolean ticking;
|
private boolean ticking;
|
||||||
@@ -205,6 +206,111 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -206,6 +207,111 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
}
|
}
|
||||||
// Paper end - rewrite ticklistserver
|
// Paper end - rewrite ticklistserver
|
||||||
|
|
||||||
@@ -16192,7 +16192,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
// Add env and gen to constructor, WorldData -> WorldDataServer
|
// Add env and gen to constructor, WorldData -> WorldDataServer
|
||||||
public WorldServer(MinecraftServer minecraftserver, Executor executor, Convertable.ConversionSession convertable_conversionsession, IWorldDataServer iworlddataserver, ResourceKey<World> resourcekey, DimensionManager dimensionmanager, WorldLoadListener worldloadlistener, ChunkGenerator chunkgenerator, boolean flag, long i, List<MobSpawner> list, boolean flag1, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen) {
|
public WorldServer(MinecraftServer minecraftserver, Executor executor, Convertable.ConversionSession convertable_conversionsession, IWorldDataServer iworlddataserver, ResourceKey<World> resourcekey, DimensionManager dimensionmanager, WorldLoadListener worldloadlistener, ChunkGenerator chunkgenerator, boolean flag, long i, List<MobSpawner> list, boolean flag1, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen) {
|
||||||
super(iworlddataserver, resourcekey, dimensionmanager, minecraftserver::getMethodProfiler, false, flag, i, gen, env, executor); // Paper pass executor
|
super(iworlddataserver, resourcekey, dimensionmanager, minecraftserver::getMethodProfiler, false, flag, i, gen, env, executor); // Paper pass executor
|
||||||
@@ -265,6 +371,243 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -266,6 +372,243 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
this.asyncChunkTaskManager = new com.destroystokyo.paper.io.chunk.ChunkTaskManager(this); // Paper
|
this.asyncChunkTaskManager = new com.destroystokyo.paper.io.chunk.ChunkTaskManager(this); // Paper
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -16436,7 +16436,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
@Override
|
@Override
|
||||||
protected TileEntity getTileEntity(BlockPosition pos, boolean validate) {
|
protected TileEntity getTileEntity(BlockPosition pos, boolean validate) {
|
||||||
@@ -318,6 +661,14 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -319,6 +662,14 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
|
|
||||||
public void doTick(BooleanSupplier booleansupplier) {
|
public void doTick(BooleanSupplier booleansupplier) {
|
||||||
GameProfilerFiller gameprofilerfiller = this.getMethodProfiler();
|
GameProfilerFiller gameprofilerfiller = this.getMethodProfiler();
|
||||||
@@ -16451,7 +16451,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
|
|
||||||
this.ticking = true;
|
this.ticking = true;
|
||||||
gameprofilerfiller.enter("world border");
|
gameprofilerfiller.enter("world border");
|
||||||
@@ -467,7 +818,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -468,7 +819,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
}
|
}
|
||||||
timings.scheduledBlocks.stopTiming(); // Paper
|
timings.scheduledBlocks.stopTiming(); // Paper
|
||||||
|
|
||||||
@@ -16460,7 +16460,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
gameprofilerfiller.exitEnter("raid");
|
gameprofilerfiller.exitEnter("raid");
|
||||||
this.timings.raids.startTiming(); // Paper - timings
|
this.timings.raids.startTiming(); // Paper - timings
|
||||||
this.persistentRaid.a();
|
this.persistentRaid.a();
|
||||||
@@ -476,7 +827,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -477,7 +828,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
timings.doSounds.startTiming(); // Spigot
|
timings.doSounds.startTiming(); // Spigot
|
||||||
this.ak();
|
this.ak();
|
||||||
timings.doSounds.stopTiming(); // Spigot
|
timings.doSounds.stopTiming(); // Spigot
|
||||||
@@ -16469,7 +16469,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
this.ticking = false;
|
this.ticking = false;
|
||||||
gameprofilerfiller.exitEnter("entities");
|
gameprofilerfiller.exitEnter("entities");
|
||||||
boolean flag3 = true || !this.players.isEmpty() || !this.getForceLoadedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players
|
boolean flag3 = true || !this.players.isEmpty() || !this.getForceLoadedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players
|
||||||
@@ -492,13 +843,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -493,13 +844,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.tickingEntities = true;
|
this.tickingEntities = true;
|
||||||
@@ -16485,7 +16485,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
Entity entity1 = entity.getVehicle();
|
Entity entity1 = entity.getVehicle();
|
||||||
|
|
||||||
/* CraftBukkit start - We prevent spawning in general, so this butchering is not needed
|
/* CraftBukkit start - We prevent spawning in general, so this butchering is not needed
|
||||||
@@ -514,6 +864,15 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -515,6 +865,15 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
gameprofilerfiller.enter("checkDespawn");
|
gameprofilerfiller.enter("checkDespawn");
|
||||||
if (!entity.dead) {
|
if (!entity.dead) {
|
||||||
entity.checkDespawn();
|
entity.checkDespawn();
|
||||||
@@ -16501,7 +16501,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
}
|
}
|
||||||
|
|
||||||
gameprofilerfiller.exit();
|
gameprofilerfiller.exit();
|
||||||
@@ -534,14 +893,22 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -535,14 +894,22 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
gameprofilerfiller.enter("remove");
|
gameprofilerfiller.enter("remove");
|
||||||
if (entity.dead) {
|
if (entity.dead) {
|
||||||
this.removeEntityFromChunk(entity);
|
this.removeEntityFromChunk(entity);
|
||||||
@@ -16525,7 +16525,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
this.tickingEntities = false;
|
this.tickingEntities = false;
|
||||||
// Paper start
|
// Paper start
|
||||||
for (java.lang.Runnable run : this.afterEntityTickingTasks) {
|
for (java.lang.Runnable run : this.afterEntityTickingTasks) {
|
||||||
@@ -553,7 +920,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -554,7 +921,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
}
|
}
|
||||||
this.afterEntityTickingTasks.clear();
|
this.afterEntityTickingTasks.clear();
|
||||||
// Paper end
|
// Paper end
|
||||||
@@ -16534,7 +16534,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
|
|
||||||
Entity entity2;
|
Entity entity2;
|
||||||
|
|
||||||
@@ -563,7 +930,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -564,7 +931,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
}
|
}
|
||||||
|
|
||||||
timings.tickEntities.stopTiming(); // Spigot
|
timings.tickEntities.stopTiming(); // Spigot
|
||||||
@@ -16543,7 +16543,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
this.tickBlockEntities();
|
this.tickBlockEntities();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -809,7 +1176,26 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -810,7 +1177,26 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -16570,7 +16570,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
if (!(entity instanceof EntityHuman) && !this.getChunkProvider().a(entity)) {
|
if (!(entity instanceof EntityHuman) && !this.getChunkProvider().a(entity)) {
|
||||||
this.chunkCheck(entity);
|
this.chunkCheck(entity);
|
||||||
} else {
|
} else {
|
||||||
@@ -862,6 +1248,11 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -863,6 +1249,11 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
//} finally { timer.stopTiming(); } // Paper - timings - move up
|
//} finally { timer.stopTiming(); } // Paper - timings - move up
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -16582,7 +16582,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void a(Entity entity, Entity entity1) {
|
public void a(Entity entity, Entity entity1) {
|
||||||
@@ -920,6 +1311,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -921,6 +1312,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
int i = MathHelper.floor(entity.locX() / 16.0D);
|
int i = MathHelper.floor(entity.locX() / 16.0D);
|
||||||
int j = Math.min(15, Math.max(0, MathHelper.floor(entity.locY() / 16.0D))); // Paper - stay consistent with chunk add/remove behavior
|
int j = Math.min(15, Math.max(0, MathHelper.floor(entity.locY() / 16.0D))); // Paper - stay consistent with chunk add/remove behavior
|
||||||
int k = MathHelper.floor(entity.locZ() / 16.0D);
|
int k = MathHelper.floor(entity.locZ() / 16.0D);
|
||||||
@@ -16595,7 +16595,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
|
|
||||||
if (!entity.inChunk || entity.chunkX != i || entity.chunkY != j || entity.chunkZ != k) {
|
if (!entity.inChunk || entity.chunkX != i || entity.chunkY != j || entity.chunkZ != k) {
|
||||||
// Paper start - remove entity if its in a chunk more correctly.
|
// Paper start - remove entity if its in a chunk more correctly.
|
||||||
@@ -929,6 +1326,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -930,6 +1327,12 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
||||||
@@ -16608,7 +16608,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
if (entity.inChunk && this.isChunkLoaded(entity.chunkX, entity.chunkZ)) {
|
if (entity.inChunk && this.isChunkLoaded(entity.chunkX, entity.chunkZ)) {
|
||||||
this.getChunkAt(entity.chunkX, entity.chunkZ).a(entity, entity.chunkY);
|
this.getChunkAt(entity.chunkX, entity.chunkZ).a(entity, entity.chunkY);
|
||||||
}
|
}
|
||||||
@@ -942,6 +1345,11 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -943,6 +1346,11 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
} else {
|
} else {
|
||||||
this.getChunkAt(i, k).a(entity);
|
this.getChunkAt(i, k).a(entity);
|
||||||
}
|
}
|
||||||
@@ -16620,7 +16620,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.getMethodProfiler().exit();
|
this.getMethodProfiler().exit();
|
||||||
@@ -1297,7 +1705,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -1298,7 +1706,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
Entity entity = (Entity) iterator.next();
|
Entity entity = (Entity) iterator.next();
|
||||||
|
|
||||||
if (!(entity instanceof EntityPlayer)) {
|
if (!(entity instanceof EntityPlayer)) {
|
||||||
@@ -16629,7 +16629,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
throw (IllegalStateException) SystemUtils.c((Throwable) (new IllegalStateException("Removing entity while ticking!")));
|
throw (IllegalStateException) SystemUtils.c((Throwable) (new IllegalStateException("Removing entity while ticking!")));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1325,6 +1733,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -1326,6 +1734,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
|
|
||||||
public void unregisterEntity(Entity entity) {
|
public void unregisterEntity(Entity entity) {
|
||||||
org.spigotmc.AsyncCatcher.catchOp("entity unregister"); // Spigot
|
org.spigotmc.AsyncCatcher.catchOp("entity unregister"); // Spigot
|
||||||
@@ -16637,7 +16637,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
// Paper start - fix entity registration issues
|
// Paper start - fix entity registration issues
|
||||||
if (entity instanceof EntityComplexPart) {
|
if (entity instanceof EntityComplexPart) {
|
||||||
// Usually this is a no-op for complex parts, and ID's should be removed, but go ahead and remove it anyways
|
// Usually this is a no-op for complex parts, and ID's should be removed, but go ahead and remove it anyways
|
||||||
@@ -1391,17 +1800,108 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -1392,17 +1801,108 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
this.getScoreboard().a(entity);
|
this.getScoreboard().a(entity);
|
||||||
// CraftBukkit start - SPIGOT-5278
|
// CraftBukkit start - SPIGOT-5278
|
||||||
if (entity instanceof EntityDrowned) {
|
if (entity instanceof EntityDrowned) {
|
||||||
@@ -16749,7 +16749,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
private void registerEntity(Entity entity) {
|
private void registerEntity(Entity entity) {
|
||||||
org.spigotmc.AsyncCatcher.catchOp("entity register"); // Spigot
|
org.spigotmc.AsyncCatcher.catchOp("entity register"); // Spigot
|
||||||
// Paper start - don't double enqueue entity registration
|
// Paper start - don't double enqueue entity registration
|
||||||
@@ -1412,7 +1912,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -1413,7 +1913,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
@@ -16758,7 +16758,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
if (!entity.isQueuedForRegister) { // Paper
|
if (!entity.isQueuedForRegister) { // Paper
|
||||||
this.entitiesToAdd.add(entity);
|
this.entitiesToAdd.add(entity);
|
||||||
entity.isQueuedForRegister = true; // Paper
|
entity.isQueuedForRegister = true; // Paper
|
||||||
@@ -1420,6 +1920,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -1421,6 +1921,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
} else {
|
} else {
|
||||||
entity.isQueuedForRegister = false; // Paper
|
entity.isQueuedForRegister = false; // Paper
|
||||||
this.entitiesById.put(entity.getId(), entity);
|
this.entitiesById.put(entity.getId(), entity);
|
||||||
@@ -16766,7 +16766,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
if (entity instanceof EntityEnderDragon) {
|
if (entity instanceof EntityEnderDragon) {
|
||||||
EntityComplexPart[] aentitycomplexpart = ((EntityEnderDragon) entity).eJ();
|
EntityComplexPart[] aentitycomplexpart = ((EntityEnderDragon) entity).eJ();
|
||||||
int i = aentitycomplexpart.length;
|
int i = aentitycomplexpart.length;
|
||||||
@@ -1428,6 +1929,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -1429,6 +1930,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
EntityComplexPart entitycomplexpart = aentitycomplexpart[j];
|
EntityComplexPart entitycomplexpart = aentitycomplexpart[j];
|
||||||
|
|
||||||
this.entitiesById.put(entitycomplexpart.getId(), entitycomplexpart);
|
this.entitiesById.put(entitycomplexpart.getId(), entitycomplexpart);
|
||||||
@@ -16774,7 +16774,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1452,12 +1954,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -1453,12 +1955,16 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
// this.getChunkProvider().addEntity(entity); // Paper - moved down below valid=true
|
// this.getChunkProvider().addEntity(entity); // Paper - moved down below valid=true
|
||||||
// CraftBukkit start - SPIGOT-5278
|
// CraftBukkit start - SPIGOT-5278
|
||||||
if (entity instanceof EntityDrowned) {
|
if (entity instanceof EntityDrowned) {
|
||||||
@@ -16794,7 +16794,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
}
|
}
|
||||||
entity.valid = true; // CraftBukkit
|
entity.valid = true; // CraftBukkit
|
||||||
this.getChunkProvider().addEntity(entity); // Paper - from above to be below valid=true
|
this.getChunkProvider().addEntity(entity); // Paper - from above to be below valid=true
|
||||||
@@ -1473,7 +1979,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -1474,7 +1980,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void removeEntity(Entity entity) {
|
public void removeEntity(Entity entity) {
|
||||||
@@ -16803,12 +16803,13 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
throw (IllegalStateException) SystemUtils.c((Throwable) (new IllegalStateException("Removing entity while ticking!")));
|
throw (IllegalStateException) SystemUtils.c((Throwable) (new IllegalStateException("Removing entity while ticking!")));
|
||||||
} else {
|
} else {
|
||||||
this.removeEntityFromChunk(entity);
|
this.removeEntityFromChunk(entity);
|
||||||
@@ -1569,13 +2075,32 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -1570,14 +2076,33 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void notify(BlockPosition blockposition, IBlockData iblockdata, IBlockData iblockdata1, int i) {
|
public void notify(BlockPosition blockposition, IBlockData iblockdata, IBlockData iblockdata1, int i) {
|
||||||
+ org.spigotmc.AsyncCatcher.catchOp("notify call"); // Tuinity
|
+ org.spigotmc.AsyncCatcher.catchOp("notify call"); // Tuinity
|
||||||
this.getChunkProvider().flagDirty(blockposition);
|
this.getChunkProvider().flagDirty(blockposition);
|
||||||
|
if(this.paperConfig.updatePathfindingOnBlockUpdate) { // Paper - option to disable pathfinding updates
|
||||||
VoxelShape voxelshape = iblockdata.getCollisionShape(this, blockposition);
|
VoxelShape voxelshape = iblockdata.getCollisionShape(this, blockposition);
|
||||||
VoxelShape voxelshape1 = iblockdata1.getCollisionShape(this, blockposition);
|
VoxelShape voxelshape1 = iblockdata1.getCollisionShape(this, blockposition);
|
||||||
|
|
||||||
@@ -16837,7 +16838,7 @@ index fbe7f43f6c1010e7a34114f8afb0e64934744335..6ff5ef6b710652f1c4fe6461ff230ee7
|
|||||||
|
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
NavigationAbstract navigationabstract = (NavigationAbstract) iterator.next();
|
NavigationAbstract navigationabstract = (NavigationAbstract) iterator.next();
|
||||||
@@ -1583,7 +2108,21 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -1585,7 +2110,21 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
if (!navigationabstract.i()) {
|
if (!navigationabstract.i()) {
|
||||||
navigationabstract.b(blockposition);
|
navigationabstract.b(blockposition);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,10 +48,10 @@ index 229c3b0f0c650b501f31147adaa17194af57fedd..f88cf526d272fe47b5a474c0b344b748
|
|||||||
throwable = throwable1;
|
throwable = throwable1;
|
||||||
throw throwable1;
|
throw throwable1;
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 45e310e249a83714d0001d85b2ead8d4f8a2d742..af5c1479d2cb8092d84e2d3d5166060d9ff2df71 100644
|
index 1768554b00ea0b7a57ebbed1f0bc5d8fd6f02f76..fe4ef4ea7117a6f38e4d068aae5b5ec6de06507b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1511,7 +1511,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -1513,7 +1513,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getServerModName() {
|
public String getServerModName() {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||||
index 9796b4e57d6680c9f0dc76decdd985572daafb7e..f15ec5c45d95c6828ed628451917ac3426a76f1f 100644
|
index 59b00c78f8d92bcceca35d0f25e4d94b3ebdc6e2..e0cf2af8fcbfc66fc32aa8e693b62160b24f8672 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||||
@@ -84,6 +84,15 @@ public abstract class EntityHuman extends EntityLiving {
|
@@ -82,6 +82,15 @@ public abstract class EntityHuman extends EntityLiving {
|
||||||
}
|
}
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|
||||||
@@ -25,10 +25,10 @@ index 9796b4e57d6680c9f0dc76decdd985572daafb7e..f15ec5c45d95c6828ed628451917ac34
|
|||||||
super(EntityTypes.PLAYER, world);
|
super(EntityTypes.PLAYER, world);
|
||||||
this.bL = ItemStack.b;
|
this.bL = ItemStack.b;
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
index 2797941b53fa47316f90a86c8b2b4c2f059df223..72eb4a207f67fbbeffa4ad44ead8dec176863c72 100644
|
index 173a210392d71cdfc551f095dc0d9c9040d22d3f..af4fb76d000594229e0c0dfdcde48fbafc087de0 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
@@ -1909,8 +1909,54 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -1927,8 +1927,54 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
|
|
||||||
public void resetIdleTimer() {
|
public void resetIdleTimer() {
|
||||||
this.ca = SystemUtils.getMonotonicMillis();
|
this.ca = SystemUtils.getMonotonicMillis();
|
||||||
@@ -193,10 +193,10 @@ index 4058c1f7ada7d0c9e4ba73a0073b4f94bf410a8f..caf9ce94a7cb6154981d42953c81b588
|
|||||||
if (from.getX() != Double.MAX_VALUE) {
|
if (from.getX() != Double.MAX_VALUE) {
|
||||||
Location oldTo = to.clone();
|
Location oldTo = to.clone();
|
||||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
index 6ff5ef6b710652f1c4fe6461ff230ee78988f623..efe2a9ad2ece23bd71f4ad63b2c6f54f42345b55 100644
|
index 9c11a6ba0384baafaec1403a6a7c3f894d5cd7b3..e99c3ad507f1381c9aa495052d2014ba8b7e0750 100644
|
||||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
@@ -781,7 +781,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -782,7 +782,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|
||||||
if (this.everyoneSleeping && this.players.stream().noneMatch((entityplayer) -> {
|
if (this.everyoneSleeping && this.players.stream().noneMatch((entityplayer) -> {
|
||||||
@@ -205,7 +205,7 @@ index 6ff5ef6b710652f1c4fe6461ff230ee78988f623..efe2a9ad2ece23bd71f4ad63b2c6f54f
|
|||||||
})) {
|
})) {
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
long l = this.worldData.getDayTime() + 24000L;
|
long l = this.worldData.getDayTime() + 24000L;
|
||||||
@@ -1118,7 +1118,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -1119,7 +1119,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
EntityPlayer entityplayer = (EntityPlayer) iterator.next();
|
EntityPlayer entityplayer = (EntityPlayer) iterator.next();
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index af5c1479d2cb8092d84e2d3d5166060d9ff2df71..90556fca9315e71c4f3fbd231ac6d765677ca271 100644
|
index fe4ef4ea7117a6f38e4d068aae5b5ec6de06507b..2f5ef91a5732800d9b9a7acbb52ad29b5c0729a3 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1511,7 +1511,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -1513,7 +1513,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getServerModName() {
|
public String getServerModName() {
|
||||||
|
|||||||
@@ -30,10 +30,10 @@ index 2a91f07ca9c4dc0cb3b5aef5c9c1db7f69773530..7604fd83de9cfe93d427a9a1f6bbbee7
|
|||||||
|
|
||||||
protected int getChestSlots() {
|
protected int getChestSlots() {
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
index 365066cd7844261c5d437db17ebd61d0631ca140..59f0088eaa7f6682b2ddf34a2d5363b49738fdbe 100644
|
index 87b66c284208f12e9e7cd1c9950ada8d0fbf26a5..59699bb23a189b7e53737b2f8f5263608a64109c 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
@@ -132,6 +132,7 @@ public abstract class EntityLiving extends Entity {
|
@@ -133,6 +133,7 @@ public abstract class EntityLiving extends Entity {
|
||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
public int expToDrop;
|
public int expToDrop;
|
||||||
public int maxAirTicks = 300;
|
public int maxAirTicks = 300;
|
||||||
@@ -41,7 +41,7 @@ index 365066cd7844261c5d437db17ebd61d0631ca140..59f0088eaa7f6682b2ddf34a2d5363b4
|
|||||||
boolean forceDrops;
|
boolean forceDrops;
|
||||||
ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
|
ArrayList<org.bukkit.inventory.ItemStack> drops = new ArrayList<org.bukkit.inventory.ItemStack>();
|
||||||
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
|
public final org.bukkit.craftbukkit.attribute.CraftAttributeMap craftAttributes;
|
||||||
@@ -226,8 +227,8 @@ public abstract class EntityLiving extends Entity {
|
@@ -227,8 +228,8 @@ public abstract class EntityLiving extends Entity {
|
||||||
this.cR();
|
this.cR();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@ index 365066cd7844261c5d437db17ebd61d0631ca140..59f0088eaa7f6682b2ddf34a2d5363b4
|
|||||||
|
|
||||||
if (!iblockdata.isAir()) {
|
if (!iblockdata.isAir()) {
|
||||||
double d1 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
|
double d1 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
|
||||||
@@ -1685,7 +1686,7 @@ public abstract class EntityLiving extends Entity {
|
@@ -1693,7 +1694,7 @@ public abstract class EntityLiving extends Entity {
|
||||||
MobEffect mobeffect = this.getEffect(MobEffects.JUMP);
|
MobEffect mobeffect = this.getEffect(MobEffects.JUMP);
|
||||||
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
|
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Lagging threshold
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 90556fca9315e71c4f3fbd231ac6d765677ca271..e12fecf47798f638b85e7c6d54055a526097811c 100644
|
index 2f5ef91a5732800d9b9a7acbb52ad29b5c0729a3..64cd02072536e69cd219932769bbade87b47601a 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -163,6 +163,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -164,6 +164,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
public static final int TICK_TIME = 1000000000 / TPS;
|
public static final int TICK_TIME = 1000000000 / TPS;
|
||||||
private static final int SAMPLE_INTERVAL = 20; // Paper
|
private static final int SAMPLE_INTERVAL = 20; // Paper
|
||||||
public final double[] recentTps = new double[ 3 ];
|
public final double[] recentTps = new double[ 3 ];
|
||||||
@@ -16,7 +16,7 @@ index 90556fca9315e71c4f3fbd231ac6d765677ca271..e12fecf47798f638b85e7c6d54055a52
|
|||||||
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
|
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
|
||||||
// Spigot end
|
// Spigot end
|
||||||
|
|
||||||
@@ -984,6 +985,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -985,6 +986,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
recentTps[1] = tps5.getAverage();
|
recentTps[1] = tps5.getAverage();
|
||||||
recentTps[2] = tps15.getAverage();
|
recentTps[2] = tps15.getAverage();
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|||||||
@@ -1,55 +0,0 @@
|
|||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
||||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
|
||||||
Date: Tue, 11 Feb 2020 21:56:48 -0600
|
|
||||||
Subject: [PATCH] EntityMoveEvent
|
|
||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
|
||||||
index 59f0088eaa7f6682b2ddf34a2d5363b49738fdbe..fdc0df2b08a586a584f9cfd0075aa68f129e4055 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
|
||||||
@@ -2812,6 +2812,20 @@ public abstract class EntityLiving extends Entity {
|
|
||||||
|
|
||||||
this.collideNearby();
|
|
||||||
this.world.getMethodProfiler().exit();
|
|
||||||
+ // Purpur start
|
|
||||||
+ if (((WorldServer) world).hasEntityMoveEvent) {
|
|
||||||
+ if (lastX != locX() || lastY != locY() || lastZ != locZ() || lastYaw != yaw || lastPitch != pitch) {
|
|
||||||
+ Location from = new Location(world.getWorld(), lastX, lastY, lastZ, lastYaw, lastPitch);
|
|
||||||
+ Location to = new Location (world.getWorld(), locX(), locY(), locZ(), yaw, pitch);
|
|
||||||
+ net.pl3x.purpur.event.entity.EntityMoveEvent event = new net.pl3x.purpur.event.entity.EntityMoveEvent(getBukkitLivingEntity(), from, to.clone());
|
|
||||||
+ if (!event.callEvent()) {
|
|
||||||
+ setLocation(from.getX(), from.getY(), from.getZ(), from.getYaw(), from.getPitch());
|
|
||||||
+ } else if (!to.equals(event.getTo())) {
|
|
||||||
+ setLocation(to.getX(), to.getY(), to.getZ(), to.getYaw(), to.getPitch());
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ // Purpur end
|
|
||||||
if (!this.world.isClientSide && this.dO() && this.aG()) {
|
|
||||||
this.damageEntity(DamageSource.DROWN, 1.0F);
|
|
||||||
}
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
||||||
index e12fecf47798f638b85e7c6d54055a526097811c..d79cf993cdadfe7fadd6c7e65b9fc691a298c702 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
||||||
@@ -1398,6 +1398,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
|
||||||
while (iterator.hasNext()) {
|
|
||||||
WorldServer worldserver = (WorldServer) iterator.next();
|
|
||||||
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
|
|
||||||
+ worldserver.hasEntityMoveEvent = net.pl3x.purpur.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur
|
|
||||||
TileEntityHopper.skipHopperEvents = worldserver.paperConfig.disableHopperMoveEvents || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper
|
|
||||||
|
|
||||||
this.methodProfiler.a(() -> {
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
|
||||||
index efe2a9ad2ece23bd71f4ad63b2c6f54f42345b55..2315c71465e4c1ea00a4c355b43de1e3fb0ca995 100644
|
|
||||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
|
||||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
|
||||||
@@ -101,6 +101,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
|
||||||
public final Convertable.ConversionSession convertable;
|
|
||||||
public final UUID uuid;
|
|
||||||
boolean hasPhysicsEvent = true; // Paper
|
|
||||||
+ boolean hasEntityMoveEvent = false; // Purpur
|
|
||||||
private static Throwable getAddToWorldStackTrace(Entity entity) {
|
|
||||||
return new Throwable(entity + " Added to world at " + new java.util.Date());
|
|
||||||
}
|
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
index 72eb4a207f67fbbeffa4ad44ead8dec176863c72..ca4cecece1b321e8f81fd63d40b27ef3a2f64e5d 100644
|
index af4fb76d000594229e0c0dfdcde48fbafc087de0..5e157aabc8326a32a6a1825fef0f9813b5abe8f6 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
@@ -150,6 +150,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -151,6 +151,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
this.canPickUpLoot = true;
|
this.canPickUpLoot = true;
|
||||||
this.maxHealthCache = this.getMaxHealth();
|
this.maxHealthCache = this.getMaxHealth();
|
||||||
this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper
|
this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper
|
||||||
@@ -17,7 +17,7 @@ index 72eb4a207f67fbbeffa4ad44ead8dec176863c72..ca4cecece1b321e8f81fd63d40b27ef3
|
|||||||
}
|
}
|
||||||
// Paper start
|
// Paper start
|
||||||
public BlockPosition getPointInFront(double inFront) {
|
public BlockPosition getPointInFront(double inFront) {
|
||||||
@@ -991,6 +993,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -992,6 +994,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ index 72eb4a207f67fbbeffa4ad44ead8dec176863c72..ca4cecece1b321e8f81fd63d40b27ef3
|
|||||||
@Override
|
@Override
|
||||||
public boolean damageEntity(DamageSource damagesource, float f) {
|
public boolean damageEntity(DamageSource damagesource, float f) {
|
||||||
if (this.isInvulnerable(damagesource)) {
|
if (this.isInvulnerable(damagesource)) {
|
||||||
@@ -998,7 +1006,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -999,7 +1007,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
} else {
|
} else {
|
||||||
boolean flag = this.server.j() && this.canPvP() && "fall".equals(damagesource.translationIndex);
|
boolean flag = this.server.j() && this.canPvP() && "fall".equals(damagesource.translationIndex);
|
||||||
|
|
||||||
@@ -39,7 +39,7 @@ index 72eb4a207f67fbbeffa4ad44ead8dec176863c72..ca4cecece1b321e8f81fd63d40b27ef3
|
|||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
if (damagesource instanceof EntityDamageSource) {
|
if (damagesource instanceof EntityDamageSource) {
|
||||||
@@ -1174,6 +1182,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -1175,6 +1183,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ index 72eb4a207f67fbbeffa4ad44ead8dec176863c72..ca4cecece1b321e8f81fd63d40b27ef3
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2327,9 +2336,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -2345,9 +2354,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isFrozen() { // Paper - protected > public
|
public boolean isFrozen() { // Paper - protected > public
|
||||||
@@ -98,10 +98,10 @@ index 9f4f56c47ecd4b35ebf33ca0bf9a040074ababf2..565c938d879940d8e12fe320ea8524d2
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
index 7582a3a0955db2bc79daeced8e9c869f4276815a..7d9027d881e6e3eb0d1f8478ac7a1501dc5dec1d 100644
|
index 8a5e2806e68e5f4431fd9563fae780861e87632f..3936741bb8c1b3ad766d651e4bb8c9f5ddbe4f08 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
@@ -949,6 +949,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -950,6 +950,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
return f;
|
return f;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -109,7 +109,7 @@ index 7582a3a0955db2bc79daeced8e9c869f4276815a..7d9027d881e6e3eb0d1f8478ac7a1501
|
|||||||
protected void a(DifficultyDamageScaler difficultydamagescaler) {
|
protected void a(DifficultyDamageScaler difficultydamagescaler) {
|
||||||
if (this.random.nextFloat() < 0.15F * difficultydamagescaler.d()) {
|
if (this.random.nextFloat() < 0.15F * difficultydamagescaler.d()) {
|
||||||
int i = this.random.nextInt(2);
|
int i = this.random.nextInt(2);
|
||||||
@@ -1056,6 +1057,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -1057,6 +1058,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -118,10 +118,10 @@ index 7582a3a0955db2bc79daeced8e9c869f4276815a..7d9027d881e6e3eb0d1f8478ac7a1501
|
|||||||
float f = difficultydamagescaler.d();
|
float f = difficultydamagescaler.d();
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
index fdc0df2b08a586a584f9cfd0075aa68f129e4055..f975fcf0acd80a0a6bdf9bd6fe5b15c013e4f09f 100644
|
index 59699bb23a189b7e53737b2f8f5263608a64109c..8ebfc9b8cf82ba914d5e56aca330033f176be334 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
@@ -165,6 +165,7 @@ public abstract class EntityLiving extends Entity {
|
@@ -166,6 +166,7 @@ public abstract class EntityLiving extends Entity {
|
||||||
this.activeItem = ItemStack.b;
|
this.activeItem = ItemStack.b;
|
||||||
this.by = Optional.empty();
|
this.by = Optional.empty();
|
||||||
this.attributeMap = new AttributeMapBase(AttributeDefaults.a(entitytypes));
|
this.attributeMap = new AttributeMapBase(AttributeDefaults.a(entitytypes));
|
||||||
@@ -129,7 +129,7 @@ index fdc0df2b08a586a584f9cfd0075aa68f129e4055..f975fcf0acd80a0a6bdf9bd6fe5b15c0
|
|||||||
this.craftAttributes = new CraftAttributeMap(attributeMap); // CraftBukkit
|
this.craftAttributes = new CraftAttributeMap(attributeMap); // CraftBukkit
|
||||||
// CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor
|
// CraftBukkit - setHealth(getMaxHealth()) inlined and simplified to skip the instanceof check for EntityPlayer, as getBukkitEntity() is not initialized in constructor
|
||||||
this.datawatcher.set(EntityLiving.HEALTH, (float) this.getAttributeInstance(GenericAttributes.MAX_HEALTH).getValue());
|
this.datawatcher.set(EntityLiving.HEALTH, (float) this.getAttributeInstance(GenericAttributes.MAX_HEALTH).getValue());
|
||||||
@@ -180,6 +181,8 @@ public abstract class EntityLiving extends Entity {
|
@@ -181,6 +182,8 @@ public abstract class EntityLiving extends Entity {
|
||||||
this.bg = this.a(new Dynamic(dynamicopsnbt, dynamicopsnbt.createMap((Map) ImmutableMap.of(dynamicopsnbt.createString("memories"), dynamicopsnbt.emptyMap()))));
|
this.bg = this.a(new Dynamic(dynamicopsnbt, dynamicopsnbt.createMap((Map) ImmutableMap.of(dynamicopsnbt.createString("memories"), dynamicopsnbt.emptyMap()))));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -138,7 +138,7 @@ index fdc0df2b08a586a584f9cfd0075aa68f129e4055..f975fcf0acd80a0a6bdf9bd6fe5b15c0
|
|||||||
public BehaviorController<?> getBehaviorController() {
|
public BehaviorController<?> getBehaviorController() {
|
||||||
return this.bg;
|
return this.bg;
|
||||||
}
|
}
|
||||||
@@ -2171,7 +2174,7 @@ public abstract class EntityLiving extends Entity {
|
@@ -2179,7 +2182,7 @@ public abstract class EntityLiving extends Entity {
|
||||||
this.enderTeleportTo(vec3d.x, vec3d.y, vec3d.z);
|
this.enderTeleportTo(vec3d.x, vec3d.y, vec3d.z);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Zombie horse naturally spawn
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
index 2315c71465e4c1ea00a4c355b43de1e3fb0ca995..2f41a537fb1d8348b5f65a3e85da841761311744 100644
|
index e99c3ad507f1381c9aa495052d2014ba8b7e0750..49ae8bd50810473d121e786a06a813b777909904 100644
|
||||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||||
@@ -996,12 +996,18 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
@@ -996,12 +996,18 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||||
@@ -110,10 +110,10 @@ index 42e6761c8b18b79ffd3f4d5e853ea87a2c153c23..cfb009c811bd2908d38da1b0007cb7aa
|
|||||||
public EntityCow createChild(WorldServer worldserver, EntityAgeable entityageable) {
|
public EntityCow createChild(WorldServer worldserver, EntityAgeable entityageable) {
|
||||||
return (EntityCow) EntityTypes.COW.a((World) worldserver);
|
return (EntityCow) EntityTypes.COW.a((World) worldserver);
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
index f975fcf0acd80a0a6bdf9bd6fe5b15c013e4f09f..403bac8d8f921eab4bc0d60fb082eadd6996602b 100644
|
index 8ebfc9b8cf82ba914d5e56aca330033f176be334..ac9ac19c265e4be440531656a109b0468864637e 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
@@ -80,7 +80,7 @@ public abstract class EntityLiving extends Entity {
|
@@ -81,7 +81,7 @@ public abstract class EntityLiving extends Entity {
|
||||||
public int maxNoDamageTicks;
|
public int maxNoDamageTicks;
|
||||||
public final float ay;
|
public final float ay;
|
||||||
public final float az;
|
public final float az;
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Signs allow color codes
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
index ca4cecece1b321e8f81fd63d40b27ef3a2f64e5d..24609591526a1f73c3b24ea3f3c47842d09dd870 100644
|
index 5e157aabc8326a32a6a1825fef0f9813b5abe8f6..c533c24aefa6693dd5c11d690930327c5d7a8802 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
@@ -1434,6 +1434,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -1452,6 +1452,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void openSign(TileEntitySign tileentitysign) {
|
public void openSign(TileEntitySign tileentitysign) {
|
||||||
@@ -22,10 +22,10 @@ index 2291135eaef64c403183724cb6e413cd7e472672..bc61aaff65a7dc1e7534452b285953b8
|
|||||||
super(i, j, k);
|
super(i, j, k);
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
index 403bac8d8f921eab4bc0d60fb082eadd6996602b..49ba80902868574c6f4efcc3f80ad46fb762e4be 100644
|
index ac9ac19c265e4be440531656a109b0468864637e..4e2149b422a643bd30c8d8d13adc9e5f5f2a8cca 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
@@ -98,9 +98,9 @@ public abstract class EntityLiving extends Entity {
|
@@ -99,9 +99,9 @@ public abstract class EntityLiving extends Entity {
|
||||||
protected int aO;protected int getKillCount() { return this.aO; } // Paper - OBFHELPER
|
protected int aO;protected int getKillCount() { return this.aO; } // Paper - OBFHELPER
|
||||||
public float lastDamage;
|
public float lastDamage;
|
||||||
public boolean jumping; // Paper protected -> public
|
public boolean jumping; // Paper protected -> public
|
||||||
@@ -106,10 +106,10 @@ index 022dfdc5b6af4b243e7e4da8660e8e41d04e1a30..298af30b1a7f12d42216fc1b7ee801fd
|
|||||||
this.move(EnumMoveType.SELF, this.getMot());
|
this.move(EnumMoveType.SELF, this.getMot());
|
||||||
if (!this.onGround) {
|
if (!this.onGround) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
index 24609591526a1f73c3b24ea3f3c47842d09dd870..b97c2e41424efdc2d7f1684a4e64619b1dbb005a 100644
|
index c533c24aefa6693dd5c11d690930327c5d7a8802..26237522deb4495df374d144335a0034ba046762 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
@@ -1004,6 +1004,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -1005,6 +1005,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
if (this.isInvulnerable(damagesource)) {
|
if (this.isInvulnerable(damagesource)) {
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Disable loot drops on death by cramming
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
index 49ba80902868574c6f4efcc3f80ad46fb762e4be..04bfc8cabaf0ffdb6834e01ae02cbd7b46cb4c4a 100644
|
index 4e2149b422a643bd30c8d8d13adc9e5f5f2a8cca..762f65d7e12c020f4acdc8a0a9a102997442a45e 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
@@ -1493,8 +1493,10 @@ public abstract class EntityLiving extends Entity {
|
@@ -1501,8 +1501,10 @@ public abstract class EntityLiving extends Entity {
|
||||||
|
|
||||||
this.dropInventory(); // CraftBukkit - from below
|
this.dropInventory(); // CraftBukkit - from below
|
||||||
if (this.cW() && this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
|
if (this.cW() && this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Players should not cram to death
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
index b97c2e41424efdc2d7f1684a4e64619b1dbb005a..e36bfda9be9874eaa5dfd6886d2bb8b9be5adbfa 100644
|
index 26237522deb4495df374d144335a0034ba046762..41f9b0b905fd79a9c570be601048f817aba64bbd 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||||
@@ -1411,7 +1411,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
@@ -1429,7 +1429,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean isInvulnerable(DamageSource damagesource) {
|
public boolean isInvulnerable(DamageSource damagesource) {
|
||||||
@@ -17,10 +17,10 @@ index 4ed4f31c8e34279f9aa9fd7bbddbb36239ea36ef..f18941c7c740959181b728ab9da06c7e
|
|||||||
|
|
||||||
public void f(double d0, double d1, double d2) {
|
public void f(double d0, double d1, double d2) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
index 04bfc8cabaf0ffdb6834e01ae02cbd7b46cb4c4a..dc054574289cde53acc9eef34ac1d7c89b789d34 100644
|
index 762f65d7e12c020f4acdc8a0a9a102997442a45e..1ae5ac6ae52a2687469dfce547b53949f15adb28 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
@@ -2492,7 +2492,7 @@ public abstract class EntityLiving extends Entity {
|
@@ -2500,7 +2500,7 @@ public abstract class EntityLiving extends Entity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index d79cf993cdadfe7fadd6c7e65b9fc691a298c702..942f556eca32ce13c6b3490ef0d6f9e960a36d06 100644
|
index 64cd02072536e69cd219932769bbade87b47601a..b795128c5a69f65883fdd318a8a5b2a65512bb16 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1002,7 +1002,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -1003,7 +1003,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
this.a(this::canSleepForTick);
|
this.a(this::canSleepForTick);
|
||||||
this.methodProfiler.exitEnter("nextTickWait");
|
this.methodProfiler.exitEnter("nextTickWait");
|
||||||
this.X = true;
|
this.X = true;
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Entities pick up loot bypass mob-griefing gamerule
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
index 7d9027d881e6e3eb0d1f8478ac7a1501dc5dec1d..72d07fd593dd9459b3ce1c238a02f3839d2e097b 100644
|
index 3936741bb8c1b3ad766d651e4bb8c9f5ddbe4f08..ac6460d261014bb4b9878c96e4b447f7a471752d 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
@@ -545,7 +545,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -546,7 +546,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
public void movementTick() {
|
public void movementTick() {
|
||||||
super.movementTick();
|
super.movementTick();
|
||||||
this.world.getMethodProfiler().enter("looting");
|
this.world.getMethodProfiler().enter("looting");
|
||||||
@@ -5,17 +5,17 @@ Subject: [PATCH] Allow leashing villagers
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
index 72d07fd593dd9459b3ce1c238a02f3839d2e097b..de891e39c02ac6fbb87044d31b3eeabac1e78865 100644
|
index ac6460d261014bb4b9878c96e4b447f7a471752d..fe721a8aac68c07476ad44244f00dc5e1ac9c02f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
@@ -1146,6 +1146,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -1147,6 +1147,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
if (!this.isAlive()) {
|
if (!this.isAlive()) {
|
||||||
return EnumInteractionResult.PASS;
|
return EnumInteractionResult.PASS;
|
||||||
} else if (this.getLeashHolder() == entityhuman) {
|
} else if (this.getLeashHolder() == entityhuman) {
|
||||||
+ if (enumhand == EnumHand.OFF_HAND && (world.purpurConfig.villagerCanBeLeashed || world.purpurConfig.villagerTraderCanBeLeashed) && this instanceof EntityVillagerAbstract) return EnumInteractionResult.CONSUME; // Purpur
|
+ if (enumhand == EnumHand.OFF_HAND && (world.purpurConfig.villagerCanBeLeashed || world.purpurConfig.villagerTraderCanBeLeashed) && this instanceof EntityVillagerAbstract) return EnumInteractionResult.CONSUME; // Purpur
|
||||||
// CraftBukkit start - fire PlayerUnleashEntityEvent
|
// CraftBukkit start - fire PlayerUnleashEntityEvent
|
||||||
if (CraftEventFactory.callPlayerUnleashEntityEvent(this, entityhuman).isCancelled()) {
|
// Paper start - drop leash variable
|
||||||
((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutAttachEntity(this, this.getLeashHolder()));
|
PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(this, entityhuman, !entityhuman.abilities.canInstantlyBuild);
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
|
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||||
index 1cde71b812c7721298e7addb74de01e4ea297499..e4aedb3df5d0a47b5bb9175627aa794fc1779639 100644
|
index 1cde71b812c7721298e7addb74de01e4ea297499..e4aedb3df5d0a47b5bb9175627aa794fc1779639 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add player death exp control options
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||||
index f15ec5c45d95c6828ed628451917ac3426a76f1f..0ef020972494181a87c86f95aec7a4302e243f16 100644
|
index e0cf2af8fcbfc66fc32aa8e693b62160b24f8672..093df82d49bfa6c34f081a719b5212ec8a312657 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||||
@@ -85,6 +85,8 @@ public abstract class EntityHuman extends EntityLiving {
|
@@ -83,6 +83,8 @@ public abstract class EntityHuman extends EntityLiving {
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|
||||||
// Purpur start
|
// Purpur start
|
||||||
@@ -17,7 +17,7 @@ index f15ec5c45d95c6828ed628451917ac3426a76f1f..0ef020972494181a87c86f95aec7a430
|
|||||||
public void setAfk(boolean setAfk){
|
public void setAfk(boolean setAfk){
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1716,9 +1718,18 @@ public abstract class EntityHuman extends EntityLiving {
|
@@ -1697,9 +1699,18 @@ public abstract class EntityHuman extends EntityLiving {
|
||||||
@Override
|
@Override
|
||||||
protected int getExpValue(EntityHuman entityhuman) {
|
protected int getExpValue(EntityHuman entityhuman) {
|
||||||
if (!this.world.getGameRules().getBoolean(GameRules.KEEP_INVENTORY) && !this.isSpectator()) {
|
if (!this.world.getGameRules().getBoolean(GameRules.KEEP_INVENTORY) && !this.isSpectator()) {
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Dispenser curse of binding protection
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
index de891e39c02ac6fbb87044d31b3eeabac1e78865..c9791be9385c83c8ab626ff3661b0c6cb45822ad 100644
|
index fe721a8aac68c07476ad44244f00dc5e1ac9c02f..21f94651fcb47103b12806d456417882e7f84dcd 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
@@ -995,6 +995,13 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -996,6 +996,13 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add 5 second tps average in /tps
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
index 942f556eca32ce13c6b3490ef0d6f9e960a36d06..e16f120544ad46995dcf695849d3634c575d65a5 100644
|
index b795128c5a69f65883fdd318a8a5b2a65512bb16..1296d06bd7c4abb3a43679e382e833199b5b54a2 100644
|
||||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -162,7 +162,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -163,7 +163,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
public static final int TPS = 20;
|
public static final int TPS = 20;
|
||||||
public static final int TICK_TIME = 1000000000 / TPS;
|
public static final int TICK_TIME = 1000000000 / TPS;
|
||||||
private static final int SAMPLE_INTERVAL = 20; // Paper
|
private static final int SAMPLE_INTERVAL = 20; // Paper
|
||||||
@@ -17,7 +17,7 @@ index 942f556eca32ce13c6b3490ef0d6f9e960a36d06..e16f120544ad46995dcf695849d3634c
|
|||||||
public boolean lagging = false; // Purpur
|
public boolean lagging = false; // Purpur
|
||||||
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
|
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
|
||||||
// Spigot end
|
// Spigot end
|
||||||
@@ -885,6 +885,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -886,6 +886,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
|
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
|
||||||
private long lastTick = 0;
|
private long lastTick = 0;
|
||||||
private long catchupTime = 0;
|
private long catchupTime = 0;
|
||||||
@@ -25,7 +25,7 @@ index 942f556eca32ce13c6b3490ef0d6f9e960a36d06..e16f120544ad46995dcf695849d3634c
|
|||||||
public final RollingAverage tps1 = new RollingAverage(60);
|
public final RollingAverage tps1 = new RollingAverage(60);
|
||||||
public final RollingAverage tps5 = new RollingAverage(60 * 5);
|
public final RollingAverage tps5 = new RollingAverage(60 * 5);
|
||||||
public final RollingAverage tps15 = new RollingAverage(60 * 15);
|
public final RollingAverage tps15 = new RollingAverage(60 * 15);
|
||||||
@@ -977,13 +978,17 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
@@ -978,13 +979,17 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||||
{
|
{
|
||||||
final long diff = curTime - tickSection;
|
final long diff = curTime - tickSection;
|
||||||
java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
|
java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement elytra settings
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
index dc054574289cde53acc9eef34ac1d7c89b789d34..878199d01161953811d535ae49c817c82adf9776 100644
|
index 1ae5ac6ae52a2687469dfce547b53949f15adb28..ba678ad67d1a48724738a71e1ff3b4e85b672f2c 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||||
@@ -2850,7 +2850,16 @@ public abstract class EntityLiving extends Entity {
|
@@ -2858,7 +2858,16 @@ public abstract class EntityLiving extends Entity {
|
||||||
if (itemstack.getItem() == Items.ELYTRA && ItemElytra.d(itemstack)) {
|
if (itemstack.getItem() == Items.ELYTRA && ItemElytra.d(itemstack)) {
|
||||||
flag = true;
|
flag = true;
|
||||||
if (!this.world.isClientSide && (this.be + 1) % 20 == 0) {
|
if (!this.world.isClientSide && (this.be + 1) % 20 == 0) {
|
||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Entity lifespan
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
index c9791be9385c83c8ab626ff3661b0c6cb45822ad..c2144f78c24f015775a00b1c82de645e0e2c153a 100644
|
index 21f94651fcb47103b12806d456417882e7f84dcd..16a1e55bd01d0616ff04da6b1eb3e7f4f2157ae1 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||||
@@ -53,7 +53,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -54,7 +54,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
private NBTTagCompound by;
|
private NBTTagCompound by;
|
||||||
private BlockPosition bz;
|
private BlockPosition bz;
|
||||||
private float bA;
|
private float bA;
|
||||||
@@ -17,7 +17,7 @@ index c9791be9385c83c8ab626ff3661b0c6cb45822ad..c2144f78c24f015775a00b1c82de645e
|
|||||||
public boolean aware = true; // CraftBukkit
|
public boolean aware = true; // CraftBukkit
|
||||||
|
|
||||||
protected EntityInsentient(EntityTypes<? extends EntityInsentient> entitytypes, World world) {
|
protected EntityInsentient(EntityTypes<? extends EntityInsentient> entitytypes, World world) {
|
||||||
@@ -205,6 +205,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -206,6 +206,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
entityliving = null;
|
entityliving = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -25,7 +25,7 @@ index c9791be9385c83c8ab626ff3661b0c6cb45822ad..c2144f78c24f015775a00b1c82de645e
|
|||||||
this.goalTarget = entityliving;
|
this.goalTarget = entityliving;
|
||||||
return true;
|
return true;
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
@@ -249,10 +250,35 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -250,10 +251,35 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
this.m();
|
this.m();
|
||||||
this.F();
|
this.F();
|
||||||
}
|
}
|
||||||
@@ -62,7 +62,7 @@ index c9791be9385c83c8ab626ff3661b0c6cb45822ad..c2144f78c24f015775a00b1c82de645e
|
|||||||
@Override
|
@Override
|
||||||
protected void c(DamageSource damagesource) {
|
protected void c(DamageSource damagesource) {
|
||||||
this.m();
|
this.m();
|
||||||
@@ -426,6 +452,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -427,6 +453,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
}
|
}
|
||||||
|
|
||||||
nbttagcompound.setBoolean("Bukkit.Aware", this.aware); // CraftBukkit
|
nbttagcompound.setBoolean("Bukkit.Aware", this.aware); // CraftBukkit
|
||||||
@@ -70,7 +70,7 @@ index c9791be9385c83c8ab626ff3661b0c6cb45822ad..c2144f78c24f015775a00b1c82de645e
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -496,6 +523,11 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -497,6 +524,11 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
this.aware = nbttagcompound.getBoolean("Bukkit.Aware");
|
this.aware = nbttagcompound.getBoolean("Bukkit.Aware");
|
||||||
}
|
}
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
@@ -82,7 +82,7 @@ index c9791be9385c83c8ab626ff3661b0c6cb45822ad..c2144f78c24f015775a00b1c82de645e
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -1543,7 +1575,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
@@ -1553,7 +1585,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||||
this.a((EntityLiving) this, entity);
|
this.a((EntityLiving) this, entity);
|
||||||
this.z(entity);
|
this.z(entity);
|
||||||
}
|
}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user