mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-20 01:47:42 +01:00
Update to 1.16.2
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -5,26 +5,25 @@ Subject: [PATCH] Rebrand
|
||||
|
||||
|
||||
diff --git a/pom.xml b/pom.xml
|
||||
index 6fd5968178..5b540e606e 100644
|
||||
index ee19a2874..09119ce8e 100644
|
||||
--- a/pom.xml
|
||||
+++ b/pom.xml
|
||||
@@ -1,12 +1,11 @@
|
||||
@@ -1,11 +1,11 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
- <artifactId>tuinity</artifactId>
|
||||
+ <artifactId>purpur</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<version>1.16.1-R0.1-SNAPSHOT</version>
|
||||
<version>1.16.2-R0.1-SNAPSHOT</version>
|
||||
- <name>Tuinity-Server</name>
|
||||
- <url>https://github.com/Spottedleaf/Tuinity</url>
|
||||
-
|
||||
+ <name>Purpur</name>
|
||||
+ <name>Purpur-Server</name>
|
||||
+ <url>https://github.com/pl3xgaming/Purpur</url>
|
||||
|
||||
<properties>
|
||||
<!-- <skipTests>true</skipTests> Paper - This [was] not going to end well -->
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
@@ -18,16 +17,16 @@
|
||||
@@ -18,16 +18,16 @@
|
||||
</properties>
|
||||
|
||||
<parent>
|
||||
@@ -45,7 +44,7 @@ index 6fd5968178..5b540e606e 100644
|
||||
<version>${project.version}</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
@@ -43,6 +42,20 @@
|
||||
@@ -43,6 +43,20 @@
|
||||
<version>${minecraft.version}-SNAPSHOT</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
@@ -66,7 +65,7 @@ index 6fd5968178..5b540e606e 100644
|
||||
<dependency>
|
||||
<groupId>net.minecrell</groupId>
|
||||
<artifactId>terminalconsoleappender</artifactId>
|
||||
@@ -164,15 +177,15 @@
|
||||
@@ -164,15 +178,15 @@
|
||||
|
||||
<!-- This builds a completely 'ready to start' jar with all dependencies inside -->
|
||||
<build>
|
||||
@@ -81,12 +80,12 @@ index 6fd5968178..5b540e606e 100644
|
||||
<version>1.3</version>
|
||||
<configuration>
|
||||
- <outputPrefix>git-Tuinity-</outputPrefix> <!-- Tuinity -->
|
||||
+ <outputPrefix>git-Purpur-</outputPrefix>
|
||||
+ <outputPrefix>git-Purpur-</outputPrefix> <!-- Tuinity -->
|
||||
<scmDirectory>..</scmDirectory>
|
||||
</configuration>
|
||||
<executions>
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
||||
index 74ed02fa92..c1280478ee 100644
|
||||
index 74ed02fa9..c1280478e 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java
|
||||
@@ -17,7 +17,7 @@ public final class PaperConsole extends SimpleTerminalConsole {
|
||||
@@ -99,10 +98,10 @@ index 74ed02fa92..c1280478ee 100644
|
||||
.completer(new ConsoleCommandCompleter(this.server))
|
||||
);
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index bb54a4aa71..0a7dd67516 100644
|
||||
index 615a71a78..ba731edd3 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1506,7 +1506,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1510,7 +1510,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
}
|
||||
|
||||
public String getServerModName() {
|
||||
@@ -113,7 +112,7 @@ index bb54a4aa71..0a7dd67516 100644
|
||||
public CrashReport b(CrashReport crashreport) {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java b/src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java
|
||||
new file mode 100644
|
||||
index 0000000000..d8b408f061
|
||||
index 000000000..d8b408f06
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurVersionFetcher.java
|
||||
@@ -0,0 +1,115 @@
|
||||
@@ -233,10 +232,10 @@ index 0000000000..d8b408f061
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index d434bd93bc..7079c79f7b 100644
|
||||
index 61e5a91a7..020bb17b6 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -231,7 +231,7 @@ import javax.annotation.Nullable; // Paper
|
||||
@@ -230,7 +230,7 @@ import javax.annotation.Nullable; // Paper
|
||||
import javax.annotation.Nonnull; // Paper
|
||||
|
||||
public final class CraftServer implements Server {
|
||||
@@ -246,7 +245,7 @@ index d434bd93bc..7079c79f7b 100644
|
||||
private final String bukkitVersion = Versioning.getBukkitVersion();
|
||||
private final Logger logger = Logger.getLogger("Minecraft");
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
index 90c1067ca2..dd2772d8c7 100644
|
||||
index c1efe830d..2f319c6e2 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java
|
||||
@@ -326,7 +326,7 @@ public final class CraftMagicNumbers implements UnsafeValues {
|
||||
@@ -259,7 +258,7 @@ index 90c1067ca2..dd2772d8c7 100644
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||
index 001b1e5197..13b9843932 100644
|
||||
index 001b1e519..13b984393 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
|
||||
@@ -11,7 +11,7 @@ public final class Versioning {
|
||||
|
||||
@@ -29,7 +29,7 @@ index 8a19c9649..de75e33a6 100644
|
||||
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
|
||||
Map<String, Map<String, Integer>> map = new HashMap<>();
|
||||
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
index 578f7809c..21dc3b9a6 100644
|
||||
index 5907caa74..a60634fc4 100644
|
||||
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
|
||||
@@ -168,6 +168,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
|
||||
@@ -49,7 +49,7 @@ index 578f7809c..21dc3b9a6 100644
|
||||
// Paper end
|
||||
com.tuinity.tuinity.config.TuinityConfig.init((java.io.File) options.valueOf("tuinity-settings")); // Tuinity - Server Config
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index 4a956f368..ad58307f1 100644
|
||||
index 4834f7569..e9e55c6f1 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 {
|
||||
@@ -60,11 +60,14 @@ index 4a956f368..ad58307f1 100644
|
||||
|
||||
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
||||
public static BlockPosition lastPhysicsProblem; // Spigot
|
||||
@@ -124,6 +125,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -126,8 +127,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
protected World(WorldDataMutable worlddatamutable, ResourceKey<World> resourcekey, final DimensionManager dimensionmanager, Supplier<GameProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.World.Environment env, java.util.concurrent.Executor executor) { // Paper
|
||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((WorldDataServer) worlddatamutable).getName()); // Spigot
|
||||
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig((((WorldDataServer)worlddatamutable).getName()), this.spigotConfig); // Paper
|
||||
this.chunkPacketBlockController = this.paperConfig.antiXray ? new ChunkPacketBlockControllerAntiXray(this.paperConfig, executor) : ChunkPacketBlockController.NO_OPERATION_INSTANCE; // Paper - Anti-Xray
|
||||
- this.chunkPacketBlockController = this.paperConfig.antiXray ? new ChunkPacketBlockControllerAntiXray(this, executor) : ChunkPacketBlockController.NO_OPERATION_INSTANCE; // Paper - Anti-Xray
|
||||
this.tuinityConfig = new com.tuinity.tuinity.config.TuinityConfig.WorldConfig(((WorldDataServer)worlddatamutable).getName()); // Tuinity - Server Config
|
||||
+ this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((((WorldDataServer)worlddatamutable).getName())); // Purpur
|
||||
+ this.chunkPacketBlockController = this.paperConfig.antiXray ? new ChunkPacketBlockControllerAntiXray(this, executor) : ChunkPacketBlockController.NO_OPERATION_INSTANCE; // Paper - Anti-Xray
|
||||
this.generator = gen;
|
||||
this.world = new CraftWorld((WorldServer) this, gen, env);
|
||||
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
|
||||
@@ -341,10 +344,10 @@ index 000000000..4904be939
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 7079c79f7..6e15c2690 100644
|
||||
index 020bb17b6..3e2fa5a37 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -849,6 +849,7 @@ public final class CraftServer implements Server {
|
||||
@@ -848,6 +848,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
|
||||
@@ -352,7 +355,7 @@ index 7079c79f7..6e15c2690 100644
|
||||
for (WorldServer world : console.getWorlds()) {
|
||||
world.worldDataServer.setDifficulty(config.difficulty);
|
||||
world.setSpawnFlags(config.spawnMonsters, config.spawnAnimals);
|
||||
@@ -884,6 +885,7 @@ public final class CraftServer implements Server {
|
||||
@@ -883,6 +884,7 @@ public final class CraftServer implements Server {
|
||||
world.spigotConfig.init(); // Spigot
|
||||
world.paperConfig.init(); // Paper
|
||||
world.tuinityConfig.init(); // Tuinity - Server Config
|
||||
@@ -360,7 +363,7 @@ index 7079c79f7..6e15c2690 100644
|
||||
}
|
||||
|
||||
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
|
||||
@@ -902,6 +904,7 @@ public final class CraftServer implements Server {
|
||||
@@ -901,6 +903,7 @@ public final class CraftServer implements Server {
|
||||
reloadData();
|
||||
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
|
||||
com.destroystokyo.paper.PaperConfig.registerCommands(); // Paper
|
||||
@@ -368,7 +371,7 @@ index 7079c79f7..6e15c2690 100644
|
||||
overrideAllCommandBlockCommands = commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
||||
ignoreVanillaPermissions = commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
||||
|
||||
@@ -2251,6 +2254,18 @@ public final class CraftServer implements Server {
|
||||
@@ -2247,6 +2250,18 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
// Tuinity end - add config to timings report
|
||||
|
||||
@@ -388,7 +391,7 @@ index 7079c79f7..6e15c2690 100644
|
||||
public void restart() {
|
||||
org.spigotmc.RestartCommand.restart();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
index 2cebdb36f..27fae70a2 100644
|
||||
index 0db533858..bdb87ffac 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -146,6 +146,14 @@ public class Main {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Advancement API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Advancement.java b/src/main/java/net/minecraft/server/Advancement.java
|
||||
index 315a03cf5..07d4c4cfd 100644
|
||||
index c405047c..384d4090 100644
|
||||
--- a/src/main/java/net/minecraft/server/Advancement.java
|
||||
+++ b/src/main/java/net/minecraft/server/Advancement.java
|
||||
@@ -64,7 +64,7 @@ public class Advancement {
|
||||
@@ -18,7 +18,7 @@ index 315a03cf5..07d4c4cfd 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/AdvancementDisplay.java b/src/main/java/net/minecraft/server/AdvancementDisplay.java
|
||||
index 12c63a53b..0d3900456 100644
|
||||
index b0d4b7a6..ac4fac89 100644
|
||||
--- a/src/main/java/net/minecraft/server/AdvancementDisplay.java
|
||||
+++ b/src/main/java/net/minecraft/server/AdvancementDisplay.java
|
||||
@@ -15,10 +15,11 @@ public class AdvancementDisplay {
|
||||
@@ -66,10 +66,10 @@ index 12c63a53b..0d3900456 100644
|
||||
return this.h;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/AdvancementFrameType.java b/src/main/java/net/minecraft/server/AdvancementFrameType.java
|
||||
index a9c49a434..551a84547 100644
|
||||
index 90b78e49..9a3a53cf 100644
|
||||
--- a/src/main/java/net/minecraft/server/AdvancementFrameType.java
|
||||
+++ b/src/main/java/net/minecraft/server/AdvancementFrameType.java
|
||||
@@ -1,14 +1,25 @@
|
||||
@@ -1,15 +1,26 @@
|
||||
package net.minecraft.server;
|
||||
|
||||
+import org.bukkit.advancement.FrameType; // Purpur
|
||||
@@ -86,6 +86,7 @@ index a9c49a434..551a84547 100644
|
||||
private final String d;
|
||||
private final int e;
|
||||
private final EnumChatFormat f;
|
||||
private final IChatBaseComponent g;
|
||||
|
||||
- private AdvancementFrameType(String s, int i, EnumChatFormat enumchatformat) {
|
||||
+ // Purpur start
|
||||
@@ -98,7 +99,7 @@ index a9c49a434..551a84547 100644
|
||||
this.e = i;
|
||||
this.f = enumchatformat;
|
||||
diff --git a/src/main/java/net/minecraft/server/CriterionTrigger.java b/src/main/java/net/minecraft/server/CriterionTrigger.java
|
||||
index cfb420a9c..6fd3671c3 100644
|
||||
index cfb420a9..6fd3671c 100644
|
||||
--- a/src/main/java/net/minecraft/server/CriterionTrigger.java
|
||||
+++ b/src/main/java/net/minecraft/server/CriterionTrigger.java
|
||||
@@ -26,6 +26,7 @@ public interface CriterionTrigger<T extends CriterionInstance> {
|
||||
@@ -110,7 +111,7 @@ index cfb420a9c..6fd3671c3 100644
|
||||
return this.a;
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java
|
||||
index a5aadf285..b0a7092d6 100644
|
||||
index a5aadf28..b0a7092d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancement.java
|
||||
@@ -27,4 +27,11 @@ public class CraftAdvancement implements org.bukkit.advancement.Advancement {
|
||||
@@ -127,7 +128,7 @@ index a5aadf285..b0a7092d6 100644
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancementDisplay.java b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancementDisplay.java
|
||||
new file mode 100644
|
||||
index 000000000..1cbb1e67b
|
||||
index 00000000..1cbb1e67
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/advancement/CraftAdvancementDisplay.java
|
||||
@@ -0,0 +1,47 @@
|
||||
|
||||
@@ -5,77 +5,75 @@ Subject: [PATCH] Llama API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLlama.java b/src/main/java/net/minecraft/server/EntityLlama.java
|
||||
index 4fe769c76..cf3192085 100644
|
||||
index d4175f2d..e90ff597 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLlama.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLlama.java
|
||||
@@ -13,7 +13,8 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
@Nullable
|
||||
private EntityLlama bI;
|
||||
private EntityLlama bB;
|
||||
@Nullable
|
||||
- private EntityLlama bJ;
|
||||
+ private EntityLlama bJ; public EntityLlama getCaravanTail() { return bJ; } // Purpur - OBFHELPER
|
||||
- private EntityLlama bC;
|
||||
+ private EntityLlama bC; public EntityLlama getCaravanTail() { return bC; } // Purpur - OBFHELPER
|
||||
+ public boolean shouldJoinCaravan = true; // Purpur
|
||||
|
||||
public EntityLlama(EntityTypes<? extends EntityLlama> entitytypes, World world) {
|
||||
super(entitytypes, world);
|
||||
@@ -41,7 +42,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
if (!this.inventoryChest.getItem(1).isEmpty()) {
|
||||
@@ -42,6 +43,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
nbttagcompound.set("DecorItem", this.inventoryChest.getItem(1).save(new NBTTagCompound()));
|
||||
}
|
||||
-
|
||||
|
||||
+ nbttagcompound.setBoolean("Purpur.ShouldJoinCaravan", shouldJoinCaravan); // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -52,7 +53,11 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
if (nbttagcompound.hasKeyOfType("DecorItem", 10)) {
|
||||
@@ -53,6 +55,11 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
this.inventoryChest.setItem(1, ItemStack.a(nbttagcompound.getCompound("DecorItem")));
|
||||
}
|
||||
-
|
||||
|
||||
+ // Purpur start
|
||||
+ if (nbttagcompound.hasKey("Purpur.ShouldJoinCaravan")) {
|
||||
+ nbttagcompound.setBoolean("Purpur.ShouldJoinCaravan", shouldJoinCaravan);
|
||||
+ }
|
||||
+ // Purpur end
|
||||
this.ff();
|
||||
this.fe();
|
||||
}
|
||||
|
||||
@@ -387,19 +392,24 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
@@ -387,19 +394,24 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
}
|
||||
}
|
||||
|
||||
+ public void leaveCaravan() { fB(); } // Purpur - OBFHELPER
|
||||
public void fB() {
|
||||
if (this.bI != null) {
|
||||
+ public void leaveCaravan() { fA(); } // Purpur - OBFHELPER
|
||||
public void fA() {
|
||||
if (this.bB != null) {
|
||||
+ new net.pl3x.purpur.event.entity.LlamaLeaveCaravanEvent((org.bukkit.entity.Llama) getBukkitEntity()).callEvent(); // Purpur
|
||||
this.bI.bJ = null;
|
||||
this.bB.bC = null;
|
||||
}
|
||||
|
||||
this.bI = null;
|
||||
this.bB = null;
|
||||
}
|
||||
|
||||
+ public void joinCaravan(EntityLlama entitiyllama) { a(entitiyllama); } // Purpur - OBFHELPER
|
||||
public void a(EntityLlama entityllama) {
|
||||
+ if (!shouldJoinCaravan || !new net.pl3x.purpur.event.entity.LlamaJoinCaravanEvent((org.bukkit.entity.Llama) getBukkitEntity(), (org.bukkit.entity.Llama) entityllama.getBukkitEntity()).callEvent()) return; // Purpur
|
||||
this.bI = entityllama;
|
||||
this.bI.bJ = this;
|
||||
this.bB = entityllama;
|
||||
this.bB.bC = this;
|
||||
}
|
||||
|
||||
+ public boolean hasCaravanTail() { return fC(); } // Purpur - OBFHELPER
|
||||
public boolean fC() {
|
||||
return this.bJ != null;
|
||||
+ public boolean hasCaravanTail() { return fB(); } // Purpur - OBFHELPER
|
||||
public boolean fB() {
|
||||
return this.bC != null;
|
||||
}
|
||||
@@ -410,7 +420,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
@@ -410,7 +422,7 @@ public class EntityLlama extends EntityHorseChestedAbstract implements IRangedEn
|
||||
}
|
||||
|
||||
@Nullable
|
||||
- public EntityLlama fE() {
|
||||
+ public EntityLlama fE() { return getCaravanHead(); } public EntityLlama getCaravanHead() { // Purpur - OBFHELPER
|
||||
return this.bI;
|
||||
- public EntityLlama fD() {
|
||||
+ public EntityLlama fD() { return getCaravanHead(); } public EntityLlama getCaravanHead() { // Purpur - OBFHELPER
|
||||
return this.bB;
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java b/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java
|
||||
index 938c271fa..e21901a72 100644
|
||||
index 1b29ca2c..47ffa669 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalLlamaFollow.java
|
||||
@@ -6,7 +6,7 @@ import java.util.List;
|
||||
@@ -92,7 +90,7 @@ index 938c271fa..e21901a72 100644
|
||||
@Override
|
||||
public boolean a() {
|
||||
+ if (!getLlama().shouldJoinCaravan) return false; // Purpur
|
||||
if (!this.a.isLeashed() && !this.a.fD()) {
|
||||
if (!this.a.isLeashed() && !this.a.fC()) {
|
||||
List<Entity> list = this.a.world.getEntities(this.a, this.a.getBoundingBox().grow(9.0D, 4.0D, 9.0D), (entity) -> {
|
||||
EntityTypes<?> entitytypes = entity.getEntityType();
|
||||
@@ -77,6 +78,7 @@ public class PathfinderGoalLlamaFollow extends PathfinderGoal {
|
||||
@@ -100,11 +98,11 @@ index 938c271fa..e21901a72 100644
|
||||
@Override
|
||||
public boolean b() {
|
||||
+ if (!getLlama().shouldJoinCaravan) return false; // Purpur
|
||||
if (this.a.fD() && this.a.fE().isAlive() && this.a(this.a, 0)) {
|
||||
double d0 = this.a.h((Entity) this.a.fE());
|
||||
if (this.a.fC() && this.a.fD().isAlive() && this.a(this.a, 0)) {
|
||||
double d0 = this.a.h((Entity) this.a.fD());
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
|
||||
index 3f94c5a92..a02763480 100644
|
||||
index 3f94c5a9..a0276348 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java
|
||||
@@ -65,4 +65,48 @@ public class CraftLlama extends CraftChestedHorse implements Llama, CraftRangedE
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Evoker API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityEvoker.java b/src/main/java/net/minecraft/server/EntityEvoker.java
|
||||
index dd55e5e5b..c37c2930e 100644
|
||||
index 307d723c9..4bea4ca7e 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityEvoker.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityEvoker.java
|
||||
@@ -24,7 +24,7 @@ public class EntityEvoker extends EntityIllagerWizard {
|
||||
@@ -23,13 +23,13 @@ index dd55e5e5b..c37c2930e 100644
|
||||
|
||||
+ public void setWololoTarget(@Nullable EntitySheep sheep) { a(sheep); } // Purpur - OBFHELPER
|
||||
private void a(@Nullable EntitySheep entitysheep) {
|
||||
this.bv = entitysheep;
|
||||
this.bo = entitysheep;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
- private EntitySheep fh() {
|
||||
+ private EntitySheep fh() { return getWololoTarget(); } public EntitySheep getWololoTarget() { // Purpur - OBFHELPER
|
||||
return this.bv;
|
||||
- private EntitySheep fg() {
|
||||
+ private EntitySheep fg() { return getWololoTarget(); } public EntitySheep getWololoTarget() { // Purpur - OBFHELPER
|
||||
return this.bo;
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEvoker.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEvoker.java
|
||||
|
||||
@@ -4,20 +4,8 @@ Date: Thu, 8 Aug 2019 15:29:15 -0500
|
||||
Subject: [PATCH] AFK API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index db62601ea7..08f43f7992 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -1563,6 +1563,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return MathHelper.c(f * f + f1 * f1 + f2 * f2);
|
||||
}
|
||||
|
||||
+ public double getDistanceSquared(double x, double y, double z) { return g(x, y, z); } // Purpur - OBFHELPER
|
||||
public double g(double d0, double d1, double d2) {
|
||||
double d3 = this.locX() - d0;
|
||||
double d4 = this.locY() - d1;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index e411f6280d..7ac4ce116e 100644
|
||||
index ce4ebc96c..eb62555cb 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -84,6 +84,15 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
@@ -33,17 +21,17 @@ index e411f6280d..7ac4ce116e 100644
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
public EntityHuman(World world, BlockPosition blockposition, GameProfile gameprofile) {
|
||||
public EntityHuman(World world, BlockPosition blockposition, float f, GameProfile gameprofile) {
|
||||
super(EntityTypes.PLAYER, world);
|
||||
this.bS = ItemStack.b;
|
||||
this.bL = ItemStack.b;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index e5a81f8318..ecd0cd7752 100644
|
||||
index ba97787f2..b67611b11 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -1752,8 +1752,54 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -1718,8 +1718,54 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
public void resetIdleTimer() {
|
||||
this.ch = SystemUtils.getMonotonicMillis();
|
||||
this.ca = SystemUtils.getMonotonicMillis();
|
||||
+ setAfk(false); // Purpur
|
||||
}
|
||||
|
||||
@@ -96,10 +84,10 @@ index e5a81f8318..ecd0cd7752 100644
|
||||
return this.serverStatisticManager;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
index 0edcb775e9..dfa8f3439b 100644
|
||||
index 882b82d89..90c37e4a8 100644
|
||||
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
@@ -144,28 +144,18 @@ public interface IEntityAccess {
|
||||
@@ -149,28 +149,18 @@ public interface IEntityAccess {
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -121,7 +109,7 @@ index 0edcb775e9..dfa8f3439b 100644
|
||||
- } while (!IEntitySelector.g.test(entityhuman));
|
||||
- } while (!IEntitySelector.b.test(entityhuman));
|
||||
-
|
||||
- d4 = entityhuman.g(d0, d1, d2);
|
||||
- d4 = entityhuman.h(d0, d1, d2);
|
||||
- } while (d3 >= 0.0D && d4 >= d3 * d3);
|
||||
-
|
||||
- return true;
|
||||
@@ -141,7 +129,7 @@ index 0edcb775e9..dfa8f3439b 100644
|
||||
|
||||
@Nullable
|
||||
diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java
|
||||
index a52dd0c021..9b4795f3bd 100644
|
||||
index 06ce390b6..939535cb2 100644
|
||||
--- a/src/main/java/net/minecraft/server/IEntitySelector.java
|
||||
+++ b/src/main/java/net/minecraft/server/IEntitySelector.java
|
||||
@@ -7,6 +7,7 @@ import javax.annotation.Nullable;
|
||||
@@ -161,7 +149,7 @@ index a52dd0c021..9b4795f3bd 100644
|
||||
// Paper start
|
||||
public static final Predicate<Entity> affectsSpawning = (entity) -> {
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index ddb56ffd2b..b28bdaabbe 100644
|
||||
index d32f423c5..6c1438f7d 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -232,6 +232,12 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -186,7 +174,7 @@ index ddb56ffd2b..b28bdaabbe 100644
|
||||
// Skip the first time we do this
|
||||
if (true) { // Spigot - don't skip any move events
|
||||
Location oldTo = to.clone();
|
||||
@@ -1129,7 +1137,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1123,7 +1131,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
||||
if (!this.player.H() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.playerInteractManager.isCreative() && this.player.playerInteractManager.getGameMode() != EnumGamemode.SPECTATOR) { // Spigot
|
||||
flag1 = true;
|
||||
@@ -195,7 +183,7 @@ index ddb56ffd2b..b28bdaabbe 100644
|
||||
}
|
||||
|
||||
this.player.setLocation(d4, d5, d6, f, f1);
|
||||
@@ -1168,6 +1176,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1162,6 +1170,8 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
this.lastYaw = to.getYaw();
|
||||
this.lastPitch = to.getPitch();
|
||||
|
||||
@@ -205,10 +193,10 @@ index ddb56ffd2b..b28bdaabbe 100644
|
||||
if (from.getX() != Double.MAX_VALUE) {
|
||||
Location oldTo = to.clone();
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 2bee2dab9f..748ace6aa6 100644
|
||||
index 92646b86b..eaf13fb15 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -862,7 +862,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -843,7 +843,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
// CraftBukkit end
|
||||
|
||||
if (this.everyoneSleeping && this.players.stream().noneMatch((entityplayer) -> {
|
||||
@@ -217,7 +205,7 @@ index 2bee2dab9f..748ace6aa6 100644
|
||||
})) {
|
||||
// CraftBukkit start
|
||||
long l = this.worldData.getDayTime() + 24000L;
|
||||
@@ -1195,7 +1195,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1176,7 +1176,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
while (iterator.hasNext()) {
|
||||
EntityPlayer entityplayer = (EntityPlayer) iterator.next();
|
||||
|
||||
@@ -227,7 +215,7 @@ index 2bee2dab9f..748ace6aa6 100644
|
||||
} else if (entityplayer.isSleeping()) {
|
||||
++j;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 803a7ff92a..d699a91685 100644
|
||||
index 803a7ff92..d699a9168 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -1,6 +1,7 @@
|
||||
@@ -255,7 +243,7 @@ index 803a7ff92a..d699a91685 100644
|
||||
private static void timingsSettings() {
|
||||
timingsUrl = getString("settings.timings.url", timingsUrl);
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 361f7857e4..2578a4677d 100644
|
||||
index 361f7857e..2578a4677 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -56,4 +56,15 @@ public class PurpurWorldConfig {
|
||||
@@ -275,10 +263,10 @@ index 361f7857e4..2578a4677d 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index adf918fd75..b202fb8e14 100644
|
||||
index 0088701e2..087cb11b5 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2155,4 +2155,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2152,4 +2152,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
return spigot;
|
||||
}
|
||||
// Spigot end
|
||||
@@ -301,7 +289,7 @@ index adf918fd75..b202fb8e14 100644
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index 37e930e0cb..89dc611cd7 100644
|
||||
index 37e930e0c..89dc611cd 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
@@ -207,6 +207,7 @@ public class ActivationRange
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Bring back server name
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/DedicatedServerProperties.java
|
||||
index 6786fd094..8a9be3fdb 100644
|
||||
index 23f8e144f..6797fa2e8 100644
|
||||
--- a/src/main/java/net/minecraft/server/DedicatedServerProperties.java
|
||||
+++ b/src/main/java/net/minecraft/server/DedicatedServerProperties.java
|
||||
@@ -10,6 +10,7 @@ public class DedicatedServerProperties extends PropertyManager<DedicatedServerPr
|
||||
@@ -17,10 +17,10 @@ index 6786fd094..8a9be3fdb 100644
|
||||
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 6e15c2690..57a34fb96 100644
|
||||
index 3e2fa5a37..d56742df3 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2403,4 +2403,11 @@ public final class CraftServer implements Server {
|
||||
@@ -2399,4 +2399,11 @@ public final class CraftServer implements Server {
|
||||
return mobGoals;
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 0a7dd67516..99b6666a85 100644
|
||||
index ba731edd3..5b684affd 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1506,7 +1506,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1510,7 +1510,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
}
|
||||
|
||||
public String getServerModName() {
|
||||
@@ -18,7 +18,7 @@ index 0a7dd67516..99b6666a85 100644
|
||||
|
||||
public CrashReport b(CrashReport crashreport) {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index d699a91685..27cbfdfba8 100644
|
||||
index d699a9168..27cbfdfba 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -139,6 +139,11 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] LivingEntity safeFallDistance
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
||||
index 603fe5caa..37618126f 100644
|
||||
index 702242653..9f4f56c47 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
||||
@@ -4,6 +4,7 @@ public class EntityGiantZombie extends EntityMonster {
|
||||
@@ -17,7 +17,7 @@ index 603fe5caa..37618126f 100644
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
index 364697e01..ee7a2fedd 100644
|
||||
index 8921c2333..da79c7e63 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
@@ -210,7 +210,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
|
||||
@@ -30,7 +30,7 @@ index 364697e01..ee7a2fedd 100644
|
||||
|
||||
protected int getChestSlots() {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 8a773d7de..c27b60b18 100644
|
||||
index aba9f08db..130516ce6 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -132,6 +132,7 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -52,7 +52,7 @@ index 8a773d7de..c27b60b18 100644
|
||||
|
||||
if (!iblockdata.isAir()) {
|
||||
double d1 = Math.min((double) (0.2F + f / 15.0F), 2.5D);
|
||||
@@ -1678,7 +1679,7 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -1679,7 +1680,7 @@ public abstract class EntityLiving extends Entity {
|
||||
MobEffect mobeffect = this.getEffect(MobEffects.JUMP);
|
||||
float f2 = mobeffect == null ? 0.0F : (float) (mobeffect.getAmplifier() + 1);
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] MoonPhase API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index e8bbe1545e..f51f9c8d11 100644
|
||||
index 2ac199f91..0c8c9112a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -2616,4 +2616,11 @@ public class CraftWorld implements World {
|
||||
@@ -2599,4 +2599,11 @@ public class CraftWorld implements World {
|
||||
return spigot;
|
||||
}
|
||||
// Spigot end
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Lagging threshold
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 99b6666a85..14ca25adae 100644
|
||||
index 5b684affd..eee7356d5 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -166,6 +166,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -16,7 +16,7 @@ index 99b6666a85..14ca25adae 100644
|
||||
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
|
||||
// Spigot end
|
||||
|
||||
@@ -985,6 +986,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -983,6 +984,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
recentTps[1] = tps5.getAverage();
|
||||
recentTps[2] = tps15.getAverage();
|
||||
// Paper end
|
||||
@@ -25,7 +25,7 @@ index 99b6666a85..14ca25adae 100644
|
||||
}
|
||||
// Tuinity - replace logic
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 27cbfdfba8..6ff5e07834 100644
|
||||
index 27cbfdfba..6ff5e0783 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -149,6 +149,11 @@ public class PurpurConfig {
|
||||
@@ -41,10 +41,10 @@ index 27cbfdfba8..6ff5e07834 100644
|
||||
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 57a34fb969..233f4fb8cc 100644
|
||||
index d56742df3..f8176cac4 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2409,5 +2409,10 @@ public final class CraftServer implements Server {
|
||||
@@ -2405,5 +2405,10 @@ public final class CraftServer implements Server {
|
||||
public String getServerName() {
|
||||
return getProperties().serverName;
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] PlayerSetSpawnerTypeWithEggEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
|
||||
index 18a806ebb..7f2dcc1de 100644
|
||||
index 2767de830..dcb43775b 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTypes.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
|
||||
@@ -142,10 +142,21 @@ public class EntityTypes<T extends Entity> {
|
||||
@@ -143,10 +143,21 @@ public class EntityTypes<T extends Entity> {
|
||||
return (EntityTypes) IRegistry.a((IRegistry) IRegistry.ENTITY_TYPE, s, (Object) entitytypes_builder.a(s));
|
||||
}
|
||||
|
||||
@@ -30,8 +30,8 @@ index 18a806ebb..7f2dcc1de 100644
|
||||
public static Optional<EntityTypes<?>> a(String s) {
|
||||
return IRegistry.ENTITY_TYPE.getOptional(MinecraftKey.a(s));
|
||||
}
|
||||
@@ -270,6 +281,16 @@ public class EntityTypes<T extends Entity> {
|
||||
return this.bf;
|
||||
@@ -275,6 +286,16 @@ public class EntityTypes<T extends Entity> {
|
||||
return this.bg;
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
@@ -45,18 +45,18 @@ index 18a806ebb..7f2dcc1de 100644
|
||||
+ // Purpur end
|
||||
+
|
||||
public String f() {
|
||||
if (this.bn == null) {
|
||||
this.bn = SystemUtils.a("entity", IRegistry.ENTITY_TYPE.getKey(this));
|
||||
@@ -278,6 +299,7 @@ public class EntityTypes<T extends Entity> {
|
||||
return this.bn;
|
||||
if (this.bo == null) {
|
||||
this.bo = SystemUtils.a("entity", IRegistry.ENTITY_TYPE.getKey(this));
|
||||
@@ -283,6 +304,7 @@ public class EntityTypes<T extends Entity> {
|
||||
return this.bo;
|
||||
}
|
||||
|
||||
+ public IChatBaseComponent getNameComponent() { return g(); } // Purpur - OBFHELPER
|
||||
public IChatBaseComponent g() {
|
||||
if (this.bo == null) {
|
||||
this.bo = new ChatMessage(this.f());
|
||||
if (this.bp == null) {
|
||||
this.bp = new ChatMessage(this.f());
|
||||
diff --git a/src/main/java/net/minecraft/server/ItemMonsterEgg.java b/src/main/java/net/minecraft/server/ItemMonsterEgg.java
|
||||
index 793e42072..cf4c12ff8 100644
|
||||
index f543bd84f..b5995f6fe 100644
|
||||
--- a/src/main/java/net/minecraft/server/ItemMonsterEgg.java
|
||||
+++ b/src/main/java/net/minecraft/server/ItemMonsterEgg.java
|
||||
@@ -7,6 +7,13 @@ import java.util.Objects;
|
||||
@@ -79,7 +79,7 @@ index 793e42072..cf4c12ff8 100644
|
||||
|
||||
+ // Purpur start
|
||||
+ org.bukkit.block.Block bukkitBlock = world.getWorld().getBlockAt(blockposition.getX(), blockposition.getY(), blockposition.getZ());
|
||||
+ PlayerSetSpawnerTypeWithEggEvent event = new PlayerSetSpawnerTypeWithEggEvent((Player) itemactioncontext.b.getBukkitEntity(), bukkitBlock, (CreatureSpawner) bukkitBlock.getState(), EntityType.fromName(entitytypes.getName()));
|
||||
+ PlayerSetSpawnerTypeWithEggEvent event = new PlayerSetSpawnerTypeWithEggEvent((Player) itemactioncontext.getEntity().getBukkitEntity(), bukkitBlock, (CreatureSpawner) bukkitBlock.getState(), EntityType.fromName(entitytypes.getName()));
|
||||
+ if (!event.callEvent()) {
|
||||
+ return EnumInteractionResult.FAIL;
|
||||
+ }
|
||||
|
||||
@@ -5,45 +5,45 @@ Subject: [PATCH] EMC - MonsterEggSpawnEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
|
||||
index 7f2dcc1de..5aea85595 100644
|
||||
index dcb43775b..8300e7d1e 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTypes.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
|
||||
@@ -176,19 +176,45 @@ public class EntityTypes<T extends Entity> {
|
||||
@@ -177,19 +177,45 @@ public class EntityTypes<T extends Entity> {
|
||||
|
||||
@Nullable
|
||||
public Entity spawnCreature(World world, @Nullable ItemStack itemstack, @Nullable EntityHuman entityhuman, BlockPosition blockposition, EnumMobSpawn enummobspawn, boolean flag, boolean flag1) {
|
||||
- return this.spawnCreature(world, itemstack == null ? null : itemstack.getTag(), itemstack != null && itemstack.hasName() ? itemstack.getName() : null, entityhuman, blockposition, enummobspawn, flag, flag1);
|
||||
+ return this.spawnCreature(world, itemstack, itemstack == null ? null : itemstack.getTag(), itemstack != null && itemstack.hasName() ? itemstack.getName() : null, entityhuman, blockposition, enummobspawn, flag, flag1); // Purpur
|
||||
public Entity spawnCreature(WorldServer worldserver, @Nullable ItemStack itemstack, @Nullable EntityHuman entityhuman, BlockPosition blockposition, EnumMobSpawn enummobspawn, boolean flag, boolean flag1) {
|
||||
- return this.spawnCreature(worldserver, itemstack == null ? null : itemstack.getTag(), itemstack != null && itemstack.hasName() ? itemstack.getName() : null, entityhuman, blockposition, enummobspawn, flag, flag1);
|
||||
+ return this.spawnCreature(worldserver, itemstack, itemstack == null ? null : itemstack.getTag(), itemstack != null && itemstack.hasName() ? itemstack.getName() : null, entityhuman, blockposition, enummobspawn, flag, flag1); // Purpur
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public T spawnCreature(World world, @Nullable NBTTagCompound nbttagcompound, @Nullable IChatBaseComponent ichatbasecomponent, @Nullable EntityHuman entityhuman, BlockPosition blockposition, EnumMobSpawn enummobspawn, boolean flag, boolean flag1) {
|
||||
public T spawnCreature(WorldServer worldserver, @Nullable NBTTagCompound nbttagcompound, @Nullable IChatBaseComponent ichatbasecomponent, @Nullable EntityHuman entityhuman, BlockPosition blockposition, EnumMobSpawn enummobspawn, boolean flag, boolean flag1) {
|
||||
+ // Purpur start
|
||||
+ return spawnCreature(world, null, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1);
|
||||
+ return spawnCreature(worldserver, null, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1);
|
||||
+ }
|
||||
+
|
||||
+ @Nullable
|
||||
+ public T spawnCreature(World world, @Nullable ItemStack itemstack, @Nullable NBTTagCompound nbttagcompound, @Nullable IChatBaseComponent ichatbasecomponent, @Nullable EntityHuman entityhuman, BlockPosition blockposition, EnumMobSpawn enummobspawn, boolean flag, boolean flag1) {
|
||||
+ public T spawnCreature(WorldServer worldserver, @Nullable ItemStack itemstack, @Nullable NBTTagCompound nbttagcompound, @Nullable IChatBaseComponent ichatbasecomponent, @Nullable EntityHuman entityhuman, BlockPosition blockposition, EnumMobSpawn enummobspawn, boolean flag, boolean flag1) {
|
||||
+ // Purpur end
|
||||
// CraftBukkit start
|
||||
return this.spawnCreature(world, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG);
|
||||
return this.spawnCreature(worldserver, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
public T spawnCreature(World world, @Nullable NBTTagCompound nbttagcompound, @Nullable IChatBaseComponent ichatbasecomponent, @Nullable EntityHuman entityhuman, BlockPosition blockposition, EnumMobSpawn enummobspawn, boolean flag, boolean flag1, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason) {
|
||||
public T spawnCreature(WorldServer worldserver, @Nullable NBTTagCompound nbttagcompound, @Nullable IChatBaseComponent ichatbasecomponent, @Nullable EntityHuman entityhuman, BlockPosition blockposition, EnumMobSpawn enummobspawn, boolean flag, boolean flag1, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason) {
|
||||
+ // Purpur start
|
||||
+ return spawnCreature(world, null, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1, spawnReason);
|
||||
+ return spawnCreature(worldserver, null, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1, spawnReason);
|
||||
+ }
|
||||
+ @Nullable
|
||||
+ public T spawnCreature(World world, @Nullable ItemStack itemstack, @Nullable NBTTagCompound nbttagcompound, @Nullable IChatBaseComponent ichatbasecomponent, @Nullable EntityHuman entityhuman, BlockPosition blockposition, EnumMobSpawn enummobspawn, boolean flag, boolean flag1, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason) {
|
||||
+ public T spawnCreature(WorldServer worldserver, @Nullable ItemStack itemstack, @Nullable NBTTagCompound nbttagcompound, @Nullable IChatBaseComponent ichatbasecomponent, @Nullable EntityHuman entityhuman, BlockPosition blockposition, EnumMobSpawn enummobspawn, boolean flag, boolean flag1, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason) {
|
||||
+ // Purpur end
|
||||
T t0 = this.createCreature(world, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1);
|
||||
T t0 = this.createCreature(worldserver, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1);
|
||||
|
||||
+ // Purpur start
|
||||
+ if (spawnReason == org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER_EGG && itemstack != null && t0 != null) {
|
||||
+ final net.pl3x.purpur.event.entity.MonsterEggSpawnEvent event = new net.pl3x.purpur.event.entity.MonsterEggSpawnEvent(entityhuman != null ? entityhuman.getBukkitEntity() : null, (org.bukkit.entity.LivingEntity) t0.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemstack));
|
||||
+ if (!event.callEvent()) {
|
||||
+ ((WorldServer) world).removeEntity(t0);
|
||||
+ worldserver.removeEntity(t0);
|
||||
+ return null;
|
||||
+ }
|
||||
+ if (event.getEntity().getEntityId() != t0.getId()) {
|
||||
@@ -52,6 +52,6 @@ index 7f2dcc1de..5aea85595 100644
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
return world.addEntity(t0, spawnReason) ? t0 : null; // Don't return an entity when CreatureSpawnEvent is canceled
|
||||
// CraftBukkit end
|
||||
}
|
||||
if (t0 != null) {
|
||||
return worldserver.addAllEntities(t0, spawnReason) ? t0 : null; // Don't return an entity when CreatureSpawnEvent is canceled
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Villager#resetOffers
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
|
||||
index 81823b5d5..beb84a2ab 100644
|
||||
index 68fd780bc..ced893452 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
|
||||
@@ -86,6 +86,13 @@ public abstract class EntityVillagerAbstract extends EntityAgeable implements NP
|
||||
@@ -85,6 +85,13 @@ public abstract class EntityVillagerAbstract extends EntityAgeable implements NP
|
||||
return this.tradingPlayer != null;
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ index 81823b5d5..beb84a2ab 100644
|
||||
@Override
|
||||
public MerchantRecipeList getOffers() {
|
||||
if (this.trades == null) {
|
||||
@@ -208,6 +215,7 @@ public abstract class EntityVillagerAbstract extends EntityAgeable implements NP
|
||||
@@ -207,6 +214,7 @@ public abstract class EntityVillagerAbstract extends EntityAgeable implements NP
|
||||
return this.world;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Sat, 8 Feb 2020 23:30:17 -0600
|
||||
Subject: [PATCH] World#getPlacementBlockData
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
index f51f9c8d11..8d70139228 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||
@@ -2622,5 +2622,10 @@ public class CraftWorld implements World {
|
||||
public net.pl3x.purpur.MoonPhase getMoonPhase() {
|
||||
return net.pl3x.purpur.MoonPhase.getPhase(getFullTime() / 24000L);
|
||||
}
|
||||
+
|
||||
+ public BlockData getPlacementBlockData(BlockData blockdata, Location location) {
|
||||
+ IBlockData validData = net.minecraft.server.Block.getValidBlockForPosition(((CraftBlockData) blockdata).getState(), getHandle(), net.minecraft.server.MCUtil.toBlockPosition(location));
|
||||
+ return CraftBlockData.fromData(validData == null ? Blocks.AIR.getBlockData() : validData);
|
||||
+ }
|
||||
// Purpur end
|
||||
}
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] SkeletonHorseTrapEvent#getPlayer
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java b/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java
|
||||
index b37e4aa37..4d8c4ac07 100644
|
||||
index 6a9af67d0..c10a37fe1 100644
|
||||
--- a/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java
|
||||
+++ b/src/main/java/net/minecraft/server/PathfinderGoalHorseTrap.java
|
||||
@@ -2,7 +2,8 @@ package net.minecraft.server;
|
||||
@@ -18,7 +18,7 @@ index b37e4aa37..4d8c4ac07 100644
|
||||
|
||||
public PathfinderGoalHorseTrap(EntityHorseSkeleton entityhorseskeleton) {
|
||||
this.a = entityhorseskeleton;
|
||||
@@ -10,12 +11,12 @@ public class PathfinderGoalHorseTrap extends PathfinderGoal {
|
||||
@@ -10,13 +11,13 @@ public class PathfinderGoalHorseTrap extends PathfinderGoal {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
@@ -28,8 +28,9 @@ index b37e4aa37..4d8c4ac07 100644
|
||||
|
||||
@Override
|
||||
public void e() {
|
||||
WorldServer worldserver = (WorldServer) this.a.world;
|
||||
- if (!new com.destroystokyo.paper.event.entity.SkeletonHorseTrapEvent((org.bukkit.entity.SkeletonHorse) this.a.getBukkitEntity()).callEvent()) return; // Paper
|
||||
+ if (!new com.destroystokyo.paper.event.entity.SkeletonHorseTrapEvent((org.bukkit.entity.SkeletonHorse) this.a.getBukkitEntity(), (org.bukkit.entity.Player) player.getBukkitEntity()).callEvent()) return; // Paper // Purpur
|
||||
DifficultyDamageScaler difficultydamagescaler = this.a.world.getDamageScaler(this.a.getChunkCoordinates());
|
||||
DifficultyDamageScaler difficultydamagescaler = worldserver.getDamageScaler(this.a.getChunkCoordinates());
|
||||
|
||||
this.a.t(false);
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] EntityMoveEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index c27b60b18..af1fea428 100644
|
||||
index 130516ce6..17128d5aa 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -2787,6 +2787,20 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -2790,6 +2790,20 @@ public abstract class EntityLiving extends Entity {
|
||||
|
||||
this.collideNearby();
|
||||
this.world.getMethodProfiler().exit();
|
||||
@@ -26,6 +26,6 @@ index c27b60b18..af1fea428 100644
|
||||
+ }
|
||||
+ }
|
||||
+ // Purpur end
|
||||
if (!this.world.isClientSide && this.dN() && this.aC()) {
|
||||
if (!this.world.isClientSide && this.dN() && this.aF()) {
|
||||
this.damageEntity(DamageSource.DROWN, 1.0F);
|
||||
}
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index ecd0cd7752..2ff7e6e576 100644
|
||||
index b67611b11..2738194fc 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -141,6 +141,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -144,6 +144,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
this.canPickUpLoot = true;
|
||||
this.maxHealthCache = this.getMaxHealth();
|
||||
this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper
|
||||
@@ -17,7 +17,7 @@ index ecd0cd7752..2ff7e6e576 100644
|
||||
}
|
||||
// Paper start
|
||||
public BlockPosition getPointInFront(double inFront) {
|
||||
@@ -801,6 +803,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -806,6 +808,12 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ index ecd0cd7752..2ff7e6e576 100644
|
||||
@Override
|
||||
public boolean damageEntity(DamageSource damagesource, float f) {
|
||||
if (this.isInvulnerable(damagesource)) {
|
||||
@@ -808,7 +816,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -813,7 +821,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
} else {
|
||||
boolean flag = this.server.j() && this.canPvP() && "fall".equals(damagesource.translationIndex);
|
||||
|
||||
@@ -39,15 +39,15 @@ index ecd0cd7752..2ff7e6e576 100644
|
||||
return false;
|
||||
} else {
|
||||
if (damagesource instanceof EntityDamageSource) {
|
||||
@@ -1054,6 +1062,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
PlayerChangedWorldEvent changeEvent = new PlayerChangedWorldEvent(this.getBukkitEntity(), worldserver1.getWorld());
|
||||
this.world.getServer().getPluginManager().callEvent(changeEvent);
|
||||
// CraftBukkit end
|
||||
@@ -997,6 +1005,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
// CraftBukkit end
|
||||
}
|
||||
|
||||
+ this.invulnerableTicks = worldserver.purpurConfig.playerSpawnInvulnerableTicks; // Purpur
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -2149,9 +2158,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -2121,9 +2130,17 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
@Override
|
||||
public boolean isFrozen() { // Paper - protected > public
|
||||
@@ -67,10 +67,10 @@ index ecd0cd7752..2ff7e6e576 100644
|
||||
public Scoreboard getScoreboard() {
|
||||
return getBukkitEntity().getScoreboard().getHandle();
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index b28bdaabbe..9cbf3e63ea 100644
|
||||
index 6c1438f7d..8fa91b8f5 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -1578,6 +1578,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -1572,6 +1572,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
PlayerConnectionUtils.ensureMainThread(packetplayinresourcepackstatus, this, this.player.getWorldServer());
|
||||
// Paper start
|
||||
PlayerResourcePackStatusEvent.Status packStatus = PlayerResourcePackStatusEvent.Status.values()[packetplayinresourcepackstatus.status.ordinal()];
|
||||
@@ -79,10 +79,10 @@ index b28bdaabbe..9cbf3e63ea 100644
|
||||
this.server.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(getPlayer(), packStatus));
|
||||
// Paper end
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 9382e8f79e..7309d8be28 100644
|
||||
index f9eb17cb6..75b0565df 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -890,6 +890,8 @@ public abstract class PlayerList {
|
||||
@@ -903,6 +903,8 @@ public abstract class PlayerList {
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -92,7 +92,7 @@ index 9382e8f79e..7309d8be28 100644
|
||||
return entityplayer1;
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 2578a4677d..c441fcea9b 100644
|
||||
index 2578a4677..c441fcea9 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -67,4 +67,11 @@ public class PurpurWorldConfig {
|
||||
@@ -108,10 +108,10 @@ index 2578a4677d..c441fcea9b 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index b202fb8e14..3732b82bf2 100644
|
||||
index 087cb11b5..eefb4bd74 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2171,5 +2171,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2168,5 +2168,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public void resetIdleTimer() {
|
||||
getHandle().resetIdleTimer();
|
||||
}
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Anvil API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ContainerAnvil.java b/src/main/java/net/minecraft/server/ContainerAnvil.java
|
||||
index 24631b2bc..126effe5b 100644
|
||||
index fc2038df8..4aa6b035a 100644
|
||||
--- a/src/main/java/net/minecraft/server/ContainerAnvil.java
|
||||
+++ b/src/main/java/net/minecraft/server/ContainerAnvil.java
|
||||
@@ -20,6 +20,8 @@ public class ContainerAnvil extends ContainerAnvilAbstract {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable villager brain ticks
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
index bf019043a..7925c8991 100644
|
||||
index c10ff09dd..f880a38bf 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
@@ -58,6 +58,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
@@ -33,8 +33,8 @@ index bf019043a..7925c8991 100644
|
||||
+ 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 (this.bM) {
|
||||
this.bM = false;
|
||||
this.world.getMethodProfiler().exit();
|
||||
if (this.bF) {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index c441fcea9..c7fb5a737 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Alternative Keepalive Handling
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PacketPlayInKeepAlive.java b/src/main/java/net/minecraft/server/PacketPlayInKeepAlive.java
|
||||
index 8e93f1540b..470f92c4fb 100644
|
||||
index 8e93f1540..470f92c4f 100644
|
||||
--- a/src/main/java/net/minecraft/server/PacketPlayInKeepAlive.java
|
||||
+++ b/src/main/java/net/minecraft/server/PacketPlayInKeepAlive.java
|
||||
@@ -22,6 +22,7 @@ public class PacketPlayInKeepAlive implements Packet<PacketListenerPlayIn> {
|
||||
@@ -17,7 +17,7 @@ index 8e93f1540b..470f92c4fb 100644
|
||||
return this.a;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 9cbf3e63ea..4cd07ab08a 100644
|
||||
index 8fa91b8f5..a01b80327 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -75,6 +75,7 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -50,7 +50,7 @@ index 9cbf3e63ea..4cd07ab08a 100644
|
||||
if (this.isPendingPing()) {
|
||||
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
|
||||
PlayerConnection.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getName()); // more info
|
||||
@@ -2719,6 +2735,16 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -2714,6 +2730,16 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
|
||||
@Override
|
||||
public void a(PacketPlayInKeepAlive packetplayinkeepalive) {
|
||||
@@ -68,7 +68,7 @@ index 9cbf3e63ea..4cd07ab08a 100644
|
||||
if (this.awaitingKeepAlive && packetplayinkeepalive.b() == this.h) {
|
||||
int i = (int) (SystemUtils.getMonotonicMillis() - this.lastKeepAlive);
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 6ff5e07834..f1d6c32fde 100644
|
||||
index 6ff5e0783..f1d6c32fd 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -154,6 +154,11 @@ public class PurpurConfig {
|
||||
@@ -5,11 +5,11 @@ Subject: [PATCH] Silk touch spawners
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
|
||||
index 81725611d..c7232047c 100644
|
||||
index 623f8811e..0dc8aa500 100644
|
||||
--- a/src/main/java/net/minecraft/server/Block.java
|
||||
+++ b/src/main/java/net/minecraft/server/Block.java
|
||||
@@ -226,6 +226,7 @@ public class Block extends BlockBase implements IMaterial {
|
||||
iblockdata.dropNaturally(world, blockposition, itemstack);
|
||||
@@ -218,6 +218,7 @@ public class Block extends BlockBase implements IMaterial {
|
||||
|
||||
}
|
||||
|
||||
+ public static void dropItem(World world, BlockPosition blockposition, ItemStack itemstack) { a(world, blockposition, itemstack); } // Purpur - OBFHELPER
|
||||
@@ -17,7 +17,7 @@ index 81725611d..c7232047c 100644
|
||||
if (!world.isClientSide && !itemstack.isEmpty() && world.getGameRules().getBoolean(GameRules.DO_TILE_DROPS)) {
|
||||
float f = 0.5F;
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockMobSpawner.java b/src/main/java/net/minecraft/server/BlockMobSpawner.java
|
||||
index 16f9fb8e5..c002a65cf 100644
|
||||
index 81e145ff0..5929220b0 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockMobSpawner.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockMobSpawner.java
|
||||
@@ -11,6 +11,40 @@ public class BlockMobSpawner extends BlockTileEntity {
|
||||
@@ -59,14 +59,14 @@ index 16f9fb8e5..c002a65cf 100644
|
||||
+ // Purpur end
|
||||
+
|
||||
@Override
|
||||
public void dropNaturally(IBlockData iblockdata, World world, BlockPosition blockposition, ItemStack itemstack) {
|
||||
super.dropNaturally(iblockdata, world, blockposition, itemstack);
|
||||
public void dropNaturally(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, ItemStack itemstack) {
|
||||
super.dropNaturally(iblockdata, worldserver, blockposition, itemstack);
|
||||
@@ -23,6 +57,7 @@ public class BlockMobSpawner extends BlockTileEntity {
|
||||
|
||||
@Override
|
||||
public int getExpDrop(IBlockData iblockdata, World world, BlockPosition blockposition, ItemStack itemstack) {
|
||||
+ if (isSilkTouch(world, itemstack)) return 0; // Purpur
|
||||
int i = 15 + world.random.nextInt(15) + world.random.nextInt(15);
|
||||
public int getExpDrop(IBlockData iblockdata, WorldServer worldserver, BlockPosition blockposition, ItemStack itemstack) {
|
||||
+ if (isSilkTouch(worldserver, itemstack)) return 0; // Purpur
|
||||
int i = 15 + worldserver.random.nextInt(15) + worldserver.random.nextInt(15);
|
||||
|
||||
return i;
|
||||
diff --git a/src/main/java/net/minecraft/server/ItemSpawner.java b/src/main/java/net/minecraft/server/ItemSpawner.java
|
||||
@@ -99,7 +99,7 @@ index 000000000..babe8ad2c
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/server/Items.java b/src/main/java/net/minecraft/server/Items.java
|
||||
index 89a9eec99..619c40b27 100644
|
||||
index 1c861bccc..67ebcbe4d 100644
|
||||
--- a/src/main/java/net/minecraft/server/Items.java
|
||||
+++ b/src/main/java/net/minecraft/server/Items.java
|
||||
@@ -180,7 +180,7 @@ public class Items {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] MC-4 Fix - Item position desync
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
index bfb931268d..e9bc546f80 100644
|
||||
index 7ab013058..ef30731c2 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
@@ -134,6 +134,12 @@ public class EntityTrackerEntry {
|
||||
@@ -22,7 +22,7 @@ index bfb931268d..e9bc546f80 100644
|
||||
boolean flag2 = flag1 || this.tickCounter % 60 == 0;
|
||||
boolean flag3 = Math.abs(i - this.yRot) >= 1 || Math.abs(j - this.xRot) >= 1;
|
||||
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutEntity.java b/src/main/java/net/minecraft/server/PacketPlayOutEntity.java
|
||||
index e5da2b19c1..6d9d52e4fc 100644
|
||||
index e5da2b19c..6d9d52e4f 100644
|
||||
--- a/src/main/java/net/minecraft/server/PacketPlayOutEntity.java
|
||||
+++ b/src/main/java/net/minecraft/server/PacketPlayOutEntity.java
|
||||
@@ -14,10 +14,12 @@ public class PacketPlayOutEntity implements Packet<PacketListenerPlayOut> {
|
||||
@@ -39,7 +39,7 @@ index e5da2b19c1..6d9d52e4fc 100644
|
||||
return (new Vec3D((double) i, (double) j, (double) k)).a(2.44140625E-4D);
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index f1d6c32fde..04ed0b1dba 100644
|
||||
index f1d6c32fd..04ed0b1db 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -177,4 +177,9 @@ public class PurpurConfig {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix vanilla command permission handler
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/mojang/brigadier/tree/CommandNode.java b/src/main/java/com/mojang/brigadier/tree/CommandNode.java
|
||||
index 5e3fc338b..b3835c3c7 100644
|
||||
index ca0d66448..0fab36224 100644
|
||||
--- a/src/main/java/com/mojang/brigadier/tree/CommandNode.java
|
||||
+++ b/src/main/java/com/mojang/brigadier/tree/CommandNode.java
|
||||
@@ -35,6 +35,7 @@ public abstract class CommandNode<S> implements Comparable<CommandNode<S>> {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Logger settings (suppressing pointless logs)
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
|
||||
index 1588d101e..fc4c1c1cd 100644
|
||||
index 17789407b..c31f4040c 100644
|
||||
--- a/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/AdvancementDataPlayer.java
|
||||
@@ -169,6 +169,7 @@ public class AdvancementDataPlayer {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Disable outdated build check
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
index 3261d2255..2825f5a3a 100644
|
||||
index bdb87ffac..bc47e4306 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -259,7 +259,7 @@ public class Main {
|
||||
@@ -17,7 +17,7 @@ index c57e23e16..92aa104dc 100644
|
||||
public AttributeModifiable a(AttributeBase attributebase) {
|
||||
return (AttributeModifiable) this.b.computeIfAbsent(attributebase, (attributebase1) -> {
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index ebbd81a2d..b39cc82bf 100644
|
||||
index 42dd8a0e3..2ea06a85f 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -136,7 +136,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -30,7 +30,7 @@ index ebbd81a2d..b39cc82bf 100644
|
||||
public float I;
|
||||
protected final Random random;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityGiantZombie.java b/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
||||
index 37618126f..143041003 100644
|
||||
index 9f4f56c47..8dce2aad7 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityGiantZombie.java
|
||||
@@ -4,9 +4,68 @@ public class EntityGiantZombie extends EntityMonster {
|
||||
@@ -74,11 +74,11 @@ index 37618126f..143041003 100644
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public GroupDataEntity prepare(GeneratorAccess world, DifficultyDamageScaler difficulty, EnumMobSpawn enummobspawn, GroupDataEntity groupDataEntity, NBTTagCompound nbt) {
|
||||
+ GroupDataEntity groupData = super.prepare(world, difficulty, enummobspawn, groupDataEntity, nbt);
|
||||
+ public GroupDataEntity prepare(WorldAccess worldaccess, DifficultyDamageScaler difficultydamagescaler, EnumMobSpawn enummobspawn, @javax.annotation.Nullable GroupDataEntity groupdataentity, @javax.annotation.Nullable NBTTagCompound nbttagcompound) {
|
||||
+ GroupDataEntity groupData = super.prepare(worldaccess, difficultydamagescaler, enummobspawn, groupdataentity, nbttagcompound);
|
||||
+ if (groupData == null) {
|
||||
+ setEquipmentBasedOnDifficulty(difficulty);
|
||||
+ setEnchantmentBasedOnDifficulty(difficulty);
|
||||
+ setEquipmentBasedOnDifficulty(difficultydamagescaler);
|
||||
+ setEnchantmentBasedOnDifficulty(difficultydamagescaler);
|
||||
+ }
|
||||
+ return groupData;
|
||||
+ }
|
||||
@@ -112,7 +112,7 @@ index 37618126f..143041003 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index 605bbf017..93714e5d9 100644
|
||||
index 36df27024..b7fcade36 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -939,6 +939,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -131,7 +131,7 @@ index 605bbf017..93714e5d9 100644
|
||||
protected void b(DifficultyDamageScaler difficultydamagescaler) {
|
||||
float f = difficultydamagescaler.d();
|
||||
|
||||
@@ -1078,10 +1080,12 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -1087,10 +1089,12 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
} else {
|
||||
this.setLeftHanded(false);
|
||||
}
|
||||
@@ -142,14 +142,14 @@ index 605bbf017..93714e5d9 100644
|
||||
|
||||
+ protected void initAttributes(World world) {} // Purpur
|
||||
+
|
||||
public boolean es() {
|
||||
public boolean er() {
|
||||
return false;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index af1fea428..337e58148 100644
|
||||
index 17128d5aa..82cf853ab 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -2147,7 +2147,7 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -2148,7 +2148,7 @@ public abstract class EntityLiving extends Entity {
|
||||
this.enderTeleportTo(vec3d.x, vec3d.y, vec3d.z);
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Illusioners AI settings
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
|
||||
index 76fd0513f..0e23aa91d 100644
|
||||
index 1c8231620..7b2c459ad 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityIllagerIllusioner.java
|
||||
@@ -19,6 +19,17 @@ public class EntityIllagerIllusioner extends EntityIllagerWizard implements IRan
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Zombie horse naturally spawn
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 748ace6aa6..346cbc3efd 100644
|
||||
index eaf13fb15..18e8e36d7 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -1072,12 +1072,18 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -1053,12 +1053,18 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
boolean flag1 = this.getGameRules().getBoolean(GameRules.DO_MOB_SPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.b() * paperConfig.skeleHorseSpawnChance; // Paper
|
||||
|
||||
if (flag1) {
|
||||
@@ -34,7 +34,7 @@ index 748ace6aa6..346cbc3efd 100644
|
||||
|
||||
EntityLightning entitylightning = (EntityLightning) EntityTypes.LIGHTNING_BOLT.a((World) this);
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 70f8feffb1..d0fd8f9cdf 100644
|
||||
index 70f8feffb..d0fd8f9cd 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -138,4 +138,9 @@ public class PurpurWorldConfig {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Charged creeper naturally spawn
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
|
||||
index 5e7f3af37..e8008e3c2 100644
|
||||
index ad422dfaf..8338afa7c 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
|
||||
@@ -23,6 +23,17 @@ public class EntityCreeper extends EntityMonster {
|
||||
@@ -14,12 +14,12 @@ index 5e7f3af37..e8008e3c2 100644
|
||||
|
||||
+ // Purpur start
|
||||
+ @Override
|
||||
+ public GroupDataEntity prepare(GeneratorAccess generatoraccess, DifficultyDamageScaler difficultydamagescaler, EnumMobSpawn enummobspawn, GroupDataEntity groupdataentity, NBTTagCompound nbttagcompound) {
|
||||
+ double chance = generatoraccess.getMinecraftWorld().purpurConfig.creeperChargedChance;
|
||||
+ public GroupDataEntity prepare(WorldAccess worldaccess, DifficultyDamageScaler difficultydamagescaler, EnumMobSpawn enummobspawn, @javax.annotation.Nullable GroupDataEntity groupdataentity, @javax.annotation.Nullable NBTTagCompound nbttagcompound) {
|
||||
+ double chance = worldaccess.getMinecraftWorld().purpurConfig.creeperChargedChance;
|
||||
+ if (chance > 0D && random.nextDouble() <= chance) {
|
||||
+ setPowered(true);
|
||||
+ }
|
||||
+ return super.prepare(generatoraccess, difficultydamagescaler, enummobspawn, groupdataentity, nbttagcompound);
|
||||
+ return super.prepare(worldaccess, difficultydamagescaler, enummobspawn, groupdataentity, nbttagcompound);
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
@@ -5,12 +5,12 @@ Subject: [PATCH] Rabbit naturally spawn toast and killer
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityRabbit.java b/src/main/java/net/minecraft/server/EntityRabbit.java
|
||||
index baf440538..42145a89c 100644
|
||||
index a7456890e..98baf24bd 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityRabbit.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityRabbit.java
|
||||
@@ -297,6 +297,10 @@ public class EntityRabbit extends EntityAnimal {
|
||||
if (!this.hasCustomName()) {
|
||||
this.setCustomName(new ChatMessage(SystemUtils.a("entity", EntityRabbit.bw)));
|
||||
this.setCustomName(new ChatMessage(SystemUtils.a("entity", EntityRabbit.bp)));
|
||||
}
|
||||
+ // Purpur start
|
||||
+ } else if (i == 98) {
|
||||
@@ -18,7 +18,7 @@ index baf440538..42145a89c 100644
|
||||
+ // Purpur end
|
||||
}
|
||||
|
||||
this.datawatcher.set(EntityRabbit.bv, i);
|
||||
this.datawatcher.set(EntityRabbit.bo, i);
|
||||
@@ -318,6 +322,16 @@ public class EntityRabbit extends EntityAnimal {
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Make Iron Golems Swim
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityIronGolem.java b/src/main/java/net/minecraft/server/EntityIronGolem.java
|
||||
index e38a675be..ab0731c2a 100644
|
||||
index 0a5c27e73..bdff23688 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityIronGolem.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityIronGolem.java
|
||||
@@ -24,6 +24,7 @@ public class EntityIronGolem extends EntityGolem implements IEntityAngerable {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Dont send useless entity packets
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityTrackerEntry.java b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
index e9bc546f80..c28e67f9bf 100644
|
||||
index ef30731c2..c64bbde28 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityTrackerEntry.java
|
||||
@@ -178,6 +178,7 @@ public class EntityTrackerEntry {
|
||||
@@ -40,7 +40,7 @@ index e9bc546f80..c28e67f9bf 100644
|
||||
this.tracker.c(entityplayer);
|
||||
entityplayer.c(this.tracker);
|
||||
diff --git a/src/main/java/net/minecraft/server/PacketPlayOutEntity.java b/src/main/java/net/minecraft/server/PacketPlayOutEntity.java
|
||||
index 6d9d52e4fc..0010448e3a 100644
|
||||
index 6d9d52e4f..0010448e3 100644
|
||||
--- a/src/main/java/net/minecraft/server/PacketPlayOutEntity.java
|
||||
+++ b/src/main/java/net/minecraft/server/PacketPlayOutEntity.java
|
||||
@@ -5,11 +5,11 @@ import java.io.IOException;
|
||||
@@ -61,7 +61,7 @@ index 6d9d52e4fc..0010448e3a 100644
|
||||
protected boolean h;
|
||||
protected boolean i;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 83d146a18c..30935339e8 100644
|
||||
index 83d146a18..30935339e 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -178,6 +178,11 @@ public class PurpurConfig {
|
||||
@@ -5,22 +5,22 @@ Subject: [PATCH] Tulips change fox type
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityFox.java b/src/main/java/net/minecraft/server/EntityFox.java
|
||||
index e6275a9fe..90b01adbe 100644
|
||||
index eba33eeb6..f47a78e56 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityFox.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityFox.java
|
||||
@@ -37,9 +37,9 @@ public class EntityFox extends EntityAnimal {
|
||||
private static final Predicate<Entity> bC = (entity) -> {
|
||||
return !entity.bt() && IEntitySelector.e.test(entity);
|
||||
private static final Predicate<Entity> bv = (entity) -> {
|
||||
return !entity.bw() && IEntitySelector.e.test(entity);
|
||||
};
|
||||
- private PathfinderGoal bD;
|
||||
- private PathfinderGoal bE;
|
||||
- private PathfinderGoal bF;
|
||||
+ private PathfinderGoal bD; private PathfinderGoal attackAnimalGoal() { return bD; } // Purpur - OBFHELPER
|
||||
+ private PathfinderGoal bE; private PathfinderGoal attackTurtleGoal() { return bE; } // Purpur - OBFHELPER
|
||||
+ private PathfinderGoal bF; private PathfinderGoal attackFishGoal() { return bF; } // Purpur - OBFHELPER
|
||||
private float bG;
|
||||
private float bH;
|
||||
private float bI;
|
||||
- private PathfinderGoal bw;
|
||||
- private PathfinderGoal bx;
|
||||
- private PathfinderGoal by;
|
||||
+ private PathfinderGoal bw; private PathfinderGoal attackAnimalGoal() { return bw; } // Purpur - OBFHELPER
|
||||
+ private PathfinderGoal bx; private PathfinderGoal attackTurtleGoal() { return bx; } // Purpur - OBFHELPER
|
||||
+ private PathfinderGoal by; private PathfinderGoal attackFishGoal() { return by; } // Purpur - OBFHELPER
|
||||
private float bz;
|
||||
private float bA;
|
||||
private float bB;
|
||||
@@ -227,6 +227,11 @@ public class EntityFox extends EntityAnimal {
|
||||
}
|
||||
|
||||
@@ -31,18 +31,18 @@ index e6275a9fe..90b01adbe 100644
|
||||
+ this.targetSelector.a(attackFishGoal());
|
||||
+ // Purpur end
|
||||
if (this.getFoxType() == EntityFox.Type.RED) {
|
||||
this.targetSelector.a(4, this.bD);
|
||||
this.targetSelector.a(4, this.bE);
|
||||
this.targetSelector.a(4, this.bw);
|
||||
this.targetSelector.a(4, this.bx);
|
||||
@@ -259,6 +264,7 @@ public class EntityFox extends EntityAnimal {
|
||||
|
||||
public void setFoxType(EntityFox.Type entityfox_type) {
|
||||
this.datawatcher.set(EntityFox.bv, entityfox_type.c());
|
||||
this.datawatcher.set(EntityFox.bo, entityfox_type.b());
|
||||
+ initializePathFinderGoals(); // Purpur - fix API bug not updating pathfinders on type change
|
||||
}
|
||||
|
||||
private List<UUID> fb() {
|
||||
private List<UUID> fa() {
|
||||
@@ -575,6 +581,27 @@ public class EntityFox extends EntityAnimal {
|
||||
return this.fb().contains(uuid);
|
||||
return this.fa().contains(uuid);
|
||||
}
|
||||
|
||||
+ @Override
|
||||
@@ -70,7 +70,7 @@ index e6275a9fe..90b01adbe 100644
|
||||
protected org.bukkit.event.entity.EntityDeathEvent d(DamageSource damagesource) { // Paper
|
||||
ItemStack itemstack = this.getEquipment(EnumItemSlot.MAINHAND).cloneItemStack(); // Paper
|
||||
diff --git a/src/main/java/net/minecraft/server/Items.java b/src/main/java/net/minecraft/server/Items.java
|
||||
index 619c40b27..b5305eaa9 100644
|
||||
index 67ebcbe4d..4c379916d 100644
|
||||
--- a/src/main/java/net/minecraft/server/Items.java
|
||||
+++ b/src/main/java/net/minecraft/server/Items.java
|
||||
@@ -119,8 +119,8 @@ public class Items {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Breedable Polar Bears
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPolarBear.java b/src/main/java/net/minecraft/server/EntityPolarBear.java
|
||||
index 69e5c1aed..c26fd0e18 100644
|
||||
index b59cbd70a..cd6d2e07e 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPolarBear.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPolarBear.java
|
||||
@@ -21,6 +21,30 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
|
||||
@@ -23,6 +23,30 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
|
||||
super(entitytypes, world);
|
||||
}
|
||||
|
||||
@@ -37,9 +37,9 @@ index 69e5c1aed..c26fd0e18 100644
|
||||
+ // Purpur end
|
||||
+
|
||||
@Override
|
||||
public EntityAgeable createChild(EntityAgeable entityageable) {
|
||||
return (EntityAgeable) EntityTypes.POLAR_BEAR.a(this.world);
|
||||
@@ -28,7 +52,7 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
|
||||
public EntityAgeable createChild(WorldServer worldserver, EntityAgeable entityageable) {
|
||||
return (EntityAgeable) EntityTypes.POLAR_BEAR.a((World) worldserver);
|
||||
@@ -30,7 +54,7 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
|
||||
|
||||
@Override
|
||||
public boolean k(ItemStack itemstack) {
|
||||
@@ -48,7 +48,7 @@ index 69e5c1aed..c26fd0e18 100644
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -37,6 +61,12 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
|
||||
@@ -39,6 +63,12 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
|
||||
this.goalSelector.a(0, new PathfinderGoalFloat(this));
|
||||
this.goalSelector.a(1, new EntityPolarBear.c());
|
||||
this.goalSelector.a(1, new EntityPolarBear.d());
|
||||
@@ -61,18 +61,18 @@ index 69e5c1aed..c26fd0e18 100644
|
||||
this.goalSelector.a(4, new PathfinderGoalFollowParent(this, 1.25D));
|
||||
this.goalSelector.a(5, new PathfinderGoalRandomStroll(this, 1.0D));
|
||||
this.goalSelector.a(6, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 6.0F));
|
||||
@@ -178,10 +208,12 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
|
||||
@@ -180,10 +210,12 @@ public class EntityPolarBear extends EntityAnimal implements IEntityAngerable {
|
||||
return flag;
|
||||
}
|
||||
|
||||
+ public boolean isStanding() { return eN(); } // Purpur - OBFHELPER
|
||||
public boolean eN() {
|
||||
return (Boolean) this.datawatcher.get(EntityPolarBear.bv);
|
||||
+ public boolean isStanding() { return eM(); } // Purpur - OBFHELPER
|
||||
public boolean eM() {
|
||||
return (Boolean) this.datawatcher.get(EntityPolarBear.bo);
|
||||
}
|
||||
|
||||
+ public void setStanding(boolean standing) { t(standing); } // Purpur - OBFHELPER
|
||||
public void t(boolean flag) {
|
||||
this.datawatcher.set(EntityPolarBear.bv, flag);
|
||||
this.datawatcher.set(EntityPolarBear.bo, flag);
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index a98dd59b8..9b6bd8f41 100644
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Chickens can retaliate
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityChicken.java b/src/main/java/net/minecraft/server/EntityChicken.java
|
||||
index c6ee92343..137eada65 100644
|
||||
index 45e989efd..26dee32bf 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityChicken.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityChicken.java
|
||||
@@ -17,16 +17,35 @@ public class EntityChicken extends EntityAnimal {
|
||||
@@ -29,7 +29,7 @@ index c6ee92343..137eada65 100644
|
||||
- this.goalSelector.a(1, new PathfinderGoalPanic(this, 1.4D));
|
||||
+ //this.goalSelector.a(1, new PathfinderGoalPanic(this, 1.4D)); // Purpur - moved down
|
||||
this.goalSelector.a(2, new PathfinderGoalBreed(this, 1.0D));
|
||||
this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.0D, false, EntityChicken.bC));
|
||||
this.goalSelector.a(3, new PathfinderGoalTempt(this, 1.0D, false, EntityChicken.bv));
|
||||
this.goalSelector.a(4, new PathfinderGoalFollowParent(this, 1.1D));
|
||||
this.goalSelector.a(5, new PathfinderGoalRandomStrollLand(this, 1.0D));
|
||||
this.goalSelector.a(6, new PathfinderGoalLookAtPlayer(this, EntityHuman.class, 6.0F));
|
||||
@@ -48,7 +48,7 @@ index c6ee92343..137eada65 100644
|
||||
@@ -35,7 +54,7 @@ public class EntityChicken extends EntityAnimal {
|
||||
}
|
||||
|
||||
public static AttributeProvider.Builder eL() {
|
||||
public static AttributeProvider.Builder eK() {
|
||||
- return EntityInsentient.p().a(GenericAttributes.MAX_HEALTH, 4.0D).a(GenericAttributes.MOVEMENT_SPEED, 0.25D);
|
||||
+ return EntityInsentient.p().a(GenericAttributes.MAX_HEALTH, 4.0D).a(GenericAttributes.MOVEMENT_SPEED, 0.25D).a(GenericAttributes.ATTACK_DAMAGE, 0.0D); // Purpur
|
||||
}
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to set armorstand step height
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||
index 250bccee4..7543f2cee 100644
|
||||
index 70c2c2e3e..eb32abc5d 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||
@@ -615,6 +615,7 @@ public class EntityArmorStand extends EntityLiving {
|
||||
@@ -617,6 +617,7 @@ public class EntityArmorStand extends EntityLiving {
|
||||
|
||||
@Override
|
||||
public void tick() {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Cat spawning options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/IEntityAccess.java b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
index dfa8f3439b..a3a073f9d2 100644
|
||||
index 90c37e4a8..7a42feb16 100644
|
||||
--- a/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
+++ b/src/main/java/net/minecraft/server/IEntityAccess.java
|
||||
@@ -45,6 +45,7 @@ public interface IEntityAccess {
|
||||
@@ -44,6 +44,7 @@ public interface IEntityAccess {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ index dfa8f3439b..a3a073f9d2 100644
|
||||
return this.a(oclass, axisalignedbb, IEntitySelector.g);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MobSpawnerCat.java b/src/main/java/net/minecraft/server/MobSpawnerCat.java
|
||||
index 67c20747a3..68d37121fd 100644
|
||||
index 5e17868a7..6d0ebd8af 100644
|
||||
--- a/src/main/java/net/minecraft/server/MobSpawnerCat.java
|
||||
+++ b/src/main/java/net/minecraft/server/MobSpawnerCat.java
|
||||
@@ -16,7 +16,7 @@ public class MobSpawnerCat implements MobSpawner {
|
||||
@@ -26,47 +26,43 @@ index 67c20747a3..68d37121fd 100644
|
||||
} else {
|
||||
- this.a = 1200;
|
||||
+ this.a = worldserver.purpurConfig.catSpawnDelay; // Purpur;
|
||||
EntityPlayer entityplayer = worldserver.h();
|
||||
EntityPlayer entityplayer = worldserver.q_();
|
||||
|
||||
if (entityplayer == null) {
|
||||
@@ -50,10 +50,14 @@ public class MobSpawnerCat implements MobSpawner {
|
||||
@@ -50,10 +50,12 @@ public class MobSpawnerCat implements MobSpawner {
|
||||
}
|
||||
|
||||
private int a(WorldServer worldserver, BlockPosition blockposition) {
|
||||
- boolean flag = true;
|
||||
-
|
||||
- if (worldserver.x().a(VillagePlaceType.r.c(), blockposition, 48, VillagePlace.Occupancy.IS_OCCUPIED) > 4L) {
|
||||
- if (worldserver.y().a(VillagePlaceType.r.c(), blockposition, 48, VillagePlace.Occupancy.IS_OCCUPIED) > 4L) {
|
||||
- List<EntityCat> list = worldserver.a(EntityCat.class, (new AxisAlignedBB(blockposition)).grow(48.0D, 8.0D, 48.0D));
|
||||
+ // Purpur start
|
||||
+ int range = worldserver.purpurConfig.catSpawnVillageScanRange;
|
||||
+ if (range <= 0) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+ if (range <= 0) return 0;
|
||||
+ if (worldserver.getVillagePlace().count(VillagePlaceType.home().predicate(), blockposition, range, VillagePlace.Occupancy.IS_OCCUPIED) > 4L) {
|
||||
+ List<EntityCat> list = worldserver.a(EntityCat.class, (new AxisAlignedBB(blockposition)).grow(range, 8.0D, range));
|
||||
+ List<EntityCat> list = worldserver.getEntitiesInAABB(EntityCat.class, (new AxisAlignedBB(blockposition)).grow(range, 8.0D, range));
|
||||
+ // Purpur end
|
||||
|
||||
if (list.size() < 5) {
|
||||
return this.a(blockposition, (World) worldserver);
|
||||
@@ -64,9 +68,13 @@ public class MobSpawnerCat implements MobSpawner {
|
||||
return this.a(blockposition, worldserver);
|
||||
@@ -64,9 +66,11 @@ public class MobSpawnerCat implements MobSpawner {
|
||||
}
|
||||
|
||||
private int a(World world, BlockPosition blockposition) {
|
||||
private int b(WorldServer worldserver, BlockPosition blockposition) {
|
||||
- boolean flag = true;
|
||||
- List<EntityCat> list = world.a(EntityCat.class, (new AxisAlignedBB(blockposition)).grow(16.0D, 8.0D, 16.0D));
|
||||
- List<EntityCat> list = worldserver.a(EntityCat.class, (new AxisAlignedBB(blockposition)).grow(16.0D, 8.0D, 16.0D));
|
||||
-
|
||||
+ // Purpur start
|
||||
+ int range = world.purpurConfig.catSpawnSwampHutScanRange;
|
||||
+ if (range <= 0) {
|
||||
+ return 0;
|
||||
+ }
|
||||
+ List<EntityCat> list = world.getEntitiesInAABB(EntityCat.class, (new AxisAlignedBB(blockposition)).grow(range, 8.0D, range));
|
||||
+ int range = worldserver.purpurConfig.catSpawnSwampHutScanRange;
|
||||
+ if (range <= 0) return 0;
|
||||
+ List<EntityCat> list = worldserver.getEntitiesInAABB(EntityCat.class, (new AxisAlignedBB(blockposition)).grow(range, 8.0D, range));
|
||||
+ // Purpur end
|
||||
return list.size() < 1 ? this.a(blockposition, world) : 0;
|
||||
return list.size() < 1 ? this.a(blockposition, worldserver) : 0;
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/VillagePlace.java b/src/main/java/net/minecraft/server/VillagePlace.java
|
||||
index c1e149f204..acc30cb0d8 100644
|
||||
index adacfce6f..21e401acd 100644
|
||||
--- a/src/main/java/net/minecraft/server/VillagePlace.java
|
||||
+++ b/src/main/java/net/minecraft/server/VillagePlace.java
|
||||
@@ -45,6 +45,7 @@ public class VillagePlace extends RegionFileSection<VillagePlaceSection> {
|
||||
@@ -78,7 +74,7 @@ index c1e149f204..acc30cb0d8 100644
|
||||
return this.c(predicate, blockposition, i, villageplace_occupancy).count();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/VillagePlaceType.java b/src/main/java/net/minecraft/server/VillagePlaceType.java
|
||||
index 5bd3bcc2b9..5f2bb140ae 100644
|
||||
index a5718af9b..b6b4c8c49 100644
|
||||
--- a/src/main/java/net/minecraft/server/VillagePlaceType.java
|
||||
+++ b/src/main/java/net/minecraft/server/VillagePlaceType.java
|
||||
@@ -44,7 +44,7 @@ public class VillagePlaceType {
|
||||
@@ -99,19 +95,19 @@ index 5bd3bcc2b9..5f2bb140ae 100644
|
||||
return this.E;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index 346cbc3efd..88e807da1e 100644
|
||||
index 18e8e36d7..17105c9a1 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -2502,6 +2502,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
@@ -2530,6 +2530,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
}
|
||||
}
|
||||
|
||||
+ public VillagePlace getVillagePlace() { return x(); } // Purpur - OBFHELPER
|
||||
public VillagePlace x() {
|
||||
+ public VillagePlace getVillagePlace() { return y(); } // Purpur - OBFHELPER
|
||||
public VillagePlace y() {
|
||||
return this.getChunkProvider().j();
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index b41d4959c1..55e609cc1c 100644
|
||||
index b41d4959c..55e609cc1 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -111,6 +111,15 @@ public class PurpurWorldConfig {
|
||||
@@ -5,17 +5,17 @@ Subject: [PATCH] MC-147659 - Fix non black cats spawning in swamp huts
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MobSpawnerCat.java b/src/main/java/net/minecraft/server/MobSpawnerCat.java
|
||||
index 68d37121f..318d051b0 100644
|
||||
index 6d0ebd8af..c7a787007 100644
|
||||
--- a/src/main/java/net/minecraft/server/MobSpawnerCat.java
|
||||
+++ b/src/main/java/net/minecraft/server/MobSpawnerCat.java
|
||||
@@ -84,8 +84,9 @@ public class MobSpawnerCat implements MobSpawner {
|
||||
@@ -80,8 +80,9 @@ public class MobSpawnerCat implements MobSpawner {
|
||||
if (entitycat == null) {
|
||||
return 0;
|
||||
} else {
|
||||
+ entitycat.setPositionRotation(blockposition, 0.0F, 0.0F); // Purpur
|
||||
entitycat.prepare(world, world.getDamageScaler(blockposition), EnumMobSpawn.NATURAL, (GroupDataEntity) null, (NBTTagCompound) null);
|
||||
entitycat.prepare(worldserver, worldserver.getDamageScaler(blockposition), EnumMobSpawn.NATURAL, (GroupDataEntity) null, (NBTTagCompound) null);
|
||||
- entitycat.setPositionRotation(blockposition, 0.0F, 0.0F);
|
||||
+ //entitycat.setPositionRotation(blockposition, 0.0F, 0.0F); // Purpur - move up - fixes non black cat types spawning inside swamp huts
|
||||
world.addEntity(entitycat);
|
||||
worldserver.addAllEntities(entitycat);
|
||||
return 1;
|
||||
}
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Cows eat mushrooms
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index b39cc82bf..884f4a0ab 100644
|
||||
index 2ea06a85f..5fc69bc95 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -2740,6 +2740,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2723,6 +2723,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
this.invulnerable = flag;
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ index b39cc82bf..884f4a0ab 100644
|
||||
this.setPositionRotation(entity.locX(), entity.locY(), entity.locZ(), entity.yaw, entity.pitch);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityCow.java b/src/main/java/net/minecraft/server/EntityCow.java
|
||||
index 30ee6df6b..d6baddb9d 100644
|
||||
index 42e6761c8..cfb009c81 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityCow.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityCow.java
|
||||
@@ -16,6 +16,7 @@ public class EntityCow extends EntityAnimal {
|
||||
@@ -107,21 +107,21 @@ index 30ee6df6b..d6baddb9d 100644
|
||||
+ // Purpur end
|
||||
+
|
||||
@Override
|
||||
public EntityCow createChild(EntityAgeable entityageable) {
|
||||
return (EntityCow) EntityTypes.COW.a(this.world);
|
||||
public EntityCow createChild(WorldServer worldserver, EntityAgeable entityageable) {
|
||||
return (EntityCow) EntityTypes.COW.a((World) worldserver);
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 762217c7e..653071979 100644
|
||||
index 82cf853ab..5e9849a46 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -80,7 +80,7 @@ public abstract class EntityLiving extends Entity {
|
||||
public int maxNoDamageTicks;
|
||||
public final float aF;
|
||||
public final float aG;
|
||||
- public float aH;
|
||||
+ public float aH; public float getRenderYawOffset() { return this.aH; } public void setRenderYawOffset(float f) { this.aH = f; } // Purpur - OBFHELPER
|
||||
public float aI;
|
||||
public float aJ;
|
||||
public float aK;
|
||||
public final float ay;
|
||||
public final float az;
|
||||
- public float aA;
|
||||
+ public float aA; public float getRenderYawOffset() { return this.aA; } public void setRenderYawOffset(float f) { this.aA = f; } // Purpur - OBFHELPER
|
||||
public float aB;
|
||||
public float aC;
|
||||
public float aD;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 55e609cc1..3d78ac90c 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -5,14 +5,14 @@ Subject: [PATCH] Fix cow rotation when shearing mooshroom
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityMushroomCow.java b/src/main/java/net/minecraft/server/EntityMushroomCow.java
|
||||
index 23ef03306..ecbdc65ec 100644
|
||||
index 1aacbae04..38df17bd2 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityMushroomCow.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityMushroomCow.java
|
||||
@@ -135,7 +135,13 @@ public class EntityMushroomCow extends EntityCow implements IShearable {
|
||||
|
||||
entitycow.setPositionRotation(this.locX(), this.locY(), this.locZ(), this.yaw, this.pitch);
|
||||
entitycow.setHealth(this.getHealth());
|
||||
- entitycow.aH = this.aH;
|
||||
- entitycow.aA = this.aA;
|
||||
+ // Purpur start - correctly copy rotation
|
||||
+ entitycow.copyPositionRotation(this);
|
||||
+ entitycow.setRenderYawOffset(this.getRenderYawOffset());
|
||||
@@ -5,12 +5,12 @@ Subject: [PATCH] Pigs give saddle back
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPig.java b/src/main/java/net/minecraft/server/EntityPig.java
|
||||
index cd0a94794..cf2df391a 100644
|
||||
index 684867010..87caac62b 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPig.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPig.java
|
||||
@@ -109,6 +109,18 @@ public class EntityPig extends EntityAnimal implements ISteerable, ISaddleable {
|
||||
|
||||
if (!flag && this.hasSaddle() && !this.isVehicle()) {
|
||||
if (!flag && this.hasSaddle() && !this.isVehicle() && !entityhuman.ep()) {
|
||||
if (!this.world.isClientSide) {
|
||||
+ // Purpur start
|
||||
+ if (world.purpurConfig.pigGiveSaddleBack && entityhuman.isSneaking()) {
|
||||
@@ -5,12 +5,12 @@ Subject: [PATCH] Ender dragon always drop egg
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EnderDragonBattle.java b/src/main/java/net/minecraft/server/EnderDragonBattle.java
|
||||
index 69faefbdb..ecd6af04d 100644
|
||||
index 47182c500..4f3f7cb42 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnderDragonBattle.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnderDragonBattle.java
|
||||
@@ -358,7 +358,7 @@ public class EnderDragonBattle {
|
||||
this.bossBattle.setVisible(false);
|
||||
this.a(true);
|
||||
this.generateExitPortal(true);
|
||||
this.n();
|
||||
- if (!this.previouslyKilled) {
|
||||
+ if (this.world.purpurConfig.enderDragonAlwaysDropsEggBlock || !this.previouslyKilled) { // Purpur - always place dragon egg
|
||||
@@ -5,14 +5,14 @@ Subject: [PATCH] Ender dragon always drop full exp
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
|
||||
index 63a759cc1..08fa5a975 100644
|
||||
index 6b2c5e8d4..0e74794d3 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
|
||||
@@ -564,7 +564,7 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
|
||||
boolean flag = this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT);
|
||||
short short0 = 500;
|
||||
|
||||
- if (this.bM != null && !this.bM.isPreviouslyKilled()) {
|
||||
- if (this.bF != null && !this.bF.isPreviouslyKilled()) {
|
||||
+ if (getEnderDragonBattle() != null && (world.purpurConfig.enderDragonAlwaysDropsFullExp || !getEnderDragonBattle().isPreviouslyKilled())) { // Purpur
|
||||
short0 = 12000;
|
||||
}
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Signs editable on right click
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockSign.java b/src/main/java/net/minecraft/server/BlockSign.java
|
||||
index cfc1da1f5..3a9871dbc 100644
|
||||
index 3585fd82c..770ad5edf 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockSign.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockSign.java
|
||||
@@ -56,6 +56,17 @@ public abstract class BlockSign extends BlockTileEntity implements IBlockWaterlo
|
||||
@@ -27,7 +27,7 @@ index cfc1da1f5..3a9871dbc 100644
|
||||
} else {
|
||||
return EnumInteractionResult.PASS;
|
||||
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
|
||||
index c4b0d8720..e1ab29975 100644
|
||||
index 2b9d5724c..316766970 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
|
||||
@@ -113,6 +113,7 @@ public class TileEntitySign extends TileEntity implements ICommandListener { //
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Signs allow color codes
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 2ff7e6e576..34e7415a8c 100644
|
||||
index 2738194fc..eaca7b445 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -1269,6 +1269,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -1245,6 +1245,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
public void openSign(TileEntitySign tileentitysign) {
|
||||
tileentitysign.a((EntityHuman) this);
|
||||
this.playerConnection.sendPacket(new PacketPlayOutOpenSignEditor(tileentitysign.getPosition()));
|
||||
@@ -17,10 +17,10 @@ index 2ff7e6e576..34e7415a8c 100644
|
||||
|
||||
public int nextContainerCounter() { // CraftBukkit - void -> int
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 4cd07ab08a..5d31b56184 100644
|
||||
index a01b80327..c9798d775 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -2716,6 +2716,14 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -2711,6 +2711,14 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
}
|
||||
// Paper end
|
||||
@@ -36,7 +36,7 @@ index 4cd07ab08a..5d31b56184 100644
|
||||
}
|
||||
SignChangeEvent event = new SignChangeEvent((org.bukkit.craftbukkit.block.CraftBlock) player.getWorld().getBlockAt(x, y, z), this.server.getPlayer(this.player), lines);
|
||||
diff --git a/src/main/java/net/minecraft/server/TileEntitySign.java b/src/main/java/net/minecraft/server/TileEntitySign.java
|
||||
index e1ab299756..1778c5474f 100644
|
||||
index 316766970..db81ee600 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntitySign.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntitySign.java
|
||||
@@ -1,6 +1,14 @@
|
||||
@@ -77,7 +77,7 @@ index e1ab299756..1778c5474f 100644
|
||||
@Override
|
||||
public PacketPlayOutTileEntityData getUpdatePacket() {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 227436226c..21a2c0c434 100644
|
||||
index 227436226..21a2c0c43 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -102,9 +102,12 @@ public class PurpurWorldConfig {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Controllable Minecarts
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockPosition.java b/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
index 7bdefff433..a90ade6897 100644
|
||||
index 2291135ea..bc61aaff6 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockPosition.java
|
||||
@@ -35,6 +35,12 @@ public class BlockPosition extends BaseBlockPosition {
|
||||
@@ -36,6 +36,12 @@ public class BlockPosition extends BaseBlockPosition {
|
||||
private static final int m = 38;
|
||||
// Paper end
|
||||
|
||||
@@ -22,27 +22,27 @@ index 7bdefff433..a90ade6897 100644
|
||||
super(i, j, k);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 85899e385a..efb997bcf3 100644
|
||||
index 5e9849a46..f7c969764 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -98,9 +98,9 @@ public abstract class EntityLiving extends Entity {
|
||||
protected int aV; protected int getKillCount() { return this.aV; } // Paper - OBFHELPER
|
||||
protected int aO;protected int getKillCount() { return this.aO; } // Paper - OBFHELPER
|
||||
public float lastDamage;
|
||||
public boolean jumping; // Paper protected -> public
|
||||
- public float aY;
|
||||
- public float aZ;
|
||||
- public float ba;
|
||||
+ public float aY; public float getStrafe() { return aY; } public void setStrafe(float strafe) { aY = strafe; } // Purpur - OBFHELPER
|
||||
+ public float aZ; public float getVertical() { return aZ; } public void setVertical(float vertical) { aZ = vertical; } // Purpur - OBFHELPER
|
||||
+ public float ba; public float getForward() { return ba; } public void setForward(float forward) { ba = forward; } // Purpur - OBFHELPER
|
||||
protected int bb;
|
||||
protected double bc;
|
||||
protected double bd;
|
||||
- public float aR;
|
||||
- public float aS;
|
||||
- public float aT;
|
||||
+ public float aR; public float getStrafe() { return aR; } public void setStrafe(float strafe) { aR = strafe; } // Purpur - OBFHELPER
|
||||
+ public float aS; public float getVertical() { return aS; } public void setVertical(float vertical) { aS = vertical; } // Purpur - OBFHELPER
|
||||
+ public float aT; public float getForward() { return aT; } public void setForward(float forward) { aT = forward; } // Purpur - OBFHELPER
|
||||
protected int aU;
|
||||
protected double aV;
|
||||
protected double aW;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
|
||||
index 6e038905ea..cdbe1a32e0 100644
|
||||
index 13fcb666e..d5e129678 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
|
||||
@@ -432,12 +432,50 @@ public abstract class EntityMinecartAbstract extends Entity {
|
||||
@@ -445,12 +445,50 @@ public abstract class EntityMinecartAbstract extends Entity {
|
||||
|
||||
public void a(int i, int j, int k, boolean flag) {}
|
||||
|
||||
@@ -94,7 +94,7 @@ index 6e038905ea..cdbe1a32e0 100644
|
||||
this.setMot(new Vec3D(this.getMot().x * this.derailedX, this.getMot().y * this.derailedY, this.getMot().z * this.derailedZ));
|
||||
// CraftBukkit end
|
||||
diff --git a/src/main/java/net/minecraft/server/ItemMinecart.java b/src/main/java/net/minecraft/server/ItemMinecart.java
|
||||
index dc7decb060..0da16c2006 100644
|
||||
index ceef7aaf9..002651aaf 100644
|
||||
--- a/src/main/java/net/minecraft/server/ItemMinecart.java
|
||||
+++ b/src/main/java/net/minecraft/server/ItemMinecart.java
|
||||
@@ -103,8 +103,10 @@ public class ItemMinecart extends Item {
|
||||
@@ -119,7 +119,7 @@ index dc7decb060..0da16c2006 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 70e504ff30..276131adc7 100644
|
||||
index 70e504ff3..276131adc 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -1,5 +1,7 @@
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Disable loot drops on death by cramming
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 419108acb..08ca21201 100644
|
||||
index f7c969764..618faae95 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -1483,8 +1483,10 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -1484,8 +1484,10 @@ public abstract class EntityLiving extends Entity {
|
||||
|
||||
this.dropInventory(); // CraftBukkit - from below
|
||||
if (this.cV() && this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Players should not cram to death
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index 3ccfc969f..4f8042a48 100644
|
||||
index eaca7b445..869ba9679 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -1243,7 +1243,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -1219,7 +1219,7 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
|
||||
@Override
|
||||
public boolean isInvulnerable(DamageSource damagesource) {
|
||||
@@ -5,12 +5,12 @@ Subject: [PATCH] End gateway should check if entity can use portal
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/TileEntityEndGateway.java b/src/main/java/net/minecraft/server/TileEntityEndGateway.java
|
||||
index 89537dec8..ea3930d89 100644
|
||||
index 5d158e723..3752fd610 100644
|
||||
--- a/src/main/java/net/minecraft/server/TileEntityEndGateway.java
|
||||
+++ b/src/main/java/net/minecraft/server/TileEntityEndGateway.java
|
||||
@@ -122,6 +122,7 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick
|
||||
@@ -127,6 +127,7 @@ public class TileEntityEndGateway extends TileEntityEnderPortal implements ITick
|
||||
|
||||
public void a(Entity entity) {
|
||||
public void b(Entity entity) {
|
||||
if (this.world instanceof WorldServer && !this.f()) {
|
||||
+ if (!entity.canPortal()) return; // Purpur
|
||||
this.c = 100;
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Debug stick should not update neighbors
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
|
||||
index 3c56053e3..092b4d3c2 100644
|
||||
index ace50805b..76cc28517 100644
|
||||
--- a/src/main/java/net/minecraft/server/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/server/ItemStack.java
|
||||
@@ -229,6 +229,11 @@ public final class ItemStack {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Fix reloading paper.yml
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index e471e7649..09fda504d 100644
|
||||
index d5a1ade21..fedea8106 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -20,7 +20,7 @@ public class PaperWorldConfig {
|
||||
@@ -5,23 +5,22 @@ Subject: [PATCH] Fix the dead lagging the server
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 884f4a0ab..f55b30255 100644
|
||||
index 5fc69bc95..179e470fe 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -1523,7 +1523,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -1500,6 +1500,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
this.pitch = MathHelper.a(f1, -90.0F, 90.0F) % 360.0F;
|
||||
this.lastYaw = this.yaw;
|
||||
this.lastPitch = this.pitch;
|
||||
- if (valid) world.getChunkAt((int) Math.floor(this.locX()) >> 4, (int) Math.floor(this.locZ()) >> 4); // CraftBukkit // Paper
|
||||
+ if (valid && !dead) world.getChunkAt((int) Math.floor(this.locX()) >> 4, (int) Math.floor(this.locZ()) >> 4); // CraftBukkit // Paper // Purpur
|
||||
}
|
||||
|
||||
public void c(Vec3D vec3d) {
|
||||
public void f(double d0, double d1, double d2) {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index 08ca21201..cb8aaceb1 100644
|
||||
index 618faae95..51b2aa3e2 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -2465,7 +2465,7 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -2466,7 +2466,7 @@ public abstract class EntityLiving extends Entity {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Skip events if there's no listeners
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/CommandDispatcher.java b/src/main/java/net/minecraft/server/CommandDispatcher.java
|
||||
index e59151d01..4ace0e79c 100644
|
||||
index 22d748008..cabce1a8b 100644
|
||||
--- a/src/main/java/net/minecraft/server/CommandDispatcher.java
|
||||
+++ b/src/main/java/net/minecraft/server/CommandDispatcher.java
|
||||
@@ -275,6 +275,7 @@ public class CommandDispatcher {
|
||||
@@ -277,6 +277,7 @@ public class CommandDispatcher {
|
||||
}
|
||||
|
||||
private void runSync(EntityPlayer entityplayer, Collection<String> bukkit, RootCommandNode<ICompletionProvider> rootcommandnode) {
|
||||
@@ -16,7 +16,7 @@ index e59151d01..4ace0e79c 100644
|
||||
// Paper end - Async command map building
|
||||
new com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent<CommandListenerWrapper>(entityplayer.getBukkitEntity(), (RootCommandNode) rootcommandnode, false).callEvent(); // Paper
|
||||
PlayerCommandSendEvent event = new PlayerCommandSendEvent(entityplayer.getBukkitEntity(), new LinkedHashSet<>(bukkit));
|
||||
@@ -287,6 +288,7 @@ public class CommandDispatcher {
|
||||
@@ -289,6 +290,7 @@ public class CommandDispatcher {
|
||||
}
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for F3+N debug
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
index 42e7511e0..05d3edd09 100644
|
||||
index 75b0565df..8c66471ad 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
||||
@@ -1044,6 +1044,7 @@ public abstract class PlayerList {
|
||||
@@ -1057,6 +1057,7 @@ public abstract class PlayerList {
|
||||
} else {
|
||||
b0 = (byte) (24 + i);
|
||||
}
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add wither skeleton takes wither damage option
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntitySkeletonWither.java b/src/main/java/net/minecraft/server/EntitySkeletonWither.java
|
||||
index 1819432e1..f415775ea 100644
|
||||
index 1ae9910fe..c872be77a 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntitySkeletonWither.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntitySkeletonWither.java
|
||||
@@ -97,6 +97,6 @@ public class EntitySkeletonWither extends EntitySkeletonAbstract {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 14ca25adae..1bc1909754 100644
|
||||
index eee7356d5..89f422524 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1003,7 +1003,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -1001,7 +1001,13 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
this.a(this::canSleepForTick);
|
||||
this.methodProfiler.exitEnter("nextTickWait");
|
||||
this.X = true;
|
||||
@@ -24,7 +24,7 @@ index 14ca25adae..1bc1909754 100644
|
||||
this.methodProfiler.exit();
|
||||
this.methodProfiler.b();
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 30935339e8..a49807916d 100644
|
||||
index 30935339e..a49807916 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -194,4 +194,9 @@ public class PurpurConfig {
|
||||
@@ -5,15 +5,15 @@ Subject: [PATCH] Add option to allow loyalty on tridents to work in the void
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityThrownTrident.java b/src/main/java/net/minecraft/server/EntityThrownTrident.java
|
||||
index c68002ffe..9be919986 100644
|
||||
index a3150bd1c..b24b8c39d 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityThrownTrident.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityThrownTrident.java
|
||||
@@ -38,7 +38,7 @@ public class EntityThrownTrident extends EntityArrow {
|
||||
|
||||
Entity entity = this.getShooter();
|
||||
|
||||
- if ((this.ap || this.t()) && entity != null) {
|
||||
+ if ((this.ap || this.t() || (world.purpurConfig.tridentLoyaltyVoidReturnHeight < 0.0D && locY() < world.purpurConfig.tridentLoyaltyVoidReturnHeight)) && entity != null) { // Purpur
|
||||
- if ((this.ai || this.t()) && entity != null) {
|
||||
+ if ((this.ai || this.t() || (world.purpurConfig.tridentLoyaltyVoidReturnHeight < 0.0D && locY() < world.purpurConfig.tridentLoyaltyVoidReturnHeight)) && entity != null) { // Purpur
|
||||
byte b0 = (Byte) this.datawatcher.get(EntityThrownTrident.g);
|
||||
|
||||
if (b0 > 0 && !this.z()) {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add enderman and creeper griefing controls
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityCreeper.java b/src/main/java/net/minecraft/server/EntityCreeper.java
|
||||
index e8008e3c2..2d5aab9e2 100644
|
||||
index 8338afa7c..013639cc9 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityCreeper.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityCreeper.java
|
||||
@@ -215,7 +215,7 @@ public class EntityCreeper extends EntityMonster {
|
||||
@@ -18,10 +18,10 @@ index e8008e3c2..2d5aab9e2 100644
|
||||
|
||||
// CraftBukkit start
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityEnderman.java b/src/main/java/net/minecraft/server/EntityEnderman.java
|
||||
index b61de3351..245fc38de 100644
|
||||
index 03176e83a..b45a75a45 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityEnderman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityEnderman.java
|
||||
@@ -370,6 +370,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
|
||||
@@ -369,6 +369,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
@@ -29,7 +29,16 @@ index b61de3351..245fc38de 100644
|
||||
return this.enderman.getCarried() != null ? false : (!this.enderman.world.getGameRules().getBoolean(GameRules.MOB_GRIEFING) ? false : this.enderman.getRandom().nextInt(20) == 0);
|
||||
}
|
||||
|
||||
@@ -413,6 +414,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
|
||||
@@ -402,7 +403,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
|
||||
|
||||
static class PathfinderGoalEndermanPlaceBlock extends PathfinderGoal {
|
||||
|
||||
- private final EntityEnderman a;
|
||||
+ private final EntityEnderman a; public EntityEnderman getEnderman() { return a; } // Purpur - OBFHELPER
|
||||
|
||||
public PathfinderGoalEndermanPlaceBlock(EntityEnderman entityenderman) {
|
||||
this.a = entityenderman;
|
||||
@@ -410,6 +411,7 @@ public class EntityEnderman extends EntityMonster implements IEntityAngerable {
|
||||
|
||||
@Override
|
||||
public boolean a() {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Entities pick up loot bypass mob-griefing gamerule
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index 93714e5d9..b23674625 100644
|
||||
index b7fcade36..fc2ac5fb8 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -542,7 +542,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Villagers follow emerald blocks
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
index 7925c8991..3e10ee440 100644
|
||||
index f880a38bf..1fbba526c 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
@@ -74,6 +74,13 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
@@ -23,7 +23,7 @@ index 7925c8991..3e10ee440 100644
|
||||
public BehaviorController<EntityVillager> getBehaviorController() {
|
||||
return (BehaviorController<EntityVillager>) super.getBehaviorController(); // CraftBukkit - decompile error
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
|
||||
index beb84a2ab..a3b4a59fd 100644
|
||||
index ced893452..a96533e0c 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVillagerAbstract.java
|
||||
@@ -14,6 +14,8 @@ import org.bukkit.event.entity.VillagerAcquireTradeEvent;
|
||||
@@ -36,7 +36,7 @@ index beb84a2ab..a3b4a59fd 100644
|
||||
private CraftMerchant craftMerchant;
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
|
||||
index a0841cfaf..ab5e97e39 100644
|
||||
index f1a509063..74c2d89af 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
|
||||
@@ -40,6 +40,7 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow leashing villagers
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index b23674625..744552fda 100644
|
||||
index fc2ac5fb8..c87c95160 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -1129,6 +1129,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -1138,6 +1138,7 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
if (!this.isAlive()) {
|
||||
return EnumInteractionResult.PASS;
|
||||
} else if (this.getLeashHolder() == entityhuman) {
|
||||
@@ -17,7 +17,7 @@ index b23674625..744552fda 100644
|
||||
if (CraftEventFactory.callPlayerUnleashEntityEvent(this, entityhuman).isCancelled()) {
|
||||
((EntityPlayer) entityhuman).playerConnection.sendPacket(new PacketPlayOutAttachEntity(this, this.getLeashHolder()));
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
index 3e10ee440..97eb26482 100644
|
||||
index 1fbba526c..ff23ca2a1 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
@@ -79,6 +79,11 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
@@ -33,7 +33,7 @@ index 3e10ee440..97eb26482 100644
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityVillagerTrader.java b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
|
||||
index ab5e97e39..9985afb12 100644
|
||||
index 74c2d89af..96dda6a14 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVillagerTrader.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVillagerTrader.java
|
||||
@@ -47,6 +47,13 @@ public class EntityVillagerTrader extends EntityVillagerAbstract {
|
||||
@@ -49,7 +49,7 @@ index ab5e97e39..9985afb12 100644
|
||||
+
|
||||
@Nullable
|
||||
@Override
|
||||
public EntityAgeable createChild(EntityAgeable entityageable) {
|
||||
public EntityAgeable createChild(WorldServer worldserver, EntityAgeable entityageable) {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 26a760bc3..665eac22f 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -6,13 +6,13 @@ Subject: [PATCH] Implement configurable search radius for villagers to spawn
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
index 97eb26482..86de40d15 100644
|
||||
index ff23ca2a1..71644c3d9 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
|
||||
@@ -904,6 +904,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
@@ -892,6 +892,7 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation
|
||||
|
||||
@Nullable
|
||||
private EntityIronGolem fw() {
|
||||
private EntityIronGolem d(WorldServer worldserver) {
|
||||
+ if (world.purpurConfig.villagerSpawnIronGolemRadius > 0 && world.a(EntityIronGolem.class, getBoundingBox().grow(world.purpurConfig.villagerSpawnIronGolemRadius)).size() > world.purpurConfig.villagerSpawnIronGolemLimit) return null; // Purpur
|
||||
BlockPosition blockposition = this.getChunkCoordinates();
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add player death exp control options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHuman.java b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
index a69a69859..ea4144371 100644
|
||||
index eb62555cb..48f9feaea 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHuman.java
|
||||
@@ -85,6 +85,8 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
@@ -17,7 +17,7 @@ index a69a69859..ea4144371 100644
|
||||
public void setAfk(boolean setAfk){
|
||||
}
|
||||
|
||||
@@ -1713,9 +1715,18 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
@@ -1716,9 +1718,18 @@ public abstract class EntityHuman extends EntityLiving {
|
||||
@Override
|
||||
protected int getExpValue(EntityHuman entityhuman) {
|
||||
if (!this.world.getGameRules().getBoolean(GameRules.KEEP_INVENTORY) && !this.isSpectator()) {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add option to disable saving projectiles to disk
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ChunkRegionLoader.java b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
index 742c59cb0..2b2471072 100644
|
||||
index e74d21048..21bd84a73 100644
|
||||
--- a/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
+++ b/src/main/java/net/minecraft/server/ChunkRegionLoader.java
|
||||
@@ -475,6 +475,7 @@ public class ChunkRegionLoader {
|
||||
@@ -17,10 +17,10 @@ index 742c59cb0..2b2471072 100644
|
||||
// Paper start
|
||||
if (asyncsavedata == null && !entity.dead && (int) Math.floor(entity.locX()) >> 4 != chunk.getPos().x || (int) Math.floor(entity.locZ()) >> 4 != chunk.getPos().z) {
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index f55b30255..115421ea7 100644
|
||||
index 179e470fe..f3e9c8460 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -311,6 +311,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -308,6 +308,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
this.headHeight = this.getHeadHeight(EntityPose.STANDING, this.size);
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ index f55b30255..115421ea7 100644
|
||||
return false;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityEnderSignal.java b/src/main/java/net/minecraft/server/EntityEnderSignal.java
|
||||
index 84bf27299..82a5aaf5b 100644
|
||||
index 6e5b46077..49d328aaa 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityEnderSignal.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityEnderSignal.java
|
||||
@@ -19,9 +19,16 @@ public class EntityEnderSignal extends Entity {
|
||||
@@ -56,7 +56,7 @@ index 84bf27299..82a5aaf5b 100644
|
||||
}));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/IProjectile.java b/src/main/java/net/minecraft/server/IProjectile.java
|
||||
index 6e175e30a..f538189ae 100644
|
||||
index 9f5ce64a6..0bac6b050 100644
|
||||
--- a/src/main/java/net/minecraft/server/IProjectile.java
|
||||
+++ b/src/main/java/net/minecraft/server/IProjectile.java
|
||||
@@ -18,6 +18,13 @@ public abstract class IProjectile extends Entity {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable void damage height
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 115421ea7..145e0a716 100644
|
||||
index f3e9c8460..40fad381e 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -534,7 +534,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -611,7 +611,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
|
||||
// Paper start
|
||||
protected void performVoidDamage() {
|
||||
@@ -16,7 +16,7 @@ index 115421ea7..145e0a716 100644
|
||||
+ if (this.locY() < world.purpurConfig.voidDamageHeight || (this.world.getWorld().getEnvironment() == org.bukkit.World.Environment.NETHER // Purpur
|
||||
&& world.paperConfig.doNetherTopVoidDamage()
|
||||
&& this.locY() >= world.paperConfig.netherVoidTopDamageHeight)) {
|
||||
|
||||
this.doVoidDamage();
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 6ac786206..a071129db 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add option for zombies targetting turtle eggs
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityZombie.java b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
index b66059836..00b89746f 100644
|
||||
index 039c5f438..cb7d61937 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityZombie.java
|
||||
@@ -46,7 +46,7 @@ public class EntityZombie extends EntityMonster {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Dispenser curse of binding protection
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
index 744552fda..8def5fbfb 100644
|
||||
index c87c95160..10735e8bd 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
||||
@@ -985,6 +985,13 @@ public abstract class EntityInsentient extends EntityLiving {
|
||||
@@ -23,7 +23,7 @@ index 744552fda..8def5fbfb 100644
|
||||
Item item = itemstack.getItem();
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ItemArmor.java b/src/main/java/net/minecraft/server/ItemArmor.java
|
||||
index 885458d54..c7d67d729 100644
|
||||
index 669a50411..7cd2e871b 100644
|
||||
--- a/src/main/java/net/minecraft/server/ItemArmor.java
|
||||
+++ b/src/main/java/net/minecraft/server/ItemArmor.java
|
||||
@@ -35,7 +35,7 @@ public class ItemArmor extends Item implements ItemWearable {
|
||||
@@ -5,13 +5,13 @@ Subject: [PATCH] Add option for boats to eject players on land
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java
|
||||
index 409e0ac0a..a20d6feb8 100644
|
||||
index 7df2837d6..0f25d7cd6 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityBoat.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityBoat.java
|
||||
@@ -433,6 +433,7 @@ public class EntityBoat extends Entity {
|
||||
@@ -440,6 +440,7 @@ public class EntityBoat extends Entity {
|
||||
|
||||
if (f > 0.0F) {
|
||||
this.aD = f;
|
||||
this.aw = f;
|
||||
+ if (world.purpurConfig.boatEjectPlayersOnLand) ejectPassengers(); // Purpur
|
||||
return EntityBoat.EnumStatus.ON_LAND;
|
||||
} else {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add obfhelpers for plugin use
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
|
||||
index 092b4d3c2..c246942ce 100644
|
||||
index 76cc28517..0d548dae6 100644
|
||||
--- a/src/main/java/net/minecraft/server/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/server/ItemStack.java
|
||||
@@ -644,6 +644,7 @@ public final class ItemStack {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Mending mends most damages equipment first
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EnchantmentManager.java b/src/main/java/net/minecraft/server/EnchantmentManager.java
|
||||
index 7a4768c32c..b3e03e5c09 100644
|
||||
index b6b0460de..2bf518f41 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnchantmentManager.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnchantmentManager.java
|
||||
@@ -251,7 +251,30 @@ public class EnchantmentManager {
|
||||
@@ -41,12 +41,12 @@ index 7a4768c32c..b3e03e5c09 100644
|
||||
return a(enchantment, entityliving, (itemstack) -> {
|
||||
return true;
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityExperienceOrb.java b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
|
||||
index f01a8743ab..1b53fd43bb 100644
|
||||
index e33a42dcd..e053f9c37 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityExperienceOrb.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityExperienceOrb.java
|
||||
@@ -220,7 +220,7 @@ public class EntityExperienceOrb extends Entity {
|
||||
if (this.d == 0 && entityhuman.bB == 0 && new com.destroystokyo.paper.event.player.PlayerPickupExperienceEvent(((EntityPlayer) entityhuman).getBukkitEntity(), (org.bukkit.entity.ExperienceOrb) this.getBukkitEntity()).callEvent()) { // Paper
|
||||
entityhuman.bB = 2;
|
||||
if (this.d == 0 && entityhuman.bu == 0 && new com.destroystokyo.paper.event.player.PlayerPickupExperienceEvent(((EntityPlayer) entityhuman).getBukkitEntity(), (org.bukkit.entity.ExperienceOrb) this.getBukkitEntity()).callEvent()) { // Paper
|
||||
entityhuman.bu = 2;
|
||||
entityhuman.receive(this, 1);
|
||||
- Entry<EnumItemSlot, ItemStack> entry = EnchantmentManager.a(Enchantments.MENDING, (EntityLiving) entityhuman, ItemStack::f);
|
||||
+ Entry<EnumItemSlot, ItemStack> entry = world.purpurConfig.useBetterMending ? EnchantmentManager.getMostDamagedEquipment(Enchantments.MENDING, entityhuman) : EnchantmentManager.a(Enchantments.MENDING, entityhuman, ItemStack::isDamaged); // Purpur
|
||||
@@ -54,7 +54,7 @@ index f01a8743ab..1b53fd43bb 100644
|
||||
if (entry != null) {
|
||||
ItemStack itemstack = (ItemStack) entry.getValue();
|
||||
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
|
||||
index c246942ce8..d40c7ce09c 100644
|
||||
index 0d548dae6..f5b970525 100644
|
||||
--- a/src/main/java/net/minecraft/server/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/server/ItemStack.java
|
||||
@@ -418,10 +418,19 @@ public final class ItemStack {
|
||||
@@ -78,7 +78,7 @@ index c246942ce8..d40c7ce09c 100644
|
||||
return this.tag == null ? 0 : this.tag.getInt("Damage");
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 15e2d9dd0f..993ad17eca 100644
|
||||
index 15e2d9dd0..993ad17ec 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -110,6 +110,7 @@ public class PurpurWorldConfig {
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement bamboo growth settings
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockBamboo.java b/src/main/java/net/minecraft/server/BlockBamboo.java
|
||||
index 14790c167..bac1b8b30 100644
|
||||
index f208ab509..ce56edb7c 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockBamboo.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockBamboo.java
|
||||
@@ -97,7 +97,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
|
||||
@@ -99,7 +99,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
|
||||
if (random.nextInt(Math.max(1, (int) (100.0F / worldserver.spigotConfig.bambooModifier) * 3)) == 0 && worldserver.isEmpty(blockposition.up()) && worldserver.getLightLevel(blockposition.up(), 0) >= 9) { // Spigot
|
||||
int i = this.b(worldserver, blockposition) + 1;
|
||||
|
||||
@@ -17,7 +17,7 @@ index 14790c167..bac1b8b30 100644
|
||||
this.a(iblockdata, (World) worldserver, blockposition, random, i);
|
||||
}
|
||||
}
|
||||
@@ -128,7 +128,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
|
||||
@@ -130,7 +130,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
|
||||
int i = this.a(iblockaccess, blockposition);
|
||||
int j = this.b(iblockaccess, blockposition);
|
||||
|
||||
@@ -26,7 +26,7 @@ index 14790c167..bac1b8b30 100644
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -147,7 +147,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
|
||||
@@ -149,7 +149,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
|
||||
BlockPosition blockposition1 = blockposition.up(i);
|
||||
IBlockData iblockdata1 = worldserver.getType(blockposition1);
|
||||
|
||||
@@ -35,7 +35,7 @@ index 14790c167..bac1b8b30 100644
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -188,7 +188,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
|
||||
@@ -190,7 +190,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
|
||||
}
|
||||
|
||||
int j = (Integer) iblockdata.get(BlockBamboo.d) != 1 && !iblockdata2.a(Blocks.BAMBOO) ? 0 : 1;
|
||||
@@ -44,7 +44,7 @@ index 14790c167..bac1b8b30 100644
|
||||
|
||||
// CraftBukkit start
|
||||
if (org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockSpreadEvent(world, blockposition, blockposition.up(), (IBlockData) ((IBlockData) ((IBlockData) this.getBlockData().set(BlockBamboo.d, j)).set(BlockBamboo.e, blockpropertybamboosize)).set(BlockBamboo.f, k), 3)) {
|
||||
@@ -203,7 +203,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
|
||||
@@ -205,7 +205,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
|
||||
protected int a(IBlockAccess iblockaccess, BlockPosition blockposition) {
|
||||
int i;
|
||||
|
||||
@@ -53,7 +53,7 @@ index 14790c167..bac1b8b30 100644
|
||||
;
|
||||
}
|
||||
|
||||
@@ -213,7 +213,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
|
||||
@@ -215,7 +215,7 @@ public class BlockBamboo extends Block implements IBlockFragilePlantElement {
|
||||
protected int b(IBlockAccess iblockaccess, BlockPosition blockposition) {
|
||||
int i;
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 145e0a716..9b69073f9 100644
|
||||
index 40fad381e..db7ac28da 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -1703,6 +1703,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -1691,6 +1691,12 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
}
|
||||
|
||||
public boolean isCollidable() {
|
||||
@@ -22,10 +22,10 @@ index 145e0a716..9b69073f9 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||
index 7543f2cee..c3cde1568 100644
|
||||
index eb32abc5d..6a505b3b0 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||
@@ -318,7 +318,7 @@ public class EntityArmorStand extends EntityLiving {
|
||||
@@ -320,7 +320,7 @@ public class EntityArmorStand extends EntityLiving {
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -35,7 +35,7 @@ index 7543f2cee..c3cde1568 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityBat.java b/src/main/java/net/minecraft/server/EntityBat.java
|
||||
index 3dd3b8913..99bae2dcb 100644
|
||||
index a726dd676..b84aa1db8 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityBat.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityBat.java
|
||||
@@ -50,7 +50,7 @@ public class EntityBat extends EntityAmbient {
|
||||
@@ -48,10 +48,10 @@ index 3dd3b8913..99bae2dcb 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityBoat.java b/src/main/java/net/minecraft/server/EntityBoat.java
|
||||
index a20d6feb8..92c1d1794 100644
|
||||
index 0f25d7cd6..5887b7a26 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityBoat.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityBoat.java
|
||||
@@ -104,7 +104,7 @@ public class EntityBoat extends Entity {
|
||||
@@ -106,7 +106,7 @@ public class EntityBoat extends Entity {
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -61,7 +61,7 @@ index a20d6feb8..92c1d1794 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityHorseAbstract.java b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
index ee7a2fedd..c9ab80ccd 100644
|
||||
index da79c7e63..8cfbf8abf 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityHorseAbstract.java
|
||||
@@ -165,7 +165,7 @@ public abstract class EntityHorseAbstract extends EntityAnimal implements IInven
|
||||
@@ -74,10 +74,10 @@ index ee7a2fedd..c9ab80ccd 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index cb8aaceb1..e360844cc 100644
|
||||
index 51b2aa3e2..9398fa680 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -2851,7 +2851,7 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -2854,7 +2854,7 @@ public abstract class EntityLiving extends Entity {
|
||||
// Paper - end don't run getEntities if we're not going to use its result
|
||||
// Tuinity start - reduce memory allocation from collideNearby
|
||||
List<Entity> list = com.tuinity.tuinity.util.CachedLists.getTempGetEntitiesList();
|
||||
@@ -86,22 +86,22 @@ index cb8aaceb1..e360844cc 100644
|
||||
try {
|
||||
// Tuinity end - reduce memory allocation from collideNearby
|
||||
|
||||
@@ -2995,8 +2995,8 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -2998,8 +2998,8 @@ public abstract class EntityLiving extends Entity {
|
||||
}
|
||||
|
||||
@Override
|
||||
- public boolean isCollidable() {
|
||||
- return this.isAlive() && !this.isClimbing() && this.collides; // CraftBukkit
|
||||
- return this.isAlive() && !this.isSpectator() && !this.isClimbing() && this.collides; // CraftBukkit
|
||||
+ public boolean isCollidable(boolean ignoreClimbing) { // Purpur
|
||||
+ return this.isAlive() && (ignoreClimbing || !isClimbing()) && this.collides; // CraftBukkit // Purpur
|
||||
+ return this.isAlive() && !this.isSpectator() && (ignoreClimbing || !this.isClimbing()) && this.collides; // CraftBukkit // Purpur
|
||||
}
|
||||
|
||||
// CraftBukkit start - collidable API
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
|
||||
index cdbe1a32e..c33b5c950 100644
|
||||
index d5e129678..5e64ca8a0 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityMinecartAbstract.java
|
||||
@@ -108,7 +108,7 @@ public abstract class EntityMinecartAbstract extends Entity {
|
||||
@@ -107,7 +107,7 @@ public abstract class EntityMinecartAbstract extends Entity {
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -111,7 +111,7 @@ index cdbe1a32e..c33b5c950 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityParrot.java b/src/main/java/net/minecraft/server/EntityParrot.java
|
||||
index 2172fcefb..7afdb3060 100644
|
||||
index 34e08dda2..6bb73f869 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityParrot.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityParrot.java
|
||||
@@ -314,8 +314,8 @@ public class EntityParrot extends EntityPerchable implements EntityBird {
|
||||
@@ -126,10 +126,10 @@ index 2172fcefb..7afdb3060 100644
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPlayer.java b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
index f483076e1..ef6ac7929 100644
|
||||
index 869ba9679..10c9905c5 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPlayer.java
|
||||
@@ -1805,8 +1805,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
@@ -1771,8 +1771,8 @@ public class EntityPlayer extends EntityHuman implements ICrafting {
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -141,7 +141,7 @@ index f483076e1..ef6ac7929 100644
|
||||
// Purpur end
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java
|
||||
index 9b4795f3b..192d9798c 100644
|
||||
index 939535cb2..70eb26304 100644
|
||||
--- a/src/main/java/net/minecraft/server/IEntitySelector.java
|
||||
+++ b/src/main/java/net/minecraft/server/IEntitySelector.java
|
||||
@@ -45,11 +45,17 @@ public final class IEntitySelector {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add 5 second tps average in /tps
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 1bc1909754..14c645b68b 100644
|
||||
index 89f422524..781621126 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -165,7 +165,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -17,7 +17,7 @@ index 1bc1909754..14c645b68b 100644
|
||||
public boolean lagging = false; // Purpur
|
||||
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
|
||||
// Spigot end
|
||||
@@ -889,6 +889,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -887,6 +887,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
private static final long MAX_CATCHUP_BUFFER = TICK_TIME * TPS * 60L;
|
||||
private long lastTick = 0;
|
||||
private long catchupTime = 0;
|
||||
@@ -25,7 +25,7 @@ index 1bc1909754..14c645b68b 100644
|
||||
public final RollingAverage tps1 = new RollingAverage(60);
|
||||
public final RollingAverage tps5 = new RollingAverage(60 * 5);
|
||||
public final RollingAverage tps15 = new RollingAverage(60 * 15);
|
||||
@@ -978,13 +979,17 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
@@ -976,13 +977,17 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
{
|
||||
final long diff = curTime - tickSection;
|
||||
java.math.BigDecimal currentTps = TPS_BASE.divide(new java.math.BigDecimal(diff), 30, java.math.RoundingMode.HALF_UP);
|
||||
@@ -47,10 +47,10 @@ index 1bc1909754..14c645b68b 100644
|
||||
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 233f4fb8cc..b42ebf0e13 100644
|
||||
index f8176cac4..da30ce694 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2201,6 +2201,7 @@ public final class CraftServer implements Server {
|
||||
@@ -2197,6 +2197,7 @@ public final class CraftServer implements Server {
|
||||
@Override
|
||||
public double[] getTPS() {
|
||||
return new double[] {
|
||||
@@ -59,7 +59,7 @@ index 233f4fb8cc..b42ebf0e13 100644
|
||||
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 7218f23df4..3c7b9a6d24 100644
|
||||
index 7218f23df..3c7b9a6d2 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
|
||||
@@ -5,13 +5,13 @@ Subject: [PATCH] Implement elytra settings
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index e360844cc..4a8dd3010 100644
|
||||
index 9398fa680..a187a16ce 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -2822,7 +2822,16 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -2825,7 +2825,16 @@ public abstract class EntityLiving extends Entity {
|
||||
if (itemstack.getItem() == Items.ELYTRA && ItemElytra.d(itemstack)) {
|
||||
flag = true;
|
||||
if (!this.world.isClientSide && (this.bl + 1) % 20 == 0) {
|
||||
if (!this.world.isClientSide && (this.be + 1) % 20 == 0) {
|
||||
- itemstack.damage(1, this, (entityliving) -> {
|
||||
+ // Purpur start
|
||||
+ int damage = world.purpurConfig.elytraDamagePerSecond;
|
||||
@@ -46,7 +46,7 @@ index 885c03f62..3a33ad181 100644
|
||||
itemstack.subtract(1);
|
||||
} else ((EntityPlayer) entityhuman).getBukkitEntity().updateInventory();
|
||||
diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java
|
||||
index d40c7ce09..9b6b85809 100644
|
||||
index f5b970525..58c2ab659 100644
|
||||
--- a/src/main/java/net/minecraft/server/ItemStack.java
|
||||
+++ b/src/main/java/net/minecraft/server/ItemStack.java
|
||||
@@ -450,7 +450,7 @@ public final class ItemStack {
|
||||
@@ -72,7 +72,7 @@ index d40c7ce09..9b6b85809 100644
|
||||
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 32982bb47..a0e4d46ab 100644
|
||||
index 3663b7017..18f767dc5 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 {
|
||||
@@ -82,14 +82,14 @@ index 32982bb47..a0e4d46ab 100644
|
||||
+
|
||||
+ // Purpur start
|
||||
+ ItemStack chestItem = entityhuman.getEquipment(EnumItemSlot.CHEST);
|
||||
+ if (chestItem.getItem() == Items.ELYTRA) {
|
||||
+ if (world.purpurConfig.elytraDamagePerTridentBoost > 0) {
|
||||
+ chestItem.damage(world.purpurConfig.elytraDamagePerTridentBoost, entityhuman, (entity) -> entity.broadcastItemBreak(EnumItemSlot.CHEST));
|
||||
+ }
|
||||
+ if (chestItem.getItem() == Items.ELYTRA && world.purpurConfig.elytraDamagePerTridentBoost > 0) {
|
||||
+ chestItem.damage(world.purpurConfig.elytraDamagePerTridentBoost, entityhuman, (entity) -> {
|
||||
+ entity.broadcastItemBreak(EnumItemSlot.CHEST);
|
||||
+ });
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
entityhuman.h((double) f2, (double) f3, (double) f4);
|
||||
entityhuman.i((double) f2, (double) f3, (double) f4);
|
||||
entityhuman.r(20);
|
||||
if (entityhuman.isOnGround()) {
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add item entity options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index 9b69073f9..ee35d5950 100644
|
||||
index db7ac28da..7be48b0b7 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -1462,6 +1462,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -1449,6 +1449,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
|
||||
}
|
||||
|
||||
@@ -17,10 +17,10 @@ index 9b69073f9..ee35d5950 100644
|
||||
return this.O == tag;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityItem.java b/src/main/java/net/minecraft/server/EntityItem.java
|
||||
index a7860cb4d..77e970c30 100644
|
||||
index e1372620f..d22021cfb 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityItem.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityItem.java
|
||||
@@ -258,7 +258,7 @@ public class EntityItem extends Entity {
|
||||
@@ -263,7 +263,7 @@ public class EntityItem extends Entity {
|
||||
|
||||
@Override
|
||||
public boolean isFireProof() {
|
||||
@@ -29,7 +29,7 @@ index a7860cb4d..77e970c30 100644
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -269,6 +269,8 @@ public class EntityItem extends Entity {
|
||||
@@ -274,6 +274,8 @@ public class EntityItem extends Entity {
|
||||
return false;
|
||||
} else if (!this.getItemStack().getItem().a(damagesource)) {
|
||||
return false;
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add /ping command
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/ArgumentEntity.java b/src/main/java/net/minecraft/server/ArgumentEntity.java
|
||||
index 1194f91a51..9141976d1d 100644
|
||||
index 1194f91a5..9141976d1 100644
|
||||
--- a/src/main/java/net/minecraft/server/ArgumentEntity.java
|
||||
+++ b/src/main/java/net/minecraft/server/ArgumentEntity.java
|
||||
@@ -69,10 +69,12 @@ public class ArgumentEntity implements ArgumentType<EntitySelector> {
|
||||
@@ -22,10 +22,10 @@ index 1194f91a51..9141976d1d 100644
|
||||
List<EntityPlayer> list = ((EntitySelector) commandcontext.getArgument(s, EntitySelector.class)).d((CommandListenerWrapper) commandcontext.getSource());
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/CommandDispatcher.java b/src/main/java/net/minecraft/server/CommandDispatcher.java
|
||||
index 4ace0e79c9..5e004f0635 100644
|
||||
index cabce1a8b..e4f45d1b7 100644
|
||||
--- a/src/main/java/net/minecraft/server/CommandDispatcher.java
|
||||
+++ b/src/main/java/net/minecraft/server/CommandDispatcher.java
|
||||
@@ -28,7 +28,7 @@ import org.bukkit.event.server.ServerCommandEvent;
|
||||
@@ -30,7 +30,7 @@ import org.bukkit.event.server.ServerCommandEvent;
|
||||
public class CommandDispatcher {
|
||||
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
@@ -34,7 +34,7 @@ index 4ace0e79c9..5e004f0635 100644
|
||||
|
||||
public CommandDispatcher(CommandDispatcher.ServerType commanddispatcher_servertype) {
|
||||
this(); // CraftBukkit
|
||||
@@ -105,6 +105,7 @@ public class CommandDispatcher {
|
||||
@@ -107,6 +107,7 @@ public class CommandDispatcher {
|
||||
CommandIdleTimeout.a(this.b);
|
||||
CommandStop.a(this.b);
|
||||
CommandWhitelist.a(this.b);
|
||||
@@ -42,7 +42,7 @@ index 4ace0e79c9..5e004f0635 100644
|
||||
}
|
||||
|
||||
if (commanddispatcher_servertype.d) {
|
||||
@@ -335,10 +336,12 @@ public class CommandDispatcher {
|
||||
@@ -337,10 +338,12 @@ public class CommandDispatcher {
|
||||
|
||||
}
|
||||
|
||||
@@ -56,10 +56,10 @@ index 4ace0e79c9..5e004f0635 100644
|
||||
return RequiredArgumentBuilder.argument(s, argumenttype);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/CommandListenerWrapper.java b/src/main/java/net/minecraft/server/CommandListenerWrapper.java
|
||||
index a4995ddc82..e0cbe1a571 100644
|
||||
index 90b0cf647..6f43dfc10 100644
|
||||
--- a/src/main/java/net/minecraft/server/CommandListenerWrapper.java
|
||||
+++ b/src/main/java/net/minecraft/server/CommandListenerWrapper.java
|
||||
@@ -182,6 +182,7 @@ public class CommandListenerWrapper implements ICompletionProvider, com.destroys
|
||||
@@ -189,6 +189,7 @@ public class CommandListenerWrapper implements ICompletionProvider, com.destroys
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,7 +68,7 @@ index a4995ddc82..e0cbe1a571 100644
|
||||
if (!(this.k instanceof EntityPlayer)) {
|
||||
throw CommandListenerWrapper.a.create();
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index a49807916d..10fdbf4967 100644
|
||||
index a49807916..10fdbf496 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -133,10 +133,12 @@ public class PurpurConfig {
|
||||
@@ -86,7 +86,7 @@ index a49807916d..10fdbf4967 100644
|
||||
public static String serverModName = "Purpur";
|
||||
diff --git a/src/main/java/net/pl3x/purpur/command/PingCommand.java b/src/main/java/net/pl3x/purpur/command/PingCommand.java
|
||||
new file mode 100644
|
||||
index 0000000000..f36e655cb8
|
||||
index 000000000..f36e655cb
|
||||
--- /dev/null
|
||||
+++ b/src/main/java/net/pl3x/purpur/command/PingCommand.java
|
||||
@@ -0,0 +1,37 @@
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable jockey options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityDrowned.java b/src/main/java/net/minecraft/server/EntityDrowned.java
|
||||
index e6425bdf1a..6fc8d1213a 100644
|
||||
index ea7934060..6853ba319 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityDrowned.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityDrowned.java
|
||||
@@ -19,6 +19,23 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
|
||||
@@ -21,6 +21,23 @@ public class EntityDrowned extends EntityZombie implements IRangedEntity {
|
||||
this.navigationLand = new Navigation(this, world);
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ index e6425bdf1a..6fc8d1213a 100644
|
||||
protected void m() {
|
||||
this.goalSelector.a(1, new EntityDrowned.c(this, 1.0D));
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPigZombie.java b/src/main/java/net/minecraft/server/EntityPigZombie.java
|
||||
index a69c3897c2..fdd13b2ba6 100644
|
||||
index 96a8abb18..194b76059 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPigZombie.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPigZombie.java
|
||||
@@ -21,6 +21,23 @@ public class EntityPigZombie extends EntityZombie implements IEntityAngerable {
|
||||
@@ -59,9 +59,9 @@ index a69c3897c2..fdd13b2ba6 100644
|
||||
+
|
||||
@Override
|
||||
public void setAngerTarget(@Nullable UUID uuid) {
|
||||
this.by = 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 661111e502..d8fb6afa6a 100644
|
||||
index cb7d61937..1ea68f617 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 661111e502..d8fb6afa6a 100644
|
||||
@Override
|
||||
protected void initPathfinder() {
|
||||
if (world.purpurConfig.zombieTargetTurtleEggs) this.goalSelector.a(4, new EntityZombie.a(this, 1.0D, 3)); // Purpur
|
||||
@@ -459,19 +474,20 @@ public class EntityZombie extends EntityMonster {
|
||||
@@ -439,19 +454,19 @@ public class EntityZombie extends EntityMonster {
|
||||
if (object instanceof EntityZombie.GroupDataZombie) {
|
||||
EntityZombie.GroupDataZombie entityzombie_groupdatazombie = (EntityZombie.GroupDataZombie) object;
|
||||
|
||||
@@ -103,11 +103,10 @@ index 661111e502..d8fb6afa6a 100644
|
||||
+ if (!jockeyOnlyBaby() || entityzombie_groupdatazombie.isBaby()) {
|
||||
+ this.setBaby(entityzombie_groupdatazombie.isBaby());
|
||||
if (entityzombie_groupdatazombie.b) {
|
||||
- if ((double) generatoraccess.getRandom().nextFloat() < 0.05D) {
|
||||
- List<EntityChicken> list = generatoraccess.a(EntityChicken.class, this.getBoundingBox().grow(5.0D, 3.0D, 5.0D), IEntitySelector.c);
|
||||
+ if ((double) generatoraccess.getRandom().nextFloat() < jockeyChance()) {
|
||||
+ List<EntityChicken> list = jockeyTryExistingChickens() ? generatoraccess.a(EntityChicken.class, this.getBoundingBox().grow(5.0D, 3.0D, 5.0D), IEntitySelector.c) : Collections.emptyList();
|
||||
+ // Purpur end
|
||||
- if ((double) worldaccess.getRandom().nextFloat() < 0.05D) {
|
||||
- List<EntityChicken> list = worldaccess.a(EntityChicken.class, this.getBoundingBox().grow(5.0D, 3.0D, 5.0D), IEntitySelector.c);
|
||||
+ if ((double) worldaccess.getRandom().nextFloat() < jockeyChance()) {
|
||||
+ List<EntityChicken> list = jockeyTryExistingChickens() ? worldaccess.a(EntityChicken.class, this.getBoundingBox().grow(5.0D, 3.0D, 5.0D), IEntitySelector.c) : Collections.emptyList();
|
||||
|
||||
if (!list.isEmpty()) {
|
||||
EntityChicken entitychicken = (EntityChicken) list.get(0);
|
||||
@@ -115,20 +114,20 @@ index 661111e502..d8fb6afa6a 100644
|
||||
entitychicken.setChickenJockey(true);
|
||||
this.startRiding(entitychicken);
|
||||
- }
|
||||
- } else if ((double) generatoraccess.getRandom().nextFloat() < 0.05D) {
|
||||
- } else if ((double) worldaccess.getRandom().nextFloat() < 0.05D) {
|
||||
+ } else { // Purpur
|
||||
EntityChicken entitychicken1 = (EntityChicken) EntityTypes.CHICKEN.a(this.world);
|
||||
|
||||
entitychicken1.setPositionRotation(this.locX(), this.locY(), this.locZ(), this.yaw, 0.0F);
|
||||
@@ -479,6 +495,7 @@ public class EntityZombie extends EntityMonster {
|
||||
@@ -459,6 +474,7 @@ public class EntityZombie extends EntityMonster {
|
||||
entitychicken1.setChickenJockey(true);
|
||||
this.startRiding(entitychicken1);
|
||||
generatoraccess.addEntity(entitychicken1, CreatureSpawnEvent.SpawnReason.MOUNT); // CraftBukkit
|
||||
worldaccess.addEntity(entitychicken1, CreatureSpawnEvent.SpawnReason.MOUNT); // CraftBukkit
|
||||
+ } // Purpur
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -581,7 +598,7 @@ public class EntityZombie extends EntityMonster {
|
||||
@@ -561,7 +577,7 @@ public class EntityZombie extends EntityMonster {
|
||||
|
||||
public static class GroupDataZombie implements GroupDataEntity {
|
||||
|
||||
@@ -138,7 +137,7 @@ index 661111e502..d8fb6afa6a 100644
|
||||
|
||||
public GroupDataZombie(boolean flag, boolean flag1) {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityZombieHusk.java b/src/main/java/net/minecraft/server/EntityZombieHusk.java
|
||||
index 143b9123e0..2daff85620 100644
|
||||
index 2d2830adc..ce6d79780 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityZombieHusk.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityZombieHusk.java
|
||||
@@ -8,6 +8,23 @@ public class EntityZombieHusk extends EntityZombie {
|
||||
@@ -162,14 +161,14 @@ index 143b9123e0..2daff85620 100644
|
||||
+ }
|
||||
+ // Purpur end
|
||||
+
|
||||
public static boolean b(EntityTypes<EntityZombieHusk> entitytypes, GeneratorAccess generatoraccess, EnumMobSpawn enummobspawn, BlockPosition blockposition, Random random) {
|
||||
return c(entitytypes, generatoraccess, enummobspawn, blockposition, random) && (enummobspawn == EnumMobSpawn.SPAWNER || generatoraccess.f(blockposition));
|
||||
public static boolean a(EntityTypes<EntityZombieHusk> entitytypes, WorldAccess worldaccess, EnumMobSpawn enummobspawn, BlockPosition blockposition, Random random) {
|
||||
return b(entitytypes, worldaccess, enummobspawn, blockposition, random) && (enummobspawn == EnumMobSpawn.SPAWNER || worldaccess.e(blockposition));
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityZombieVillager.java b/src/main/java/net/minecraft/server/EntityZombieVillager.java
|
||||
index 9b920332bd..cd796f5b86 100644
|
||||
index b52b8d0d8..69e98dceb 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityZombieVillager.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityZombieVillager.java
|
||||
@@ -27,6 +27,23 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo
|
||||
@@ -28,6 +28,23 @@ public class EntityZombieVillager extends EntityZombie implements VillagerDataHo
|
||||
this.setVillagerData(this.getVillagerData().withProfession((VillagerProfession) IRegistry.VILLAGER_PROFESSION.a(this.random)));
|
||||
}
|
||||
|
||||
@@ -194,7 +193,7 @@ index 9b920332bd..cd796f5b86 100644
|
||||
protected void initDatawatcher() {
|
||||
super.initDatawatcher();
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index 9de7246862..3e067c832f 100644
|
||||
index 9de724686..3e067c832 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -258,6 +258,15 @@ public class PurpurWorldConfig {
|
||||
@@ -17,18 +17,18 @@ index 6fe5678cf..bd0267ee4 100644
|
||||
return (new EntityDamageSourceIndirect("indirectMagic", entity, entity1)).setIgnoreArmor().setMagic();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/Entity.java b/src/main/java/net/minecraft/server/Entity.java
|
||||
index ee35d5950..2d4981631 100644
|
||||
index 7be48b0b7..bf17d9daf 100644
|
||||
--- a/src/main/java/net/minecraft/server/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/server/Entity.java
|
||||
@@ -1579,6 +1579,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -1567,6 +1567,7 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return d3 * d3 + d4 * d4 + d5 * d5;
|
||||
}
|
||||
|
||||
+ public double getDistanceSq(Entity entity) { return this.h(entity); } // Purpur - OBFHELPER
|
||||
public double h(Entity entity) {
|
||||
return this.d(entity.getPositionVector());
|
||||
return this.e(entity.getPositionVector());
|
||||
}
|
||||
@@ -2106,8 +2107,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
@@ -2094,8 +2095,8 @@ public abstract class Entity implements INamableTileEntity, ICommandListener, Ke
|
||||
return this.a(new ItemStack(imaterial), (float) i);
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ index ee35d5950..2d4981631 100644
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityEnderCrystal.java b/src/main/java/net/minecraft/server/EntityEnderCrystal.java
|
||||
index 21dfe7f42..71a440d69 100644
|
||||
index faa82f652..f726a3585 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityEnderCrystal.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityEnderCrystal.java
|
||||
@@ -13,6 +13,12 @@ public class EntityEnderCrystal extends Entity {
|
||||
@@ -108,7 +108,7 @@ index 21dfe7f42..71a440d69 100644
|
||||
@Override
|
||||
protected void saveData(NBTTagCompound nbttagcompound) {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityPhantom.java b/src/main/java/net/minecraft/server/EntityPhantom.java
|
||||
index 3cb78924d..ec09ec241 100644
|
||||
index 550f80bfd..b3616185d 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityPhantom.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityPhantom.java
|
||||
@@ -9,9 +9,10 @@ import javax.annotation.Nullable;
|
||||
@@ -117,10 +117,10 @@ index 3cb78924d..ec09ec241 100644
|
||||
private static final DataWatcherObject<Integer> b = DataWatcher.a(EntityPhantom.class, DataWatcherRegistry.b);
|
||||
- private Vec3D c;
|
||||
- private BlockPosition d;
|
||||
- private EntityPhantom.AttackPhase bv;
|
||||
- private EntityPhantom.AttackPhase bo;
|
||||
+ private Vec3D c; public void setHomeOffset(Vec3D offset) { this.c = offset; } public Vec3D getHomeOffset() { return this.c; } // Purpur - OBFHELPER
|
||||
+ private BlockPosition d; public void setHome(BlockPosition home) { this.d = home; } public BlockPosition getHome() { return this.d; } // Purpur - OBFHELPER
|
||||
+ private EntityPhantom.AttackPhase bv; public AttackPhase getAttackPhase() { return this.bv; } // Purpur - OBFHELPER
|
||||
+ private EntityPhantom.AttackPhase bo; public AttackPhase getAttackPhase() { return this.bo; } // Purpur - OBFHELPER
|
||||
+ private Vec3D crystalPosition; // Purpur
|
||||
|
||||
public EntityPhantom(EntityTypes<? extends EntityPhantom> entitytypes, World world) {
|
||||
@@ -5,11 +5,11 @@ Subject: [PATCH] Customizable EnderDragon Health
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityEnderDragon.java b/src/main/java/net/minecraft/server/EntityEnderDragon.java
|
||||
index 08fa5a975..47d71a166 100644
|
||||
index 0e74794d3..d617b5345 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityEnderDragon.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityEnderDragon.java
|
||||
@@ -62,6 +62,16 @@ public class EntityEnderDragon extends EntityInsentient implements IMonster {
|
||||
this.bN = new DragonControllerManager(this);
|
||||
this.bG = new DragonControllerManager(this);
|
||||
}
|
||||
|
||||
+ // Purpur start
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add phantom spawning options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/DifficultyDamageScaler.java b/src/main/java/net/minecraft/server/DifficultyDamageScaler.java
|
||||
index 75745af343..84c0ec1b50 100644
|
||||
index 75745af34..84c0ec1b5 100644
|
||||
--- a/src/main/java/net/minecraft/server/DifficultyDamageScaler.java
|
||||
+++ b/src/main/java/net/minecraft/server/DifficultyDamageScaler.java
|
||||
@@ -13,6 +13,7 @@ public class DifficultyDamageScaler {
|
||||
@@ -25,7 +25,7 @@ index 75745af343..84c0ec1b50 100644
|
||||
return this.b > f;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EnumDifficulty.java b/src/main/java/net/minecraft/server/EnumDifficulty.java
|
||||
index e0e72779c0..386eae71a1 100644
|
||||
index e0e72779c..386eae71a 100644
|
||||
--- a/src/main/java/net/minecraft/server/EnumDifficulty.java
|
||||
+++ b/src/main/java/net/minecraft/server/EnumDifficulty.java
|
||||
@@ -19,6 +19,7 @@ public enum EnumDifficulty {
|
||||
@@ -37,19 +37,19 @@ index e0e72779c0..386eae71a1 100644
|
||||
return this.f;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/IBlockLightAccess.java b/src/main/java/net/minecraft/server/IBlockLightAccess.java
|
||||
index 3f187f3494..c678e6fe96 100644
|
||||
index 5d5fe1412..6d9181cd6 100644
|
||||
--- a/src/main/java/net/minecraft/server/IBlockLightAccess.java
|
||||
+++ b/src/main/java/net/minecraft/server/IBlockLightAccess.java
|
||||
@@ -12,6 +12,7 @@ public interface IBlockLightAccess extends IBlockAccess {
|
||||
return this.e().b(blockposition, i);
|
||||
}
|
||||
|
||||
+ default boolean isSkyVisible(BlockPosition blockposition) { return f(blockposition); } // Purpur - OBFHELPER
|
||||
default boolean f(BlockPosition blockposition) {
|
||||
return this.getBrightness(EnumSkyBlock.SKY, blockposition) >= this.H();
|
||||
+ default boolean isSkyVisible(BlockPosition blockposition) { return e(blockposition); } // Purpur - OBFHELPER
|
||||
default boolean e(BlockPosition blockposition) {
|
||||
return this.getBrightness(EnumSkyBlock.SKY, blockposition) >= this.J();
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MobSpawnerPhantom.java b/src/main/java/net/minecraft/server/MobSpawnerPhantom.java
|
||||
index bf4fa17101..ac1ea2f0c1 100644
|
||||
index 4e3f01bc7..ac1ea2f0c 100644
|
||||
--- a/src/main/java/net/minecraft/server/MobSpawnerPhantom.java
|
||||
+++ b/src/main/java/net/minecraft/server/MobSpawnerPhantom.java
|
||||
@@ -1,85 +1,99 @@
|
||||
@@ -104,7 +104,7 @@ index bf4fa17101..ac1ea2f0c1 100644
|
||||
- if (!entityhuman.isSpectator() && (!worldserver.paperConfig.phantomIgnoreCreative || !entityhuman.isCreative())) { // Paper
|
||||
- BlockPosition blockposition = entityhuman.getChunkCoordinates();
|
||||
-
|
||||
- if (!worldserver.getDimensionManager().hasSkyLight() || blockposition.getY() >= worldserver.getSeaLevel() && worldserver.f(blockposition)) {
|
||||
- if (!worldserver.getDimensionManager().hasSkyLight() || blockposition.getY() >= worldserver.getSeaLevel() && worldserver.e(blockposition)) {
|
||||
- DifficultyDamageScaler difficultydamagescaler = worldserver.getDamageScaler(blockposition);
|
||||
-
|
||||
- if (difficultydamagescaler.a(random.nextFloat() * 3.0F)) {
|
||||
@@ -135,7 +135,7 @@ index bf4fa17101..ac1ea2f0c1 100644
|
||||
- entityphantom.spawningEntity = entityhuman.uniqueID; // Paper
|
||||
- entityphantom.setPositionRotation(blockposition1, 0.0F, 0.0F);
|
||||
- groupdataentity = entityphantom.prepare(worldserver, difficultydamagescaler, EnumMobSpawn.NATURAL, groupdataentity, (NBTTagCompound) null);
|
||||
- worldserver.addEntity(entityphantom, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL); // CraftBukkit
|
||||
- worldserver.addAllEntities(entityphantom, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL); // CraftBukkit
|
||||
- }
|
||||
-
|
||||
- i += k;
|
||||
@@ -221,22 +221,22 @@ index bf4fa17101..ac1ea2f0c1 100644
|
||||
}
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/SpawnerCreature.java b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
index 0a25523f3c..e8637244ce 100644
|
||||
index beaea041d..ce8834980 100644
|
||||
--- a/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
+++ b/src/main/java/net/minecraft/server/SpawnerCreature.java
|
||||
@@ -385,6 +385,7 @@ public final class SpawnerCreature {
|
||||
@@ -386,6 +386,7 @@ public final class SpawnerCreature {
|
||||
return new BlockPosition(i, l, j);
|
||||
}
|
||||
|
||||
+ public static boolean canSpawn(IBlockAccess iblockaccess, BlockPosition blockposition, IBlockData iblockdata, Fluid fluid, EntityTypes entitytypes) { return a(iblockaccess, blockposition, iblockdata, fluid, entitytypes); } // Purpur - OBFHELPER
|
||||
public static boolean a(IBlockAccess iblockaccess, BlockPosition blockposition, IBlockData iblockdata, Fluid fluid, EntityTypes entitytypes) {
|
||||
public static boolean a(IBlockAccess iblockaccess, BlockPosition blockposition, IBlockData iblockdata, Fluid fluid, EntityTypes<?> entitytypes) {
|
||||
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 54a6a37c81..a22b78a655 100644
|
||||
index e91e5c766..489ae5459 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1500,6 +1500,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -1430,6 +1430,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
return new DifficultyDamageScaler(this.getDifficulty(), this.getDayTime(), i, f);
|
||||
}
|
||||
|
||||
@@ -245,7 +245,7 @@ index 54a6a37c81..a22b78a655 100644
|
||||
public int c() {
|
||||
return this.d;
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index e6b41ab924..80d772e021 100644
|
||||
index e6b41ab92..80d772e02 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
@@ -329,10 +329,34 @@ public class PurpurWorldConfig {
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Implement bed explosion options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockBed.java b/src/main/java/net/minecraft/server/BlockBed.java
|
||||
index e7bd9061c..aeffefa4e 100644
|
||||
index d28c1a67e..c37225202 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockBed.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockBed.java
|
||||
@@ -88,7 +88,7 @@ public class BlockBed extends BlockFacingHorizontal implements ITileEntity {
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5,10 +5,10 @@ Subject: [PATCH] Implement respawn anchor explosion options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockRespawnAnchor.java b/src/main/java/net/minecraft/server/BlockRespawnAnchor.java
|
||||
index 56ad9a51d..33f4b8a29 100644
|
||||
index 21c5ad83a..521d161a3 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockRespawnAnchor.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockRespawnAnchor.java
|
||||
@@ -79,10 +79,7 @@ public class BlockRespawnAnchor extends Block {
|
||||
@@ -83,10 +83,7 @@ public class BlockRespawnAnchor extends Block {
|
||||
|
||||
private void d(IBlockData iblockdata, World world, final BlockPosition blockposition) {
|
||||
world.a(blockposition, false);
|
||||
@@ -20,7 +20,7 @@ index 56ad9a51d..33f4b8a29 100644
|
||||
return a(blockposition1, world);
|
||||
});
|
||||
final boolean flag1 = flag || world.getFluid(blockposition.up()).a((Tag) TagsFluid.WATER);
|
||||
@@ -98,7 +95,7 @@ public class BlockRespawnAnchor extends Block {
|
||||
@@ -97,7 +94,7 @@ public class BlockRespawnAnchor extends Block {
|
||||
}
|
||||
};
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Add allow water in end world option
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockIce.java b/src/main/java/net/minecraft/server/BlockIce.java
|
||||
index aba5c6b871..b75f6ded5d 100644
|
||||
index aba5c6b87..b75f6ded5 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockIce.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockIce.java
|
||||
@@ -13,7 +13,7 @@ public class BlockIce extends BlockHalfTransparent {
|
||||
@@ -27,7 +27,7 @@ index aba5c6b871..b75f6ded5d 100644
|
||||
} else {
|
||||
world.setTypeUpdate(blockposition, Blocks.WATER.getBlockData());
|
||||
diff --git a/src/main/java/net/minecraft/server/ItemBucket.java b/src/main/java/net/minecraft/server/ItemBucket.java
|
||||
index 120bf8436f..848a185c04 100644
|
||||
index 120bf8436..848a185c0 100644
|
||||
--- a/src/main/java/net/minecraft/server/ItemBucket.java
|
||||
+++ b/src/main/java/net/minecraft/server/ItemBucket.java
|
||||
@@ -122,7 +122,7 @@ public class ItemBucket extends Item {
|
||||
@@ -49,10 +49,10 @@ index 120bf8436f..848a185c04 100644
|
||||
|
||||
return true;
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index a5079ad349..657d005d29 100644
|
||||
index 489ae5459..90b4beba7 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -1572,4 +1572,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
@@ -1505,4 +1505,14 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
public final boolean isDebugWorld() {
|
||||
return this.debugWorld;
|
||||
}
|
||||
@@ -68,7 +68,7 @@ index a5079ad349..657d005d29 100644
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index 10fdbf4967..9d5246de95 100644
|
||||
index 10fdbf496..9d5246de9 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -1,7 +1,6 @@
|
||||
@@ -6,11 +6,11 @@ Subject: [PATCH] MC-171420 - Fix deop kicking non-whitelisted player when
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 6c0854623..0f800e085 100644
|
||||
index 781621126..8a76ed6ae 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1954,6 +1954,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
if (this.aL()) {
|
||||
@@ -1961,6 +1961,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
|
||||
if (this.aM()) {
|
||||
PlayerList playerlist = commandlistenerwrapper.getServer().getPlayerList();
|
||||
WhiteList whitelist = playerlist.getWhitelist();
|
||||
+ if (!((DedicatedServer)getServer()).getDedicatedServerProperties().whiteList.get()) return; // Purpur - white list not enabled
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] ALlow color codes in books
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/PlayerConnection.java b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
index 5d31b56184..0f1b0065d6 100644
|
||||
index c9798d775..3476e6f5f 100644
|
||||
--- a/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
+++ b/src/main/java/net/minecraft/server/PlayerConnection.java
|
||||
@@ -939,12 +939,13 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -933,12 +933,13 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
itemstack2.setTag(nbttagcompound.clone());
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ index 5d31b56184..0f1b0065d6 100644
|
||||
ChatComponentText chatcomponenttext = new ChatComponentText(s);
|
||||
|
||||
s = IChatBaseComponent.ChatSerializer.a((IChatBaseComponent) chatcomponenttext);
|
||||
@@ -956,7 +957,14 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -950,7 +951,14 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
} else {
|
||||
// Paper start - dont mutate players current item, set it from the event
|
||||
ItemStack newBook = itemstack1.cloneItemStack();
|
||||
@@ -40,7 +40,7 @@ index 5d31b56184..0f1b0065d6 100644
|
||||
this.player.setSlot(enumitemslot, CraftEventFactory.handleEditBookEvent(player, enumitemslot, itemstack1, newBook));
|
||||
// Paper end
|
||||
}
|
||||
@@ -966,6 +974,16 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
@@ -960,6 +968,16 @@ public class PlayerConnection implements PacketListenerPlayIn {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,37 +0,0 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Sat, 4 Jul 2020 19:19:13 -0500
|
||||
Subject: [PATCH] Fix armorstand entity lookups paper.yml setting not being
|
||||
used
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||
index d4abe2d9c..ac54b1df1 100644
|
||||
--- a/src/main/java/net/minecraft/server/World.java
|
||||
+++ b/src/main/java/net/minecraft/server/World.java
|
||||
@@ -974,13 +974,6 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
||||
}
|
||||
MinecraftServer.getServer().executeMidTickTasks(); // Tuinity - execute chunk tasks mid tick
|
||||
}
|
||||
- // Paper start - Prevent armor stands from doing entity lookups
|
||||
- @Override
|
||||
- public boolean getCubes(@Nullable Entity entity, AxisAlignedBB axisAlignedBB) {
|
||||
- if (entity instanceof EntityArmorStand && !entity.world.paperConfig.armorStandEntityLookups) return false;
|
||||
- return GeneratorAccess.super.getCubes(entity, axisAlignedBB);
|
||||
- }
|
||||
- // Paper end
|
||||
|
||||
public Explosion explode(@Nullable Entity entity, double d0, double d1, double d2, float f, Explosion.Effect explosion_effect) {
|
||||
return this.createExplosion(entity, (DamageSource) null, (ExplosionDamageCalculator) null, d0, d1, d2, f, false, explosion_effect);
|
||||
diff --git a/src/main/java/net/minecraft/server/WorldServer.java b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
index e6ad5a6ab..7c9a3714e 100644
|
||||
--- a/src/main/java/net/minecraft/server/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/WorldServer.java
|
||||
@@ -688,6 +688,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
||||
@Override
|
||||
public boolean getCubes(@Nullable Entity entity, AxisAlignedBB axisalignedbb) {
|
||||
+ if (entity instanceof EntityArmorStand && !entity.world.paperConfig.armorStandEntityLookups) return false; // Paper // Purpur - moved from World
|
||||
return !this.hasAnyCollisions(entity, axisalignedbb);
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user