mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-19 17:37:42 +01:00
Updated Upstream (Paper & Pufferfish)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@26734e8 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#7454) PaperMC/Paper@4a745f9 Optimize Util#sequence (#7115) PaperMC/Paper@2c8d48c Make Panda implement Sittable (#7414) PaperMC/Paper@2c4a589 Fix issues with LimitedRegion (#7343) PaperMC/Paper@3d91eca Fix cancelled snow bucket placement (#6751) PaperMC/Paper@9567753 Don't load plugins prefixed with a dot (#7392) PaperMC/Paper@92c777d Fix PlayerProfile BukkitObject serialization, deprecate setName and setId for removal (#7471) PaperMC/Paper@e6898ff Fix IllegalArgumentException for /paper mobcaps command (#7472) PaperMC/Paper@a8f2d67 - properly fix IllegalArgumentException in `/paper mobcaps` command Pufferfish Changes: pufferfish-gg/Pufferfish@22f20b2 Fix sentry bug
This commit is contained in:
@@ -2136,24 +2136,41 @@ index 0000000000000000000000000000000000000000..facd55463d44cb7e3d2ca6892982f549
|
||||
+ }
|
||||
+}
|
||||
diff --git a/src/main/java/net/minecraft/Util.java b/src/main/java/net/minecraft/Util.java
|
||||
index 9c111d479bbcc101886c12950c97f10941125ae7..90018506da9e900d448a1fc43b3213ac513686e6 100644
|
||||
index 34e571b702684673b89103176838dc246ff9b24d..d985932adec493163ac41f7f35d0b530c1e1f7db 100644
|
||||
--- a/src/main/java/net/minecraft/Util.java
|
||||
+++ b/src/main/java/net/minecraft/Util.java
|
||||
@@ -391,6 +391,10 @@ public class Util {
|
||||
}
|
||||
@@ -392,16 +392,27 @@ public class Util {
|
||||
|
||||
private static final CompletableFuture<?>[] EMPTY_FUTURE = new CompletableFuture[0]; // Paper
|
||||
public static <V> CompletableFuture<List<V>> sequence(List<? extends CompletableFuture<? extends V>> futures) {
|
||||
- // Paper start - optimize
|
||||
- return CompletableFuture.allOf(futures.toArray(EMPTY_FUTURE))
|
||||
- .thenApply(v -> {
|
||||
- List<V> list = Lists.newArrayListWithCapacity(futures.size());
|
||||
- for (CompletableFuture<? extends V> future : futures) {
|
||||
- list.add(future.join());
|
||||
- }
|
||||
- return list;
|
||||
+ // Pufferfish start - faster sequencing without all of.. _that_
|
||||
+ return CompletableFuture.allOf(futures.toArray(new CompletableFuture[futures.size()]))
|
||||
+ .thenApply(unused -> futures.stream().map(CompletableFuture::join).collect(Collectors.toList()));
|
||||
+ /*
|
||||
return futures.stream().reduce(CompletableFuture.completedFuture(Lists.newArrayList()), (completableFuture, completableFuture2) -> {
|
||||
return completableFuture2.thenCombine(completableFuture, (object, list) -> {
|
||||
List<V> list2 = Lists.newArrayListWithCapacity(list.size() + 1);
|
||||
@@ -406,6 +410,8 @@ public class Util {
|
||||
return list3;
|
||||
+ return futures.stream().reduce(CompletableFuture.completedFuture(Lists.newArrayList()), (completableFuture, completableFuture2) -> {
|
||||
+ return completableFuture2.thenCombine(completableFuture, (object, list) -> {
|
||||
+ List<V> list2 = Lists.newArrayListWithCapacity(list.size() + 1);
|
||||
+ list2.addAll(list);
|
||||
+ list2.add(object);
|
||||
+ return list2;
|
||||
});
|
||||
});
|
||||
- // Paper end
|
||||
+ }, (completableFuture, completableFuture2) -> {
|
||||
+ return completableFuture.thenCombine(completableFuture2, (list, list2) -> {
|
||||
+ List<V> list3 = Lists.newArrayListWithCapacity(list.size() + list2.size());
|
||||
+ list3.addAll(list);
|
||||
+ list3.addAll(list2);
|
||||
+ return list3;
|
||||
+ });
|
||||
+ });
|
||||
+ */
|
||||
+ // Pufferfish end
|
||||
}
|
||||
@@ -2276,7 +2293,7 @@ index afef3ea6d1ae5f145261eaae3da720fdf9e923a8..ca07ba8eb33f1b4f10aba9f4b4c7c107
|
||||
return this.scaledRange(i);
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
index b0ced77da807d715a39c04708859a12729883939..addf249717b5271b664f4a9d28dd6cc177db5688 100644
|
||||
index e20fc528b85a8278bffab32845daac2208836748..7780c6cd92a716e62625df95841680b0e99a86e6 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java
|
||||
@@ -78,6 +78,9 @@ public class ServerChunkCache extends ChunkSource {
|
||||
@@ -2295,7 +2312,7 @@ index b0ced77da807d715a39c04708859a12729883939..addf249717b5271b664f4a9d28dd6cc1
|
||||
gameprofilerfiller.push("pollingChunks");
|
||||
+ this.level.resetIceAndSnowTick(); // Pufferfish - reset ice & snow tick random
|
||||
int k = this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING);
|
||||
boolean flag1 = level.ticksPerAnimalSpawns != 0L && worlddata.getGameTime() % level.ticksPerAnimalSpawns == 0L; // CraftBukkit
|
||||
boolean flag1 = level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) != 0L && worlddata.getGameTime() % level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) == 0L; // CraftBukkit
|
||||
|
||||
@@ -979,18 +983,25 @@ public class ServerChunkCache extends ChunkSource {
|
||||
// Paper start - per player mob spawning
|
||||
@@ -2449,10 +2466,10 @@ index 403a6fadbeff41e67618393ac7034d32c02af7b8..59d57108f38f38e03cd8b69a53c3e9d4
|
||||
this.getRandomBlockPosition(j, 0, k, 15, blockposition);
|
||||
int normalY = chunk.getHeight(Heightmap.Types.MOTION_BLOCKING, blockposition.getX() & 15, blockposition.getZ() & 15) + 1;
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 23eddc502816e84ab25366c7d5710ce2e660c7a0..cb35f2f1f2f4d568bc59ce5c08ab3b908533264c 100644
|
||||
index d945a22e2bb992f3cbba3c9ed0f660b6a385a1b0..b9f2f6713bd9e3431ddbf2a41f16cbda5739ef57 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1116,6 +1116,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1113,6 +1113,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
@Override
|
||||
public void handleEditBook(ServerboundEditBookPacket packet) {
|
||||
@@ -2573,7 +2590,7 @@ index 7437f01ca8f416e2c9150250e324af4725a4efb6..7ac51dbfce18a2bc52faa7a915abeccc
|
||||
int LARGE_MAX_STACK_SIZE = 64;
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 6067ac851708fd6d30d3d295acf0e66a2ea16f13..6fbc4dcc1f150b036656be5420ad803c3b26e9f3 100644
|
||||
index 9ca080e2745686fc2e39485965ec54c5de0bae6e..fd6e42d3df429aaf753102258b8e65a61ff4d296 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -227,7 +227,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -2645,7 +2662,7 @@ index 6067ac851708fd6d30d3d295acf0e66a2ea16f13..6fbc4dcc1f150b036656be5420ad803c
|
||||
|
||||
return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this));
|
||||
}
|
||||
@@ -3867,16 +3894,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -3871,16 +3898,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
}
|
||||
|
||||
public boolean updateFluidHeightAndDoFluidPushing(Tag<Fluid> tag, double speed) {
|
||||
@@ -2671,7 +2688,7 @@ index 6067ac851708fd6d30d3d295acf0e66a2ea16f13..6fbc4dcc1f150b036656be5420ad803c
|
||||
double d1 = 0.0D;
|
||||
boolean flag = this.isPushedByFluid();
|
||||
boolean flag1 = false;
|
||||
@@ -3884,14 +3913,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -3888,14 +3917,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
int k1 = 0;
|
||||
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
|
||||
|
||||
@@ -2739,7 +2756,7 @@ index 6067ac851708fd6d30d3d295acf0e66a2ea16f13..6fbc4dcc1f150b036656be5420ad803c
|
||||
|
||||
if (d2 >= axisalignedbb.minY) {
|
||||
flag1 = true;
|
||||
@@ -3913,9 +3989,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -3917,9 +3993,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
// CraftBukkit end
|
||||
}
|
||||
}
|
||||
@@ -3413,10 +3430,10 @@ index e7ca5d6fb8922e7e8065864f736b06056be080a0..6c9e574851b518242dbbee9bce954b44
|
||||
final String id;
|
||||
private final GameRules.Category category;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 89bc9f452556bafdcd8b76668639ee33c383596e..a98d115b7dccd836fa2c0f50333730db6f388aff 100644
|
||||
index 87c8c59b9d47b6c292a92e97471c558c03453cfb..4f8b2617adc0013035cc0ca72bf1b83eb5c18c6c 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -308,6 +308,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -305,6 +305,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
}
|
||||
// Paper end - optimise checkDespawn
|
||||
|
||||
@@ -3432,7 +3449,7 @@ index 89bc9f452556bafdcd8b76668639ee33c383596e..a98d115b7dccd836fa2c0f50333730db
|
||||
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, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor
|
||||
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
|
||||
@@ -323,6 +332,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -322,6 +331,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
this.profiler = supplier;
|
||||
this.levelData = worlddatamutable;
|
||||
this.dimensionType = dimensionmanager;
|
||||
@@ -3446,7 +3463,7 @@ index 89bc9f452556bafdcd8b76668639ee33c383596e..a98d115b7dccd836fa2c0f50333730db
|
||||
this.dimension = resourcekey;
|
||||
this.isClientSide = flag;
|
||||
if (dimensionmanager.coordinateScale() != 1.0D) {
|
||||
@@ -438,6 +454,91 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -437,6 +453,91 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -3538,7 +3555,7 @@ index 89bc9f452556bafdcd8b76668639ee33c383596e..a98d115b7dccd836fa2c0f50333730db
|
||||
public boolean isInWorldBounds(BlockPos pos) {
|
||||
return pos.isInsideBuildHeightAndWorldBoundsHorizontal(this); // Paper - use better/optimized check
|
||||
}
|
||||
@@ -974,13 +1075,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -973,13 +1074,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
try {
|
||||
tickConsumer.accept(entity);
|
||||
MinecraftServer.getServer().executeMidTickTasks(); // Paper - execute chunk tasks mid tick
|
||||
@@ -3554,7 +3571,7 @@ index 89bc9f452556bafdcd8b76668639ee33c383596e..a98d115b7dccd836fa2c0f50333730db
|
||||
// Paper end
|
||||
}
|
||||
}
|
||||
@@ -1442,6 +1543,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1441,6 +1542,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
}
|
||||
|
||||
public ProfilerFiller getProfiler() {
|
||||
@@ -3563,10 +3580,10 @@ index 89bc9f452556bafdcd8b76668639ee33c383596e..a98d115b7dccd836fa2c0f50333730db
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||
index 29b27f31080204c9cf33c9eeb8f48bf7928e0371..656b7e07ce6294f4b56b99b928cf37da41ea167d 100644
|
||||
index 515e58e3db223fbdc01ca87607aca234c7010d51..f71f8b5c95849a6fb0367d7b027300cb2559b9e8 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
|
||||
@@ -431,12 +431,12 @@ public final class NaturalSpawner {
|
||||
@@ -408,12 +408,12 @@ public final class NaturalSpawner {
|
||||
return spawnGroup == MobCategory.MONSTER && world.getBlockState(pos.below()).is(Blocks.NETHER_BRICKS) && structureAccessor.getStructureAt(pos, StructureFeature.NETHER_BRIDGE).isValid();
|
||||
}
|
||||
|
||||
@@ -4136,10 +4153,10 @@ index e387de8adc480eac27b58b6f3f0d331ffc4382f1..6dba9d6bb7b81fe176cc0fabbb60b554
|
||||
|
||||
@Nullable
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 1a1f5c8f9a049d65043f12374fe694068f7d08cf..4bfae47b8163d2737ba796827be8557166db84d1 100644
|
||||
index f0629cac377b29246e990a01d60601270cbd77bd..b187f42dc41838b8119b29204368a8b5a7e18de5 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -254,7 +254,7 @@ import javax.annotation.Nullable; // Paper
|
||||
@@ -251,7 +251,7 @@ import javax.annotation.Nullable; // Paper
|
||||
import javax.annotation.Nonnull; // Paper
|
||||
|
||||
public final class CraftServer implements Server {
|
||||
@@ -4148,7 +4165,7 @@ index 1a1f5c8f9a049d65043f12374fe694068f7d08cf..4bfae47b8163d2737ba796827be85571
|
||||
private final String serverVersion;
|
||||
private final String bukkitVersion = Versioning.getBukkitVersion();
|
||||
private final Logger logger = Logger.getLogger("Minecraft");
|
||||
@@ -1063,6 +1063,11 @@ public final class CraftServer implements Server {
|
||||
@@ -1044,6 +1044,11 @@ public final class CraftServer implements Server {
|
||||
plugin.getDescription().getName(),
|
||||
"This plugin is not properly shutting down its async tasks when it is being shut down. This task may throw errors during the final shutdown logs and might not complete before process dies."
|
||||
));
|
||||
|
||||
@@ -221,10 +221,10 @@ index 4502362ff3c43eac489125deee59c66d76204e98..c6267659e8ff73e59d2a4992aa67f86c
|
||||
|
||||
private static final int DEFAULT_SIZE_THRESHOLD = 1024 * 8;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 4bfae47b8163d2737ba796827be8557166db84d1..486b0a9a19ac5025125f3bf253cad5ed7d053bf0 100644
|
||||
index b187f42dc41838b8119b29204368a8b5a7e18de5..c47bbbdaf75b9691ce2f8436afe3eda431e76ae5 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -254,7 +254,7 @@ import javax.annotation.Nullable; // Paper
|
||||
@@ -251,7 +251,7 @@ import javax.annotation.Nullable; // Paper
|
||||
import javax.annotation.Nonnull; // Paper
|
||||
|
||||
public final class CraftServer implements Server {
|
||||
|
||||
@@ -84,10 +84,10 @@ index 9c31e5d653f2027cf5b028f9fb9268f1469cb1e0..d58e5357f9cb45d9b5ddeaed4ec76aa3
|
||||
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 a98d115b7dccd836fa2c0f50333730db6f388aff..7f71a6fe6087630987ae1815ce45dfa45e52f684 100644
|
||||
index 4f8b2617adc0013035cc0ca72bf1b83eb5c18c6c..7d2cc5bbeda115bae0b2cdfa89893a75de272f6b 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -169,6 +169,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -166,6 +166,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
public final com.destroystokyo.paper.PaperWorldConfig paperConfig; // Paper
|
||||
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
|
||||
|
||||
@@ -96,19 +96,19 @@ index a98d115b7dccd836fa2c0f50333730db6f388aff..7f71a6fe6087630987ae1815ce45dfa4
|
||||
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
|
||||
public static BlockPos lastPhysicsProblem; // Spigot
|
||||
private org.spigotmc.TickLimiter entityLimiter;
|
||||
@@ -320,6 +322,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -317,6 +319,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, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor
|
||||
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
|
||||
+ this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
|
||||
this.generator = gen;
|
||||
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
|
||||
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 486b0a9a19ac5025125f3bf253cad5ed7d053bf0..11278953cffbb2fd0b74ccd561bcbd22af7f6e63 100644
|
||||
index c47bbbdaf75b9691ce2f8436afe3eda431e76ae5..8015ed84e3e37ef0c8377bad66c5658a0279853a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -952,6 +952,7 @@ public final class CraftServer implements Server {
|
||||
@@ -957,6 +957,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
|
||||
@@ -116,7 +116,7 @@ index 486b0a9a19ac5025125f3bf253cad5ed7d053bf0..11278953cffbb2fd0b74ccd561bcbd22
|
||||
for (ServerLevel world : this.console.getAllLevels()) {
|
||||
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
|
||||
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
|
||||
@@ -992,6 +993,7 @@ public final class CraftServer implements Server {
|
||||
@@ -973,6 +974,7 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
world.spigotConfig.init(); // Spigot
|
||||
world.paperConfig.init(); // Paper
|
||||
@@ -124,7 +124,7 @@ index 486b0a9a19ac5025125f3bf253cad5ed7d053bf0..11278953cffbb2fd0b74ccd561bcbd22
|
||||
}
|
||||
|
||||
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
|
||||
@@ -1007,6 +1009,7 @@ public final class CraftServer implements Server {
|
||||
@@ -988,6 +990,7 @@ public final class CraftServer implements Server {
|
||||
this.reloadData();
|
||||
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
|
||||
com.destroystokyo.paper.PaperConfig.registerCommands(); // Paper
|
||||
@@ -132,7 +132,7 @@ index 486b0a9a19ac5025125f3bf253cad5ed7d053bf0..11278953cffbb2fd0b74ccd561bcbd22
|
||||
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
|
||||
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
|
||||
|
||||
@@ -2674,6 +2677,18 @@ public final class CraftServer implements Server {
|
||||
@@ -2688,6 +2691,18 @@ public final class CraftServer implements Server {
|
||||
return com.destroystokyo.paper.PaperConfig.config;
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@ index 486b0a9a19ac5025125f3bf253cad5ed7d053bf0..11278953cffbb2fd0b74ccd561bcbd22
|
||||
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 55bae3efbc630be6d40d415509de4c3e744a5004..9d649923e28f4839106b336fce41bd3f4114faae 100644
|
||||
index f810bebfca3932c80e20646eb0680f7718506707..4e59c357343841a1f32061d26f465edde426fc8a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||||
@@ -153,6 +153,14 @@ public class Main {
|
||||
|
||||
@@ -17,10 +17,10 @@ index 470dbed47830e2f580c090bc762a7be5cf389ce5..a261fd5f0709bd9891189d538f762aa8
|
||||
public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks
|
||||
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index cb35f2f1f2f4d568bc59ce5c08ab3b908533264c..ec09ea159a75c33ef9ecbd1d424a2eb81baabdc4 100644
|
||||
index b9f2f6713bd9e3431ddbf2a41f16cbda5739ef57..f579bcfd222025ca9bc5b0f0f8b168d3e7385763 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -3151,6 +3151,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -3147,6 +3147,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 cb35f2f1f2f4d568bc59ce5c08ab3b908533264c..ec09ea159a75c33ef9ecbd1d424a2eb8
|
||||
|
||||
@Override
|
||||
public void handleCustomPayload(ServerboundCustomPayloadPacket packet) {
|
||||
@@ -3175,6 +3176,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -3171,6 +3172,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 cb35f2f1f2f4d568bc59ce5c08ab3b908533264c..ec09ea159a75c33ef9ecbd1d424a2eb8
|
||||
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 a5ccc1b3c7cef43527556c33d846cc9904e3ab8b..b86c5e7d68da91a5c20614082192b144a4e84387 100644
|
||||
index 2088b708d7ed7af8de0df31493084d8fcfed8a70..b1540e8bb9332506dbd5762024202414a173c621 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2691,4 +2691,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2693,4 +2693,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
return this.spigot;
|
||||
}
|
||||
// Spigot end
|
||||
|
||||
@@ -5,7 +5,7 @@ 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 4b842e78d3e8fbca90f5f3d975bee654ec87d91d..c516ad43cac2419bcf63e11eaa183785b462de5c 100644
|
||||
index a261fd5f0709bd9891189d538f762aa8786d19d2..20548a1e7a4d56162ec906646cff3159fc98c817 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||
@@ -1693,6 +1693,26 @@ public class ServerPlayer extends Player {
|
||||
@@ -36,7 +36,7 @@ index 4b842e78d3e8fbca90f5f3d975bee654ec87d91d..c516ad43cac2419bcf63e11eaa183785
|
||||
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 cd08f9b16c065be8f0eacaeba51d3e72d332daf9..ae3c16ec9404f126c50160d436b7732d82765fc5 100644
|
||||
index 7a0c1ba40156df69bbbf36d96bed0950130d2351..6b4cb3a94dc998e7a087c888876a15c36763bfd0 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1377,6 +1377,62 @@ public abstract class PlayerList {
|
||||
@@ -123,10 +123,10 @@ index a828cad27fcd39f8bfbaefa97052a2a3b6650ee7..19d6165f266fcc39bc3533042109ef1b
|
||||
return this.isFireSource;
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index e0c91bc518168441fffa32f4c611a74800a8d2e2..452d56e6e0c6682f0d55697b3e9e94d53e186f92 100644
|
||||
index fd6e42d3df429aaf753102258b8e65a61ff4d296..12357be999e5e0f684e24f6ea611f7cbfc29e986 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3657,6 +3657,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -3661,6 +3661,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
return SlotAccess.NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -73,10 +73,10 @@ index 20548a1e7a4d56162ec906646cff3159fc98c817..652f7207edb51e2523caaced2bc8bdd9
|
||||
+
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index ec09ea159a75c33ef9ecbd1d424a2eb81baabdc4..298cf742ac8dd03783fee6019663b22209d4f539 100644
|
||||
index f579bcfd222025ca9bc5b0f0f8b168d3e7385763..392468375ef80b8c22bf94e336ec96d47177adac 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2462,6 +2462,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -2458,6 +2458,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
|
||||
|
||||
@@ -86,7 +86,7 @@ index ec09ea159a75c33ef9ecbd1d424a2eb81baabdc4..298cf742ac8dd03783fee6019663b222
|
||||
if ((entity instanceof Bucketable && entity instanceof LivingEntity && 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((LivingEntity) entity));
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 452d56e6e0c6682f0d55697b3e9e94d53e186f92..ab905ab075fd6966a95db45fc183d630bbf414ec 100644
|
||||
index 12357be999e5e0f684e24f6ea611f7cbfc29e986..2885911f5b82ad7ecb1ebea70251804bfc836203 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -297,7 +297,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -126,7 +126,7 @@ index 452d56e6e0c6682f0d55697b3e9e94d53e186f92..ab905ab075fd6966a95db45fc183d630
|
||||
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
||||
this.passengers = ImmutableList.of();
|
||||
} else {
|
||||
@@ -4389,4 +4403,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -4393,4 +4407,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
||||
}
|
||||
// Paper end
|
||||
@@ -201,7 +201,7 @@ index 645c1dc9bd09b135a641759c76ce8d957b9bd488..912767ed261e44c0192c5a07e2c20261
|
||||
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 a6681690e1e556440320c492bf2a8e617008baa1..67912e15aa060261b1ec2c13abcab309d6af8813 100644
|
||||
index 3236a1dc51c394b784d3f42b78e76bf7c2f69c37..d1b85bbb53912bacc42ffb8962e2c3fed1b33d26 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||
@@ -216,9 +216,9 @@ public abstract class LivingEntity extends Entity {
|
||||
@@ -4922,10 +4922,10 @@ index 4759a6b3d3cd7973744562adf97d110d359ebce3..cfb43f277c013680a0e51fb93796e38f
|
||||
|
||||
Projectile(EntityType<? extends Projectile> type, Level world) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index a3673e2943f251e056ecf84a9bff2de12efdb52a..e14754778ca53d30fdfe7c06e31b02f88a82b765 100644
|
||||
index 989aaca1d56423729d4f5a491cd4c501342dac7c..728eba385fe5c658bc61114029192295ec7ebf05 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -1304,4 +1304,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -1311,4 +1311,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
return getHandle().isInPowderSnow || getHandle().wasInPowderSnow; // depending on the location in the entity "tick" either could be needed.
|
||||
}
|
||||
// Paper end
|
||||
@@ -4954,10 +4954,10 @@ index a3673e2943f251e056ecf84a9bff2de12efdb52a..e14754778ca53d30fdfe7c06e31b02f8
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index 519b17fac445b7118f5493508bddccd368dadcde..cd6db807c50f9b6269b54a69b6601837aebd28ed 100644
|
||||
index a3c8a0291fa9ae6f3c96d937dd4621edd7c48535..f8150c304346c0ccfb440588663cdc72c22cac6c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -542,6 +542,15 @@ public class CraftEventFactory {
|
||||
@@ -543,6 +543,15 @@ public class CraftEventFactory {
|
||||
}
|
||||
craftServer.getPluginManager().callEvent(event);
|
||||
|
||||
@@ -4973,7 +4973,7 @@ index 519b17fac445b7118f5493508bddccd368dadcde..cd6db807c50f9b6269b54a69b6601837
|
||||
return event;
|
||||
}
|
||||
|
||||
@@ -971,6 +980,7 @@ public class CraftEventFactory {
|
||||
@@ -981,6 +990,7 @@ public class CraftEventFactory {
|
||||
damageCause = DamageCause.ENTITY_EXPLOSION;
|
||||
}
|
||||
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), entity.getBukkitEntity(), damageCause, modifiers, modifierFunctions, source.isCritical()); // Paper - add critical damage API
|
||||
@@ -4981,7 +4981,7 @@ index 519b17fac445b7118f5493508bddccd368dadcde..cd6db807c50f9b6269b54a69b6601837
|
||||
}
|
||||
event.setCancelled(cancelled);
|
||||
|
||||
@@ -1075,6 +1085,7 @@ public class CraftEventFactory {
|
||||
@@ -1085,6 +1095,7 @@ public class CraftEventFactory {
|
||||
} else {
|
||||
entity.lastDamageCancelled = true; // SPIGOT-5339, SPIGOT-6252, SPIGOT-6777: Keep track if the event was canceled
|
||||
}
|
||||
@@ -4989,7 +4989,7 @@ index 519b17fac445b7118f5493508bddccd368dadcde..cd6db807c50f9b6269b54a69b6601837
|
||||
return event;
|
||||
}
|
||||
|
||||
@@ -1134,6 +1145,7 @@ public class CraftEventFactory {
|
||||
@@ -1144,6 +1155,7 @@ public class CraftEventFactory {
|
||||
EntityDamageEvent event;
|
||||
if (damager != null) {
|
||||
event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions, critical); // Paper - add critical damage API
|
||||
|
||||
@@ -68,10 +68,10 @@ index 652f7207edb51e2523caaced2bc8bdd98f884ecf..60f28bc4bc0453cf3a87ae992275c0cb
|
||||
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 298cf742ac8dd03783fee6019663b22209d4f539..8b80ed58d4d7942efb203daa43a6477e2bda6673 100644
|
||||
index 392468375ef80b8c22bf94e336ec96d47177adac..2b83c3b7e9bdd7069c0bc49365b5743f21179eb6 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -295,6 +295,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -292,6 +292,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
private boolean justTeleported = false;
|
||||
private boolean hasMoved; // Spigot
|
||||
|
||||
@@ -92,7 +92,7 @@ index 298cf742ac8dd03783fee6019663b22209d4f539..8b80ed58d4d7942efb203daa43a6477e
|
||||
public CraftPlayer getCraftPlayer() {
|
||||
return (this.player == null) ? null : (CraftPlayer) this.player.getBukkitEntity();
|
||||
}
|
||||
@@ -391,6 +405,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -388,6 +402,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
}
|
||||
|
||||
if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) (this.server.getPlayerIdleTimeout() * 1000 * 60) && !this.player.wonGame) { // Paper - Prevent AFK kick while watching end credits.
|
||||
@@ -105,7 +105,7 @@ index 298cf742ac8dd03783fee6019663b22209d4f539..8b80ed58d4d7942efb203daa43a6477e
|
||||
this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854
|
||||
this.disconnect(new TranslatableComponent("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause
|
||||
}
|
||||
@@ -676,6 +696,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -673,6 +693,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
this.lastYaw = to.getYaw();
|
||||
this.lastPitch = to.getPitch();
|
||||
|
||||
@@ -114,7 +114,7 @@ index 298cf742ac8dd03783fee6019663b22209d4f539..8b80ed58d4d7942efb203daa43a6477e
|
||||
// Skip the first time we do this
|
||||
if (true) { // Spigot - don't skip any move events
|
||||
Location oldTo = to.clone();
|
||||
@@ -1446,7 +1468,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1443,7 +1465,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; // Paper - diff on change, this should be moved wrongly
|
||||
@@ -123,7 +123,7 @@ index 298cf742ac8dd03783fee6019663b22209d4f539..8b80ed58d4d7942efb203daa43a6477e
|
||||
}
|
||||
|
||||
this.player.absMoveTo(d0, d1, d2, f, f1);
|
||||
@@ -1496,6 +1518,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1493,6 +1515,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
this.lastYaw = to.getYaw();
|
||||
this.lastPitch = to.getPitch();
|
||||
|
||||
@@ -213,10 +213,10 @@ index 1f4b72a0aca200b2e0860449c718e6e607d2fc47..e1dd8932594780b07db13f68efa117eb
|
||||
if (range < 0.0D || d < range * range) {
|
||||
return true;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index b86c5e7d68da91a5c20614082192b144a4e84387..f73b4facacaa68255c2ec372a0a1a5878e5de484 100644
|
||||
index b1540e8bb9332506dbd5762024202414a173c621..db25979960774c59c4bd1d864cc8203f54305d3c 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -433,10 +433,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -435,10 +435,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
@Override
|
||||
public void setPlayerListName(String name) {
|
||||
@@ -233,7 +233,7 @@ index b86c5e7d68da91a5c20614082192b144a4e84387..f73b4facacaa68255c2ec372a0a1a587
|
||||
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()));
|
||||
@@ -2697,5 +2702,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2699,5 +2704,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public boolean usesPurpurClient() {
|
||||
return getHandle().purpurClient;
|
||||
}
|
||||
|
||||
@@ -17,10 +17,10 @@ index f944e6beafc7876ed9c6923a22f58d82967b77cb..e1c7b7a659e56fa5b3a1f52cb2ccc99b
|
||||
public final boolean spawnNpcs = this.get("spawn-npcs", true);
|
||||
public final boolean pvp = this.get("pvp", true);
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 11278953cffbb2fd0b74ccd561bcbd22af7f6e63..87f433d8ed3731a60ff3ec0198c96d401ae1af82 100644
|
||||
index 8015ed84e3e37ef0c8377bad66c5658a0279853a..a5c64896d5d87a04773ec578034c5df4febd4914 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2843,4 +2843,11 @@ public final class CraftServer implements Server {
|
||||
@@ -2857,4 +2857,11 @@ public final class CraftServer implements Server {
|
||||
}
|
||||
|
||||
// Paper end
|
||||
|
||||
@@ -25,10 +25,10 @@ index 0eed0dc8aa52a8ea16e47f7183ba7b4235ce362a..0c7355902448b444c360259a84a7e8a1
|
||||
}
|
||||
// Spigot end
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index 87f433d8ed3731a60ff3ec0198c96d401ae1af82..020ba662e992f4b859eccb4b4d5c171123b097a3 100644
|
||||
index a5c64896d5d87a04773ec578034c5df4febd4914..805250ab22b07918ad553869ab4391e7fa953e7e 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2849,5 +2849,10 @@ public final class CraftServer implements Server {
|
||||
@@ -2863,5 +2863,10 @@ public final class CraftServer implements Server {
|
||||
public String getServerName() {
|
||||
return this.getProperties().serverName;
|
||||
}
|
||||
|
||||
@@ -82,10 +82,10 @@ index 60f28bc4bc0453cf3a87ae992275c0cb1c6c881f..4c401de49ab21b4f2f596185b61f1a60
|
||||
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 8b80ed58d4d7942efb203daa43a6477e2bda6673..8ed6105b8836728a1f972b7eda07851cf25a038f 100644
|
||||
index 2b83c3b7e9bdd7069c0bc49365b5743f21179eb6..ce19e2bb8a9b45c3ca134d1911d1c38647557242 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1970,12 +1970,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1966,12 +1966,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@Override
|
||||
public void handleResourcePackResponse(ServerboundResourcePackPacket packet) {
|
||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel());
|
||||
@@ -108,7 +108,7 @@ index 8b80ed58d4d7942efb203daa43a6477e2bda6673..8ed6105b8836728a1f972b7eda07851c
|
||||
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 6b4cb3a94dc998e7a087c888876a15c36763bfd0..55e3ab7b82a287715b35045a1bb6d6ebbc9486a7 100644
|
||||
index 0c7afc7787bf9303a8f8a7b4125a3bc45b70ccff..cb4af460cae665016e0a6ec7ff664830be41d5a5 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -997,6 +997,8 @@ public abstract class PlayerList {
|
||||
@@ -121,10 +121,10 @@ index 6b4cb3a94dc998e7a087c888876a15c36763bfd0..55e3ab7b82a287715b35045a1bb6d6eb
|
||||
return entityplayer1;
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index f73b4facacaa68255c2ec372a0a1a5878e5de484..b3ce4424b83d8f44f61b8923d02f2f9e4c415e67 100644
|
||||
index db25979960774c59c4bd1d864cc8203f54305d3c..2bdc1caa5748cf947f3941b4388e9f81e4c42ce2 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2717,5 +2717,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2719,5 +2719,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public void resetIdleTimer() {
|
||||
getHandle().resetLastActionTime();
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ 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 8ed6105b8836728a1f972b7eda07851cf25a038f..da74c6e0e7f3fdba9b29195c17510e33ebe4cac2 100644
|
||||
index ce19e2bb8a9b45c3ca134d1911d1c38647557242..96aa7a49663050e151385106ef23f64efdcc61de 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -228,6 +228,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -227,6 +227,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
private long keepAliveTime = Util.getMillis();
|
||||
private boolean keepAlivePending;
|
||||
private long keepAliveChallenge;
|
||||
@@ -16,7 +16,7 @@ index 8ed6105b8836728a1f972b7eda07851cf25a038f..da74c6e0e7f3fdba9b29195c17510e33
|
||||
// CraftBukkit start - multithreaded fields
|
||||
private final AtomicInteger chatSpamTickCount = new AtomicInteger();
|
||||
private final java.util.concurrent.atomic.AtomicInteger tabSpamLimiter = new java.util.concurrent.atomic.AtomicInteger(); // Paper - configurable tab spam limits
|
||||
@@ -373,6 +374,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -370,6 +371,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
long currentTime = Util.getMillis();
|
||||
long elapsedTime = currentTime - this.keepAliveTime;
|
||||
|
||||
@@ -38,7 +38,7 @@ index 8ed6105b8836728a1f972b7eda07851cf25a038f..da74c6e0e7f3fdba9b29195c17510e33
|
||||
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
|
||||
@@ -3143,6 +3159,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -3139,6 +3155,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
@Override
|
||||
public void handleKeepAlive(ServerboundKeepAlivePacket packet) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index c1d6e5db593142188e3e7f4174bcaf5bd9b44527..f4395b55dac3b6a5501fbe8c88006a008af0fde3 100644
|
||||
index f9ccf9d2d426ff895a7586a1aaf213c415f87b37..d6870a178e991bf2e07517596d12d8b3d198fa47 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4444,5 +4444,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -4448,5 +4448,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
public boolean processClick(InteractionHand hand) {
|
||||
return false;
|
||||
}
|
||||
@@ -19,7 +19,7 @@ index c1d6e5db593142188e3e7f4174bcaf5bd9b44527..f4395b55dac3b6a5501fbe8c88006a00
|
||||
// Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
index 8480ebae938abd4f11ad82fd11e3a5ad405aa180..9e6b44da2098b11b204d45a0f44287d842b5f792 100644
|
||||
index 72287c44fb4be9cd75d4e408dfaaee2c8d9235a5..30b3d19f9d4710874b98550d12b53feed47078cc 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java
|
||||
@@ -209,6 +209,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob
|
||||
@@ -35,7 +35,7 @@ index 8480ebae938abd4f11ad82fd11e3a5ad405aa180..9e6b44da2098b11b204d45a0f44287d8
|
||||
skull.setPosRaw(headX, headY, headZ);
|
||||
level.addFreshEntity(skull);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
|
||||
index fec7d5c6a7b7a20ac9aecec1d3187f5c61fc430c..d4fd425c934e1e033d9aefda66958c864c11ea7d 100644
|
||||
index acb484e074391d2f1b6b83978ea9483cfb5c214c..2a812da233a944cce776c003194dcb9695db718f 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java
|
||||
@@ -92,6 +92,7 @@ public class EntityStorage implements EntityPersistentStorage<Entity> {
|
||||
|
||||
@@ -69,10 +69,10 @@ index 5e2d1e31722791f879f09705ebd491dedc6ac1da..20fd8a043ea8e8221aab94479ffb73c4
|
||||
lagging = recentTps[0] < org.purpurmc.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 020ba662e992f4b859eccb4b4d5c171123b097a3..38b1fce9fb3800ba2c37f3bc476f5c41fc4adb41 100644
|
||||
index 805250ab22b07918ad553869ab4391e7fa953e7e..3952c4340f84902741371e170f4be6ccc375ee22 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -2631,6 +2631,7 @@ public final class CraftServer implements Server {
|
||||
@@ -2645,6 +2645,7 @@ public final class CraftServer implements Server {
|
||||
@Override
|
||||
public double[] getTPS() {
|
||||
return new double[] {
|
||||
|
||||
@@ -27,10 +27,10 @@ index a3f04f66c66f40068792da3ef0e75e7df102b0e0..e4ee273568502f4cf4d85c5d50d5d63c
|
||||
|
||||
return true;
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index 7f71a6fe6087630987ae1815ce45dfa45e52f684..9abaecd72e40fe3629bb044e087e968c756ca337 100644
|
||||
index 7d2cc5bbeda115bae0b2cdfa89893a75de272f6b..8e88d2064f98ca9a4acff588bf6fe33abd1aa633 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -1603,4 +1603,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -1602,4 +1602,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
public boolean shouldDelayFallingBlockEntityRemoval(Entity.RemovalReason reason) {
|
||||
return false;
|
||||
}
|
||||
@@ -68,7 +68,7 @@ index 2676cddca511ea775766cec0001269407599df6e..1dacd2e3a9340420c9b4443cc2f8a3c6
|
||||
} else {
|
||||
world.setBlockAndUpdate(pos, Blocks.WATER.defaultBlockState());
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 9fa6d8f3e5a5f22fc84b64d28021fb84f3d18669..b1c72d8427a9e80cf3fac84cd88e31523cbfd8a2 100644
|
||||
index e49c2c16f6130eb1343d49d5a3972f505155aba2..e63ae0cd672f162566c8edad0b2376cab907898a 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -237,6 +237,11 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow color codes in books
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index da74c6e0e7f3fdba9b29195c17510e33ebe4cac2..8cb641008f9def46cb74b4be224b3daba64ccefe 100644
|
||||
index 96aa7a49663050e151385106ef23f64efdcc61de..651178b4ea058d8a424961ff160d161bfc3a1187 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1240,13 +1240,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1237,13 +1237,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
itemstack1.setTag(nbttagcompound.copy());
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ index da74c6e0e7f3fdba9b29195c17510e33ebe4cac2..8cb641008f9def46cb74b4be224b3dab
|
||||
|
||||
this.updateBookPages(pages, (s) -> {
|
||||
return Component.Serializer.toJson(new TextComponent(s));
|
||||
@@ -1258,10 +1261,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1255,10 +1258,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
private void updateBookPages(List<TextFilter.FilteredText> list, UnaryOperator<String> unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit
|
||||
ListTag nbttaglist = new ListTag();
|
||||
|
||||
@@ -44,7 +44,7 @@ index da74c6e0e7f3fdba9b29195c17510e33ebe4cac2..8cb641008f9def46cb74b4be224b3dab
|
||||
|
||||
Objects.requireNonNull(nbttaglist);
|
||||
stream.forEach(nbttaglist::add);
|
||||
@@ -1271,10 +1277,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1268,10 +1274,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
for (int j = list.size(); i < j; ++i) {
|
||||
TextFilter.FilteredText itextfilter_a = (TextFilter.FilteredText) list.get(i);
|
||||
@@ -57,7 +57,7 @@ index da74c6e0e7f3fdba9b29195c17510e33ebe4cac2..8cb641008f9def46cb74b4be224b3dab
|
||||
|
||||
if (!s.equals(s1)) {
|
||||
nbttagcompound.putString(String.valueOf(i), (String) unaryoperator.apply(s1));
|
||||
@@ -1290,6 +1296,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1287,6 +1293,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
this.player.getInventory().setItem(slot, CraftEventFactory.handleEditBookEvent(player, slot, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent)
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Entity lifespan
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 8cb641008f9def46cb74b4be224b3daba64ccefe..e772b87896ce878c34ad226991c6c339792195ae 100644
|
||||
index 651178b4ea058d8a424961ff160d161bfc3a1187..ffc7b49f4b3a783e37670efa935501295b6660a5 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -2517,6 +2517,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -2513,6 +2513,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
double d0 = 36.0D;
|
||||
|
||||
if (this.player.distanceToSqr(entity) < 36.0D) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index f4395b55dac3b6a5501fbe8c88006a008af0fde3..bc89ad23c1ec02a1f5a1e03b3f6f9982cc0fa1f2 100644
|
||||
index d6870a178e991bf2e07517596d12d8b3d198fa47..3e1dfe002eebb48d8ae402196deeb37d5baa3a1b 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -3936,6 +3936,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -3940,6 +3940,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
this.yRotO = this.getYRot();
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Entities can use portals configuration
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index bc89ad23c1ec02a1f5a1e03b3f6f9982cc0fa1f2..7f9cf9fdb548e1e728c39a36d47b0b8c71aea82d 100644
|
||||
index 3e1dfe002eebb48d8ae402196deeb37d5baa3a1b..2c1358794db54433cc8d98ce30ed04039b8f67f7 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -2764,7 +2764,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -17,7 +17,7 @@ index bc89ad23c1ec02a1f5a1e03b3f6f9982cc0fa1f2..7f9cf9fdb548e1e728c39a36d47b0b8c
|
||||
if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) {
|
||||
this.portalEntrancePos = pos.immutable();
|
||||
}
|
||||
@@ -3425,7 +3425,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -3429,7 +3429,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
}
|
||||
|
||||
public boolean canChangeDimensions() {
|
||||
|
||||
@@ -24,7 +24,7 @@ index 19d6165f266fcc39bc3533042109ef1b725ecb77..32bf8264fecb8873f3ffa0e57a4bb48b
|
||||
private boolean bypassArmor;
|
||||
private boolean bypassInvul;
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 7f9cf9fdb548e1e728c39a36d47b0b8c71aea82d..13f5699077a37670abf916a7a34554f898e28aa8 100644
|
||||
index 2c1358794db54433cc8d98ce30ed04039b8f67f7..b02a880dad1d7f36c918dd54788321f121053a45 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -1058,7 +1058,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -80,10 +80,10 @@ index 737d0405a195d322ffe9a57acadb9f6d645c03b8..d7bdf3c2a5b99ff7adb3e960ff356a1f
|
||||
} else if (blockState.is(Blocks.HONEY_BLOCK)) {
|
||||
return BlockPathTypes.STICKY_HONEY;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index cd6db807c50f9b6269b54a69b6601837aebd28ed..bf888a3dc060476d386d23244e2db6be70b436c4 100644
|
||||
index f8150c304346c0ccfb440588663cdc72c22cac6c..8bc029dcd80452678eead24eaca867ca9afcb5da 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -1044,6 +1044,10 @@ public class CraftEventFactory {
|
||||
@@ -1054,6 +1054,10 @@ public class CraftEventFactory {
|
||||
cause = DamageCause.MAGIC;
|
||||
} else if (source == DamageSource.IN_FIRE) {
|
||||
cause = DamageCause.FIRE;
|
||||
@@ -95,7 +95,7 @@ index cd6db807c50f9b6269b54a69b6601837aebd28ed..bf888a3dc060476d386d23244e2db6be
|
||||
throw new IllegalStateException(String.format("Unhandled damage of %s by %s from %s", entity, damager, source.msgId));
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 8455ff2aa26039940dd42e43205ad9a2164cd41f..7fd2d06df6a3b04b370204403a677109b202c355 100644
|
||||
index 1cd8358c3d9f96073224846143516097aeb8fd23..4b3c590f0f1231e164e8664f21a14c1b39d73842 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -187,6 +187,11 @@ public class PurpurConfig {
|
||||
|
||||
@@ -33,10 +33,10 @@ index 2bc77858b4a78e24227b4b096fd44177202d5292..b26d5482d89e28897bcc9dc8a15042a5
|
||||
entityageable.setBaby(true);
|
||||
entityageable.moveTo(this.getX(), this.getY(), this.getZ(), 0.0F, 0.0F);
|
||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||
index e5e4fa1865cdd903a4c543b79b4d30a2f067742d..dfcb5d9fe165852bffe2a676f134ba060ea1aa71 100644
|
||||
index 8e88d2064f98ca9a4acff588bf6fe33abd1aa633..395dde0dd9dda63df441ebf78767ceaa90eafc23 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||
@@ -188,6 +188,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -185,6 +185,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
}
|
||||
// Paper end - fix and optimise world upgrading
|
||||
|
||||
@@ -86,16 +86,16 @@ index e5e4fa1865cdd903a4c543b79b4d30a2f067742d..dfcb5d9fe165852bffe2a676f134ba06
|
||||
public CraftWorld getWorld() {
|
||||
return this.world;
|
||||
}
|
||||
@@ -323,6 +366,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
@@ -320,6 +363,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||
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
|
||||
this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
|
||||
+ this.playerBreedingCooldowns = this.getNewBreedingCooldownCache(); // Purpur
|
||||
this.generator = gen;
|
||||
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
|
||||
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 9e7544bd441041837df2327c363882b85b0ccc03..4a3acf6e9159ee6ef095a93c1f67c028c7ae8356 100644
|
||||
index 4616d5d99e08a9be8ccbee3c67046dc3226b1d7b..54ae2e855d2572a788d852d17a998311691687a0 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -109,6 +109,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -6,7 +6,7 @@ Subject: [PATCH] Spread out and optimise player list ticksSpread out and
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
index a5e4bf56f7e429738c0ba6f392315d2b33ae3925..1d7e80ddddcb7b99a1944795fcfb1ddf3cb71a48 100644
|
||||
index b69c05a7cddacfb791a4f46920677eae805ec42a..1d3692d8d533bb4c3ac18f8837aa44f8704c10be 100644
|
||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||
@@ -1011,22 +1011,22 @@ public abstract class PlayerList {
|
||||
@@ -46,10 +46,10 @@ index a5e4bf56f7e429738c0ba6f392315d2b33ae3925..1d7e80ddddcb7b99a1944795fcfb1ddf
|
||||
|
||||
public void broadcastAll(Packet<?> packet) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index b3ce4424b83d8f44f61b8923d02f2f9e4c415e67..35581fffd46a1baccd218566f3fce0333b321dc3 100644
|
||||
index 2bdc1caa5748cf947f3941b4388e9f81e4c42ce2..755316f873762f7bb988756a1103127253eec8cc 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1631,7 +1631,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1633,7 +1633,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
|
||||
@Override
|
||||
public boolean canSee(org.bukkit.entity.Entity entity) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] PlayerBookTooLargeEvent
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 8cb641008f9def46cb74b4be224b3daba64ccefe..0586314f02595d73b8268e03d650b6b2d0756dc8 100644
|
||||
index ffc7b49f4b3a783e37670efa935501295b6660a5..7aed16c2ab8cef0b7d0eef4b8b5e0845d45b79ab 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1162,10 +1162,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1159,10 +1159,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
int maxBookPageSize = com.destroystokyo.paper.PaperConfig.maxBookPageSize;
|
||||
double multiplier = Math.max(0.3D, Math.min(1D, com.destroystokyo.paper.PaperConfig.maxBookTotalSizeMultiplier));
|
||||
long byteAllowed = maxBookPageSize;
|
||||
@@ -21,7 +21,7 @@ index 8cb641008f9def46cb74b4be224b3daba64ccefe..0586314f02595d73b8268e03d650b6b2
|
||||
server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause
|
||||
return;
|
||||
}
|
||||
@@ -1189,6 +1191,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1186,6 +1188,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
if (byteTotal > byteAllowed) {
|
||||
ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size());
|
||||
|
||||
@@ -78,10 +78,10 @@ index 500a4013ce525c0474fe3991457d4c2a50ceb7ed..74de26d72e705041318beee0ebef59d6
|
||||
|
||||
blockEntity.teleportCooldown = 100;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index e14754778ca53d30fdfe7c06e31b02f88a82b765..b6ae2d263d107d5a81ea6a66fcd229b2584a9959 100644
|
||||
index 728eba385fe5c658bc61114029192295ec7ebf05..e875bc08aaecc41db09ca0ffa00ff0f1ba40d350 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -562,6 +562,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -564,6 +564,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
location.checkFinite();
|
||||
|
||||
if (this.entity.isVehicle() || this.entity.isRemoved()) {
|
||||
@@ -93,10 +93,10 @@ index e14754778ca53d30fdfe7c06e31b02f88a82b765..b6ae2d263d107d5a81ea6a66fcd229b2
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 35581fffd46a1baccd218566f3fce0333b321dc3..3e58123943be422860b6461a962670930d192f4d 100644
|
||||
index 755316f873762f7bb988756a1103127253eec8cc..703eef24baa26475e8ec5f843fbc92420599c20a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -1037,6 +1037,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -1039,6 +1039,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
}
|
||||
|
||||
if (entity.isVehicle()) {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Dont run with scissors!
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index 0586314f02595d73b8268e03d650b6b2d0756dc8..dc55854d7bc91923fca3ae86e24708c0d1c53a9c 100644
|
||||
index 7aed16c2ab8cef0b7d0eef4b8b5e0845d45b79ab..5d95ff124cfccb3d95e149a5e7cc63bef03ca471 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1595,6 +1595,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1592,6 +1592,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
this.player.resetFallDistance();
|
||||
}
|
||||
|
||||
@@ -22,7 +22,7 @@ index 0586314f02595d73b8268e03d650b6b2d0756dc8..dc55854d7bc91923fca3ae86e24708c0
|
||||
this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5);
|
||||
this.lastGoodX = this.player.getX();
|
||||
this.lastGoodY = this.player.getY();
|
||||
@@ -1628,6 +1635,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1625,6 +1632,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
}
|
||||
// Paper end - optimise out extra getCubes
|
||||
|
||||
@@ -53,10 +53,10 @@ index 32bf8264fecb8873f3ffa0e57a4bb48b5517fb77..0f56c60962b9c61c72d05edc7d9b10e9
|
||||
private boolean damageHelmet;
|
||||
private boolean bypassArmor;
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
index bf888a3dc060476d386d23244e2db6be70b436c4..4bf67cdbe9516e4d167ddcfca3d0c033a7ca5172 100644
|
||||
index 8bc029dcd80452678eead24eaca867ca9afcb5da..361bd8edcc6e6d0fbac958e3ec91d74a622d630a 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||
@@ -1124,6 +1124,10 @@ public class CraftEventFactory {
|
||||
@@ -1134,6 +1134,10 @@ public class CraftEventFactory {
|
||||
cause = DamageCause.FREEZE;
|
||||
} else if (source == DamageSource.GENERIC) {
|
||||
cause = DamageCause.CUSTOM;
|
||||
@@ -68,7 +68,7 @@ index bf888a3dc060476d386d23244e2db6be70b436c4..4bf67cdbe9516e4d167ddcfca3d0c033
|
||||
|
||||
if (cause != null) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
index 7280f023ddb2d6b1737a987bfacb4e57d0524d67..a6836b07f50baf1920d2b2491bd0685ed271c911 100644
|
||||
index b85cc48ce8334f47c1776e1e35d81003118c2318..24cca9a7a5656f50a998f2d5e357315a6a3adffa 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
|
||||
@@ -176,6 +176,7 @@ public class PurpurConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Sneak to bulk process composter
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
index 3125af569ec2bb1cd613a9dd96c3a181d723006d..c24cc105d31b4d41acf6e2ea3bc7a08a02490ca7 100644
|
||||
index cc5dbc86c8265540948e6b1445d84ecf0b7762aa..ab73f66976d3ea3fa561a4e2d8afcce8586c5b25 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
@@ -580,7 +580,7 @@ public class ServerPlayerGameMode {
|
||||
@@ -582,7 +582,7 @@ public class ServerPlayerGameMode {
|
||||
boolean flag1 = player.isSecondaryUseActive() && flag;
|
||||
ItemStack itemstack1 = stack.copy();
|
||||
|
||||
@@ -75,7 +75,7 @@ index fb8b8a9733ac50096d8406487ab1ae167ef5f7b1..16598ca0fd953b6af98dfcdb6716e2e1
|
||||
int i = (Integer) iblockdata.getValue(ComposterBlock.LEVEL);
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 007ebed0fcffb1dc4c06d4f9585c6ba88c8c9c0c..b1c81d9d7d3769c56eddab029d4d24c7dd93d350 100644
|
||||
index fb16a3541c86f73ea4922baa4e34788ee3c9112d..7a7fbc0f8d5f6e40c209666a83de9f7371f3e4d3 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -462,6 +462,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Break individual slabs when sneaking
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
index c24cc105d31b4d41acf6e2ea3bc7a08a02490ca7..0409daff0f01db6d0644934fc8ffd64b6158e378 100644
|
||||
index ab73f66976d3ea3fa561a4e2d8afcce8586c5b25..0d1a833a6568128e542bde425b0ce77b4534d144 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
@@ -418,6 +418,7 @@ public class ServerPlayerGameMode {
|
||||
@@ -420,6 +420,7 @@ public class ServerPlayerGameMode {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -47,7 +47,7 @@ index 54df5c2987822a727a31be2b3769d39fabb6159a..70b6a65a7d321fc71c98289f09f21cca
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index aa01c1d87121a761a66ca0af164d5f24bd3fd2ed..77ad69e86deb7b55d5d5bd96c92dc93b02c28be0 100644
|
||||
index 4f913ecf1d259badb7eaf584da57ff8327e0e66b..036b6f987a8fc966539795ab22bdf505e48bdd1f 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -582,6 +582,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -9,10 +9,10 @@ creating an itemstack using the TileEntity's NBT data (how it handles it for
|
||||
creative players) instead of routing it through the LootableBuilder.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
index 0409daff0f01db6d0644934fc8ffd64b6158e378..7649742f5e37d875e79c169c709ae82529b0db77 100644
|
||||
index 0d1a833a6568128e542bde425b0ce77b4534d144..5524d85aaf3fc8c0bc561fa4a88e82d416fab83d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
@@ -447,7 +447,7 @@ public class ServerPlayerGameMode {
|
||||
@@ -449,7 +449,7 @@ public class ServerPlayerGameMode {
|
||||
block.destroy(this.level, pos, iblockdata);
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ index 7f1230d915c98b6f30b13a06c2788bc2f7b7e912..9439119a70a411b1a7d9cd6a0090e413
|
||||
blockEntity.saveToItem(itemStack);
|
||||
if (shulkerBoxBlockEntity.hasCustomName()) {
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index de1b73bea9d61b14df93bfdb7cf86c242e475d8b..2a7b4120502d72f4f5ce0cdccc084c0a5bc6bf83 100644
|
||||
index 6ccfbcf813fb2262f4cdf33513cf9d208a7d2a00..476b6018dc378599902d895f05e3e5babcec1a9d 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -653,6 +653,11 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight
|
||||
Co-authored by: Encode42 <me@encode42.dev>
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
index 994fa9a62936314420f124d8fa48af585439f91b..b80927752acd563c944ef6928db55e5c99e1a96c 100644
|
||||
index e414f44168a03874910c5ebdb865fe39d91e27b7..7e85785b902a2ef72c09d53f0e24cb2ab96b0b58 100644
|
||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||
@@ -4457,5 +4457,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
@@ -4461,5 +4461,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i
|
||||
public boolean canSaveToDisk() {
|
||||
return true;
|
||||
}
|
||||
@@ -349,10 +349,10 @@ index 4b288fe8923bb4beefb88e8196bfb4d5d2b10b8b..e4e357af439c9a02b8013ce3349ff582
|
||||
// Paper end
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
index b6ae2d263d107d5a81ea6a66fcd229b2584a9959..22f19467e0d5e0ab96e1f696d7aa22c4e6c361f0 100644
|
||||
index e875bc08aaecc41db09ca0ffa00ff0f1ba40d350..f46ce327586781f74d8feb47e6a904d732888289 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||
@@ -197,6 +197,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
@@ -199,6 +199,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||
this.entity = entity;
|
||||
}
|
||||
|
||||
|
||||
@@ -26,10 +26,10 @@ index 3b25bbb0cc86c8fba1fb770556c0f8c9ef6ac46e..15a8c193d7f5a0dda7e3d2d1aa967a91
|
||||
} else {
|
||||
if (fallDistance >= 2.0F) {
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 3e58123943be422860b6461a962670930d192f4d..57f53ad50e3f26c9301f16f0d6b25f1cd1bebaa5 100644
|
||||
index 703eef24baa26475e8ec5f843fbc92420599c20a..91d3c8110a3a185780b77c7377640b244af961a2 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2742,5 +2742,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2744,5 +2744,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) {
|
||||
getHandle().spawnInvulnerableTime = spawnInvulnerableTime;
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Armor click equip options
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
index 7649742f5e37d875e79c169c709ae82529b0db77..61d0fcaf3c96a2b241b35b2b21104b9fbf403160 100644
|
||||
index 5524d85aaf3fc8c0bc561fa4a88e82d416fab83d..7b09735818f027aced43158978bc54795618b64b 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
@@ -497,7 +497,7 @@ public class ServerPlayerGameMode {
|
||||
@@ -499,7 +499,7 @@ public class ServerPlayerGameMode {
|
||||
return interactionresultwrapper.getResult();
|
||||
} else {
|
||||
player.setItemInHand(hand, itemstack1);
|
||||
@@ -58,7 +58,7 @@ index 42f79d418ec4e2dbeac9a217d9dc144cda2ef714..250c0e31825f772d3fee7a523f150cb2
|
||||
return InteractionResultHolder.fail(itemStack);
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 59cee8f525b3158d1c69c10b8e1460ccb254c7f5..c3a24784e980d38ef5899985e72cd206ab5e8939 100644
|
||||
index 10dcb1623caa995922bba0a96f73907e05772e9c..d8fb8dc520ba0b88239c0d4c3f731c0567c422cd 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -383,6 +383,8 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -6,10 +6,10 @@ Subject: [PATCH] option to disable shulker box items from dropping contents
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java
|
||||
index 893d5bf448ddbccb30db0ee751c7f4a4e83634b9..b7a7d9ef5f7c8fecb5625a98471314b6f5fc9a42 100644
|
||||
index 8f3b9b8784f0d7b137a1ad87655ee8bad801b59d..8a5f6d955577a8f8a63a846169a63fe9685b6321 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/BlockItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/BlockItem.java
|
||||
@@ -293,7 +293,7 @@ public class BlockItem extends Item {
|
||||
@@ -294,7 +294,7 @@ public class BlockItem extends Item {
|
||||
|
||||
@Override
|
||||
public void onDestroyed(ItemEntity entity) {
|
||||
@@ -19,7 +19,7 @@ index 893d5bf448ddbccb30db0ee751c7f4a4e83634b9..b7a7d9ef5f7c8fecb5625a98471314b6
|
||||
CompoundTag nbttagcompound = BlockItem.getBlockEntityData(itemstack);
|
||||
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 3b9114e3c0789eeb6edcd49400c7ece14dc9d7a9..0077e4e3f5dbf1a5a692f5cbeeb8e72b8a737070 100644
|
||||
index 719612684b4d5f72589576bb69c2d6c908bdc485..0b14878546df0217fa83eabfc26f6ede84f8ebb2 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -213,6 +213,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Extended OfflinePlayer API
|
||||
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
|
||||
index 88bc0807e8bf66a65422f85f1112336334eb3de2..d0e822b329085b9d0a42276c3cacd6cb36548246 100644
|
||||
index 1f2bc88d4570c6ef00e67a772b745e0b0c98e051..f505e871a9836503377f168c31c1f09f8ed591f0 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java
|
||||
@@ -525,4 +525,213 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
|
||||
@@ -528,4 +528,213 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa
|
||||
manager.save();
|
||||
}
|
||||
}
|
||||
@@ -223,10 +223,10 @@ index 88bc0807e8bf66a65422f85f1112336334eb3de2..d0e822b329085b9d0a42276c3cacd6cb
|
||||
+ // Purpur end - OfflinePlayer API
|
||||
}
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
index 57f53ad50e3f26c9301f16f0d6b25f1cd1bebaa5..1bfc4c8156ebcab30a7009f5daaf5ebcd59aed45 100644
|
||||
index 91d3c8110a3a185780b77c7377640b244af961a2..d7008f2a1f647ae042eb7e25068b942e39e4b728 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
||||
@@ -2005,6 +2005,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
@@ -2007,6 +2007,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
||||
return this.getHandle().getAbilities().walkingSpeed * 2f;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ index 4adfc26062b322443828e94e6b0943884a18846b..0d9ecca25bff63f3428ccf93e2789fca
|
||||
} else if (this.isFuel(itemstack1)) {
|
||||
if (!this.moveItemStackTo(itemstack1, 1, 2, false)) {
|
||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
|
||||
index 0d9b592ebfd22dc679ba7dbfd339db4d6bc5ad44..f5fd6e0fd67c1b760000c2e75ce09d1c680b4cf6 100644
|
||||
index 974f9461ee0932e8870520c0cd93d3e62f6a2157..f11ec870135e9cccaeb209c76fd4ee0d62f465a2 100644
|
||||
--- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
|
||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
|
||||
@@ -205,6 +205,22 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
|
||||
@@ -51,10 +51,10 @@ index 0d9b592ebfd22dc679ba7dbfd339db4d6bc5ad44..f5fd6e0fd67c1b760000c2e75ce09d1c
|
||||
private int maxStack = MAX_STACK;
|
||||
public List<HumanEntity> transaction = new java.util.ArrayList<HumanEntity>();
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
index f69fc2e41a5a319e7e790d6ba0f7c85604787ab5..9b474cebe9999068384e810b5f14d6b3a049a564 100644
|
||||
index 3952c4340f84902741371e170f4be6ccc375ee22..4f4d35a988e11a19ecdc4ed1215743be0737c1e0 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||
@@ -1444,6 +1444,19 @@ public final class CraftServer implements Server {
|
||||
@@ -1425,6 +1425,19 @@ public final class CraftServer implements Server {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Shift right click to use exp for mending
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
index 61d0fcaf3c96a2b241b35b2b21104b9fbf403160..c5c7fd414953fb432549e46918fe7e32ff587e6b 100644
|
||||
index 7b09735818f027aced43158978bc54795618b64b..29329381ee67a409ed6b324c8c1f0d7ae05970da 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
|
||||
@@ -524,6 +524,7 @@ public class ServerPlayerGameMode {
|
||||
@@ -526,6 +526,7 @@ public class ServerPlayerGameMode {
|
||||
public InteractionHand interactHand;
|
||||
public ItemStack interactItemStack;
|
||||
public InteractionResult useItemOn(ServerPlayer player, Level world, ItemStack stack, InteractionHand hand, BlockHitResult hitResult) {
|
||||
@@ -16,7 +16,7 @@ index 61d0fcaf3c96a2b241b35b2b21104b9fbf403160..c5c7fd414953fb432549e46918fe7e32
|
||||
BlockPos blockposition = hitResult.getBlockPos();
|
||||
BlockState iblockdata = world.getBlockState(blockposition);
|
||||
InteractionResult enuminteractionresult = InteractionResult.PASS;
|
||||
@@ -617,4 +618,18 @@ public class ServerPlayerGameMode {
|
||||
@@ -619,4 +620,18 @@ public class ServerPlayerGameMode {
|
||||
public void setLevel(ServerLevel world) {
|
||||
this.level = world;
|
||||
}
|
||||
@@ -36,10 +36,10 @@ index 61d0fcaf3c96a2b241b35b2b21104b9fbf403160..c5c7fd414953fb432549e46918fe7e32
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
index dc55854d7bc91923fca3ae86e24708c0d1c53a9c..f05912f1dea06105a2c3b2248e19d640f082dbc3 100644
|
||||
index 5d95ff124cfccb3d95e149a5e7cc63bef03ca471..84de797d405b55cd82d2c9068b924e7fd450e996 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -1966,6 +1966,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -1962,6 +1962,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
|
||||
boolean cancelled;
|
||||
if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) {
|
||||
|
||||
@@ -7,10 +7,10 @@ Makes it so that when a BlockEntity is placed in the world and then broken,
|
||||
the dropped ItemStack retains any original custom display name/lore.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java
|
||||
index b7a7d9ef5f7c8fecb5625a98471314b6f5fc9a42..326c3b9e2ee25dded8f0f3878be78b23d5ec11d0 100644
|
||||
index 8a5f6d955577a8f8a63a846169a63fe9685b6321..eb595d1b6ef59ca18ce1c3c3ccd2aa05242ebe65 100644
|
||||
--- a/src/main/java/net/minecraft/world/item/BlockItem.java
|
||||
+++ b/src/main/java/net/minecraft/world/item/BlockItem.java
|
||||
@@ -150,7 +150,24 @@ public class BlockItem extends Item {
|
||||
@@ -151,7 +151,24 @@ public class BlockItem extends Item {
|
||||
}
|
||||
|
||||
protected boolean updateCustomBlockEntityTag(BlockPos pos, Level world, @Nullable Player player, ItemStack stack, BlockState state) {
|
||||
@@ -200,7 +200,7 @@ index 5601d0c2fe635a2a4f073c333531e1a8adf1833c..9e7d2fbdfa89736807d2025a5814ddd8
|
||||
+ // Purpur end
|
||||
}
|
||||
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
index 410f15b1aa575cba890ec1ed66476cc4fa03797e..a37c61807883ed31032a47794b3259fa78e887a6 100644
|
||||
index f1d8ddc36abfd278cc7d956f5fe980e0d1bcafeb..7b76d4f6ad4425b38f018f5dd1632b4801804013 100644
|
||||
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
|
||||
@@ -124,6 +124,7 @@ public class PurpurWorldConfig {
|
||||
|
||||
@@ -17,10 +17,10 @@ index f300589fad36c5c9768474a13db74144b760c2a5..61b0b0a847042557d7b9cd20f0ad51f0
|
||||
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 0439bfb0cba7e3a4c80668f32ae8fbe1e1bf8e4e..bfa9fa16ec033570162acd015a6b2da721a0e9ee 100644
|
||||
index 84de797d405b55cd82d2c9068b924e7fd450e996..058c45ee30e687165d837980f7aed229475a4ea3 100644
|
||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||
@@ -3167,11 +3167,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
@@ -3163,11 +3163,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser
|
||||
}
|
||||
// Paper end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user