mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 09:27:43 +01:00
rebase on latest paper
This commit is contained in:
@@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand
|
||||
|
||||
|
||||
diff --git a/build.gradle.kts b/build.gradle.kts
|
||||
index 7d69f9e39361644796895254dfa518ef83d9e578..79bfdabe48fbc4caae7745a1b7d6678cc00fa169 100644
|
||||
index e572f524046d4799adec7f08b1609d82a64ab94f..19a16f6689c68854fa91978da71debea3472b87a 100644
|
||||
--- a/build.gradle.kts
|
||||
+++ b/build.gradle.kts
|
||||
@@ -19,8 +19,8 @@ repositories {
|
||||
@@ -19,16 +19,16 @@ index 7d69f9e39361644796895254dfa518ef83d9e578..79bfdabe48fbc4caae7745a1b7d6678c
|
||||
// Paper start
|
||||
implementation("org.jline:jline-terminal-jansi:3.21.0")
|
||||
implementation("net.minecrell:terminalconsoleappender:1.3.0")
|
||||
@@ -49,6 +49,8 @@ dependencies {
|
||||
runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.7.0")
|
||||
@@ -50,6 +50,8 @@ dependencies {
|
||||
|
||||
implementation("net.fabricmc:mapping-io:0.3.0") // Paper - needed to read mappings for stacktrace deobfuscation
|
||||
implementation("com.velocitypowered:velocity-native:1.1.0-SNAPSHOT") // Paper
|
||||
+ implementation("cat.inspiracio:rhino-js-engine:1.7.7.1") // Purpur
|
||||
+ implementation("dev.omega24:upnp4j:1.0") // Purpur
|
||||
|
||||
testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
|
||||
testImplementation("junit:junit:4.13.1")
|
||||
@@ -67,7 +69,7 @@ tasks.jar {
|
||||
@@ -68,7 +70,7 @@ tasks.jar {
|
||||
attributes(
|
||||
"Main-Class" to "org.bukkit.craftbukkit.Main",
|
||||
"Implementation-Title" to "CraftBukkit",
|
||||
@@ -37,7 +37,7 @@ index 7d69f9e39361644796895254dfa518ef83d9e578..79bfdabe48fbc4caae7745a1b7d6678c
|
||||
"Implementation-Vendor" to date, // Paper
|
||||
"Specification-Title" to "Bukkit",
|
||||
"Specification-Version" to project.version,
|
||||
@@ -159,7 +161,7 @@ fun TaskContainer.registerRunTask(
|
||||
@@ -160,7 +162,7 @@ fun TaskContainer.registerRunTask(
|
||||
name: String,
|
||||
block: JavaExec.() -> Unit
|
||||
): TaskProvider<JavaExec> = register<JavaExec>(name) {
|
||||
@@ -113,10 +113,10 @@ index e0b1f0671d16ddddcb6725acd25a1d1d69e42701..8c3c68465197fafc14849dc38a572e30
|
||||
.completer(new ConsoleCommandCompleter(this.server))
|
||||
.option(LineReader.Option.COMPLETE_IN_WORD, true);
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 983bc6b8600489696899b5aaa09e7f7b674d2e42..3a17733fc6d6cf7e9a792a65e8d9565209640b87 100644
|
||||
index 309e960ba7678e09d7eb7af11f57e5c3ff4f3d9e..0a98fddbccd2733bb4fbf6d429d934579566257e 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1615,7 +1615,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1703,7 +1703,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
@@ -126,10 +126,10 @@ index 983bc6b8600489696899b5aaa09e7f7b674d2e42..3a17733fc6d6cf7e9a792a65e8d95652
|
||||
|
||||
public SystemReport fillSystemReport(SystemReport details) {
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index 82cee660a029547eda8abdf4188b9d1fb4ba0d53..be616e5d2ebe05f6075b701b6ac5d041bb3e575f 100644
|
||||
index 38a0fb9a7c4ade9cacfd30dffabfea7e6b773981..fd3d3e22613511a42f7fc343079b081c72ff3f61 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -280,11 +280,12 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -290,11 +290,12 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
DedicatedServer.LOGGER.warn("**** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!");
|
||||
DedicatedServer.LOGGER.warn("The server will make no attempt to authenticate usernames. Beware.");
|
||||
// Spigot start
|
||||
|
||||
@@ -65,10 +65,10 @@ index cb0045fc4ddd738c45dee89d57b213a633b9a136..6e8111ef16439d2b3025ebe2a0418b24
|
||||
if (this.source.acceptsSuccess() && !this.silent) {
|
||||
this.source.sendMessage(message, Util.NIL_UUID);
|
||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
index be616e5d2ebe05f6075b701b6ac5d041bb3e575f..38e8c382834f542e0f6649537bb6f5bf844159d8 100644
|
||||
index fd3d3e22613511a42f7fc343079b081c72ff3f61..fe029ec70afad56bb7a7361f347e9b9aef5e00ba 100644
|
||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||
@@ -218,6 +218,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
@@ -228,6 +228,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
||||
}
|
||||
thread.start(); // Paper - start console thread after MinecraftServer.console & PaperConfig are initialized
|
||||
com.destroystokyo.paper.PaperConfig.registerCommands();
|
||||
@@ -85,7 +85,7 @@ index be616e5d2ebe05f6075b701b6ac5d041bb3e575f..38e8c382834f542e0f6649537bb6f5bf
|
||||
io.papermc.paper.util.ObfHelper.INSTANCE.getClass(); // load mappings for stacktrace deobf and etc.
|
||||
io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index e5cb991543c695bc90256ef250a1d695ac5bc17d..2d4137c3cd5df289363579ebd462d42b096c245c 100644
|
||||
index 929f48675a10fdd64cb351305389d680a16963fb..73ebe9d8da0dbfb9d4d8f041d8b911d4931f3d04 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -168,6 +168,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -97,7 +97,7 @@ index e5cb991543c695bc90256ef250a1d695ac5bc17d..2d4137c3cd5df289363579ebd462d42b
|
||||
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
||||
public static BlockPos lastPhysicsProblem; // Spigot
|
||||
private org.spigotmc.TickLimiter entityLimiter;
|
||||
@@ -205,6 +207,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -310,6 +312,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, final DimensionType dimensionmanager, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env) {
|
||||
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
||||
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper
|
||||
|
||||
@@ -5,22 +5,22 @@ Subject: [PATCH] Purpur client support
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index a6ec320bdca4a1c6e23461cd10a6f7bed681f243..87a15e63671f9e22283745b04af5e23e8296984f 100644
|
||||
index b6f9c99d580d985f2b84efaa655d9ae40073e72b..c856b38b49969f6eb0b2a82bff6d80967857643d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -252,6 +252,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -254,6 +254,7 @@ public class ServerPlayer extends Player {
|
||||
public Integer clientViewDistance;
|
||||
// CraftBukkit end
|
||||
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
|
||||
+ public boolean purpurClient = false; // Purpur
|
||||
|
||||
public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks
|
||||
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
|
||||
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 7b6cf326dfab9bd0b13dfc330d143d2efeea9aa1..0d4315c4a2a9703f63bbebacd10209a904833749 100644
|
||||
index 3eba6962040f33b7b31b16c9de22d90f225710b4..23074f0b00cde60e3a42335c7aa3eb4f6162d44d 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -3053,6 +3053,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -3058,6 +3058,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister");
|
||||
|
||||
private static final ResourceLocation MINECRAFT_BRAND = new ResourceLocation("brand"); // Paper - Brand support
|
||||
@@ -28,7 +28,7 @@ index 7b6cf326dfab9bd0b13dfc330d143d2efeea9aa1..0d4315c4a2a9703f63bbebacd10209a9
|
||||
|
||||
@Override
|
||||
public void handleCustomPayload(ServerboundCustomPayloadPacket packet) {
|
||||
@@ -3077,6 +3078,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -3082,6 +3083,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex);
|
||||
this.disconnect("Invalid payload UNREGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause
|
||||
}
|
||||
@@ -43,10 +43,10 @@ index 7b6cf326dfab9bd0b13dfc330d143d2efeea9aa1..0d4315c4a2a9703f63bbebacd10209a9
|
||||
try {
|
||||
byte[] data = new byte[packet.data.readableBytes()];
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 9b136a877ff07262b1694c6cad43da756602384e..3efa7e395d05386e095ff2fd04d9012285599473 100644
|
||||
index bc529afc8aff97b620209332aa2a4c8111075d62..653f038a76ac6a0674fbfbe193d38a15105224a2 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2520,4 +2520,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2530,4 +2530,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
return this.spigot;
|
||||
}
|
||||
// Spigot end
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Component related conveniences
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 87a15e63671f9e22283745b04af5e23e8296984f..ba31b14bf27fe43eeacf067755ecf45dd50d3ff5 100644
|
||||
index c856b38b49969f6eb0b2a82bff6d80967857643d..ed8b90e90dc4878bce9eecbbf944f5264630f6bb 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1663,6 +1663,26 @@ public class ServerPlayer extends Player {
|
||||
@@ -1693,6 +1693,26 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -36,10 +36,10 @@ index 87a15e63671f9e22283745b04af5e23e8296984f..ba31b14bf27fe43eeacf067755ecf45d
|
||||
public void displayClientMessage(Component message, boolean actionBar) {
|
||||
this.sendMessage(message, actionBar ? ChatType.GAME_INFO : ChatType.CHAT, Util.NIL_UUID);
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index dca3b995c02507e5df299abe60f518480ce56d21..50bdaf7edc14f6de7ed5562df9d6ed424a022f80 100644
|
||||
index f90eea21300746ef510e6dccc1eda9cca6ac5a64..0e647bb7b4efefe8a56d8b9c01f747feea700e96 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1359,6 +1359,62 @@ public abstract class PlayerList {
|
||||
@@ -1372,6 +1372,62 @@ public abstract class PlayerList {
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
@@ -103,10 +103,10 @@ index dca3b995c02507e5df299abe60f518480ce56d21..50bdaf7edc14f6de7ed5562df9d6ed42
|
||||
this.server.sendMessage(message, sender);
|
||||
Iterator iterator = this.players.iterator();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index dcfc726ab96dccc05848219e824ad7612dbfbdab..30f11e94e18222bb69c4c69f688923ef62877a8e 100644
|
||||
index 3febcc7e88b74d4bdb45e633fdaa9d3313a6ae0b..23c17a1ebb63290168b2b67f2dbeb7741c368e7b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3378,6 +3378,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -3514,6 +3514,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
return SlotAccess.NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Ridables
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/core/BlockPos.java b/src/main/java/net/minecraft/core/BlockPos.java
|
||||
index 0dcf75c5c792650d7a5b9354222df16bcd1cfbd2..d3d8fa34f89534c057f4e5c7f93da956c349a369 100644
|
||||
index 14610e6144ec144ebbec6fb0945c67bb0ea86795..6833eb5dc7aa64bef1b3b38de5e282bdf1e10ec7 100644
|
||||
--- a/src/main/java/net/minecraft/core/BlockPos.java
|
||||
+++ b/src/main/java/net/minecraft/core/BlockPos.java
|
||||
@@ -41,6 +41,12 @@ public class BlockPos extends Vec3i {
|
||||
@@ -22,10 +22,10 @@ index 0dcf75c5c792650d7a5b9354222df16bcd1cfbd2..d3d8fa34f89534c057f4e5c7f93da956
|
||||
super(x, y, z);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
index 3a17733fc6d6cf7e9a792a65e8d9565209640b87..3ab79c0a12d0e6e91578e8649c7157122086bf25 100644
|
||||
index 0a98fddbccd2733bb4fbf6d429d934579566257e..da7a83973afe93bfeab947b412a2839a3146b0af 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1493,6 +1493,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1581,6 +1581,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
ServerLevel worldserver = (ServerLevel) iterator.next();
|
||||
worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
|
||||
worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper
|
||||
@@ -34,10 +34,10 @@ index 3a17733fc6d6cf7e9a792a65e8d9565209640b87..3ab79c0a12d0e6e91578e8649c715712
|
||||
|
||||
this.profiler.push(() -> {
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index b8e7f70f4ee1b28635537e04f7bd0d0cd6afb4b3..e0d8702b0e758367955813b92b6a72572f23ea86 100644
|
||||
index 1cf809480d9ad7dd24c697d79621106544d32146..338fa80f3fde1918b8ccf23c017d386719d7ead8 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -206,6 +206,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -208,6 +208,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
public final UUID uuid;
|
||||
public boolean hasPhysicsEvent = true; // Paper
|
||||
public boolean hasEntityMoveEvent = false; // Paper
|
||||
@@ -46,10 +46,10 @@ index b8e7f70f4ee1b28635537e04f7bd0d0cd6afb4b3..e0d8702b0e758367955813b92b6a7257
|
||||
return new Throwable(entity + " Added to world at " + new java.util.Date());
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index ba31b14bf27fe43eeacf067755ecf45dd50d3ff5..bd0363b1c2d0604841c7d8161733281d7898110a 100644
|
||||
index ed8b90e90dc4878bce9eecbbf944f5264630f6bb..e38a9ff1024669a5ea9c45a7f33c606167f15f9a 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -644,6 +644,15 @@ public class ServerPlayer extends Player {
|
||||
@@ -662,6 +662,15 @@ public class ServerPlayer extends Player {
|
||||
this.trackStartFallingPosition();
|
||||
this.trackEnteredOrExitedLavaOnVehicle();
|
||||
this.advancements.flushDirty(this);
|
||||
@@ -65,7 +65,7 @@ index ba31b14bf27fe43eeacf067755ecf45dd50d3ff5..bd0363b1c2d0604841c7d8161733281d
|
||||
}
|
||||
|
||||
public void doTick() {
|
||||
@@ -2428,4 +2437,6 @@ public class ServerPlayer extends Player {
|
||||
@@ -2458,4 +2467,6 @@ public class ServerPlayer extends Player {
|
||||
return (CraftPlayer) super.getBukkitEntity();
|
||||
}
|
||||
// CraftBukkit end
|
||||
@@ -73,10 +73,10 @@ index ba31b14bf27fe43eeacf067755ecf45dd50d3ff5..bd0363b1c2d0604841c7d8161733281d
|
||||
+
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 0d4315c4a2a9703f63bbebacd10209a904833749..9f1bba2736648ea323390fd0442826fc3e561b68 100644
|
||||
index 23074f0b00cde60e3a42335c7aa3eb4f6162d44d..56015828fe1f0bf66eefa41164e58cc4ebe59f20 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2364,6 +2364,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -2369,6 +2369,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
|
||||
|
||||
@@ -86,10 +86,10 @@ index 0d4315c4a2a9703f63bbebacd10209a904833749..9f1bba2736648ea323390fd0442826fc
|
||||
if ((entity instanceof AbstractFish && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) {
|
||||
ServerGamePacketListenerImpl.this.send(new ClientboundAddMobPacket((AbstractFish) entity));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 30f11e94e18222bb69c4c69f688923ef62877a8e..e1a0efe5437aa3709a8fb93cf1f97b262a2ad3ee 100644
|
||||
index 23c17a1ebb63290168b2b67f2dbeb7741c368e7b..20930c864ee1cb39367b5515dc8579f31d40ad21 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -229,7 +229,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -230,7 +230,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
public float yRotO;
|
||||
public float xRotO;
|
||||
private AABB bb;
|
||||
@@ -98,7 +98,7 @@ index 30f11e94e18222bb69c4c69f688923ef62877a8e..e1a0efe5437aa3709a8fb93cf1f97b26
|
||||
public boolean horizontalCollision;
|
||||
public boolean verticalCollision;
|
||||
public boolean minorHorizontalCollision;
|
||||
@@ -291,7 +291,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -292,7 +292,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
private final Set<String> tags;
|
||||
private final double[] pistonDeltas;
|
||||
private long pistonDeltasGameTime;
|
||||
@@ -107,7 +107,7 @@ index 30f11e94e18222bb69c4c69f688923ef62877a8e..e1a0efe5437aa3709a8fb93cf1f97b26
|
||||
private float eyeHeight;
|
||||
public boolean isInPowderSnow;
|
||||
public boolean wasInPowderSnow;
|
||||
@@ -2393,6 +2393,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -2529,6 +2529,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
this.passengers = ImmutableList.copyOf(list);
|
||||
}
|
||||
|
||||
@@ -120,7 +120,7 @@ index 30f11e94e18222bb69c4c69f688923ef62877a8e..e1a0efe5437aa3709a8fb93cf1f97b26
|
||||
}
|
||||
return true; // CraftBukkit
|
||||
}
|
||||
@@ -2433,6 +2439,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -2569,6 +2575,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
return false;
|
||||
}
|
||||
// Spigot end
|
||||
@@ -135,7 +135,7 @@ index 30f11e94e18222bb69c4c69f688923ef62877a8e..e1a0efe5437aa3709a8fb93cf1f97b26
|
||||
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
||||
this.passengers = ImmutableList.of();
|
||||
} else {
|
||||
@@ -4049,4 +4063,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -4189,4 +4203,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
||||
}
|
||||
// Paper end
|
||||
@@ -201,7 +201,7 @@ index 645c1dc9bd09b135a641759c76ce8d957b9bd488..03adc3b746e05bb4b0514ba4a66c101b
|
||||
protected ParticleOptions getInkParticle() {
|
||||
return ParticleTypes.GLOW_SQUID_INK;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index beebd31d7a82a4edae0e2e7c5890cd13fbb6c4df..0ec390a471441c094ce543c4590d3d7fa8b989a1 100644
|
||||
index 62daf918d4ab00963041ca869ae718f14f2e3337..0dfd5a179fe3e409c159e2a79be58ad942be06a8 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -217,9 +217,9 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -220,13 +220,13 @@ index beebd31d7a82a4edae0e2e7c5890cd13fbb6c4df..0ec390a471441c094ce543c4590d3d7f
|
||||
@@ -2571,7 +2571,7 @@ public abstract class LivingEntity extends Entity {
|
||||
}
|
||||
|
||||
protected long lastJumpTime = 0L; // Paper - add critical damage API
|
||||
protected long lastJumpTime = 0L; // Paper
|
||||
- protected void jumpFromGround() {
|
||||
+ public void jumpFromGround() { // Purpur - protected -> public
|
||||
double d0 = (double) this.getJumpPower() + this.getJumpBoostPower();
|
||||
Vec3 vec3d = this.getDeltaMovement();
|
||||
// Paper start - add critical damage API
|
||||
@@ -3236,8 +3236,10 @@ public abstract class LivingEntity extends Entity {
|
||||
// Paper start
|
||||
@@ -3237,8 +3237,10 @@ public abstract class LivingEntity extends Entity {
|
||||
this.pushEntities();
|
||||
this.level.getProfiler().pop();
|
||||
// Paper start
|
||||
@@ -239,7 +239,7 @@ index beebd31d7a82a4edae0e2e7c5890cd13fbb6c4df..0ec390a471441c094ce543c4590d3d7f
|
||||
Location from = new Location(this.level.getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO);
|
||||
Location to = new Location (this.level.getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot());
|
||||
io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone());
|
||||
@@ -3247,6 +3249,21 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -3248,6 +3250,21 @@ public abstract class LivingEntity extends Entity {
|
||||
absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch());
|
||||
}
|
||||
}
|
||||
@@ -262,7 +262,7 @@ index beebd31d7a82a4edae0e2e7c5890cd13fbb6c4df..0ec390a471441c094ce543c4590d3d7f
|
||||
// Paper end
|
||||
if (!this.level.isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
index 697c2663c4deeb8f2ad603c979ab0884ac027930..eef0785745914d5ba4787c17b6f0c2c4415dc970 100644
|
||||
index 0b46066d35d9bb38d98a9d6e5ca8dbdc0ba1dc5a..79719f259090da6f41a75ac4910e925ce66d067b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||
@@ -143,6 +143,8 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -274,7 +274,7 @@ index 697c2663c4deeb8f2ad603c979ab0884ac027930..eef0785745914d5ba4787c17b6f0c2c4
|
||||
this.jumpControl = new JumpControl(this);
|
||||
this.bodyRotationControl = this.createBodyControl();
|
||||
this.navigation = this.createNavigation(world);
|
||||
@@ -1293,7 +1295,7 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -1298,7 +1300,7 @@ public abstract class Mob extends LivingEntity {
|
||||
protected void onOffspringSpawnedFromEgg(Player player, Mob child) {}
|
||||
|
||||
protected InteractionResult mobInteract(Player player, InteractionHand hand) {
|
||||
@@ -283,7 +283,7 @@ index 697c2663c4deeb8f2ad603c979ab0884ac027930..eef0785745914d5ba4787c17b6f0c2c4
|
||||
}
|
||||
|
||||
public boolean isWithinRestriction() {
|
||||
@@ -1654,4 +1656,52 @@ public abstract class Mob extends LivingEntity {
|
||||
@@ -1659,4 +1661,52 @@ public abstract class Mob extends LivingEntity {
|
||||
|
||||
return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg);
|
||||
}
|
||||
@@ -573,7 +573,7 @@ index 29dfbcecfbb2560e6ecde997abd5224a16c08c94..4a534357889892b57cff818f4dbd0007
|
||||
BlockPos blockposition = this.blockPosition();
|
||||
BlockPos blockposition1 = blockposition.above();
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/AbstractFish.java b/src/main/java/net/minecraft/world/entity/animal/AbstractFish.java
|
||||
index 58428eebf24e328b3faf32ca473be8f19d4f6cca..f54bca7ad5b6e70f0080a6db061b88b5eaee6f53 100644
|
||||
index 3484defdfd5a487b11917310d7b1d1543291eee1..ffdb9d3bf5bb3f88b0d8c89be5d19cc0225b5544 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/AbstractFish.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/AbstractFish.java
|
||||
@@ -99,12 +99,9 @@ public abstract class AbstractFish extends WaterAnimal implements Bucketable {
|
||||
@@ -1895,7 +1895,7 @@ index 4745086ccacfb9863df1979c2d098cb5d81f1535..d78947aa30e4eebca67b94614ec0e2ac
|
||||
return "entity.minecraft.tropical_fish.predefined." + variant;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
index 60e1111f3c2c43398f21c541248f38524f41f4fb..a318f1080a5406ec159fb2d1105b2e51ee3a8be5 100644
|
||||
index 56e9c0d15249562ebea8eb451d4bcc9ff5e7d594..320f02f310fc1da2e5f41d0febd1ccfb48e0c4ea 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -86,6 +86,18 @@ public class Turtle extends Animal {
|
||||
@@ -1915,7 +1915,7 @@ index 60e1111f3c2c43398f21c541248f38524f41f4fb..a318f1080a5406ec159fb2d1105b2e51
|
||||
+ // Purpur end
|
||||
+
|
||||
public void setHomePos(BlockPos pos) {
|
||||
this.entityData.set(Turtle.HOME_POS, pos);
|
||||
this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos...
|
||||
}
|
||||
@@ -188,6 +200,7 @@ public class Turtle extends Animal {
|
||||
|
||||
@@ -2012,7 +2012,7 @@ index 4797c34872f8fa2fba00172357c4f45e45cfe27f..3240a1b0759e4d1f189ff769519b4496
|
||||
this.targetSelector.addGoal(2, new OwnerHurtTargetGoal(this));
|
||||
this.targetSelector.addGoal(3, (new HurtByTargetGoal(this, new Class[0])).setAlertOthers());
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
index 67bb476693fa16aa391c120f8acae7c7279efc20..fc731dc27a1f3ae61e3fb0b6d76845465eaf8ea9 100644
|
||||
index 86acf89ce875e215da8469947b382f70e42314b0..0667003613d3205eab3e729a297ba14d37ba3d22 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
@@ -91,6 +91,23 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
|
||||
@@ -4460,7 +4460,7 @@ index 642279bb7e15db9f662094ffd6ded2e3c7af3fd6..ab648e7dafd78f414646cef96b422e87
|
||||
this.setTradingPlayer(player);
|
||||
this.openTradingScreen(player, this.getDisplayName(), 1);
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index b6f8e94df86c174569ccbc69cfd031cc08271dd3..4b574df4bfe3e1f1bfa58439baa01a369365b05c 100644
|
||||
index 4e6364bea8f464bef690b8cc8f25a80ee699ed5a..24b9343a2dedbbe6aad4048e5a05ae6e610ad5ba 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -191,6 +191,19 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -5706,11 +5706,11 @@ index 0000000000000000000000000000000000000000..8eefb7b7eb33aecf48ac206d3f0139e0
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index ee50ea695585639d0ff184b675f3fb3b205b9f86..426b5b0dc16e86bcbc113bb3123fde9e841de5d8 100644
|
||||
index 5aae88e20bc04560d6ad52cfcaa872d28bfcee8f..1ba59900ddf403453aeb4f82b097feaab3dae3ff 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -1277,4 +1277,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return set;
|
||||
@@ -1287,4 +1287,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return !entity.valid && entity.level.addFreshEntity(entity, reason);
|
||||
}
|
||||
// Paper end
|
||||
+
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable entity base attributes
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index e1a0efe5437aa3709a8fb93cf1f97b262a2ad3ee..c61cc35d3f12aaf1aa7b37f5ee1d0fc7dcd6bb01 100644
|
||||
index 20930c864ee1cb39367b5515dc8579f31d40ad21..1582bba7fa315c539cf8b57ae8b760d74091b6ed 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -148,7 +148,7 @@ import org.bukkit.plugin.PluginManager;
|
||||
@@ -149,7 +149,7 @@ import org.bukkit.plugin.PluginManager;
|
||||
// CraftBukkit end
|
||||
|
||||
public abstract class Entity implements Nameable, EntityAccess, CommandSource, io.papermc.paper.util.KeyedObject { // Paper
|
||||
@@ -34,7 +34,7 @@ index 03adc3b746e05bb4b0514ba4a66c101b9742ceed..ec261673ac444fd5de9c8556cde5d788
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 0ec390a471441c094ce543c4590d3d7fa8b989a1..8780eed3ee4ba8ffb72e411d47dbd6fb3337d8d2 100644
|
||||
index 0dfd5a179fe3e409c159e2a79be58ad942be06a8..d181752a909305d4fc18c399f831276e8e646ea3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -285,6 +285,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -427,7 +427,7 @@ index d78947aa30e4eebca67b94614ec0e2ac9afca36d..2de2dc96b7f5960d4cef3184c14409e0
|
||||
|
||||
public static String getPredefinedName(int variant) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
index a318f1080a5406ec159fb2d1105b2e51ee3a8be5..a1cb8792af3bd10cc0decf230e96e87ee808fcfd 100644
|
||||
index 320f02f310fc1da2e5f41d0febd1ccfb48e0c4ea..730f0fdf968554e9e306ad984d6bd01861402705 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java
|
||||
@@ -96,6 +96,11 @@ public class Turtle extends Animal {
|
||||
@@ -459,7 +459,7 @@ index 3240a1b0759e4d1f189ff769519b4496af0657be..da7b3b5d683a3d48bb1726981a639997
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
index fc731dc27a1f3ae61e3fb0b6d76845465eaf8ea9..3b9a9a8e591191d6f6e2fdb02634deca7331fe77 100644
|
||||
index 0667003613d3205eab3e729a297ba14d37ba3d22..f88f979cc66bf85ad3f1458581a82b0ed91c3f16 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/animal/axolotl/Axolotl.java
|
||||
@@ -106,6 +106,11 @@ public class Axolotl extends Animal implements LerpingModel, Bucketable {
|
||||
|
||||
@@ -46,10 +46,10 @@ index ee53453440177537fc653ea156785d7591498614..b4ccd80663feed1b1e9d02806dcffd0b
|
||||
|
||||
JSONObject object = new JSONObject();
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
index ce2cc249439d525d2089302f3febde758aa96929..3672c289c108cf82fb198bdaf81b878a7581b32f 100644
|
||||
index cdf0f5cafd39a874ea09fdb35b237e3c59c226d9..8087c4d63f1d5768dd786a152eca5d00231fe529 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java
|
||||
@@ -228,7 +228,7 @@ public class PaperConfig {
|
||||
@@ -233,7 +233,7 @@ public class PaperConfig {
|
||||
private static void timings() {
|
||||
boolean timings = getBoolean("timings.enabled", true);
|
||||
boolean verboseTimings = getBoolean("timings.verbose", true);
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index bd0363b1c2d0604841c7d8161733281d7898110a..86f012e54a8c2778c535b2b13584705419037b8c 100644
|
||||
index e38a9ff1024669a5ea9c45a7f33c606167f15f9a..e29c9e10e98f2333ad38fd7d957d8a36304f3cba 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1939,8 +1939,58 @@ public class ServerPlayer extends Player {
|
||||
@@ -1969,8 +1969,58 @@ public class ServerPlayer extends Player {
|
||||
|
||||
public void resetLastActionTime() {
|
||||
this.lastActionTime = Util.getMillis();
|
||||
@@ -68,7 +68,7 @@ index bd0363b1c2d0604841c7d8161733281d7898110a..86f012e54a8c2778c535b2b135847054
|
||||
return this.stats;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 9f1bba2736648ea323390fd0442826fc3e561b68..49a769dc5d38cfc29fe824c7f94917f5597cdbca 100644
|
||||
index 56015828fe1f0bf66eefa41164e58cc4ebe59f20..c1bbe2786b98649ae7882a05070f2bdad813d7b4 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -293,6 +293,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -114,7 +114,7 @@ index 9f1bba2736648ea323390fd0442826fc3e561b68..49a769dc5d38cfc29fe824c7f94917f5
|
||||
// Skip the first time we do this
|
||||
if (true) { // Spigot - don't skip any move events
|
||||
Location oldTo = to.clone();
|
||||
@@ -1385,7 +1407,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1390,7 +1412,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
if (!this.player.isChangingDimension() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != GameType.SPECTATOR) { // Spigot
|
||||
flag1 = true;
|
||||
@@ -123,7 +123,7 @@ index 9f1bba2736648ea323390fd0442826fc3e561b68..49a769dc5d38cfc29fe824c7f94917f5
|
||||
}
|
||||
|
||||
this.player.absMoveTo(d0, d1, d2, f, f1);
|
||||
@@ -1424,6 +1446,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1429,6 +1451,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
this.lastYaw = to.getYaw();
|
||||
this.lastPitch = to.getPitch();
|
||||
|
||||
@@ -182,7 +182,7 @@ index a7575b5ef56af6f53448d391abb4956e130148ca..0a9e4dc5d6d567605c587df9bcbb57d3
|
||||
if (baseEntity == null) {
|
||||
if (this.isCombat && (!targetEntity.canBeSeenAsEnemy() || targetEntity.level.getDifficulty() == Difficulty.PEACEFUL)) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
index 4b574df4bfe3e1f1bfa58439baa01a369365b05c..cf0e43f835073deb58945e24c9d5f0bc66aaaaf1 100644
|
||||
index 24b9343a2dedbbe6aad4048e5a05ae6e610ad5ba..adc094f20ed8bb4c531b06eb2e78bebd3faff578 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||
@@ -194,6 +194,13 @@ public abstract class Player extends LivingEntity {
|
||||
@@ -200,10 +200,10 @@ index 4b574df4bfe3e1f1bfa58439baa01a369365b05c..cf0e43f835073deb58945e24c9d5f0bc
|
||||
public boolean processClick(InteractionHand hand) {
|
||||
Entity vehicle = getRootVehicle();
|
||||
diff --git a/src/main/java/net/minecraft/world/level/EntityGetter.java b/src/main/java/net/minecraft/world/level/EntityGetter.java
|
||||
index bc3bfe8d3c2f87e2e9f167b9ff34d9ca8a696391..5232aa033e37c7b707c348431a4520c56f25f6f9 100644
|
||||
index 30276959c0119813c27ee3f98e237c93236e5b39..385cccecdddde4abd5c6525aa6404eb2078c3432 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/EntityGetter.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/EntityGetter.java
|
||||
@@ -145,7 +145,7 @@ public interface EntityGetter {
|
||||
@@ -157,7 +157,7 @@ public interface EntityGetter {
|
||||
|
||||
default boolean hasNearbyAlivePlayer(double x, double y, double z, double range) {
|
||||
for(Player player : this.players()) {
|
||||
@@ -263,7 +263,7 @@ index 20215510857b8e49ea0c93d35eddfbad7cd355b0..996171e7271e62e72c0b2b213c21caf5
|
||||
public boolean untamedTamablesAreRidable = true;
|
||||
public boolean useNightVisionWhenRiding = false;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 3efa7e395d05386e095ff2fd04d9012285599473..5262508601274de1106300f8a90518205814b273 100644
|
||||
index 653f038a76ac6a0674fbfbe193d38a15105224a2..281cb1b19a2e05d18352f612a74097e4454ab2f6 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -427,10 +427,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -283,7 +283,7 @@ index 3efa7e395d05386e095ff2fd04d9012285599473..5262508601274de1106300f8a9051820
|
||||
for (ServerPlayer player : (List<ServerPlayer>) server.getHandle().players) {
|
||||
if (player.getBukkitEntity().canSee(this)) {
|
||||
player.connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.UPDATE_DISPLAY_NAME, this.getHandle()));
|
||||
@@ -2526,5 +2531,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2536,5 +2541,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public boolean usesPurpurClient() {
|
||||
return getHandle().purpurClient;
|
||||
}
|
||||
@@ -305,7 +305,7 @@ index 3efa7e395d05386e095ff2fd04d9012285599473..5262508601274de1106300f8a9051820
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
index e0302f82356e8cba848aa8cec1e821e02abbd6f6..3c05a09820491ebdfaad0e922b73ed0403ce04c2 100644
|
||||
index 72400204fbeea41e4af8d3a0d5eef6f2e75e7518..7e1bc869299cd2f382f05bb814946e6841cc845e 100644
|
||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||
@@ -194,6 +194,7 @@ public class ActivationRange
|
||||
|
||||
@@ -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 3ab79c0a12d0e6e91578e8649c7157122086bf25..6c7efdf64af09a9ec87338b313a10904a9afdda7 100644
|
||||
index da7a83973afe93bfeab947b412a2839a3146b0af..2ffc5d9c145cdf53baa8db260f03660a76db78c5 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -1616,7 +1616,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1704,7 +1704,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
|
||||
@DontObfuscate
|
||||
public String getServerModName() {
|
||||
|
||||
@@ -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 6c7efdf64af09a9ec87338b313a10904a9afdda7..86f056cd797881a88593a1933a411200fb5ae154 100644
|
||||
index 2ffc5d9c145cdf53baa8db260f03660a76db78c5..e6c6fe80e2fddceec4cd16b08cf7aab888c7fd9d 100644
|
||||
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
||||
@@ -303,6 +303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -16,7 +16,7 @@ index 6c7efdf64af09a9ec87338b313a10904a9afdda7..86f056cd797881a88593a1933a411200
|
||||
public final SlackActivityAccountant slackActivityAccountant = new SlackActivityAccountant();
|
||||
// Spigot end
|
||||
public static long currentTickLong = 0L; // Paper
|
||||
@@ -1169,6 +1170,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
@@ -1250,6 +1251,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||
this.recentTps[1] = tps5.getAverage();
|
||||
this.recentTps[2] = tps15.getAverage();
|
||||
// Paper end
|
||||
|
||||
@@ -5,26 +5,26 @@ Subject: [PATCH] Player invulnerabilities
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 86f012e54a8c2778c535b2b13584705419037b8c..076456d3dcd38333978eec06077c7231b7d74db7 100644
|
||||
index e29c9e10e98f2333ad38fd7d957d8a36304f3cba..52fd2d08783bbba4c262bb297a31b373b3bcfacc 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -253,6 +253,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -255,6 +255,7 @@ public class ServerPlayer extends Player {
|
||||
// CraftBukkit end
|
||||
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
|
||||
public boolean purpurClient = false; // Purpur
|
||||
+ public boolean acceptingResourcePack = false; // Purpur
|
||||
|
||||
public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks
|
||||
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
|
||||
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
|
||||
@@ -328,6 +329,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -331,6 +332,7 @@ public class ServerPlayer extends Player {
|
||||
this.bukkitPickUpLoot = true;
|
||||
this.maxHealthCache = this.getMaxHealth();
|
||||
this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper
|
||||
+ this.spawnInvulnerableTime = world.purpurConfig.playerSpawnInvulnerableTicks; // Purpur
|
||||
}
|
||||
|
||||
// Yes, this doesn't match Vanilla, but it's the best we can do for now.
|
||||
@@ -987,6 +989,12 @@ public class ServerPlayer extends Player {
|
||||
// Paper start - Chunk priority
|
||||
public BlockPos getPointInFront(double inFront) {
|
||||
@@ -1005,6 +1007,12 @@ public class ServerPlayer extends Player {
|
||||
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ index 86f012e54a8c2778c535b2b13584705419037b8c..076456d3dcd38333978eec06077c7231
|
||||
@Override
|
||||
public boolean hurt(DamageSource source, float amount) {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
@@ -994,7 +1002,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1012,7 +1020,7 @@ public class ServerPlayer extends Player {
|
||||
} else {
|
||||
boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && "fall".equals(source.msgId);
|
||||
|
||||
@@ -46,7 +46,7 @@ index 86f012e54a8c2778c535b2b13584705419037b8c..076456d3dcd38333978eec06077c7231
|
||||
return false;
|
||||
} else {
|
||||
if (source instanceof EntityDamageSource) {
|
||||
@@ -1167,6 +1175,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1185,6 +1193,7 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -54,7 +54,7 @@ index 86f012e54a8c2778c535b2b13584705419037b8c..076456d3dcd38333978eec06077c7231
|
||||
return this;
|
||||
}
|
||||
}
|
||||
@@ -1929,6 +1938,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1959,6 +1968,7 @@ public class ServerPlayer extends Player {
|
||||
}
|
||||
|
||||
public void sendTexturePack(String url, String hash, boolean required, @Nullable Component resourcePackPrompt) {
|
||||
@@ -62,7 +62,7 @@ index 86f012e54a8c2778c535b2b13584705419037b8c..076456d3dcd38333978eec06077c7231
|
||||
this.connection.send(new ClientboundResourcePackPacket(url, hash, required, resourcePackPrompt));
|
||||
}
|
||||
|
||||
@@ -2438,9 +2448,17 @@ public class ServerPlayer extends Player {
|
||||
@@ -2468,9 +2478,17 @@ public class ServerPlayer extends Player {
|
||||
|
||||
@Override
|
||||
public boolean isImmobile() {
|
||||
@@ -82,10 +82,10 @@ index 86f012e54a8c2778c535b2b13584705419037b8c..076456d3dcd38333978eec06077c7231
|
||||
public Scoreboard getScoreboard() {
|
||||
return this.getBukkitEntity().getScoreboard().getHandle();
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 49a769dc5d38cfc29fe824c7f94917f5597cdbca..479acafb1f8759f3097ee425e26f645c0027ea14 100644
|
||||
index c1bbe2786b98649ae7882a05070f2bdad813d7b4..621f0f75096c89bd050f7e0ede8abcb15536ce70 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1874,12 +1874,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1879,12 +1879,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@Override
|
||||
public void handleResourcePackResponse(ServerboundResourcePackPacket packet) {
|
||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel());
|
||||
@@ -108,10 +108,10 @@ index 49a769dc5d38cfc29fe824c7f94917f5597cdbca..479acafb1f8759f3097ee425e26f645c
|
||||
this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit
|
||||
// Paper end
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index 50bdaf7edc14f6de7ed5562df9d6ed424a022f80..c597f76d04eca83264b992c670d0142dbd39c3aa 100644
|
||||
index 0e647bb7b4efefe8a56d8b9c01f747feea700e96..b9e13e523e5a43b256c49970ad1b3dca286fc03c 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -991,6 +991,8 @@ public abstract class PlayerList {
|
||||
@@ -993,6 +993,8 @@ public abstract class PlayerList {
|
||||
}
|
||||
// Paper end
|
||||
|
||||
@@ -143,10 +143,10 @@ index 996171e7271e62e72c0b2b213c21caf53c815e97..8e9ba3a8582c8e5d1e14bf3bfa8ecfce
|
||||
|
||||
public boolean babiesAreRidable = true;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 5262508601274de1106300f8a90518205814b273..55d101ee664babbcaf02f8801e5522c1156c3cdb 100644
|
||||
index 281cb1b19a2e05d18352f612a74097e4454ab2f6..b927f741695c783b5c3a782ea669c7d76333c2bd 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2546,5 +2546,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2556,5 +2556,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public void resetIdleTimer() {
|
||||
getHandle().resetLastActionTime();
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Anvil API
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||
index b40377e882d9cc3571f527e706862e27c59b1fd0..d380267df31de55430db11c5f9bc6ff426cff8eb 100644
|
||||
index 073cec4838b88bf4e7444321a74ab73fff732486..3751ce065a38cb55b0800f000e33b2b32c7e0f5d 100644
|
||||
--- a/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||
+++ b/src/main/java/net/minecraft/world/inventory/AnvilMenu.java
|
||||
@@ -2,7 +2,11 @@ package net.minecraft.world.inventory;
|
||||
@@ -33,8 +33,8 @@ index b40377e882d9cc3571f527e706862e27c59b1fd0..d380267df31de55430db11c5f9bc6ff4
|
||||
|
||||
@Override
|
||||
protected boolean mayPickup(Player player, boolean present) {
|
||||
- return (player.getAbilities().instabuild || player.experienceLevel >= this.cost.get()) && this.cost.get() > 0;
|
||||
+ return (player.getAbilities().instabuild || player.experienceLevel >= this.cost.get()) && (bypassCost || this.cost.get() > 0); // Purpur
|
||||
- return (player.getAbilities().instabuild || player.experienceLevel >= this.cost.get()) && this.cost.get() >= 0; // Paper - fix anvil prepare event not working with 0 xp
|
||||
+ return (player.getAbilities().instabuild || player.experienceLevel >= this.cost.get()) && (bypassCost || this.cost.get() >= 0); // Paper - fix anvil prepare event not working with 0 xp // Purpur
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Alternative Keepalive Handling
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 479acafb1f8759f3097ee425e26f645c0027ea14..1ada1e8532302c3ab1c4454b3a36cee272deb378 100644
|
||||
index 621f0f75096c89bd050f7e0ede8abcb15536ce70..bb0f8dbc0746283ff7670dee24dd932254aeec0d 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -227,6 +227,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -38,7 +38,7 @@ index 479acafb1f8759f3097ee425e26f645c0027ea14..1ada1e8532302c3ab1c4454b3a36cee2
|
||||
if (this.keepAlivePending) {
|
||||
if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected
|
||||
ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info
|
||||
@@ -3045,6 +3061,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -3050,6 +3066,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
@Override
|
||||
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
|
||||
|
||||
@@ -17,10 +17,10 @@ index f64aa22ed6fcb4af67317b99f459ee5296392548..36c91793e0aa4895193623cf8cba7820
|
||||
public void removeCommand(String name) {
|
||||
this.children.remove(name);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
|
||||
index e9d1fb479855194da5a05e86861848158736cbb4..b06f070a8030e5a6d965a2705749874895db58b6 100644
|
||||
index 4aa1dc543950b5de64345b3403a6d0bc41c521df..1c19a64da230268ceb9124bb7e1a141d78ac3393 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java
|
||||
@@ -87,6 +87,7 @@ public final class VanillaCommandWrapper extends BukkitCommand {
|
||||
@@ -89,6 +89,7 @@ public final class VanillaCommandWrapper extends BukkitCommand {
|
||||
}
|
||||
|
||||
public static String getPermission(CommandNode<CommandSourceStack> vanillaCommand) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Zombie horse naturally spawn
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
index e0d8702b0e758367955813b92b6a72572f23ea86..5f8ca9b494e6d16d095b960ffcb671d33f7a9739 100644
|
||||
index 338fa80f3fde1918b8ccf23c017d386719d7ead8..963c249f2bcf2a264c9e4cd0961f11bb08f54d12 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||
@@ -656,9 +656,15 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
@@ -747,9 +747,15 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||
boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * paperConfig.skeleHorseSpawnChance && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper
|
||||
|
||||
if (flag1) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Signs allow color codes
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 076456d3dcd38333978eec06077c7231b7d74db7..671015417ca3b67cb8f26b8f9f26483082a7198b 100644
|
||||
index 52fd2d08783bbba4c262bb297a31b373b3bcfacc..45084be6e8ebced2029dbca57f288b0e01b07311 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1460,6 +1460,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1478,6 +1478,7 @@ public class ServerPlayer extends Player {
|
||||
|
||||
@Override
|
||||
public void openTextEdit(SignBlockEntity sign) {
|
||||
@@ -17,10 +17,10 @@ index 076456d3dcd38333978eec06077c7231b7d74db7..671015417ca3b67cb8f26b8f9f264830
|
||||
this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos()));
|
||||
this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos()));
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 1ada1e8532302c3ab1c4454b3a36cee272deb378..ae92a5e1cebff528c99f3c554d8490f7ba9c6b57 100644
|
||||
index bb0f8dbc0746283ff7670dee24dd932254aeec0d..7047a77b6f6b9b15145dd8c54e978d81b1f4e998 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -3035,11 +3035,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -3040,11 +3040,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
}
|
||||
// Paper end
|
||||
|
||||
|
||||
@@ -5,18 +5,18 @@ Subject: [PATCH] Allow soil to moisten from water directly under it
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/FarmBlock.java b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
index afd4dc6f69389f43c1a95069840e01a33ac86b63..285297f427afc71b824f2b1fa712802104be2571 100644
|
||||
index 5d95f3cce8f5190bc2172a1fe0e83166062f0f3d..603e621b16deb63b0d6d7e59e05a8de1831e067f 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/FarmBlock.java
|
||||
@@ -145,7 +145,7 @@ public class FarmBlock extends Block {
|
||||
|
||||
do {
|
||||
if (!iterator.hasNext()) {
|
||||
- return false;
|
||||
+ return ((ServerLevel) world).purpurConfig.farmlandGetsMoistFromBelow && world.getFluidState(pos.relative(Direction.DOWN)).is(FluidTags.WATER); // Purpur;
|
||||
@@ -159,7 +159,7 @@ public class FarmBlock extends Block {
|
||||
}
|
||||
}
|
||||
|
||||
- return false;
|
||||
+ return ((ServerLevel) world).purpurConfig.farmlandGetsMoistFromBelow && world.getFluidState(pos.relative(Direction.DOWN)).is(FluidTags.WATER); // Purpur;
|
||||
// Paper end - remove abstract block iteration
|
||||
}
|
||||
|
||||
blockposition1 = (BlockPos) iterator.next();
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
index ea387b513f86249a6ceaa67cb6358dc56ed4b16d..35fbc48c6396f23add351063a9df12f15643a3a8 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Minecart settings and WASD controls
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
index 671015417ca3b67cb8f26b8f9f26483082a7198b..36c36b8b2c9b1a0ac617b0a747ad537621223fdf 100644
|
||||
index 45084be6e8ebced2029dbca57f288b0e01b07311..11ebb94eb26836231cdd81514a5639e756876e09 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1000,6 +1000,7 @@ public class ServerPlayer extends Player {
|
||||
@@ -1018,6 +1018,7 @@ public class ServerPlayer extends Player {
|
||||
if (this.isInvulnerableTo(source)) {
|
||||
return false;
|
||||
} else {
|
||||
|
||||
@@ -5,22 +5,22 @@ Subject: [PATCH] Fix the dead lagging the server
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index c61cc35d3f12aaf1aa7b37f5ee1d0fc7dcd6bb01..f6260ade093417c87776d421af21088930126408 100644
|
||||
index 1582bba7fa315c539cf8b57ae8b760d74091b6ed..646972f9b7205f79b4577984d0407be4eb5f5d4a 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -1524,6 +1524,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
this.setXRot(Mth.clamp(pitch, -90.0F, 90.0F) % 360.0F);
|
||||
@@ -1650,6 +1650,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
this.yRotO = this.getYRot();
|
||||
this.xRotO = this.getXRot();
|
||||
this.setYHeadRot(yaw); // Paper - Update head rotation
|
||||
+ if (valid && !this.isRemoved()) level.getChunk((int) Math.floor(this.getX()) >> 4, (int) Math.floor(this.getZ()) >> 4); // CraftBukkit // Paper // Purpur
|
||||
}
|
||||
|
||||
public void absMoveTo(double x, double y, double z) {
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
index 8a141a02a8fc3615ec1b52f062e17ed881d671cf..ee0d7d1aac8847402476d5861824d50f4fd0598e 100644
|
||||
index 5ae294293cd9d813e22d251e567d1fc0929edc49..dfbb53ddf9255351b44259d0016b362a3a4625b3 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -2895,7 +2895,7 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -2896,7 +2896,7 @@ public abstract class LivingEntity extends Entity {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for F3+N debug
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index c597f76d04eca83264b992c670d0142dbd39c3aa..a7c095b3ee7893a3e43f507b4dad456b2c3c4eaa 100644
|
||||
index b9e13e523e5a43b256c49970ad1b3dca286fc03c..811629721c4e3babb5437031910185daf10d5784 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1156,6 +1156,7 @@ public abstract class PlayerList {
|
||||
@@ -1158,6 +1158,7 @@ public abstract class PlayerList {
|
||||
} else {
|
||||
b0 = (byte) (24 + permissionLevel);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user