mirror of
https://github.com/YatopiaMC/Yatopia.git
synced 2024-11-22 02:25:51 +01:00
Updated Upstream and Sidestream(s) (Paper/Tuinity/Purpur/Airplane/Empirecraft) (#392)
* Updated Upstream and Sidestream(s) (Paper/Tuinity/Purpur/Airplane/Empirecraft) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 13a476e15 Deprecate PlayerLeaveBedEvent#setBedSpawn 3a1d95c71 [Auto] Updated Upstream (CraftBukkit) d4dcc1a2e Updated Upstream (CraftBukkit) e886d8118 Updated Upstream () 8bc0c6c31 Updated Upstream (CraftBukkit/Spigot) (#5169) 002f65b8b living entity allow attribute registration (#4723) 69a5c67b1 fix calling setSize on dead slimes causing invincibility (fixes #5137) (#5168) Tuinity Changes: 502d57b Updated Upstream (Paper) 87e0cd9 Print exceptions for light scheduling Purpur Changes: 7fc2d31 Updated Upstream (Paper & Tuinity) Airplane Changes: d7d1626 Remove multithreaded entity tracker 677ec73 Ensure armor change event is on main thread c07d254 Fix crash ec7605c Updated Upstream (Tuinity) 2768f39 Update DEAR commit message e975972 Multithreaded entity tracking 98244f9 Updated Upstream (Tuinity) 44b2499 Larger headings 2c4a7fb Merge pull request #6 from Encode42/master cc19631 More changes beba27a Badges and variables 0aeaf12 Improve readability, grammar, etc. Empirecraft Changes: bbc8d297 Updated Paper * Updated Upstream and Sidestream(s) (Paper/Origami) Upstream/An Sidestream has released updates that appears to apply and compile correctly This update has NOT been tested by YatopiaMC and as with ANY update, please do your own testing. Paper Changes: 3dadd97bb [CI-SKIP] [Meta] Exempt more labels from being marked as stale (#5142) 36a72cad3 [Auto] Updated Upstream (Bukkit/CraftBukkit/Spigot) Origami Changes: 168394a Access config after loading it... fixes velocity auto offline-mode c47b182 Add velocity to automatic offline mode
This commit is contained in:
parent
b774a5d8a8
commit
36030ef022
@ -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/jellysquid3/lithium-fabric/tree/1.16.x/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 @@
|
||||
Subproject commit 5cff60d5c6a3563d0f8dd6f611ad1ade913bcc1c
|
||||
Subproject commit 7fc2d31be761c91ee3cbbde0e2832834063f5899
|
@ -1 +1 @@
|
||||
Subproject commit f8c0db48055c9374597c05cd8359db2147432216
|
||||
Subproject commit 502d57ba8376333163a56c5491a46e408178d575
|
@ -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