mirror of
https://github.com/YatopiaMC/Yatopia.git
synced 2024-11-22 02:25:51 +01:00
Merge https://github.com/YatopiaMC/Yatopia into ver/1.16.5
This commit is contained in:
commit
0f61e1afee
@ -67,6 +67,7 @@ # Patches
|
||||
| server | Add wither skeleton takes wither damage option | William Blake Galbreath | |
|
||||
| server | Advancement API | William Blake Galbreath | |
|
||||
| api | Advancement API | William Blake Galbreath | |
|
||||
| server | Airplane Configuration | Paul Sauve | |
|
||||
| server | Airplane MC Dev Fixes | Paul Sauve | |
|
||||
| server | Allow Entities to be removed from a world while ticking | Spottedleaf | |
|
||||
| server | Allow anvil colors | William Blake Galbreath | |
|
||||
@ -149,6 +150,7 @@ # Patches
|
||||
| server | Don't wake up entities when damage event is cancelled | Phoenix616 | |
|
||||
| server | Dont send useless entity packets | William Blake Galbreath | |
|
||||
| server | Duplicate paper's vanilla scoreboard colors patch to sync | William Blake Galbreath | |
|
||||
| server | Dynamic activation range | Paul Sauve | |
|
||||
| server | EMC - Configurable disable give dropping | Aikar | |
|
||||
| server | EMC - MonsterEggSpawnEvent | Aikar | |
|
||||
| api | EMC - MonsterEggSpawnEvent | Aikar | |
|
||||
|
2
Paper
2
Paper
@ -1 +1 @@
|
||||
Subproject commit 0514fc4e2d2805cd0263a0ee053b482b4c454c69
|
||||
Subproject commit 3dadd97bbc9f622c62c5a6d885fe9453a003cbe6
|
@ -0,0 +1,301 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Sauve <paul@technove.co>
|
||||
Date: Wed, 20 Jan 2021 13:08:53 -0600
|
||||
Subject: [PATCH] Airplane Configuration
|
||||
|
||||
Airplane
|
||||
Copyright (C) 2020 Technove LLC
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/src/main/java/gg/airplane/AirplaneConfig.java b/src/main/java/gg/airplane/AirplaneConfig.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..4feb9686f45ce4ae9f474447496b8e0f6fcb7e31
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/gg/airplane/AirplaneConfig.java
|
||||
@@ -0,0 +1,46 @@
|
||||
+package gg.airplane;
|
||||
+
|
||||
+import gg.airplane.manual.ManualParser;
|
||||
+import net.minecraft.server.MinecraftServer;
|
||||
+import org.apache.logging.log4j.Level;
|
||||
+
|
||||
+import java.io.File;
|
||||
+import java.io.IOException;
|
||||
+import java.lang.reflect.Method;
|
||||
+import java.lang.reflect.Modifier;
|
||||
+
|
||||
+public class AirplaneConfig {
|
||||
+
|
||||
+ private static ManualParser manual;
|
||||
+
|
||||
+ public static void load() {
|
||||
+ try {
|
||||
+ manual = new ManualParser(new File("airplane.air"));
|
||||
+ } catch (IOException e) {
|
||||
+ e.printStackTrace();
|
||||
+ }
|
||||
+
|
||||
+ manual.get("info.version", "1.0");
|
||||
+ manual.setComment("info",
|
||||
+ " Airplane Configuration",
|
||||
+ " Please see https://airplane.gg/config for help.");
|
||||
+
|
||||
+ for (Method method : AirplaneConfig.class.getDeclaredMethods()) {
|
||||
+ if (Modifier.isStatic(method.getModifiers()) && Modifier.isPrivate(method.getModifiers())) {
|
||||
+ method.setAccessible(true);
|
||||
+ try {
|
||||
+ method.invoke(null);
|
||||
+ } catch (Throwable t) {
|
||||
+ MinecraftServer.LOGGER.log(Level.WARN, "Failed to load configuration option from " + method.getName(), t);
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ try {
|
||||
+ manual.save();
|
||||
+ } catch (IOException e) {
|
||||
+ e.printStackTrace();
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+}
|
||||
diff --git a/src/main/java/gg/airplane/manual/ManualParser.java b/src/main/java/gg/airplane/manual/ManualParser.java
|
||||
new file mode 100644
|
||||
index 0000000000000000000000000000000000000000..ace29adb0f140d99a8d85ac824654beded4bf5b8
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/gg/airplane/manual/ManualParser.java
|
||||
@@ -0,0 +1,210 @@
|
||||
+package gg.airplane.manual;
|
||||
+
|
||||
+import java.io.BufferedReader;
|
||||
+import java.io.BufferedWriter;
|
||||
+import java.io.File;
|
||||
+import java.io.FileReader;
|
||||
+import java.io.FileWriter;
|
||||
+import java.io.IOException;
|
||||
+import java.util.ArrayList;
|
||||
+import java.util.Arrays;
|
||||
+import java.util.LinkedHashMap;
|
||||
+import java.util.List;
|
||||
+import java.util.Map;
|
||||
+import java.util.TreeMap;
|
||||
+
|
||||
+// todo make this cleaner and more ergonomic to use
|
||||
+// also probably needs lists eventually
|
||||
+public class ManualParser {
|
||||
+
|
||||
+ private final File file;
|
||||
+ private final Map<String, Section> sections = new LinkedHashMap<>();
|
||||
+
|
||||
+ private static class ManualObject {
|
||||
+ public final String key;
|
||||
+ public final List<String> comments;
|
||||
+
|
||||
+ private ManualObject(String key, List<String> comments) {
|
||||
+ this.key = key;
|
||||
+ this.comments = comments == null ? new ArrayList<>() : comments;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private static class Section extends ManualObject {
|
||||
+ public final Map<String, Value> values;
|
||||
+
|
||||
+ private Section(String key, List<String> comments) {
|
||||
+ super(key, comments);
|
||||
+ this.values = new LinkedHashMap<>();
|
||||
+ }
|
||||
+
|
||||
+ public void add(String key, Value value) {
|
||||
+ this.values.put(key, value);
|
||||
+ value.parent = this;
|
||||
+ }
|
||||
+
|
||||
+ public Value get(String key) {
|
||||
+ return this.values.computeIfAbsent(key, k -> {
|
||||
+ Value value = new Value(k, null, null);
|
||||
+ value.parent = this;
|
||||
+ return value;
|
||||
+ });
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private static class Value extends ManualObject {
|
||||
+ public Object value;
|
||||
+ public Section parent;
|
||||
+
|
||||
+ private Value(String key, Object value, List<String> comments) {
|
||||
+ super(key, comments);
|
||||
+ this.value = value;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ public ManualParser(File file) throws IOException {
|
||||
+ this.file = file;
|
||||
+
|
||||
+ if (!file.exists()) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
|
||||
+ Section currentSection = null;
|
||||
+ List<String> currentComment = new ArrayList<>();
|
||||
+
|
||||
+ String line;
|
||||
+ while ((line = reader.readLine()) != null) {
|
||||
+ line = line.trim();
|
||||
+
|
||||
+ if (line.length() == 0) {
|
||||
+ continue; // empty line
|
||||
+ }
|
||||
+
|
||||
+ if (line.startsWith("#")) {
|
||||
+ currentComment.add(line.substring(1).trim());
|
||||
+ } else if (line.startsWith("[")) {
|
||||
+ if (!line.endsWith("]")) {
|
||||
+ throw new IllegalArgumentException("Invalid configuration, section '" + line + "' does not end with ]");
|
||||
+ }
|
||||
+ if (line.length() < 3) {
|
||||
+ throw new IllegalArgumentException("Invalid configuration, section '" + line + "' does not have a name");
|
||||
+ }
|
||||
+ String sectionName = line.substring(1, line.length() - 1);
|
||||
+ Section newSection = new Section(sectionName, currentComment);
|
||||
+ currentComment = new ArrayList<>();
|
||||
+ currentSection = newSection;
|
||||
+ this.sections.put(sectionName, newSection);
|
||||
+ } else {
|
||||
+ if (currentSection == null) {
|
||||
+ throw new IllegalArgumentException("Invalid configuration, found value outside of section " + line);
|
||||
+ }
|
||||
+ int equals = line.indexOf("=");
|
||||
+ if (equals <= 1 || equals == line.length() - 1) {
|
||||
+ throw new IllegalArgumentException("Invalid configuration, assignment invalid " + line);
|
||||
+ }
|
||||
+
|
||||
+ String key = line.substring(0, equals).trim();
|
||||
+
|
||||
+ String value = line.substring(equals + 1).trim();
|
||||
+ if (value.length() == 0) {
|
||||
+ throw new IllegalArgumentException("Invalid configuration, value does not exist " + line);
|
||||
+ }
|
||||
+ if (value.startsWith("\"")) {
|
||||
+ if (!value.endsWith("\"")) {
|
||||
+ throw new IllegalArgumentException("Invalid configuration, value has no ending quote " + line);
|
||||
+ }
|
||||
+ String stringValue = value.substring(1, value.length() - 1);
|
||||
+ currentSection.add(key, new Value(key, stringValue, currentComment));
|
||||
+ } else if (Character.isDigit(value.charAt(0))) {
|
||||
+ if (value.contains(".")) {
|
||||
+ double doubleValue = Double.parseDouble(value);
|
||||
+ currentSection.add(key, new Value(key, doubleValue, currentComment));
|
||||
+ } else {
|
||||
+ int intValue = Integer.parseInt(value);
|
||||
+ currentSection.add(key, new Value(key, intValue, currentComment));
|
||||
+ }
|
||||
+ } else if (value.equals("true") || value.equals("false")) {
|
||||
+ boolean boolValue = Boolean.parseBoolean(value);
|
||||
+ currentSection.add(key, new Value(key, boolValue, currentComment));
|
||||
+ } else {
|
||||
+ throw new IllegalArgumentException("Invalid configuration, unknown type for " + line);
|
||||
+ }
|
||||
+ currentComment = new ArrayList<>();
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ public void save() throws IOException {
|
||||
+ try (BufferedWriter writer = new BufferedWriter(new FileWriter(this.file))) {
|
||||
+ for (Map.Entry<String, Section> entry : this.sections.entrySet()) {
|
||||
+ Section section = entry.getValue();
|
||||
+ if (section.comments != null) {
|
||||
+ for (String comment : section.comments) {
|
||||
+ writer.write("# " + comment + "\n");
|
||||
+ }
|
||||
+ }
|
||||
+ writer.write("[" + section.key + "]" + "\n");
|
||||
+ for (Value value : section.values.values()) {
|
||||
+ if (value.comments != null) {
|
||||
+ for (String comment : value.comments) {
|
||||
+ writer.write(" # " + comment + "\n");
|
||||
+ }
|
||||
+ }
|
||||
+ writer.write(" " + value.key + " = " + serialize(value.value) + "\n");
|
||||
+ }
|
||||
+ writer.write("\n");
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ private ManualObject getObject(String key) {
|
||||
+ String[] split = key.split("\\.", 2);
|
||||
+ if (split.length == 1) {
|
||||
+ return this.sections.computeIfAbsent(key, k -> new Section(k, null));
|
||||
+ }
|
||||
+ return this.sections.computeIfAbsent(split[0], k -> new Section(k, null)).get(split[1]);
|
||||
+ }
|
||||
+
|
||||
+ public void setComment(String key, String... comment) {
|
||||
+ ManualObject object = this.getObject(key);
|
||||
+ object.comments.clear();
|
||||
+ object.comments.addAll(Arrays.asList(comment));
|
||||
+ }
|
||||
+
|
||||
+ public <T> T get(String key, T defaultValue, String... comment) {
|
||||
+ String[] split = key.split("\\.", 2);
|
||||
+ if (split.length == 1) {
|
||||
+ throw new IllegalArgumentException("Key " + key + " does not include section");
|
||||
+ }
|
||||
+ Section section = this.sections.computeIfAbsent(split[0], k -> new Section(k, null));
|
||||
+ if (!section.values.containsKey(split[1])) {
|
||||
+ Value value = section.get(split[1]);
|
||||
+ value.value = defaultValue;
|
||||
+ value.comments.addAll(Arrays.asList(comment));
|
||||
+ return defaultValue;
|
||||
+ }
|
||||
+ Value value = section.get(split[1]);
|
||||
+ if (value.comments.isEmpty()) {
|
||||
+ value.comments.addAll(Arrays.asList(comment));
|
||||
+ }
|
||||
+ return (T) value.value;
|
||||
+ }
|
||||
+
|
||||
+ public void set(String key, Object value) {
|
||||
+ ManualObject object = getObject(key);
|
||||
+ if (!(object instanceof Value)) {
|
||||
+ throw new IllegalArgumentException("Invalid key for value " + key);
|
||||
+ }
|
||||
+ ((Value) object).value = value;
|
||||
+ }
|
||||
+
|
||||
+ private String serialize(Object object) {
|
||||
+ if (object instanceof String) {
|
||||
+ return "\"" + object + "\"";
|
||||
+ }
|
||||
+ return String.valueOf(object);
|
||||
+ }
|
||||
+
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
index 3ee8d31c453105eca7b96bede39a9ebbf40e1c2c..ca3d9dbcbeeb5059a942cae1a5020f0bcc59ac9c 100644
|
||||
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
@@ -179,6 +179,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // load version history now
|
||||
// Paper end
|
||||
com.tuinity.tuinity.config.TuinityConfig.init((java.io.File) options.valueOf("tuinity-settings")); // Tuinity - Server Config
|
||||
+ gg.airplane.AirplaneConfig.load(); // Airplane - config
|
||||
|
||||
this.setPVP(dedicatedserverproperties.pvp);
|
||||
this.setAllowFlight(dedicatedserverproperties.allowFlight);
|
@ -88,7 +88,7 @@ index 2e7721a650c5a351b3584665bd236f92ef577761..b3c2b461b2a654a9e37a57f2f62b3ba8
|
||||
return d0 == 0.0D ? 0 : (d0 > 0.0D ? 1 : -1);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 91aa8a2bc111ee6935ada0ae471fe1a3bc8fad80..0e6813601f082a9e81278cebbfadbaca5769802a 100644
|
||||
index 7c367fe6152c30aab3e53c8f88cceba606891c93..6e6059daba05d7ce3aabeed85cc0e0d2daa04f92 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -332,6 +332,91 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
@ -0,0 +1,251 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Paul Sauve <paul@technove.co>
|
||||
Date: Fri, 15 Jan 2021 19:05:01 -0600
|
||||
Subject: [PATCH] Dynamic activation range
|
||||
|
||||
This replaces the current method of ticking an inactive entity's
|
||||
pathfinder 1/4 times with a new method that's dynamic based off how far
|
||||
away it is from a player. If an entity is within 32 blocks, it gets
|
||||
ticked every tick. If it's within 45 blocks, it gets ticked every other
|
||||
tick. If it's within 55 blocks, it gets ticked once every three ticks.
|
||||
(these numbers have since been changed, but the idea is the same.)
|
||||
|
||||
Airplane
|
||||
Copyright (C) 2020 Technove LLC
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
diff --git a/src/main/java/gg/airplane/AirplaneConfig.java b/src/main/java/gg/airplane/AirplaneConfig.java
|
||||
index 4feb9686f45ce4ae9f474447496b8e0f6fcb7e31..c39c9929a251b41ab60e1509b4e6c90d0825dc0c 100644
|
||||
--- a/src/main/java/gg/airplane/AirplaneConfig.java
|
||||
+++ b/src/main/java/gg/airplane/AirplaneConfig.java
|
||||
@@ -43,4 +43,29 @@ public class AirplaneConfig {
|
||||
}
|
||||
}
|
||||
|
||||
+
|
||||
+ public static int maximumActivationPrio = 20;
|
||||
+ public static int activationDistanceMod = 9;
|
||||
+ public static boolean dynamicVillagerBehavior = true;
|
||||
+ public static boolean dynamicPiglinBehavior = true;
|
||||
+ public static boolean dynamicHoglinBehavior = true;
|
||||
+
|
||||
+ private static void dynamicActivationRange() {
|
||||
+ manual.setComment("activation-range", "Optimizes how entities act when", "they're far away from the player");
|
||||
+
|
||||
+ maximumActivationPrio = manual.get("activation-range.max-tick-freq", maximumActivationPrio,
|
||||
+ "This value defines how often in ticks, the furthest entity",
|
||||
+ "will get their pathfinders and behaviors ticked. 20 = 1s");
|
||||
+ activationDistanceMod = manual.get("activation-range.activation-dist-mod", activationDistanceMod,
|
||||
+ "This value defines how much distance modifies an entity's",
|
||||
+ "tick frequency. freq = (distanceToPlayer^2) / (2^value)",
|
||||
+ "If you want further away entities to tick less often, use 8.",
|
||||
+ "If you want further away entities to tick more often, try 10.");
|
||||
+
|
||||
+ manual.setComment("behavior-activation", "A list of entities to use the dynamic activation range", "to modify how often their behaviors are ticked");
|
||||
+ dynamicVillagerBehavior = manual.get("behavior-activation.villager", dynamicVillagerBehavior);
|
||||
+ dynamicPiglinBehavior = manual.get("behavior-activation.piglin", dynamicPiglinBehavior);
|
||||
+ dynamicHoglinBehavior = manual.get("behavior-activation.hoglin", dynamicHoglinBehavior);
|
||||
+ }
|
||||
+
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 63eb29635957d4e6ce1274ee17a59af62d442d4e..d74086ee72cfae3d2bead9fb08c808299d755e2a 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -197,6 +197,9 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
public void inactiveTick() { }
|
||||
// Spigot end
|
||||
public boolean shouldBeRemoved; // Paper
|
||||
+ // Airplane start
|
||||
+ public int activatedPriority = gg.airplane.AirplaneConfig.maximumActivationPrio; // golf score
|
||||
+ // Airplane end
|
||||
|
||||
public float getBukkitYaw() {
|
||||
return this.yaw;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHoglin.java b/src/main/java/net/minecraft/server/EntityHoglin.java
|
||||
index 4a3469aca9f9e47d2ea3f3bae6ce77f5f11d6b50..5af5b50889961b10e812598dbea657c4e2aeceeb 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHoglin.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHoglin.java
|
||||
@@ -102,13 +102,18 @@ public class EntityHoglin extends EntityAnimal implements IMonster, IOglin {
|
||||
return (BehaviorController<EntityHoglin>) super.getBehaviorController(); // Purpur - decompile error
|
||||
}
|
||||
|
||||
+ private int behaviorTick; // Airplane
|
||||
@Override
|
||||
protected void mobTick() {
|
||||
+ // Airplane - dynamic tick
|
||||
+ if (!gg.airplane.AirplaneConfig.dynamicHoglinBehavior || this.behaviorTick++ % this.activatedPriority == 0) {
|
||||
this.world.getMethodProfiler().enter("hoglinBrain");
|
||||
if (getRider() == null) // Purpur - only use brain if no rider
|
||||
this.getBehaviorController().a((WorldServer) this.world, this); // Purpur - decompile error
|
||||
this.world.getMethodProfiler().exit();
|
||||
HoglinAI.a(this);
|
||||
+ }
|
||||
+ // Airplane end
|
||||
if (this.isConverting()) {
|
||||
++this.conversionTicks;
|
||||
if (this.conversionTicks > 300) {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index dac0d2f9f4c8c909f0c03baa30c0565633d3af42..288e57fd58d5dfa91dce23e137ad078e455db4d3 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -133,10 +133,10 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@Override
|
||||
public void inactiveTick() {
|
||||
super.inactiveTick();
|
||||
- if (this.goalSelector.inactiveTick()) {
|
||||
+ if (this.goalSelector.inactiveTick(this.activatedPriority)) { // Airplane - pass activated priroity
|
||||
this.goalSelector.doTick();
|
||||
}
|
||||
- if (this.targetSelector.inactiveTick()) {
|
||||
+ if (this.targetSelector.inactiveTick(this.activatedPriority)) { // Airplane - pass activated priority
|
||||
this.targetSelector.doTick();
|
||||
}
|
||||
}
|
||||
@@ -797,9 +797,11 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
this.bo.a();
|
||||
this.world.getMethodProfiler().exit();
|
||||
this.world.getMethodProfiler().enter("targetSelector");
|
||||
+ if (this.targetSelector.inactiveTick(this.activatedPriority)) // Airplane - use this to alternate ticking
|
||||
this.targetSelector.doTick();
|
||||
this.world.getMethodProfiler().exit();
|
||||
this.world.getMethodProfiler().enter("goalSelector");
|
||||
+ if (this.goalSelector.inactiveTick(this.activatedPriority)) // Airplane - use this to alternate ticking
|
||||
this.goalSelector.doTick();
|
||||
this.world.getMethodProfiler().exit();
|
||||
this.world.getMethodProfiler().enter("navigation");
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPiglin.java b/src/main/java/net/minecraft/server/EntityPiglin.java
|
||||
index 4849829df1041568a9fcac6d16501fc0606d95da..2ac74751ac8cea0b829b3d0ed03f052162a78781 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPiglin.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPiglin.java
|
||||
@@ -216,13 +216,18 @@ public class EntityPiglin extends EntityPiglinAbstract implements ICrossbow {
|
||||
return !this.cannotHunt;
|
||||
}
|
||||
|
||||
+ private int behaviorTick; // Airplane
|
||||
@Override
|
||||
protected void mobTick() {
|
||||
+ // Airplane - dynamic tick
|
||||
+ if (!gg.airplane.AirplaneConfig.dynamicPiglinBehavior || this.behaviorTick++ % this.activatedPriority == 0) {
|
||||
this.world.getMethodProfiler().enter("piglinBrain");
|
||||
if (getRider() == null) // Purpur - only use brain if no rider
|
||||
this.getBehaviorController().a((WorldServer) this.world, this); // Purpur - decompile error
|
||||
this.world.getMethodProfiler().exit();
|
||||
PiglinAI.b(this);
|
||||
+ }
|
||||
+ // Airplane end
|
||||
super.mobTick();
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
index eef51f8e5734b897164ca9514e7b49b2678416e6..5fc57e2e2afe383ddc9b6d4db714a678c881fa77 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
@@ -212,6 +212,8 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
}
|
||||
// Purpur end
|
||||
|
||||
+ private int behaviorTick = 0;
|
||||
+
|
||||
@Override
|
||||
protected void mobTick() { mobTick(false); }
|
||||
protected void mobTick(boolean inactive) {
|
||||
@@ -221,7 +223,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
boolean tick = (world.getTime() + brainTickOffset) % world.purpurConfig.villagerBrainTicks == 0;
|
||||
if (((WorldServer) world).getMinecraftServer().lagging ? tick : world.purpurConfig.villagerUseBrainTicksOnlyWhenLagging || tick)
|
||||
// Purpur end
|
||||
- if (!inactive) this.getBehaviorController().a((WorldServer) this.world, this); // CraftBukkit - decompile error // Paper
|
||||
+ if (!inactive) {
|
||||
+ if (!gg.airplane.AirplaneConfig.dynamicVillagerBehavior || behaviorTick++ % this.activatedPriority == 0) {
|
||||
+ this.getBehaviorController().a((WorldServer) this.world, this); // CraftBukkit - decompile error // Paper
|
||||
+ }
|
||||
+ }
|
||||
else if (shouldRestock()) doRestock(); // Purpur
|
||||
this.world.getMethodProfiler().exit();
|
||||
if (this.bF) {
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalSelector.java b/src/main/java/net/minecraft/server/PathfinderGoalSelector.java
|
||||
index 9cad895c7d008487ce885cbcc2c3966645df4c19..2ce5e07f4dcd0c76073840c35be66b7c65c6e7e8 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalSelector.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalSelector.java
|
||||
@@ -43,9 +43,14 @@ public class PathfinderGoalSelector {
|
||||
}
|
||||
|
||||
// Paper start
|
||||
- public boolean inactiveTick() {
|
||||
- incRate();
|
||||
- return getCurRate() % getTickRate() == 0;
|
||||
+ public boolean inactiveTick(int tickRate) { // Airplane - take tick rate
|
||||
+ tickRate = Math.max(tickRate, getTickRate()); // Airplane
|
||||
+ if (this.curRate++ % tickRate != 0) { // Airplane - use tick rate / increment curRate every tick
|
||||
+ //incRate();
|
||||
+ return false;
|
||||
+ } else {
|
||||
+ return true;
|
||||
+ }
|
||||
}
|
||||
public boolean hasTasks() {
|
||||
for (PathfinderGoalWrapped task : getTasks()) {
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index 66b7c75929cd98737628b9d4f22829b5b65b8373..ea3d813759d90a6d229ca065abe044743be4780f 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
@@ -48,6 +48,9 @@ import net.minecraft.server.EntityInsentient;
|
||||
import net.minecraft.server.EntityLlama;
|
||||
import net.minecraft.server.EntityWaterAnimal;
|
||||
// Paper end
|
||||
+// Airplane start
|
||||
+import net.minecraft.server.Vec3D;
|
||||
+// Airplane end
|
||||
|
||||
public class ActivationRange
|
||||
{
|
||||
@@ -229,7 +232,7 @@ public class ActivationRange
|
||||
Chunk chunk = chunkProvider.getChunkAtIfLoadedMainThreadNoCache( i1, j1 ); // Paper
|
||||
if ( chunk != null )
|
||||
{
|
||||
- activateChunkEntities( chunk );
|
||||
+ activateChunkEntities( chunk, player.getPositionVector() ); // Airplane
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -242,7 +245,7 @@ public class ActivationRange
|
||||
*
|
||||
* @param chunk
|
||||
*/
|
||||
- private static void activateChunkEntities(Chunk chunk)
|
||||
+ private static void activateChunkEntities(Chunk chunk, Vec3D playerVec) // Airplane - add player location
|
||||
{
|
||||
// Paper start
|
||||
Entity[] rawData = chunk.entities.getRawData();
|
||||
@@ -251,11 +254,19 @@ public class ActivationRange
|
||||
//for ( Entity entity : (Collection<Entity>) slice )
|
||||
// Paper end
|
||||
{
|
||||
+ // Airplane start
|
||||
+ Vec3D entityVec = entity.getPositionVector();
|
||||
+ double diffX = playerVec.x - entityVec.x, diffY = playerVec.y - entityVec.y, diffZ = playerVec.z - entityVec.z;
|
||||
+ int priority = Math.max(1, (int) (diffX * diffX + diffY * diffY + diffZ * diffZ) >> gg.airplane.AirplaneConfig.activationDistanceMod);
|
||||
if (MinecraftServer.currentTick > entity.activatedTick) {
|
||||
if (entity.defaultActivationState || entity.activationType.boundingBox.c(entity.getBoundingBox())) { // Paper
|
||||
entity.activatedTick = MinecraftServer.currentTick;
|
||||
}
|
||||
+ entity.activatedPriority = Math.min(gg.airplane.AirplaneConfig.maximumActivationPrio, priority);
|
||||
+ } else {
|
||||
+ entity.activatedPriority = Math.min(gg.airplane.AirplaneConfig.maximumActivationPrio, Math.min(priority, entity.activatedPriority));
|
||||
}
|
||||
+ // Airplane end
|
||||
}
|
||||
}
|
||||
}
|
@ -90,10 +90,10 @@ index cb6f55c4d870ea1ce146f64ac13e7090f2de3bc8..f7b54111ba86d9ee131e320f573f568c
|
||||
if (this.world != null) BlockLectern.a(this.getWorld(), this.getPosition(), this.getBlock()); // CraftBukkit
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
index 53917d3b381730efb079113fdffecdc29939d6ea..37d71def297c3f34e9afc74821df6090f3737156 100644
|
||||
index 2318d19b21514effe28b4d21c0196c8f778d22db..a106069e9122313d73b0d23d689b0d1e70025cc8 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||
@@ -32,6 +32,7 @@ import net.minecraft.server.PacketPlayInCloseWindow;
|
||||
@@ -31,6 +31,7 @@ import net.minecraft.server.PacketPlayInCloseWindow;
|
||||
import net.minecraft.server.PacketPlayOutOpenWindow;
|
||||
import net.minecraft.server.TileEntity;
|
||||
import net.minecraft.server.TileEntityContainer;
|
||||
@ -101,7 +101,7 @@ index 53917d3b381730efb079113fdffecdc29939d6ea..37d71def297c3f34e9afc74821df6090
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.Material;
|
||||
@@ -300,6 +301,11 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
@@ -299,6 +300,11 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||
if (craft.getInventory() instanceof ITileInventory) {
|
||||
iinventory = (ITileInventory) craft.getInventory();
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ index 657885cdaa086293f6b5aa6f3058acd16df0ba35..8724ad342bec7c733b3c825bd62dbfa5
|
||||
|
||||
Block.a(iblockdata, iblockdata1, generatoraccess, blockposition_mutableblockposition, i, j);
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 0e6813601f082a9e81278cebbfadbaca5769802a..edd864a699c4fed0e7da4c3ca0d220a1029f3c63 100644
|
||||
index 6e6059daba05d7ce3aabeed85cc0e0d2daa04f92..ba8a8e7dc0d09d8afa405ef608ad6df1e507a62c 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -774,7 +774,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
|
@ -129,7 +129,7 @@ index 0000000000000000000000000000000000000000..fe7330fabe386966c2d203a190a00a78
|
||||
+}
|
||||
\ No newline at end of file
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index edd864a699c4fed0e7da4c3ca0d220a1029f3c63..e592ca980967804cf5ac9cbf2a917d584a23163b 100644
|
||||
index ba8a8e7dc0d09d8afa405ef608ad6df1e507a62c..7d0ea2c0f04578eb2c896aa6ea99ce26d8935478 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -97,6 +97,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@ -150,10 +150,10 @@ index edd864a699c4fed0e7da4c3ca0d220a1029f3c63..e592ca980967804cf5ac9cbf2a917d58
|
||||
this.chunkPacketBlockController = this.paperConfig.antiXray ? new ChunkPacketBlockControllerAntiXray(this, executor) : ChunkPacketBlockController.NO_OPERATION_INSTANCE; // Paper - Anti-Xray
|
||||
this.generator = gen;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 413c55feb6b1c2ddc80aa8dc1c83ed13b2c4c4a5..53deddce357170a712913d916ba1d58e663fc1a1 100644
|
||||
index dfe6777db04bb550ae0e761addd26b2d5abf3baf..48dd6de4acf0ef0536a4c562f3eb5f2f90878924 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -863,6 +863,7 @@ public final class CraftServer implements Server {
|
||||
@@ -862,6 +862,7 @@ public final class CraftServer implements Server {
|
||||
com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
|
||||
com.tuinity.tuinity.config.TuinityConfig.init((File) console.options.valueOf("tuinity-settings")); // Tuinity - Server Config
|
||||
net.pl3x.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur
|
||||
@ -161,7 +161,7 @@ index 413c55feb6b1c2ddc80aa8dc1c83ed13b2c4c4a5..53deddce357170a712913d916ba1d58e
|
||||
for (WorldServer world : console.getWorlds()) {
|
||||
world.worldDataServer.setDifficulty(config.difficulty);
|
||||
world.setSpawnFlags(config.spawnMonsters, config.spawnAnimals);
|
||||
@@ -899,6 +900,7 @@ public final class CraftServer implements Server {
|
||||
@@ -898,6 +899,7 @@ public final class CraftServer implements Server {
|
||||
world.paperConfig.init(); // Paper
|
||||
world.tuinityConfig.init(); // Tuinity - Server Config
|
||||
world.purpurConfig.init(); // Purpur
|
||||
|
@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack convenience methods
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
|
||||
index 4ba991b79f13219182df35b4ce0c5cf57cbd208b..a2e476f154344f9473dd9b48866505448de56d84 100644
|
||||
index 2a3becabbd10fa8ffd19f35a3f6d8a6bfcb388c3..f71c9fd069309ef330d9065760b80ec10de7e18b 100644
|
||||
--- a/src/main/java/org/bukkit/Material.java
|
||||
+++ b/src/main/java/org/bukkit/Material.java
|
||||
@@ -8645,4 +8645,36 @@ public enum Material implements Keyed {
|
||||
@@ -8642,4 +8642,36 @@ public enum Material implements Keyed {
|
||||
// </editor-fold>
|
||||
}
|
||||
}
|
||||
|
@ -182,10 +182,10 @@ index 0000000000000000000000000000000000000000..d8b408f061d96e2fa8e2e587462e2221
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index bd7bccbea1a0a052ef7bd6ab299ae72336874911..5100460bab83cd75ac8dcdcc50ea663b1c486d00 100644
|
||||
index 44524e08bed8897e43e408b6f179bf798fed9b62..19a209cfc71e30edd3ff2d8c319df5e8b331e6cf 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -232,7 +232,7 @@ import javax.annotation.Nullable; // Paper
|
||||
@@ -231,7 +231,7 @@ import javax.annotation.Nullable; // Paper
|
||||
import javax.annotation.Nonnull; // Paper
|
||||
|
||||
public final class CraftServer implements Server {
|
||||
|
@ -78,7 +78,7 @@ index de9ea6770b8afc5e1020bef04ac6cca93b6b420c..21d0570a59240e955ff148bac0226b22
|
||||
if (this.bF) {
|
||||
this.bF = false;
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 28ee325fcc8b50397768363403823f2e3391d8c8..fb650c09dbcefa0ff021f7c508ff6811a48bee7a 100644
|
||||
index 93c0c3376c3cb2fe416c8ae3e740ffda5f985b78..226b5cd399449ca3587964221765e4d241dfc739 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -95,6 +95,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@ -373,10 +373,10 @@ index 0000000000000000000000000000000000000000..4904be939c7a4b1d1583fd7b6232c930
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 5100460bab83cd75ac8dcdcc50ea663b1c486d00..b5d274c1fe214ea274057084bc40d6eeb618b21d 100644
|
||||
index 19a209cfc71e30edd3ff2d8c319df5e8b331e6cf..8cd8db287bb4110e17ec0da57ee1547ca1f221d7 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -862,6 +862,7 @@ public final class CraftServer implements Server {
|
||||
@@ -861,6 +861,7 @@ public final class CraftServer implements Server {
|
||||
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
|
||||
com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
|
||||
com.tuinity.tuinity.config.TuinityConfig.init((File) console.options.valueOf("tuinity-settings")); // Tuinity - Server Config
|
||||
@ -384,7 +384,7 @@ index 5100460bab83cd75ac8dcdcc50ea663b1c486d00..b5d274c1fe214ea274057084bc40d6ee
|
||||
for (WorldServer world : console.getWorlds()) {
|
||||
world.worldDataServer.setDifficulty(config.difficulty);
|
||||
world.setSpawnFlags(config.spawnMonsters, config.spawnAnimals);
|
||||
@@ -897,6 +898,7 @@ public final class CraftServer implements Server {
|
||||
@@ -896,6 +897,7 @@ public final class CraftServer implements Server {
|
||||
world.spigotConfig.init(); // Spigot
|
||||
world.paperConfig.init(); // Paper
|
||||
world.tuinityConfig.init(); // Tuinity - Server Config
|
||||
@ -392,7 +392,7 @@ index 5100460bab83cd75ac8dcdcc50ea663b1c486d00..b5d274c1fe214ea274057084bc40d6ee
|
||||
}
|
||||
|
||||
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
|
||||
@@ -915,6 +917,7 @@ public final class CraftServer implements Server {
|
||||
@@ -914,6 +916,7 @@ public final class CraftServer implements Server {
|
||||
reloadData();
|
||||
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
|
||||
com.destroystokyo.paper.PaperConfig.registerCommands(); // Paper
|
||||
|
@ -263,10 +263,10 @@ index 361f7857e461578e90cb71e15027dadaf794cb69..2578a4677d1ee060f687be531e696b7c
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 7c18b22c7b93b6ca1189e481dde17476797b8fd5..debf252a23d0178f06fdadb9c27c3c66b9bbc2d0 100644
|
||||
index ed7b91bf703c7e7d5cbe323d9ab1c299c33ebad1..e319f3b1282af8019ae706f46e3978e789fbc877 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2223,4 +2223,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2222,4 +2222,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
return spigot;
|
||||
}
|
||||
// Spigot end
|
||||
@ -289,10 +289,10 @@ index 7c18b22c7b93b6ca1189e481dde17476797b8fd5..debf252a23d0178f06fdadb9c27c3c66
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index 0b93635ba59df4eb4456a97c5e9b51ab5aeda53f..b47d6fa2de3368d1afe329573bc18c3541bb7377 100644
|
||||
index 6ade13fd88c381280f619daaa8d6b241c67dd9d9..f80526939be358ac46430f35f3fdc7f88038c262 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
@@ -207,6 +207,7 @@ public class ActivationRange
|
||||
@@ -205,6 +205,7 @@ public class ActivationRange
|
||||
{
|
||||
|
||||
player.activatedTick = MinecraftServer.currentTick;
|
||||
|
@ -17,10 +17,10 @@ index 65961a03728852bd75367083a0de6fd0082b17cb..780474397acb4d0e7ecb4540e1a2db57
|
||||
public final boolean spawnNpcs = this.getBoolean("spawn-npcs", true);
|
||||
public final boolean pvp = this.getBoolean("pvp", true);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index b5d274c1fe214ea274057084bc40d6eeb618b21d..43ee4f6ba778ceb0b34906ace86f0f12587a8e8d 100644
|
||||
index 8cd8db287bb4110e17ec0da57ee1547ca1f221d7..529f50aa6755c202ac2d3a6d0e4dfd38c4eaf6e8 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2450,4 +2450,11 @@ public final class CraftServer implements Server {
|
||||
@@ -2451,4 +2451,11 @@ public final class CraftServer implements Server {
|
||||
return mobGoals;
|
||||
}
|
||||
// Paper end
|
||||
|
@ -62,10 +62,10 @@ index 87b66c284208f12e9e7cd1c9950ada8d0fbf26a5..59699bb23a189b7e53737b2f8f526360
|
||||
|
||||
protected void playBlockStepSound() {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 16e69cfd4994fd6850ee3635ea819379412351c9..0292cae6225ae2ee156f436c8827a018e8ffa723 100644
|
||||
index c1350bbf62fc5c5e18509f378edf16e8b210cfe8..84aeffac2c2c12d98e9cec05314668a93bb5ed91 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -826,4 +826,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -833,4 +833,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
getHandle().setHurtDirection(hurtDirection);
|
||||
}
|
||||
// Paper end
|
||||
|
@ -41,10 +41,10 @@ index 4627261562a1482aecf4034b8717ecccc2dd9eb0..a34ed978596f1a466b0b48e7db92ac4f
|
||||
public static boolean enderChestSixRows = false;
|
||||
public static boolean enderChestPermissionRows = false;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 43ee4f6ba778ceb0b34906ace86f0f12587a8e8d..2ddf0e5589b6f45f502e6f675000fec361b186fe 100644
|
||||
index 529f50aa6755c202ac2d3a6d0e4dfd38c4eaf6e8..cb54a5c340a8f2b82668fc7b8e3beeb977cd3c80 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2456,5 +2456,10 @@ public final class CraftServer implements Server {
|
||||
@@ -2457,5 +2457,10 @@ public final class CraftServer implements Server {
|
||||
public String getServerName() {
|
||||
return getProperties().serverName;
|
||||
}
|
||||
|
@ -113,10 +113,10 @@ index 2578a4677d1ee060f687be531e696b7c7be89e84..c441fcea9b2b5a77b801c8a69541cf42
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index debf252a23d0178f06fdadb9c27c3c66b9bbc2d0..8a28c68c5fc22838c62ceef738b330afb840c4c6 100644
|
||||
index e319f3b1282af8019ae706f46e3978e789fbc877..62ef7bb712e91fed150bf9c16c11635a9aaaab67 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2239,5 +2239,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2238,5 +2238,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public void resetIdleTimer() {
|
||||
getHandle().resetIdleTimer();
|
||||
}
|
||||
|
@ -47,10 +47,10 @@ index b795128c5a69f65883fdd318a8a5b2a65512bb16..1296d06bd7c4abb3a43679e382e83319
|
||||
lagging = recentTps[0] < net.pl3x.purpur.PurpurConfig.laggingThreshold; // Purpur
|
||||
tickSection = curTime;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 2ddf0e5589b6f45f502e6f675000fec361b186fe..413c55feb6b1c2ddc80aa8dc1c83ed13b2c4c4a5 100644
|
||||
index cb54a5c340a8f2b82668fc7b8e3beeb977cd3c80..dfe6777db04bb550ae0e761addd26b2d5abf3baf 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2248,6 +2248,7 @@ public final class CraftServer implements Server {
|
||||
@@ -2247,6 +2247,7 @@ public final class CraftServer implements Server {
|
||||
@Override
|
||||
public double[] getTPS() {
|
||||
return new double[] {
|
||||
@ -59,10 +59,10 @@ index 2ddf0e5589b6f45f502e6f675000fec361b186fe..413c55feb6b1c2ddc80aa8dc1c83ed13
|
||||
net.minecraft.server.MinecraftServer.getServer().tps5.getAverage(),
|
||||
net.minecraft.server.MinecraftServer.getServer().tps15.getAverage()
|
||||
diff --git a/src/main/java/org/spigotmc/TicksPerSecondCommand.java b/src/main/java/org/spigotmc/TicksPerSecondCommand.java
|
||||
index 7218f23df4d06ff1ca612286e4a404246389ab18..3c7b9a6d24e064f9c1ec5fb6d52f42627944d7fa 100644
|
||||
index e62890433ffbe0b4e48942fe6c38b599a19e58fd..312248b5c6febc6a3c10940714fac7fbc3c53b7f 100644
|
||||
--- a/src/main/java/org/spigotmc/TicksPerSecondCommand.java
|
||||
+++ b/src/main/java/org/spigotmc/TicksPerSecondCommand.java
|
||||
@@ -33,7 +33,7 @@ public class TicksPerSecondCommand extends Command
|
||||
@@ -31,7 +31,7 @@ public class TicksPerSecondCommand extends Command
|
||||
for ( int i = 0; i < tps.length; i++) {
|
||||
tpsAvg[i] = format( tps[i] );
|
||||
}
|
||||
|
@ -72,10 +72,10 @@ index e747ee83f1a69a4a4bad87e720abc9b085fb6149..a4edfb02fd350433020b0f3699726b61
|
||||
if (this.count == 1 && t0 instanceof EntityHuman) {
|
||||
org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerItemBreakEvent((EntityHuman) t0, this);
|
||||
diff --git a/src/main/java/net/minecraft/server/ItemTrident.java b/src/main/java/net/minecraft/server/ItemTrident.java
|
||||
index 3663b701736b583db80e3119b642e47b8a0e6ff3..18f767dc574e7345d2db73e6be44f4e65eb58c63 100644
|
||||
index 4eeeecef51cedcd0fe46ac4983472e214ccc9dad..0109d8db4f154802daef570e6d8b479cb5a49dab 100644
|
||||
--- a/src/main/java/net/minecraft/server/ItemTrident.java
|
||||
+++ b/src/main/java/net/minecraft/server/ItemTrident.java
|
||||
@@ -102,6 +102,16 @@ public class ItemTrident extends Item implements ItemVanishable {
|
||||
@@ -101,6 +101,16 @@ public class ItemTrident extends Item implements ItemVanishable {
|
||||
f2 *= f6 / f5;
|
||||
f3 *= f6 / f5;
|
||||
f4 *= f6 / f5;
|
||||
|
@ -61,7 +61,7 @@ index 65bae8c9f28c23b0b5dd5d048e7fc7daf328075c..32b75f710b12efbcecec2c8d72d4d8cb
|
||||
public void setAngerTarget(@Nullable UUID uuid) {
|
||||
this.br = uuid;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
index 752e39ad94ea9e8254853a3fda846be2bd436918..03263b94aaeeb8667e0f82c832e4743f4c63108e 100644
|
||||
index 4078f5dd68d0ca49886911d1bf58731129d731be..2ff49b5c8ba62f781cdaef2d19c0504cb710b3ff 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
@@ -3,6 +3,7 @@ package net.minecraft.server;
|
||||
@ -93,7 +93,7 @@ index 752e39ad94ea9e8254853a3fda846be2bd436918..03263b94aaeeb8667e0f82c832e4743f
|
||||
@Override
|
||||
protected void initPathfinder() {
|
||||
if (world.paperConfig.zombiesTargetTurtleEggs) this.goalSelector.a(4, new EntityZombie.a(this, 1.0D, 3)); // Paper
|
||||
@@ -442,19 +457,19 @@ public class EntityZombie extends EntityMonster {
|
||||
@@ -445,19 +460,19 @@ public class EntityZombie extends EntityMonster {
|
||||
if (object instanceof EntityZombie.GroupDataZombie) {
|
||||
EntityZombie.GroupDataZombie entityzombie_groupdatazombie = (EntityZombie.GroupDataZombie) object;
|
||||
|
||||
@ -119,7 +119,7 @@ index 752e39ad94ea9e8254853a3fda846be2bd436918..03263b94aaeeb8667e0f82c832e4743f
|
||||
EntityChicken entitychicken1 = (EntityChicken) EntityTypes.CHICKEN.a(this.world);
|
||||
|
||||
entitychicken1.setPositionRotation(this.locX(), this.locY(), this.locZ(), this.yaw, 0.0F);
|
||||
@@ -462,6 +477,7 @@ public class EntityZombie extends EntityMonster {
|
||||
@@ -465,6 +480,7 @@ public class EntityZombie extends EntityMonster {
|
||||
entitychicken1.setChickenJockey(true);
|
||||
this.startRiding(entitychicken1);
|
||||
worldaccess.addEntity(entitychicken1, CreatureSpawnEvent.SpawnReason.MOUNT); // CraftBukkit
|
||||
@ -127,7 +127,7 @@ index 752e39ad94ea9e8254853a3fda846be2bd436918..03263b94aaeeb8667e0f82c832e4743f
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -564,7 +580,7 @@ public class EntityZombie extends EntityMonster {
|
||||
@@ -567,7 +583,7 @@ public class EntityZombie extends EntityMonster {
|
||||
|
||||
public static class GroupDataZombie implements GroupDataEntity {
|
||||
|
||||
|
@ -233,10 +233,10 @@ index 661ad8f8e67046211e001ea40d97660d7c88f8e5..ee91c33a7a2edca02caf5c71fd6429f9
|
||||
return iblockdata.r(iblockaccess, blockposition) ? false : (iblockdata.isPowerSource() ? false : (!fluid.isEmpty() ? false : (iblockdata.a((Tag) TagsBlock.PREVENT_MOB_SPAWNING_INSIDE) ? false : !entitytypes.a(iblockdata))));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index fb650c09dbcefa0ff021f7c508ff6811a48bee7a..68cce071c740c90149225b4a28af849237b4492b 100644
|
||||
index 226b5cd399449ca3587964221765e4d241dfc739..0f259913ddcf151bc0128f2591e1223a56a9e115 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1567,6 +1567,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -1566,6 +1566,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
return new DifficultyDamageScaler(this.getDifficulty(), this.getDayTime(), i, f);
|
||||
}
|
||||
|
||||
|
@ -49,10 +49,10 @@ index 120bf8436fd82294c339add2e7bff1cda8311aea..848a185c04aa90a62e6bcc49ad68a748
|
||||
|
||||
return true;
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 68cce071c740c90149225b4a28af849237b4492b..f260d01aad4db512952e5a53bf5bc01023bbd43d 100644
|
||||
index 0f259913ddcf151bc0128f2591e1223a56a9e115..1ac2e9f373ae5b4250ff9faf726a962a739d6faf 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1642,4 +1642,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -1641,4 +1641,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
public final boolean isDebugWorld() {
|
||||
return this.debugWorld;
|
||||
}
|
||||
|
@ -21,10 +21,10 @@ index 0b2a9a2d9f157dd9879c4429be6745859b4f28bf..01576ac82836733f42168c6a0779b45a
|
||||
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
|
||||
public boolean villagerCanBeLeashed = false;
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index b47d6fa2de3368d1afe329573bc18c3541bb7377..ff0621e08aaf058154f228abd46475ffaa3920cf 100644
|
||||
index f80526939be358ac46430f35f3fdc7f88038c262..66b7c75929cd98737628b9d4f22829b5b65b8373 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
@@ -378,6 +378,7 @@ public class ActivationRange
|
||||
@@ -376,6 +376,7 @@ public class ActivationRange
|
||||
*/
|
||||
public static boolean checkIfActive(Entity entity)
|
||||
{
|
||||
|
@ -614,7 +614,7 @@ index 74082136b38491a0a50d152c455edfa61a6afb9f..dcfad16e06450068d5801fc002c96501
|
||||
if (this.c <= 0) {
|
||||
this.c = 100;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java
|
||||
index 35f511c398795a0edeb5fe6d802f2a2bf754bf3a..700314b02abb355e6a600d744887a705cbcfb4e4 100644
|
||||
index 675083e3952779e43bf8cc3175ad70458a79e49c..0e6552d77adb95c94cb06b6f9289c4c12e6955bb 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityCat.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityCat.java
|
||||
@@ -41,6 +41,25 @@ public class EntityCat extends EntityTameableAnimal {
|
||||
@ -4798,7 +4798,7 @@ index e76e6ebde73b93dc06e76b71cdf6371c3654160a..d92fe8013fb3b43cb7eabdf1c624291b
|
||||
this.eL();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
index 03263b94aaeeb8667e0f82c832e4743f4c63108e..d835ce3fe7c71333efeed5b9cf2a827bebae97f2 100644
|
||||
index 2ff49b5c8ba62f781cdaef2d19c0504cb710b3ff..7e1e056bdd966a14a184eb76717116998b6e5cb3 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
@@ -47,6 +47,16 @@ public class EntityZombie extends EntityMonster {
|
||||
@ -5026,10 +5026,10 @@ index 5af554870bcf36e47aef43b966b141b9eda6c4d5..c59305ef7dd7847e204d4c4ed79758bf
|
||||
return new Vec3D(this.x * d0, this.y * d1, this.z * d2);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index f260d01aad4db512952e5a53bf5bc01023bbd43d..cf1f4fe5832781df7d0bdd5eb24eff8539691c30 100644
|
||||
index 1ac2e9f373ae5b4250ff9faf726a962a739d6faf..97cc98af100edfad82668200759a5eed8fc67558 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1651,5 +1651,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -1650,5 +1650,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
public boolean isTheEnd() {
|
||||
return getWorld().getEnvironment() == org.bukkit.World.Environment.THE_END;
|
||||
}
|
||||
@ -6381,7 +6381,7 @@ index a6d849facba1526ae2a2b7f3fb9a140d0b50289c..b56ca054b37f5887e13b481baad8132f
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index b66fb60ad3949cebb3ff10878b7490675e703234..16a816677a71e7fd03ada10a6795bdaf6753c514 100644
|
||||
index 9ff0f70154367b99317ed3927a97ec08c7e9e015..90c0033e31ad5e115568bc092d3515b5b99e965a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -527,6 +527,18 @@ public class CraftEventFactory {
|
||||
|
@ -5,10 +5,10 @@ Subject: [PATCH] LivingEntity#broadcastItemBreak
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
index 0292cae6225ae2ee156f436c8827a018e8ffa723..9f5802364d4098173be2d08893efa697033407e9 100644
|
||||
index 84aeffac2c2c12d98e9cec05314668a93bb5ed91..6a15b0d5e8446ab2a5e5bd11020a4f812b6c7877 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
|
||||
@@ -837,5 +837,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
@@ -844,5 +844,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
public void setSafeFallDistance(float safeFallDistance) {
|
||||
getHandle().safeFallDistance = safeFallDistance;
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ index 8d89f51182444852062d549d23c00a93e601eb38..072ec40f751b19c2a78dfcc6e439c643
|
||||
if (SpawnerCreature.a(EntityPositionTypes.Surface.ON_GROUND, iworldreader, blockposition2, EntityTypes.WANDERING_TRADER)) {
|
||||
blockposition1 = blockposition2;
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index cf1f4fe5832781df7d0bdd5eb24eff8539691c30..aa1b037c0103552761b81318f1d2ad8215bd0370 100644
|
||||
index 97cc98af100edfad82668200759a5eed8fc67558..ded92fe7c7871bae6e9741747a67636d570cdeef 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -156,7 +156,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
|
@ -45,7 +45,7 @@ index 125eab60f2b4657e52a71eddf7586c574945252e..638efc67d66001ee085957d4698f51a7
|
||||
this.targetSelector.a(5, new PathfinderGoalNearestAttackableTarget<>(this, EntityTurtle.class, 10, true, false, EntityTurtle.bo));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
index d835ce3fe7c71333efeed5b9cf2a827bebae97f2..556f7a3ebb5c58a87471b2d098f29ffb216aaa1d 100644
|
||||
index 7e1e056bdd966a14a184eb76717116998b6e5cb3..fd28ef623f8b6db5e36328d4ef2771e841db0a9d 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
@@ -86,7 +86,18 @@ public class EntityZombie extends EntityMonster {
|
||||
|
@ -33,7 +33,7 @@ index bba343542e7e6fa83ec802d97b4c139bb210ab28..d9f9e2235d091e14e5d34bb9a3273e7f
|
||||
int experience = this.getRandom().nextInt(7) + 1;
|
||||
org.bukkit.event.entity.EntityBreedEvent entityBreedEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityBreedEvent(entityageable, this, entityanimal, entityplayer, this.breedItem, experience);
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index aa1b037c0103552761b81318f1d2ad8215bd0370..91aa8a2bc111ee6935ada0ae471fe1a3bc8fad80 100644
|
||||
index ded92fe7c7871bae6e9741747a67636d570cdeef..7c367fe6152c30aab3e53c8f88cceba606891c93 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -104,6 +104,48 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
|
@ -46,7 +46,7 @@ index d8354ec4d19fc3fbddc2551ee217acb137482e63..ded4e10f5082fb5aa25368d9035affba
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java
|
||||
index 700314b02abb355e6a600d744887a705cbcfb4e4..8346db6c8521064ff51445a0da747a2d70d14633 100644
|
||||
index 0e6552d77adb95c94cb06b6f9289c4c12e6955bb..437a7b8ffb40c461f1778d91591fa6c4dcf36834 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityCat.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityCat.java
|
||||
@@ -58,6 +58,11 @@ public class EntityCat extends EntityTameableAnimal {
|
||||
|
@ -33,7 +33,7 @@ index e6e180ea46529e80eeab95f550dee5f3f8198ba8..b6bfd8f5073ce481dfe2b1667ece42d3
|
||||
if (flag5) {
|
||||
if (i > 0) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 16a816677a71e7fd03ada10a6795bdaf6753c514..5b86e21332cd123fec9e2753a81977c6b9761e13 100644
|
||||
index 90c0033e31ad5e115568bc092d3515b5b99e965a..d98fbec82ae9110974ca562edbd7e07090e35bb0 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -1073,7 +1073,7 @@ public class CraftEventFactory {
|
||||
|
@ -56,10 +56,10 @@ index 3c19e931ad7d5330f1c77ef65aaa5858a001e4df..0efc210ad55d843fd297f0caa88a5f35
|
||||
|
||||
public void sendAll(Packet<?> packet) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 8a28c68c5fc22838c62ceef738b330afb840c4c6..95e548eea5acbece0e7036f23d79b6fc61e6786f 100644
|
||||
index 62ef7bb712e91fed150bf9c16c11635a9aaaab67..16fdd444a8064df688b1760760d584b36a700957 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1382,7 +1382,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1381,7 +1381,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
@Override
|
||||
public boolean canSee(Player player) {
|
||||
|
@ -60,7 +60,7 @@ index dcfad16e06450068d5801fc002c9650102dbf995..90b90fa33b39020189a1d4a5826fa3ab
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java
|
||||
index 8346db6c8521064ff51445a0da747a2d70d14633..e411da6f0f55b965fe9e303cf3b56201d33cd260 100644
|
||||
index 437a7b8ffb40c461f1778d91591fa6c4dcf36834..f973408b1f098c8a090401205f809e95fdcf2f62 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityCat.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityCat.java
|
||||
@@ -63,6 +63,11 @@ public class EntityCat extends EntityTameableAnimal {
|
||||
@ -1245,7 +1245,7 @@ index d92fe8013fb3b43cb7eabdf1c624291b7e881889..bcc4aa1d3f09e43016d0009cd04dd6b7
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
index 556f7a3ebb5c58a87471b2d098f29ffb216aaa1d..a5699314be3f47ed9b27a5d21a396c5282592c7b 100644
|
||||
index fd28ef623f8b6db5e36328d4ef2771e841db0a9d..4dc027577656b423cd06a1eca5fdf9c9a5fcf107 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
@@ -68,6 +68,15 @@ public class EntityZombie extends EntityMonster {
|
||||
@ -1264,7 +1264,7 @@ index 556f7a3ebb5c58a87471b2d098f29ffb216aaa1d..a5699314be3f47ed9b27a5d21a396c52
|
||||
// Purpur end
|
||||
|
||||
@Override
|
||||
@@ -547,7 +556,7 @@ public class EntityZombie extends EntityMonster {
|
||||
@@ -550,7 +559,7 @@ public class EntityZombie extends EntityMonster {
|
||||
}
|
||||
|
||||
protected void eV() {
|
||||
|
@ -123,10 +123,10 @@ index b56ca054b37f5887e13b481baad8132f1d28638b..eb0ce05d25ba33626d2dd3e3380d805c
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 95e548eea5acbece0e7036f23d79b6fc61e6786f..70ed64ed22ffde672a4ecb0a7f7ac2a7b3f30112 100644
|
||||
index 16fdd444a8064df688b1760760d584b36a700957..77caf8d52cc0cafb99948787e72a0fd09743aa00 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -116,6 +116,7 @@ import org.bukkit.entity.EntityType;
|
||||
@@ -115,6 +115,7 @@ import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.player.PlayerRegisterChannelEvent;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||
@ -134,7 +134,7 @@ index 95e548eea5acbece0e7036f23d79b6fc61e6786f..70ed64ed22ffde672a4ecb0a7f7ac2a7
|
||||
import org.bukkit.event.player.PlayerUnregisterChannelEvent;
|
||||
import org.bukkit.inventory.InventoryView.Property;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
@@ -791,6 +792,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -790,6 +791,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
}
|
||||
|
||||
if (entity.isVehicle()) {
|
||||
|
@ -53,10 +53,10 @@ index ccf2d0b090f0c360dfc7886bb0726e099acec42c..95dd6f2034439699399b0f51ab2b761a
|
||||
|
||||
public CrashReport b(CrashReport crashreport) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 9ad6ea5ef331c3c057f39115d00f855ca57e219b..f16432ae1cd9d5ccec56892a08952ec78003d066 100644
|
||||
index 85023c68a9c85802383cfcf52ec21392abdf3d85..56e1817c131a2f5ba06418dd96addafd34677f28 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -232,7 +232,7 @@ import javax.annotation.Nullable; // Paper
|
||||
@@ -231,7 +231,7 @@ import javax.annotation.Nullable; // Paper
|
||||
import javax.annotation.Nonnull; // Paper
|
||||
|
||||
public final class CraftServer implements Server {
|
||||
|
@ -286,7 +286,7 @@ index c9692b3e50c503affaadd217c166029182def6e4..7177c1a0cc991916d98c82f025a910fa
|
||||
org.spigotmc.WatchdogThread.hasStarted = true; // Paper
|
||||
Arrays.fill( recentTps, 20 );
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 02303f00e243748b9d1c4a37719fcf5c8d271ed9..38c49d04d7bfb9c116a3b6eb87daaad2c75040cf 100644
|
||||
index f5ab99156ce5429e63976183cbf115d5340a83a1..8efdd9bd0827d1f6a31d5f943f986dabe7d05137 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -94,6 +94,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@ -307,10 +307,10 @@ index 02303f00e243748b9d1c4a37719fcf5c8d271ed9..38c49d04d7bfb9c116a3b6eb87daaad2
|
||||
this.world = new CraftWorld((WorldServer) this, gen, env);
|
||||
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index f16432ae1cd9d5ccec56892a08952ec78003d066..72916822b74c06865c8fb0135029d199343f5fbd 100644
|
||||
index 56e1817c131a2f5ba06418dd96addafd34677f28..3944ef9067ee1eeb1c0d208d885d9eca16267602 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -861,6 +861,7 @@ public final class CraftServer implements Server {
|
||||
@@ -860,6 +860,7 @@ public final class CraftServer implements Server {
|
||||
|
||||
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
|
||||
com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
|
||||
@ -318,7 +318,7 @@ index f16432ae1cd9d5ccec56892a08952ec78003d066..72916822b74c06865c8fb0135029d199
|
||||
for (WorldServer world : console.getWorlds()) {
|
||||
world.worldDataServer.setDifficulty(config.difficulty);
|
||||
world.setSpawnFlags(config.spawnMonsters, config.spawnAnimals);
|
||||
@@ -895,6 +896,7 @@ public final class CraftServer implements Server {
|
||||
@@ -894,6 +895,7 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
world.spigotConfig.init(); // Spigot
|
||||
world.paperConfig.init(); // Paper
|
||||
|
@ -49,10 +49,10 @@ index 0f66484a80d3cc7caaf8a111bd50229e673bd8e0..f10fa659680f8a574f77d260bbc52be3
|
||||
}
|
||||
\ No newline at end of file
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 72916822b74c06865c8fb0135029d199343f5fbd..bd7bccbea1a0a052ef7bd6ab299ae72336874911 100644
|
||||
index 3944ef9067ee1eeb1c0d208d885d9eca16267602..44524e08bed8897e43e408b6f179bf798fed9b62 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1860,7 +1860,10 @@ public final class CraftServer implements Server {
|
||||
@@ -1859,7 +1859,10 @@ public final class CraftServer implements Server {
|
||||
|
||||
@Override
|
||||
public boolean isPrimaryThread() {
|
||||
|
@ -168,7 +168,7 @@ index af9d54ef057d5f6977cf77c57cde25b6b0d1f39d..8816d3326af25431e2235c5e735e86c7
|
||||
i = 0;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java
|
||||
index 3c7b225edbe23dc1959002293a6f8b816287b5a8..d3588e238506ea859407b72da0d0cf291945b2ec 100644
|
||||
index 76f9bb728def91744910d0b680b73e753f1a2b26..84ff9cfe89defad2e907708f837d33f620a84ef3 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkMapDistance.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java
|
||||
@@ -65,6 +65,7 @@ public abstract class ChunkMapDistance {
|
||||
@ -210,8 +210,8 @@ index 3c7b225edbe23dc1959002293a6f8b816287b5a8..d3588e238506ea859407b72da0d0cf29
|
||||
+ com.tuinity.tuinity.util.TickThread.softEnsureTickThread("Async player remove"); // Tuinity
|
||||
long i = sectionposition.r().pair();
|
||||
ObjectSet<EntityPlayer> objectset = (ObjectSet) this.c.get(i);
|
||||
|
||||
@@ -446,6 +451,7 @@ public abstract class ChunkMapDistance {
|
||||
if (objectset == null) return; // CraftBukkit - SPIGOT-6208
|
||||
@@ -447,6 +452,7 @@ public abstract class ChunkMapDistance {
|
||||
|
||||
// CraftBukkit start
|
||||
public <T> void removeAllTicketsFor(TicketType<T> ticketType, int ticketLevel, T ticketIdentifier) {
|
||||
@ -304,7 +304,7 @@ index fb46fdeb22a7c31c8d132bdc80d657ae82c191be..2be8c1b7974f3f6271be60872d45123b
|
||||
|
||||
this.noTickViewDistance = viewDistance;
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 38c49d04d7bfb9c116a3b6eb87daaad2c75040cf..ab8a5c00e383ef84cb3e5acf9ac9221f672effdd 100644
|
||||
index 8efdd9bd0827d1f6a31d5f943f986dabe7d05137..43b5fa67a6b6e778a059063390fb47d6a599a948 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -363,6 +363,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
|
@ -47,7 +47,7 @@ index f10fa659680f8a574f77d260bbc52be349c244e8..7b12e7610444ff20f2c3f458887bd7d4
|
||||
|
||||
public final String worldName;
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java
|
||||
index d3588e238506ea859407b72da0d0cf291945b2ec..f1c686810fb4e9c05df45d664c93af73d17f0624 100644
|
||||
index 84ff9cfe89defad2e907708f837d33f620a84ef3..7f3887b0894aca0f972922f434382646a6ad6174 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkMapDistance.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java
|
||||
@@ -31,7 +31,7 @@ public abstract class ChunkMapDistance {
|
||||
|
@ -92,7 +92,7 @@ index 5c8dd000af238ea703c9f84a4621472f17955060..c9b6fc731f478976466972a4bdc5002e
|
||||
int j = MathHelper.floor(d1);
|
||||
int k = MathHelper.floor(d2);
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
|
||||
index 7ea293f38dedd6066601d94adbe175a31c502e1f..e698dd22607b2b2c4068c5bfb03ac53eb5bac080 100644
|
||||
index 8c7080777b370f97e1291dfedde5b419290f39cc..7fff1b3e4eda519851b714502d33122c1e408009 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
|
||||
@@ -13,10 +13,30 @@ public class PlayerConnectionUtils {
|
||||
|
@ -267,10 +267,10 @@ index 7177c1a0cc991916d98c82f025a910fa1e812493..0fc9b6356165fbee30d765dacc3586c2
|
||||
// Spigot Start
|
||||
CrashReport crashreport;
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index ab8a5c00e383ef84cb3e5acf9ac9221f672effdd..e3ed8fb7881bc00b1b2345c1682f30057878d41a 100644
|
||||
index 43b5fa67a6b6e778a059063390fb47d6a599a948..165b8e20ab090284b7c70b5cc9c0d58242400b54 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -901,6 +901,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -900,6 +900,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
return;
|
||||
// Paper end
|
||||
}
|
||||
|
@ -191,10 +191,10 @@ index 2639c17b7f6100533f33124f9e49990cd303d161..b053bb74f6df174a27dbfd7b1b3e3ccb
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index e3ed8fb7881bc00b1b2345c1682f30057878d41a..8ec6b3a1b8f5281b875cbb3cf85833ab3c208bc3 100644
|
||||
index 165b8e20ab090284b7c70b5cc9c0d58242400b54..15617d20883030b240014dbb258fd0086fef4235 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1085,6 +1085,35 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -1084,6 +1084,35 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
return this.getChunkAt(i, j, ChunkStatus.FULL, false);
|
||||
}
|
||||
|
||||
|
@ -1348,10 +1348,10 @@ index 9f4f9df09968dc45878ad59f5ee45672a3f08fbd..636bbbc42466cb54c300352f400464fe
|
||||
|
||||
@VisibleForTesting
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 8ec6b3a1b8f5281b875cbb3cf85833ab3c208bc3..9d9ff42a4572da8f62cc9fc5f11053b578858767 100644
|
||||
index 15617d20883030b240014dbb258fd0086fef4235..f40ddc91b6102ce67d5989037c9b9ec822fefa34 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1116,8 +1116,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -1115,8 +1115,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
|
||||
@Override
|
||||
public List<Entity> getEntities(@Nullable Entity entity, AxisAlignedBB axisalignedbb, @Nullable Predicate<? super Entity> predicate) {
|
||||
|
@ -10,7 +10,7 @@ indefinitely. Instead of using the world state, we use the already
|
||||
supplied generatoraccess which will always have the chunk available.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityCat.java b/src/main/java/net/minecraft/server/EntityCat.java
|
||||
index e80ec303198abade19645267e24cd5a4a8b75d70..35f511c398795a0edeb5fe6d802f2a2bf754bf3a 100644
|
||||
index 8bc8dcf7dfe79c5522bc715ad60aeaab4b1d85da..675083e3952779e43bf8cc3175ad70458a79e49c 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityCat.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityCat.java
|
||||
@@ -292,7 +292,7 @@ public class EntityCat extends EntityTameableAnimal {
|
||||
|
@ -13,7 +13,7 @@ Paper recently reverted this optimisation, so it's been reintroduced
|
||||
here.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 9d9ff42a4572da8f62cc9fc5f11053b578858767..6c3f496ba6c0c6c4911e2592ded27df08ae54b14 100644
|
||||
index f40ddc91b6102ce67d5989037c9b9ec822fefa34..dccdbb1c218d9fd8acb81998bd5884dc4aba7c1c 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -289,6 +289,15 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
|
@ -324,10 +324,10 @@ index 253377c6238594de1f76cafcbf8223592e4d3f6b..3ebe3d0dc4c2c6aee6ea349006a74cbe
|
||||
if (entityliving == entityliving1) {
|
||||
return false;
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 6c3f496ba6c0c6c4911e2592ded27df08ae54b14..3ad08863c00d96c827c26c8d4c9a206a43bb1db9 100644
|
||||
index dccdbb1c218d9fd8acb81998bd5884dc4aba7c1c..1d87e7461d28d8a639fafcfdfa5496014e9180f6 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1187,7 +1187,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -1186,7 +1186,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
Chunk chunk = (Chunk)this.getChunkIfLoadedImmediately(i1, j1); // Paper
|
||||
|
||||
if (chunk != null) {
|
||||
@ -336,7 +336,7 @@ index 6c3f496ba6c0c6c4911e2592ded27df08ae54b14..3ad08863c00d96c827c26c8d4c9a206a
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1210,7 +1210,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -1209,7 +1209,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
Chunk chunk = (Chunk)this.getChunkIfLoadedImmediately(i1, j1); // Paper
|
||||
|
||||
if (chunk != null) {
|
||||
@ -345,7 +345,7 @@ index 6c3f496ba6c0c6c4911e2592ded27df08ae54b14..3ad08863c00d96c827c26c8d4c9a206a
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1218,6 +1218,106 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -1217,6 +1217,106 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
return list;
|
||||
}
|
||||
|
||||
|
@ -203,7 +203,7 @@ index 83f070229098ad31b8ae65ffcebe52886ef2884d..f4d5ff1d0f1ad34032aaab96e1077f4b
|
||||
// Paper start - Chunk Prioritization
|
||||
public void queueHolderUpdate(PlayerChunk playerchunk) {
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 3ad08863c00d96c827c26c8d4c9a206a43bb1db9..28ee325fcc8b50397768363403823f2e3391d8c8 100644
|
||||
index 1d87e7461d28d8a639fafcfdfa5496014e9180f6..93c0c3376c3cb2fe416c8ae3e740ffda5f985b78 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -123,6 +123,34 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
|
@ -4726,7 +4726,7 @@ index be5384ee41290b24b0c419c3e8f4553db34b2399..df28f7a6bf4c650a22ddf046eae4d5e8
|
||||
|
||||
IBlockAccess getWorld();
|
||||
diff --git a/src/main/java/net/minecraft/server/LightEngineThreaded.java b/src/main/java/net/minecraft/server/LightEngineThreaded.java
|
||||
index 2f9c97dd4e1d705a87772d18c7ab4883a876af08..3c4c3e43b5b947f7332f2dd6d1f1dae4be7708ab 100644
|
||||
index 2f9c97dd4e1d705a87772d18c7ab4883a876af08..001ac05cf26237eec8a77c476e678ff6d0840311 100644
|
||||
--- a/src/main/java/net/minecraft/server/LightEngineThreaded.java
|
||||
+++ b/src/main/java/net/minecraft/server/LightEngineThreaded.java
|
||||
@@ -2,6 +2,11 @@ package net.minecraft.server;
|
||||
@ -4842,8 +4842,8 @@ index 2f9c97dd4e1d705a87772d18c7ab4883a876af08..3c4c3e43b5b947f7332f2dd6d1f1dae4
|
||||
+ } else {
|
||||
+ this.holdingChunks.put(coordinate, current + 1);
|
||||
+ }
|
||||
}
|
||||
|
||||
+ }
|
||||
+
|
||||
+ protected final void releaseLightWorkChunk(int chunkX, int chunkZ) {
|
||||
+ final long coordinate = MCUtil.getCoordinateKey(chunkX, chunkZ);
|
||||
+ final int current = this.holdingChunks.get(coordinate);
|
||||
@ -4939,8 +4939,8 @@ index 2f9c97dd4e1d705a87772d18c7ab4883a876af08..3c4c3e43b5b947f7332f2dd6d1f1dae4
|
||||
+ });
|
||||
+ }
|
||||
+ }, this.playerChunkMap.mainInvokingExecutor);
|
||||
+ }
|
||||
+
|
||||
}
|
||||
|
||||
+ // override things from superclass
|
||||
+
|
||||
+ @Override
|
||||
@ -5061,7 +5061,7 @@ index 2f9c97dd4e1d705a87772d18c7ab4883a876af08..3c4c3e43b5b947f7332f2dd6d1f1dae4
|
||||
this.a(chunkcoordintpair.x, chunkcoordintpair.z, () -> {
|
||||
return 0;
|
||||
}, LightEngineThreaded.Update.PRE_UPDATE, SystemUtils.a(() -> {
|
||||
@@ -264,6 +513,31 @@ public class LightEngineThreaded extends LightEngine implements AutoCloseable {
|
||||
@@ -264,6 +513,35 @@ public class LightEngineThreaded extends LightEngine implements AutoCloseable {
|
||||
public CompletableFuture<IChunkAccess> a(IChunkAccess ichunkaccess, boolean flag) {
|
||||
ChunkCoordIntPair chunkcoordintpair = ichunkaccess.getPos();
|
||||
|
||||
@ -5086,6 +5086,10 @@ index 2f9c97dd4e1d705a87772d18c7ab4883a876af08..3c4c3e43b5b947f7332f2dd6d1f1dae4
|
||||
+ }, (runnable) -> {
|
||||
+ LightEngineThreaded.this.scheduleTask(chunkcoordintpair.x, chunkcoordintpair.z, LightEngineThreaded.Update.PRE_UPDATE, runnable);
|
||||
+ LightEngineThreaded.this.queueUpdate();
|
||||
+ }).whenComplete((IChunkAccess chunk, Throwable throwable) -> {
|
||||
+ if (throwable != null && !(throwable instanceof ThreadDeath)) {
|
||||
+ MinecraftServer.LOGGER.fatal("Failed to light chunk " + chunk.getPos().toString() + " in world '" + this.theLightEngine.getWorld().getWorld().getName() + "'");
|
||||
+ }
|
||||
+ });
|
||||
+ }
|
||||
+ // Tuinity end - replace light engine
|
||||
@ -5093,7 +5097,7 @@ index 2f9c97dd4e1d705a87772d18c7ab4883a876af08..3c4c3e43b5b947f7332f2dd6d1f1dae4
|
||||
// Paper start
|
||||
//ichunkaccess.b(false); // Don't need to disable this
|
||||
long pair = chunkcoordintpair.pair();
|
||||
@@ -311,7 +585,7 @@ public class LightEngineThreaded extends LightEngine implements AutoCloseable {
|
||||
@@ -311,7 +589,7 @@ public class LightEngineThreaded extends LightEngine implements AutoCloseable {
|
||||
}
|
||||
|
||||
public void queueUpdate() {
|
||||
@ -5102,7 +5106,7 @@ index 2f9c97dd4e1d705a87772d18c7ab4883a876af08..3c4c3e43b5b947f7332f2dd6d1f1dae4
|
||||
this.b.a((() -> { // Paper - decompile error
|
||||
this.b();
|
||||
this.g.set(false);
|
||||
@@ -325,17 +599,36 @@ public class LightEngineThreaded extends LightEngine implements AutoCloseable {
|
||||
@@ -325,17 +603,36 @@ public class LightEngineThreaded extends LightEngine implements AutoCloseable {
|
||||
private final java.util.List<Runnable> pre = new java.util.ArrayList<>();
|
||||
private final java.util.List<Runnable> post = new java.util.ArrayList<>();
|
||||
private void b() {
|
||||
|
@ -53,10 +53,10 @@ index 83c1176888ead8fe045f1e1dfc78115ad2bf69f3..29ebf64a27ac34a2bfd11a904a5a30e0
|
||||
serverModName = getString("settings.server-mod-name", serverModName);
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 53deddce357170a712913d916ba1d58e663fc1a1..1286f0127300144abe4f78a3480acec42a5fc758 100644
|
||||
index 48dd6de4acf0ef0536a4c562f3eb5f2f90878924..eca800e8396c765ea77c0cbc171bb1a6e4e8707f 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -232,7 +232,7 @@ import javax.annotation.Nullable; // Paper
|
||||
@@ -231,7 +231,7 @@ import javax.annotation.Nullable; // Paper
|
||||
import javax.annotation.Nonnull; // Paper
|
||||
|
||||
public final class CraftServer implements Server {
|
||||
|
@ -30,10 +30,10 @@ index d4dc05a1066bfcd4cdc1bfa04e46aa2d8d6e2fe5..ada93970e324c44aba4f3e817ccaec8a
|
||||
this.X = true;
|
||||
// Purpur start - tps catchup
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 1286f0127300144abe4f78a3480acec42a5fc758..05612f20cd2881af363111789cf903c4baf5c9c8 100644
|
||||
index eca800e8396c765ea77c0cbc171bb1a6e4e8707f..289ea917d3b5327e1c7dbffdb9ba171cc5052627 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2465,4 +2465,6 @@ public final class CraftServer implements Server {
|
||||
@@ -2466,4 +2466,6 @@ public final class CraftServer implements Server {
|
||||
return getServer().lagging;
|
||||
}
|
||||
// Purpur end
|
||||
@ -41,10 +41,10 @@ index 1286f0127300144abe4f78a3480acec42a5fc758..05612f20cd2881af363111789cf903c4
|
||||
+ @Override public java.time.Duration getLastTickTime() { return net.minecraft.server.MinecraftServer.lastTickTime; } // Yatopia
|
||||
}
|
||||
diff --git a/src/main/java/org/spigotmc/TicksPerSecondCommand.java b/src/main/java/org/spigotmc/TicksPerSecondCommand.java
|
||||
index 3c7b9a6d24e064f9c1ec5fb6d52f42627944d7fa..dd44c1f3721fb9c7233417150a073b79465c0480 100644
|
||||
index 312248b5c6febc6a3c10940714fac7fbc3c53b7f..abc9b7aa53e554ef2196dceafe8db8ba65f34e84 100644
|
||||
--- a/src/main/java/org/spigotmc/TicksPerSecondCommand.java
|
||||
+++ b/src/main/java/org/spigotmc/TicksPerSecondCommand.java
|
||||
@@ -34,6 +34,10 @@ public class TicksPerSecondCommand extends Command
|
||||
@@ -32,6 +32,10 @@ public class TicksPerSecondCommand extends Command
|
||||
tpsAvg[i] = format( tps[i] );
|
||||
}
|
||||
sender.sendMessage(ChatColor.GOLD + "TPS from last 5s, 1m, 5m, 15m: " + org.apache.commons.lang.StringUtils.join(tpsAvg, ", ")); // Purpur
|
||||
@ -55,7 +55,7 @@ index 3c7b9a6d24e064f9c1ec5fb6d52f42627944d7fa..dd44c1f3721fb9c7233417150a073b79
|
||||
if (args.length > 0 && args[0].equals("mem") && sender.hasPermission("bukkit.command.tpsmemory")) {
|
||||
sender.sendMessage(ChatColor.GOLD + "Current Memory Usage: " + ChatColor.GREEN + ((Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory()) / (1024 * 1024)) + "/" + (Runtime.getRuntime().totalMemory() / (1024 * 1024)) + " mb (Max: " + (Runtime.getRuntime().maxMemory() / (1024 * 1024)) + " mb)");
|
||||
if (!hasShownMemoryWarning) {
|
||||
@@ -52,4 +56,16 @@ public class TicksPerSecondCommand extends Command
|
||||
@@ -50,4 +54,16 @@ public class TicksPerSecondCommand extends Command
|
||||
return ( ( tps > 18.0 ) ? ChatColor.GREEN : ( tps > 16.0 ) ? ChatColor.YELLOW : ChatColor.RED ).toString()
|
||||
+ ( ( tps > 21.0 ) ? "*" : "" ) + Math.min( Math.round( tps * 100.0 ) / 100.0, 20.0 ); // Paper - only print * at 21, we commonly peak to 20.02 as the tick sleep is not accurate enough, stop the noise
|
||||
}
|
||||
|
@ -27,12 +27,12 @@ index 55b67f1057224101272f9d6023a93872c4423405..3ec187f39250214a7a72b1d7ef7b3e2e
|
||||
String hostName = "BrokenHost";
|
||||
try {
|
||||
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
index 3ee8d31c453105eca7b96bede39a9ebbf40e1c2c..0a9f03526abf0638ada15d9810b949887fca9f9a 100644
|
||||
index ca3d9dbcbeeb5059a942cae1a5020f0bcc59ac9c..20da9b4333e02a1f24eff0c7bbe17a7231bb3359 100644
|
||||
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
@@ -180,6 +180,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
// Paper end
|
||||
@@ -181,6 +181,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
com.tuinity.tuinity.config.TuinityConfig.init((java.io.File) options.valueOf("tuinity-settings")); // Tuinity - Server Config
|
||||
gg.airplane.AirplaneConfig.load(); // Airplane - config
|
||||
|
||||
+ // Yatopia start
|
||||
+ try {
|
||||
@ -80,10 +80,10 @@ index ca19cfa1ff801e5292332ff7b92bba881762306e..14d8492c405db32e454bc363207a1271
|
||||
playerconnection.sendPacket(new PacketPlayOutAbilities(entityplayer.abilities));
|
||||
playerconnection.sendPacket(new PacketPlayOutHeldItemSlot(entityplayer.inventory.itemInHandIndex));
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 05612f20cd2881af363111789cf903c4baf5c9c8..3d52621bf068517b2d959c65aea211f93b8d4497 100644
|
||||
index 289ea917d3b5327e1c7dbffdb9ba171cc5052627..8ad95d3275fef85deb33fc2794f7bc3b72f917ca 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -857,6 +857,7 @@ public final class CraftServer implements Server {
|
||||
@@ -856,6 +856,7 @@ public final class CraftServer implements Server {
|
||||
playerList.getProfileBans().load();
|
||||
} catch (IOException ex) {
|
||||
logger.log(Level.WARNING, "Failed to load banned-players.json, " + ex.getMessage());
|
||||
|
@ -9,7 +9,7 @@ Original code by JellySquid, licensed under GNU Lesser General Public License v3
|
||||
you can find the original code on https://github.com/CaffeineMC/lithium-fabric/ (Yarn mappings)
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalSelector.java b/src/main/java/net/minecraft/server/PathfinderGoalSelector.java
|
||||
index 9cad895c7d008487ce885cbcc2c3966645df4c19..b63f274ec0afec96b4879f9ebaed72c416d1f9d2 100644
|
||||
index 2ce5e07f4dcd0c76073840c35be66b7c65c6e7e8..44f3fc1e57a6287b12b281643c8e9ae734aebaf8 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalSelector.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalSelector.java
|
||||
@@ -11,6 +11,7 @@ import java.util.function.Supplier;
|
||||
|
@ -5,7 +5,7 @@ Subject: [PATCH] Option for simpler Villagers
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
index eef51f8e5734b897164ca9514e7b49b2678416e6..2745cd0d98cfcf25a5304fa8ae0903028a283b25 100644
|
||||
index 5fc57e2e2afe383ddc9b6d4db714a678c881fa77..b6ae5a18ab1748f71956c2d323eb1011854bd854 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
@@ -31,6 +31,7 @@ import org.bukkit.event.entity.VillagerReplenishTradeEvent;
|
||||
@ -78,10 +78,10 @@ index eef51f8e5734b897164ca9514e7b49b2678416e6..2745cd0d98cfcf25a5304fa8ae090302
|
||||
BehaviorController<EntityVillager> behaviorcontroller = this.cK().a(dynamic);
|
||||
|
||||
this.a(behaviorcontroller);
|
||||
@@ -212,10 +252,39 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
}
|
||||
@@ -213,11 +253,39 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
// Purpur end
|
||||
|
||||
private int behaviorTick = 0;
|
||||
+ // Yatopia start
|
||||
+ private VillagerProfession getRandomProfession() {
|
||||
+ int type = random.nextInt(13);
|
||||
@ -103,7 +103,7 @@ index eef51f8e5734b897164ca9514e7b49b2678416e6..2745cd0d98cfcf25a5304fa8ae090302
|
||||
+ }
|
||||
+ }
|
||||
+ // Yatopia end
|
||||
+
|
||||
|
||||
@Override
|
||||
protected void mobTick() { mobTick(false); }
|
||||
protected void mobTick(boolean inactive) {
|
||||
@ -118,7 +118,7 @@ index eef51f8e5734b897164ca9514e7b49b2678416e6..2745cd0d98cfcf25a5304fa8ae090302
|
||||
// Purpur start
|
||||
if (world.purpurConfig.villagerLobotomizeEnabled) inactive = inactive || isLobotomized();
|
||||
boolean tick = (world.getTime() + brainTickOffset) % world.purpurConfig.villagerBrainTicks == 0;
|
||||
@@ -338,6 +407,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
@@ -344,6 +412,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
this.fl();
|
||||
}
|
||||
|
||||
@ -126,7 +126,7 @@ index eef51f8e5734b897164ca9514e7b49b2678416e6..2745cd0d98cfcf25a5304fa8ae090302
|
||||
private void fl() {
|
||||
Iterator iterator = this.getOffers().iterator();
|
||||
|
||||
@@ -412,6 +482,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
@@ -418,6 +487,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
return this.fn() && this.fm();
|
||||
}
|
||||
|
||||
@ -134,7 +134,7 @@ index eef51f8e5734b897164ca9514e7b49b2678416e6..2745cd0d98cfcf25a5304fa8ae090302
|
||||
private void fo() {
|
||||
int i = 2 - this.bD;
|
||||
|
||||
@@ -644,6 +715,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
@@ -650,6 +720,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
}
|
||||
|
||||
private void a(Entity entity) {
|
||||
@ -142,7 +142,7 @@ index eef51f8e5734b897164ca9514e7b49b2678416e6..2745cd0d98cfcf25a5304fa8ae090302
|
||||
if (this.world instanceof WorldServer) {
|
||||
Optional<List<EntityLiving>> optional = this.bg.getMemory(MemoryModuleType.VISIBLE_MOBS);
|
||||
|
||||
@@ -660,6 +732,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
@@ -666,6 +737,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
}
|
||||
|
||||
public void a(MemoryModuleType<GlobalPos> memorymoduletype) {
|
||||
|
@ -5,7 +5,7 @@ Subject: [PATCH] Optimize TileEntity load/unload
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index e592ca980967804cf5ac9cbf2a917d584a23163b..fe3b5e9e00900a553a2bbaf0bcd0f0d8c876d5b6 100644
|
||||
index 7d0ea2c0f04578eb2c896aa6ea99ce26d8935478..106ed295ce502cdd693371b9fa98eba7588b1f44 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -42,8 +42,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
|
@ -39,10 +39,10 @@ index 15aa603a771c327879a4088609850fb86c6347bd..553d6fafbcabafeb008fcf5b60adb8d1
|
||||
for (final Method method : clazz.getDeclaredMethods()) {
|
||||
if (method.getReturnType() != void.class || method.getParameterCount() != 0 ||
|
||||
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
index 0a9f03526abf0638ada15d9810b949887fca9f9a..64b662dc9146d0d414a9668d9b93e07aa6665f32 100644
|
||||
index 20da9b4333e02a1f24eff0c7bbe17a7231bb3359..4bacbd38bc0b39724f1c07ec5a266942d2d1ed81 100644
|
||||
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
@@ -188,7 +188,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
@@ -189,7 +189,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
return false;
|
||||
}
|
||||
// Yatopia end
|
||||
|
@ -5,10 +5,10 @@ Subject: [PATCH] Fix lead fall dmg config
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 63eb29635957d4e6ce1274ee17a59af62d442d4e..e629f10cdbd70a354f9edaa75973b169a8588d08 100644
|
||||
index d74086ee72cfae3d2bead9fb08c808299d755e2a..48224c50293ff34f163724fa9d1d54c9bcfb2321 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -1287,6 +1287,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -1290,6 +1290,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
this.fallDistance = 0.0F;
|
||||
} else if (d0 < 0.0D) {
|
||||
this.fallDistance = (float) ((double) this.fallDistance - d0);
|
||||
|
@ -5,7 +5,7 @@ Subject: [PATCH] Fix LightEngineThreaded memory leak
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/LightEngineThreaded.java b/src/main/java/net/minecraft/server/LightEngineThreaded.java
|
||||
index 3c4c3e43b5b947f7332f2dd6d1f1dae4be7708ab..be4193a1c1f4d7bb62d42b786f33f636863a3dfb 100644
|
||||
index 001ac05cf26237eec8a77c476e678ff6d0840311..7b4935dd8c54f5fcb4f26b96c270d3e4102133a3 100644
|
||||
--- a/src/main/java/net/minecraft/server/LightEngineThreaded.java
|
||||
+++ b/src/main/java/net/minecraft/server/LightEngineThreaded.java
|
||||
@@ -110,6 +110,8 @@ public class LightEngineThreaded extends LightEngine implements AutoCloseable {
|
||||
|
@ -5,10 +5,10 @@ Subject: [PATCH] Add nspt command
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
index 64b662dc9146d0d414a9668d9b93e07aa6665f32..2473eb88ec7be3f4935debe04eeabcc0815b3233 100644
|
||||
index 4bacbd38bc0b39724f1c07ec5a266942d2d1ed81..72e093bceb7cbf5b55271bf09d04ee73b79e5d45 100644
|
||||
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
@@ -187,6 +187,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
@@ -188,6 +188,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
DedicatedServer.LOGGER.error("Unable to load server configuration", e);
|
||||
return false;
|
||||
}
|
||||
@ -17,10 +17,10 @@ index 64b662dc9146d0d414a9668d9b93e07aa6665f32..2473eb88ec7be3f4935debe04eeabcc0
|
||||
de.minebench.origami.OrigamiConfig.init((java.io.File) options.valueOf("origami-settings"));
|
||||
this.setPVP(dedicatedserverproperties.pvp);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 3d52621bf068517b2d959c65aea211f93b8d4497..7d0f73c83a7f7f3c6becf3ed4348c6b2938a86b1 100644
|
||||
index 8ad95d3275fef85deb33fc2794f7bc3b72f917ca..5a539230b5791e0469f8de0c04af68d8895e7847 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -921,6 +921,7 @@ public final class CraftServer implements Server {
|
||||
@@ -920,6 +920,7 @@ public final class CraftServer implements Server {
|
||||
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
|
||||
com.destroystokyo.paper.PaperConfig.registerCommands(); // Paper
|
||||
net.pl3x.purpur.PurpurConfig.registerCommands(); // Purpur
|
||||
|
@ -7,10 +7,10 @@ Also don't tick blockentity beehive if there are no bees in it.
|
||||
This patch is a leftover from the original tile entity optimisations, which was majorly flawed.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/TileEntityBeehive.java b/src/main/java/net/minecraft/server/TileEntityBeehive.java
|
||||
index a60e0872d51aeb330bd5334e35f18ad0ed63834e..70239fa5ac05464606ad917b3c3498156c12c536 100644
|
||||
index 598f78502cd7ad15bc0f678df277f91b3ae376d4..69ef94e887fa9da1b3ddaf0a345fecc49d2866b5 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntityBeehive.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntityBeehive.java
|
||||
@@ -286,6 +286,7 @@ public class TileEntityBeehive extends TileEntity implements ITickable {
|
||||
@@ -285,6 +285,7 @@ public class TileEntityBeehive extends TileEntity implements ITickable {
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
|
@ -46,10 +46,10 @@ index ee4c26de15a5c304889f38f49f4584e8d4ccc5fe..ca9075d6bae36c29d9eb4727321afcbc
|
||||
this.dropChanceArmor[EnumItemSlot.HEAD.b()] = 0.0F;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
index a5699314be3f47ed9b27a5d21a396c5282592c7b..16d73dc50b76523dd03e12d566646874e86fabca 100644
|
||||
index 4dc027577656b423cd06a1eca5fdf9c9a5fcf107..ba8523ab5cf5d2320624ed1fd40fa0c26e2e42cb 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
@@ -520,11 +520,15 @@ public class EntityZombie extends EntityMonster {
|
||||
@@ -523,11 +523,15 @@ public class EntityZombie extends EntityMonster {
|
||||
}
|
||||
|
||||
if (this.getEquipment(EnumItemSlot.HEAD).isEmpty()) {
|
||||
|
@ -76,7 +76,7 @@ index 548c62a838848a9183e14f91b21a9dc309d8a3b2..acded2b5ef02c24f52050fcc8f06ccb5
|
||||
close(new ChatMessage("disconnect.genericReason", "Internal Exception: " + e.getMessage()));;
|
||||
packet.onPacketDispatchFinish(player, null);
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
|
||||
index e698dd22607b2b2c4068c5bfb03ac53eb5bac080..4e545e467042772d49ac82492694824576dcd139 100644
|
||||
index 7fff1b3e4eda519851b714502d33122c1e408009..41949bebe38bfa734f1d06df209ca842d1a42933 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnectionUtils.java
|
||||
@@ -45,6 +45,11 @@ public class PlayerConnectionUtils {
|
||||
@ -108,7 +108,7 @@ index 0668d383db1f3a81d1053954d72678c7ac5aecec..7b9f83e63d0f9cd83a246be33af4ab91
|
||||
ChatComponentText chatcomponenttext = new ChatComponentText("Internal server error");
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index fe3b5e9e00900a553a2bbaf0bcd0f0d8c876d5b6..746ee21f175c80e8cddb21a6a626f978da8952dd 100644
|
||||
index 106ed295ce502cdd693371b9fa98eba7588b1f44..ab1f7992a3a61179cb9862915c14ea7f6dc76cc6 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -988,6 +988,10 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 1b11269397834a35d06fd62e08d71d06bb6416eb
|
||||
Subproject commit d7d1626f8e87461cf2e5d882b1ca53f828b1b132
|
@ -1 +1 @@
|
||||
Subproject commit a8914cb8ed18d96eb1452d1e052c5e6d3007f1d7
|
||||
Subproject commit bbc8d297dbcb1183997ec1b56f774319d079ba31
|
@ -1 +1 @@
|
||||
Subproject commit 45d89ccba0fab274b6e4eb013762a68e8e502d33
|
||||
Subproject commit 168394a2ea0f603db3e54a0223315008f622f36f
|
@ -1 +1 @@
|
||||
1b11269397834a35d06fd62e08d71d06bb6416eb
|
||||
d7d1626f8e87461cf2e5d882b1ca53f828b1b132
|
@ -1 +1 @@
|
||||
a8914cb8ed18d96eb1452d1e052c5e6d3007f1d7
|
||||
bbc8d297dbcb1183997ec1b56f774319d079ba31
|
@ -1 +1 @@
|
||||
45d89ccba0fab274b6e4eb013762a68e8e502d33
|
||||
168394a2ea0f603db3e54a0223315008f622f36f
|
@ -1 +1 @@
|
||||
5cff60d5c6a3563d0f8dd6f611ad1ade913bcc1c
|
||||
7fc2d31be761c91ee3cbbde0e2832834063f5899
|
@ -1 +1 @@
|
||||
f8c0db48055c9374597c05cd8359db2147432216
|
||||
502d57ba8376333163a56c5491a46e408178d575
|
@ -1,4 +1,4 @@
|
||||
name=Airplane
|
||||
useBlackList=False
|
||||
list=server/Airplane-MC-Dev-Fixes.patch,server/Remove-streams.patch,server/Strip-raytracing-for-EntityLiving-hasLineOfSight.patch,server/Simpler-ShapelessRecipes-comparison-for-Vanilla.patch,server/Queue-lighting-update-only-once.patch,server/Use-unmodifiableMap-instead-of-making-copy.patch,server/Swap-priority-of-checks-in-chunk-ticking.patch,server/Reduce-projectile-chunk-loading.patch,server/Optimize-random-calls-in-chunk-ticking.patch,server/Don-t-get-entity-equipment-if-not-needed.patch
|
||||
list=server/Airplane-MC-Dev-Fixes.patch,server/Airplane-Configuration.patch,server/Remove-streams.patch,server/Strip-raytracing-for-EntityLiving-hasLineOfSight.patch,server/Simpler-ShapelessRecipes-comparison-for-Vanilla.patch,server/Queue-lighting-update-only-once.patch,server/Use-unmodifiableMap-instead-of-making-copy.patch,server/Swap-priority-of-checks-in-chunk-ticking.patch,server/Reduce-projectile-chunk-loading.patch,server/Optimize-random-calls-in-chunk-ticking.patch,server/Don-t-get-entity-equipment-if-not-needed.patch,server/Dynamic-activation-range.patch
|
||||
branch=origin/master
|
||||
|
Loading…
Reference in New Issue
Block a user