mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@ae001ae Fix untrack event not being called for all 'untracks' (#10110) PaperMC/Paper@259bc76 Pass system properties to maven repo session (#10117) PaperMC/Paper@b2a6d57 Validate ResourceLocation in NBT reading PaperMC/Paper@7eaff48 [ci skip] Replace some magic values with constant references PaperMC/Paper@19a6202 Fix experience & improvements to block events (#8067) PaperMC/Paper@8379027 Fix cmd permission levels for command blocks (#7404) PaperMC/Paper@a93acc4 Fix EntityChangePoseEvent being called during worldgen (#10120) PaperMC/Paper@25a99b1 Fix BlockDestroyEvents effectBlock not being set (#10131)
This commit is contained in:
@@ -2,7 +2,7 @@ group = org.purpurmc.purpur
|
|||||||
version = 1.20.4-R0.1-SNAPSHOT
|
version = 1.20.4-R0.1-SNAPSHOT
|
||||||
|
|
||||||
mcVersion = 1.20.4
|
mcVersion = 1.20.4
|
||||||
paperCommit = 1fa48d140c5469d894b436a7ba0cb5cb6f819ee0
|
paperCommit = 25a99b12e8b18d13f1e69d40f810f9c2d8f2b9c0
|
||||||
|
|
||||||
org.gradle.caching = true
|
org.gradle.caching = true
|
||||||
org.gradle.parallel = true
|
org.gradle.parallel = true
|
||||||
|
|||||||
@@ -17,10 +17,10 @@ index 301e82369603f3dd6e6c1bd380da4bacacd7ef6c..0c6ca7588fb3d6b6497ddf032fe75e5c
|
|||||||
/**
|
/**
|
||||||
* This class was not meant to be constructed explicitly
|
* This class was not meant to be constructed explicitly
|
||||||
diff --git a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java b/src/main/java/org/bukkit/plugin/java/LibraryLoader.java
|
diff --git a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java b/src/main/java/org/bukkit/plugin/java/LibraryLoader.java
|
||||||
index e4b6f278a811acbb0070e311c5c3bdaff7b00474..ee83ecb054099cb85168a9499dfe967a0a9ec796 100644
|
index 653135352c104a6ddeb74a1b6d4916c6952d6271..46b0d02aa759b3735e6ac811523d459cf263aa8b 100644
|
||||||
--- a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java
|
--- a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java
|
||||||
+++ b/src/main/java/org/bukkit/plugin/java/LibraryLoader.java
|
+++ b/src/main/java/org/bukkit/plugin/java/LibraryLoader.java
|
||||||
@@ -65,6 +65,7 @@ public class LibraryLoader
|
@@ -66,6 +66,7 @@ public class LibraryLoader
|
||||||
@Override
|
@Override
|
||||||
public void transferStarted(@NotNull TransferEvent event) throws TransferCancelledException
|
public void transferStarted(@NotNull TransferEvent event) throws TransferCancelledException
|
||||||
{
|
{
|
||||||
@@ -28,7 +28,7 @@ index e4b6f278a811acbb0070e311c5c3bdaff7b00474..ee83ecb054099cb85168a9499dfe967a
|
|||||||
logger.log( Level.INFO, "Downloading {0}", event.getResource().getRepositoryUrl() + event.getResource().getResourceName() );
|
logger.log( Level.INFO, "Downloading {0}", event.getResource().getRepositoryUrl() + event.getResource().getResourceName() );
|
||||||
}
|
}
|
||||||
} );
|
} );
|
||||||
@@ -80,6 +81,7 @@ public class LibraryLoader
|
@@ -81,6 +82,7 @@ public class LibraryLoader
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@@ -36,7 +36,7 @@ index e4b6f278a811acbb0070e311c5c3bdaff7b00474..ee83ecb054099cb85168a9499dfe967a
|
|||||||
logger.log( Level.INFO, "[{0}] Loading {1} libraries... please wait", new Object[]
|
logger.log( Level.INFO, "[{0}] Loading {1} libraries... please wait", new Object[]
|
||||||
{
|
{
|
||||||
java.util.Objects.requireNonNullElseGet(desc.getPrefix(), desc::getName), desc.getLibraries().size() // Paper - use configured log prefix
|
java.util.Objects.requireNonNullElseGet(desc.getPrefix(), desc::getName), desc.getLibraries().size() // Paper - use configured log prefix
|
||||||
@@ -118,6 +120,7 @@ public class LibraryLoader
|
@@ -119,6 +121,7 @@ public class LibraryLoader
|
||||||
}
|
}
|
||||||
|
|
||||||
jarFiles.add( url );
|
jarFiles.add( url );
|
||||||
|
|||||||
@@ -1540,7 +1540,7 @@ index 58536aabf607015939a1326f80207c0a06eed8ff..3b8c810a228a59bf02a8557b229e5eca
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
index d9cd497bc1b654030ff1a597f038b6a881df9f6b..da1dc26ce76cab20bb56d5a5d806410857f38ea6 100644
|
index ecb09c74153349e78bb81d1188c282e4be4000bf..d84b99a8c15f35dc7fa70d250d3cb845b7851880 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
@@ -243,7 +243,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
@@ -243,7 +243,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||||
@@ -1552,7 +1552,7 @@ index d9cd497bc1b654030ff1a597f038b6a881df9f6b..da1dc26ce76cab20bb56d5a5d8064108
|
|||||||
// Paper end - optimise chunk tick iteration
|
// Paper end - optimise chunk tick iteration
|
||||||
|
|
||||||
public ChunkMap(ServerLevel world, LevelStorageSource.LevelStorageAccess session, DataFixer dataFixer, StructureTemplateManager structureTemplateManager, Executor executor, BlockableEventLoop<Runnable> mainThreadExecutor, LightChunkGetter chunkProvider, ChunkGenerator chunkGenerator, ChunkProgressListener worldGenerationProgressListener, ChunkStatusUpdateListener chunkStatusChangeListener, Supplier<DimensionDataStorage> persistentStateManagerFactory, int viewDistance, boolean dsync) {
|
public ChunkMap(ServerLevel world, LevelStorageSource.LevelStorageAccess session, DataFixer dataFixer, StructureTemplateManager structureTemplateManager, Executor executor, BlockableEventLoop<Runnable> mainThreadExecutor, LightChunkGetter chunkProvider, ChunkGenerator chunkGenerator, ChunkProgressListener worldGenerationProgressListener, ChunkStatusUpdateListener chunkStatusChangeListener, Supplier<DimensionDataStorage> persistentStateManagerFactory, int viewDistance, boolean dsync) {
|
||||||
@@ -1463,8 +1463,28 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
@@ -1458,8 +1458,28 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||||
return ChunkMap.this.level.getServer().getScaledTrackingDistance(initialDistance);
|
return ChunkMap.this.level.getServer().getScaledTrackingDistance(initialDistance);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1581,7 +1581,7 @@ index d9cd497bc1b654030ff1a597f038b6a881df9f6b..da1dc26ce76cab20bb56d5a5d8064108
|
|||||||
Iterator iterator = this.entity.getIndirectPassengers().iterator();
|
Iterator iterator = this.entity.getIndirectPassengers().iterator();
|
||||||
|
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
@@ -1476,6 +1496,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
@@ -1471,6 +1491,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||||
i = j;
|
i = j;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1718,7 +1718,7 @@ index 35674f92a67f93382103c2766df4b678ba5c862f..d46e61640b241d32df05240dedd2c23f
|
|||||||
this.wasOnGround = this.entity.onGround();
|
this.wasOnGround = this.entity.onGround();
|
||||||
this.teleportDelay = 0;
|
this.teleportDelay = 0;
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
index 676087c3addd712939c865b39ddb5d9f0bc7ce25..2f89625c216e9751423c623b6e88b98c87d9a00b 100644
|
index 7c31f619a6e8e3539c547fc43d821d2cce7df7e7..1b98a2b6a787d3d2490f84b083c162ceef8e6d0d 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
@@ -900,6 +900,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
@@ -900,6 +900,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||||
@@ -1898,7 +1898,7 @@ index d6cbe98e67fdbf8db46338a88ab1356dd63b50a3..20dd3a63b2f955b05a75eb240e33ae4c
|
|||||||
int LARGE_MAX_STACK_SIZE = 64;
|
int LARGE_MAX_STACK_SIZE = 64;
|
||||||
int DEFAULT_DISTANCE_LIMIT = 8;
|
int DEFAULT_DISTANCE_LIMIT = 8;
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 0c46a4aeafd03fbbfd590b0362d41bf2b1d5ca74..b8810cce6f4995d78dca3691b0a1cbd133a05e06 100644
|
index 1be10c57e374ad4018c08d96cfb69397a2f541d3..5cbe6cb0676ac23e184e7586e2dacbbc1d5fb218 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -307,7 +307,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -307,7 +307,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
@@ -1923,7 +1923,7 @@ index 0c46a4aeafd03fbbfd590b0362d41bf2b1d5ca74..b8810cce6f4995d78dca3691b0a1cbd1
|
|||||||
public float getBukkitYaw() {
|
public float getBukkitYaw() {
|
||||||
return this.yRot;
|
return this.yRot;
|
||||||
}
|
}
|
||||||
@@ -802,6 +808,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -806,6 +812,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
}
|
}
|
||||||
|
|
||||||
public void tick() {
|
public void tick() {
|
||||||
@@ -1936,7 +1936,7 @@ index 0c46a4aeafd03fbbfd590b0362d41bf2b1d5ca74..b8810cce6f4995d78dca3691b0a1cbd1
|
|||||||
this.baseTick();
|
this.baseTick();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4399,16 +4411,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -4410,16 +4422,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
|
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
|
||||||
@@ -1962,7 +1962,7 @@ index 0c46a4aeafd03fbbfd590b0362d41bf2b1d5ca74..b8810cce6f4995d78dca3691b0a1cbd1
|
|||||||
double d1 = 0.0D;
|
double d1 = 0.0D;
|
||||||
boolean flag = this.isPushedByFluid();
|
boolean flag = this.isPushedByFluid();
|
||||||
boolean flag1 = false;
|
boolean flag1 = false;
|
||||||
@@ -4416,14 +4430,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -4427,14 +4441,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
int k1 = 0;
|
int k1 = 0;
|
||||||
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
|
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
|
||||||
|
|
||||||
@@ -2030,7 +2030,7 @@ index 0c46a4aeafd03fbbfd590b0362d41bf2b1d5ca74..b8810cce6f4995d78dca3691b0a1cbd1
|
|||||||
|
|
||||||
if (d2 >= axisalignedbb.minY) {
|
if (d2 >= axisalignedbb.minY) {
|
||||||
flag1 = true;
|
flag1 = true;
|
||||||
@@ -4445,9 +4506,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -4456,9 +4517,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2044,7 +2044,7 @@ index 0c46a4aeafd03fbbfd590b0362d41bf2b1d5ca74..b8810cce6f4995d78dca3691b0a1cbd1
|
|||||||
if (vec3d.length() > 0.0D) {
|
if (vec3d.length() > 0.0D) {
|
||||||
if (k1 > 0) {
|
if (k1 > 0) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
index 940b8d0b89d7e55c938aefbe80ee71b0db3dacb8..a63399eedb896c06e96c7fba5cac7102e1c40ba6 100644
|
index 00389d7ec3e8b059d5591a2019ba240fda2901fe..81e1854bdce8136f7fee9a25ca76ed356dea18e6 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
@@ -305,6 +305,8 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
@@ -305,6 +305,8 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||||
@@ -2119,7 +2119,7 @@ index bc908b75cb99536df658281ae7f8b4eeedbbedc9..0a9a77564d624d66e76637eef509e2f3
|
|||||||
if (this.isSpectator()) {
|
if (this.isSpectator()) {
|
||||||
return false;
|
return false;
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
index e0cf7771488ab0065708d68b4e8550b865af0ed4..6df13ebec8fbb11eb6e2b7469f9e4ebb44256894 100644
|
index a7fbd329ea6d36a46c00b4476c74e426dbbfe238..40fbf1bc4409c289fe9ca154ff306be52708540d 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
@@ -221,14 +221,16 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
@@ -221,14 +221,16 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||||
@@ -2680,7 +2680,7 @@ index 27b0a79f7a7c47047216aae42944bac2a2151181..a097cfc528f709c80575f35483b68783
|
|||||||
autorecipestackmanager.initialize(this); // Paper - better exact choice recipes
|
autorecipestackmanager.initialize(this); // Paper - better exact choice recipes
|
||||||
int i = 0;
|
int i = 0;
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index 8848eeda7a89d445e370626182f9bb4710e5edd4..2e14e03d01c97b9da97e8e15c663262d22b1b3fc 100644
|
index 6403341f2e9d7ac4251336cb0bcc5d79dbb7bb0e..ff5880cd1aef52b9df435c8c5935295b116580d2 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -213,6 +213,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -213,6 +213,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
@@ -2692,7 +2692,7 @@ index 8848eeda7a89d445e370626182f9bb4710e5edd4..2e14e03d01c97b9da97e8e15c663262d
|
|||||||
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor
|
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, RegistryAccess iregistrycustom, Holder<DimensionType> holder, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function<org.spigotmc.SpigotWorldConfig, io.papermc.paper.configuration.WorldConfiguration> paperWorldConfigCreator, 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.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
|
||||||
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper
|
this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper
|
||||||
@@ -1313,13 +1315,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -1318,13 +1320,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
try {
|
try {
|
||||||
tickConsumer.accept(entity);
|
tickConsumer.accept(entity);
|
||||||
MinecraftServer.getServer().executeMidTickTasks(); // Paper - execute chunk tasks mid tick
|
MinecraftServer.getServer().executeMidTickTasks(); // Paper - execute chunk tasks mid tick
|
||||||
@@ -2708,7 +2708,7 @@ index 8848eeda7a89d445e370626182f9bb4710e5edd4..2e14e03d01c97b9da97e8e15c663262d
|
|||||||
// Paper end
|
// Paper end
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1793,6 +1795,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -1798,6 +1800,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProfilerFiller getProfiler() {
|
public ProfilerFiller getProfiler() {
|
||||||
|
|||||||
@@ -37,10 +37,10 @@ index 692c962193cf9fcc6801fc93f3220bdc673d527b..8cde30544e14f8fc2dac32966ae3c21f
|
|||||||
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
|
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
|
||||||
Map<String, Map<String, Integer>> map = new HashMap<>();
|
Map<String, Map<String, Integer>> map = new HashMap<>();
|
||||||
diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
||||||
index 14f4c0a93372a58cf36dc95265b5e210ea1605e5..ff27787313a3337e29eac6f623b08f1f333f293c 100644
|
index 37ba8fd69a0099f80bdf7c28b593241f1f5d681f..2944b64e3dd5d413ccc12330118eb5248888e21f 100644
|
||||||
--- a/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
--- a/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
||||||
+++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
+++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
||||||
@@ -322,6 +322,30 @@ public class CommandSourceStack implements ExecutionCommandSource<CommandSourceS
|
@@ -335,6 +335,30 @@ public class CommandSourceStack implements ExecutionCommandSource<CommandSourceS
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -92,7 +92,7 @@ index 3b8c810a228a59bf02a8557b229e5eca56c16562..5ebe7e5c4f12ccb8a91a1e6a0f029d0f
|
|||||||
io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider
|
io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider
|
||||||
// Paper end
|
// Paper end
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index 879f9ba2395b2856e8cd0c78a2b25782e29a7234..b13b0be860df85af973c36f0ef10bfe09aa0aaf9 100644
|
index 43b7de2ef617eb249a9fbd731efa6b65e53f7cf1..6ed3b2803c22ddac4234d573cecbaa5991a320d9 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -179,6 +179,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -179,6 +179,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
@@ -112,7 +112,7 @@ index 879f9ba2395b2856e8cd0c78a2b25782e29a7234..b13b0be860df85af973c36f0ef10bfe0
|
|||||||
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
|
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
index aa4ec4d17880230bb59b0fa8aabdb2212e95015f..eb6b2727d43ca991ef99a88413de95c1546b7696 100644
|
index b3d3da00399d43fb975f2c472950d5846328b909..c6b3233e5b20143bd0566115c13fb34f46913858 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
|
||||||
@@ -1037,6 +1037,7 @@ public final class CraftServer implements Server {
|
@@ -1037,6 +1037,7 @@ public final class CraftServer implements Server {
|
||||||
|
|||||||
@@ -81,10 +81,10 @@ index 25a5a3b949a0eb632611355e74ccd4865be108ca..14fcfd7c1d3a62833978e163f4e0d6f9
|
|||||||
return this.type().msgId();
|
return this.type().msgId();
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index b8810cce6f4995d78dca3691b0a1cbd133a05e06..acb0f8ff57e4e08bdbcb93994064d9d216ac69b5 100644
|
index 5cbe6cb0676ac23e184e7586e2dacbbc1d5fb218..4bcd36f4767975e87ec6ed12a3c80e834e2d497b 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -4137,6 +4137,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -4141,6 +4141,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
return SlotAccess.NULL;
|
return SlotAccess.NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ index 6e8d7a22e9301704fd8d3e08e806b186f2578038..2dd32f61efa12689b08a54f30deac397
|
|||||||
this.profiler.push(() -> {
|
this.profiler.push(() -> {
|
||||||
return worldserver + " " + worldserver.dimension().location();
|
return worldserver + " " + worldserver.dimension().location();
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
index 53e00bb94fd6af9197422218aa92acde897f1aa9..9ded11bdbaf98948a1451e15a237f8423c8cc36d 100644
|
index 3ff4c4835029ff6010ac28f933952b56bb823452..6ae230859458b3bf7171577e34c3b6351fa842df 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
@@ -225,6 +225,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
@@ -225,6 +225,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||||
@@ -46,7 +46,7 @@ index 53e00bb94fd6af9197422218aa92acde897f1aa9..9ded11bdbaf98948a1451e15a237f842
|
|||||||
final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date());
|
final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date());
|
||||||
io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(thr);
|
io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(thr);
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
index ae9dfb2719ff2372e3a73adc2163330db886dfbe..f709667d2efab5f7dac22bb6e4b0bf32917f71e4 100644
|
index 257675e0f3d44dec2d532161713609502b2ae868..a3b4ed70b7d7012a72d5997c04821871d029d18b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
||||||
@@ -763,6 +763,15 @@ public class ServerPlayer extends Player {
|
@@ -763,6 +763,15 @@ public class ServerPlayer extends Player {
|
||||||
@@ -66,7 +66,7 @@ index ae9dfb2719ff2372e3a73adc2163330db886dfbe..f709667d2efab5f7dac22bb6e4b0bf32
|
|||||||
|
|
||||||
public void doTick() {
|
public void doTick() {
|
||||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
index ce4c0a721c148ffb3c91d6a59189925aa7a1d766..741b108b2c6ed243c8f4e9124a31a3005e0ce594 100644
|
index df07e24ad5e1eaf5211d307965107ec1776cfa19..748c48a5facc24abb106eded9d5f034b5c36757e 100644
|
||||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
@@ -2722,6 +2722,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
@@ -2722,6 +2722,8 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||||
@@ -79,7 +79,7 @@ index ce4c0a721c148ffb3c91d6a59189925aa7a1d766..741b108b2c6ed243c8f4e9124a31a300
|
|||||||
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)) {
|
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)) {
|
||||||
entity.getEntityData().resendPossiblyDesyncedEntity(player); // Paper - The entire mob gets deleted, so resend it.
|
entity.getEntityData().resendPossiblyDesyncedEntity(player); // Paper - The entire mob gets deleted, so resend it.
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index acb0f8ff57e4e08bdbcb93994064d9d216ac69b5..7fc1887f68092da224a1ea1c56de474b471a8aee 100644
|
index 4bcd36f4767975e87ec6ed12a3c80e834e2d497b..0bc1c009424ce4e8bc61232b5ffd40db1ae3f262 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -377,7 +377,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -377,7 +377,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
@@ -91,7 +91,7 @@ index acb0f8ff57e4e08bdbcb93994064d9d216ac69b5..7fc1887f68092da224a1ea1c56de474b
|
|||||||
private float eyeHeight;
|
private float eyeHeight;
|
||||||
public boolean isInPowderSnow;
|
public boolean isInPowderSnow;
|
||||||
public boolean wasInPowderSnow;
|
public boolean wasInPowderSnow;
|
||||||
@@ -3008,6 +3008,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -3012,6 +3012,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
this.passengers = ImmutableList.copyOf(list);
|
this.passengers = ImmutableList.copyOf(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -105,7 +105,7 @@ index acb0f8ff57e4e08bdbcb93994064d9d216ac69b5..7fc1887f68092da224a1ea1c56de474b
|
|||||||
this.gameEvent(GameEvent.ENTITY_MOUNT, passenger);
|
this.gameEvent(GameEvent.ENTITY_MOUNT, passenger);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3048,6 +3055,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -3052,6 +3059,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// Spigot end
|
// Spigot end
|
||||||
@@ -120,7 +120,7 @@ index acb0f8ff57e4e08bdbcb93994064d9d216ac69b5..7fc1887f68092da224a1ea1c56de474b
|
|||||||
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
if (this.passengers.size() == 1 && this.passengers.get(0) == entity) {
|
||||||
this.passengers = ImmutableList.of();
|
this.passengers = ImmutableList.of();
|
||||||
} else {
|
} else {
|
||||||
@@ -4989,4 +5004,44 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -5000,4 +5015,44 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
@@ -268,7 +268,7 @@ index 0a9a77564d624d66e76637eef509e2f321333dc6..5e64293b7392e5a4b19a4c7303b0365d
|
|||||||
// Paper end
|
// Paper end
|
||||||
if (!this.level().isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) {
|
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
|
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
index 6df13ebec8fbb11eb6e2b7469f9e4ebb44256894..62eba7fc2fd013bf17496896c2b7a88c95c070f1 100644
|
index 40fbf1bc4409c289fe9ca154ff306be52708540d..f17b7e83a04a2cd738f7d708891fec2e341f3f96 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
@@ -148,8 +148,8 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
@@ -148,8 +148,8 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||||
@@ -5204,7 +5204,7 @@ index 1c3e1153d08b59d29b3613fc3b50a4780aa7a3ac..7c8b90444aa635cddf480d49a92a180a
|
|||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||||
index a36ffbbab5bbfec5a4a224dc5ee8812b98dd4d7c..2d934ed6b21ad2df88e1389dd1aa445aa6ccd1ff 100644
|
index 2aab68bac670dcd134d817940020214c7b0797f9..11dacda7c56c1819adc0c5a420b277c8e0db0aeb 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
--- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
|
||||||
@@ -591,6 +591,15 @@ public class CraftEventFactory {
|
@@ -591,6 +591,15 @@ public class CraftEventFactory {
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ index f692149d91b525bda6dc79d489d7496ea24037e8..7fbd4bf29bcc0795aa4b0e6d5d4bc374
|
|||||||
public static final Item CRAFTING_TABLE = registerBlock(Blocks.CRAFTING_TABLE);
|
public static final Item CRAFTING_TABLE = registerBlock(Blocks.CRAFTING_TABLE);
|
||||||
public static final Item FARMLAND = registerBlock(Blocks.FARMLAND);
|
public static final Item FARMLAND = registerBlock(Blocks.FARMLAND);
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
||||||
index e8b1c44da90f60cde20cda65aba2aa1e30f89d25..c2e03881fff78aff203b5838180894bb70f419b9 100644
|
index e8b1c44da90f60cde20cda65aba2aa1e30f89d25..c55576424993236da46ed1c2ccd03b72d7ee97f9 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
--- a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
+++ b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java
|
||||||
@@ -42,6 +42,58 @@ public class SpawnerBlock extends BaseEntityBlock {
|
@@ -42,6 +42,58 @@ public class SpawnerBlock extends BaseEntityBlock {
|
||||||
@@ -27,7 +27,7 @@ index e8b1c44da90f60cde20cda65aba2aa1e30f89d25..c2e03881fff78aff203b5838180894bb
|
|||||||
|
|
||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public void playerDestroy(Level level, net.minecraft.world.entity.player.Player player, BlockPos pos, BlockState state, BlockEntity blockEntity, ItemStack stack, boolean includeDrops) {
|
+ public void playerDestroy(Level level, net.minecraft.world.entity.player.Player player, BlockPos pos, BlockState state, @Nullable BlockEntity blockEntity, ItemStack stack, boolean includeDrops, boolean dropExp) {
|
||||||
+ if (level.purpurConfig.silkTouchEnabled && player.getBukkitEntity().hasPermission("purpur.drop.spawners") && isSilkTouch(level, stack)) {
|
+ if (level.purpurConfig.silkTouchEnabled && player.getBukkitEntity().hasPermission("purpur.drop.spawners") && isSilkTouch(level, stack)) {
|
||||||
+ java.util.Optional<net.minecraft.world.entity.EntityType<?>> type = net.minecraft.world.entity.EntityType.by(((SpawnerBlockEntity) blockEntity).getSpawner().nextSpawnData.getEntityToSpawn());
|
+ java.util.Optional<net.minecraft.world.entity.EntityType<?>> type = net.minecraft.world.entity.EntityType.by(((SpawnerBlockEntity) blockEntity).getSpawner().nextSpawnData.getEntityToSpawn());
|
||||||
+
|
+
|
||||||
@@ -63,13 +63,13 @@ index e8b1c44da90f60cde20cda65aba2aa1e30f89d25..c2e03881fff78aff203b5838180894bb
|
|||||||
+ ItemStack item = new ItemStack(Blocks.SPAWNER.asItem());
|
+ ItemStack item = new ItemStack(Blocks.SPAWNER.asItem());
|
||||||
+ if (entityType != null) {
|
+ if (entityType != null) {
|
||||||
+ tag.putString("Purpur.mob_type", entityType.getName());
|
+ tag.putString("Purpur.mob_type", entityType.getName());
|
||||||
+ tag.putDouble("HideFlags", 32); // hides the "Interact with Spawn Egg" tooltip
|
+ tag.putDouble("HideFlags", ItemStack.TooltipPart.ADDITIONAL.getMask()); // hides the "Interact with Spawn Egg" tooltip
|
||||||
+ item.setTag(tag);
|
+ item.setTag(tag);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ popResource(level, pos, item);
|
+ popResource(level, pos, item);
|
||||||
+ }
|
+ }
|
||||||
+ super.playerDestroy(level, player, pos, state, blockEntity, stack, includeDrops);
|
+ super.playerDestroy(level, player, pos, state, blockEntity, stack, includeDrops, dropExp);
|
||||||
+ }
|
+ }
|
||||||
+
|
+
|
||||||
+ private boolean isSilkTouch(Level level, ItemStack stack) {
|
+ private boolean isSilkTouch(Level level, ItemStack stack) {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Skip events if there's no listeners
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
||||||
index 55f3f5396dac2b0bb0cc37b537547e9245042100..471270f302cbfaf81500976fcc5a02eaed4120f3 100644
|
index 8fe48c6bf65db6b11fcd0674aad01d5bb8d17a5f..8572142117fbc469199a538c4624b2f064e8cb6f 100644
|
||||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||||
@@ -516,6 +516,7 @@ public class Commands {
|
@@ -507,6 +507,7 @@ public class Commands {
|
||||||
private void runSync(ServerPlayer player, Collection<String> bukkit, RootCommandNode<SharedSuggestionProvider> rootcommandnode) {
|
private void runSync(ServerPlayer player, Collection<String> bukkit, RootCommandNode<SharedSuggestionProvider> rootcommandnode) {
|
||||||
// Paper end - Async command map building
|
// Paper end - Async command map building
|
||||||
new com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent<CommandSourceStack>(player.getBukkitEntity(), (RootCommandNode) rootcommandnode, false).callEvent(); // Paper
|
new com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent<CommandSourceStack>(player.getBukkitEntity(), (RootCommandNode) rootcommandnode, false).callEvent(); // Paper
|
||||||
@@ -16,7 +16,7 @@ index 55f3f5396dac2b0bb0cc37b537547e9245042100..471270f302cbfaf81500976fcc5a02ea
|
|||||||
PlayerCommandSendEvent event = new PlayerCommandSendEvent(player.getBukkitEntity(), new LinkedHashSet<>(bukkit));
|
PlayerCommandSendEvent event = new PlayerCommandSendEvent(player.getBukkitEntity(), new LinkedHashSet<>(bukkit));
|
||||||
event.getPlayer().getServer().getPluginManager().callEvent(event);
|
event.getPlayer().getServer().getPluginManager().callEvent(event);
|
||||||
|
|
||||||
@@ -526,6 +527,7 @@ public class Commands {
|
@@ -517,6 +518,7 @@ public class Commands {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Configurable void damage height and damage
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 5cc0caee5ba7d63fb1ec4144623ec9a94401c86c..ed1d9e97d0892e2c51915b1b8636791ea261943b 100644
|
index 59ff2180e0c621cc821affb34aa051ac017f9431..bc1033008eb893ef94f0abb7a0309d787bcde8f0 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -897,7 +897,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -901,7 +901,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
|
|
||||||
public void checkBelowWorld() {
|
public void checkBelowWorld() {
|
||||||
// Paper start - Configurable nether ceiling damage
|
// Paper start - Configurable nether ceiling damage
|
||||||
@@ -18,7 +18,7 @@ index 5cc0caee5ba7d63fb1ec4144623ec9a94401c86c..ed1d9e97d0892e2c51915b1b8636791e
|
|||||||
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
|
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
|
||||||
// Paper end
|
// Paper end
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 4d0332666d705610d3e48c96462ef655f2fd2ed5..0b5e92a5b631da4c9b700e3d65297d639f792986 100644
|
index d6aef7ea15df04046b005d4d5d747ef70b846385..abd146185cfd512c23367d478f269a9c4a35f086 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -2540,7 +2540,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
@@ -2540,7 +2540,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
|
|||||||
@@ -27,10 +27,10 @@ index aa0f09a18ea781e027ea70928b30d3e93061120f..5cb8f1e13f4889792395d6b498c0ade2
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index ea437adbb8a96c27fb2dd5de8c4ccda3489eddd0..faff675121dd1d0064376e0281bb357f78119097 100644
|
index 6ed3b2803c22ddac4234d573cecbaa5991a320d9..f0d9c35062983b0308820feee621caf6e4a6648a 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -1909,4 +1909,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -1914,4 +1914,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Paper end - notify observers even if grow failed
|
// Paper end - notify observers even if grow failed
|
||||||
@@ -46,7 +46,7 @@ index ea437adbb8a96c27fb2dd5de8c4ccda3489eddd0..faff675121dd1d0064376e0281bb357f
|
|||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/IceBlock.java b/src/main/java/net/minecraft/world/level/block/IceBlock.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/IceBlock.java b/src/main/java/net/minecraft/world/level/block/IceBlock.java
|
||||||
index 4ab6997dad5b112f5105f786a6cee78c6c5667e8..bbf19716d84a0d7e71a11559ef4f62590f2f367c 100644
|
index 9ebe74e235d425fde985a6180857dc4039ecfedf..2c21888c477b93f38adaf18abe62732b08e1c9c2 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/IceBlock.java
|
--- a/src/main/java/net/minecraft/world/level/block/IceBlock.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/IceBlock.java
|
+++ b/src/main/java/net/minecraft/world/level/block/IceBlock.java
|
||||||
@@ -41,7 +41,7 @@ public class IceBlock extends HalfTransparentBlock {
|
@@ -41,7 +41,7 @@ public class IceBlock extends HalfTransparentBlock {
|
||||||
|
|||||||
@@ -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
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index c1d82f042da0628450cbbf4b45f6db7552ba268a..38bed7071513e9449d970ecfb628bd1ba37cd45f 100644
|
index 667b560c5b414d174f265778038942e87d4451ef..9a790f72307e4e044a2ae9aded57025e3974c278 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -4443,6 +4443,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -4454,6 +4454,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
this.yRotO = this.getYRot();
|
this.yRotO = this.getYRot();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ 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
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 38bed7071513e9449d970ecfb628bd1ba37cd45f..6651c11dfa81d4289637555f24c91f5f03a8c750 100644
|
index 9a790f72307e4e044a2ae9aded57025e3974c278..efadee43018d6d22b11ed59169a89d91192af3cc 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -3149,7 +3149,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -3153,7 +3153,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
public void handleInsidePortal(BlockPos pos) {
|
public void handleInsidePortal(BlockPos pos) {
|
||||||
if (this.isOnPortalCooldown()) {
|
if (this.isOnPortalCooldown()) {
|
||||||
this.setPortalCooldown();
|
this.setPortalCooldown();
|
||||||
@@ -17,7 +17,7 @@ index 38bed7071513e9449d970ecfb628bd1ba37cd45f..6651c11dfa81d4289637555f24c91f5f
|
|||||||
if (!this.level().isClientSide && !pos.equals(this.portalEntrancePos)) {
|
if (!this.level().isClientSide && !pos.equals(this.portalEntrancePos)) {
|
||||||
this.portalEntrancePos = pos.immutable();
|
this.portalEntrancePos = pos.immutable();
|
||||||
}
|
}
|
||||||
@@ -3858,7 +3858,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -3862,7 +3862,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canChangeDimensions() {
|
public boolean canChangeDimensions() {
|
||||||
|
|||||||
@@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License
|
|||||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 6651c11dfa81d4289637555f24c91f5f03a8c750..fe793f51e9f81d14d6b2614c2da33f6d9e347fd2 100644
|
index efadee43018d6d22b11ed59169a89d91192af3cc..2919e79d24eecb3114d1a32991e12c39ac88f6b8 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -1870,7 +1870,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -1874,7 +1874,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
return this.isInWater() || flag;
|
return this.isInWater() || flag;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,10 +17,10 @@ index e7b654c1991348a7f73ca8bc950d776e4e708779..487e4ab76e255e10369f7968d73d4195
|
|||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
this.setServerLevel(worldserver);
|
this.setServerLevel(worldserver);
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index fe793f51e9f81d14d6b2614c2da33f6d9e347fd2..0647431984d263fcd90ca4273626973c44716734 100644
|
index 2919e79d24eecb3114d1a32991e12c39ac88f6b8..07a9f53448e6adbb45d941a72759187fefe30313 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -3146,12 +3146,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -3150,12 +3150,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
return Vec3.directionFromRotation(this.getRotationVector());
|
return Vec3.directionFromRotation(this.getRotationVector());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 0647431984d263fcd90ca4273626973c44716734..7ecc956aa2907090c9b0c9dcaf674330bb18f3d3 100644
|
index 07a9f53448e6adbb45d941a72759187fefe30313..9c4c5aa169b4a9943a096ad84d0bd66fad15c55d 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -3395,7 +3395,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -3399,7 +3399,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getMaxAirSupply() {
|
public int getMaxAirSupply() {
|
||||||
@@ -18,7 +18,7 @@ index 0647431984d263fcd90ca4273626973c44716734..7ecc956aa2907090c9b0c9dcaf674330
|
|||||||
|
|
||||||
public int getAirSupply() {
|
public int getAirSupply() {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
index 5ac686c5d3fc20d55899eb7ffafa48c4130344cf..b320b4bc692efdd9f7efd4f3fa195bc26512cf66 100644
|
index 4ba269d7c63a8e2df498a5ab7253c3a9fbc44103..385bc1cb2c1b00e80ecfcb0a59a24670407af5cd 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
|
||||||
@@ -438,7 +438,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
@@ -438,7 +438,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Gamemode extra permissions
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
||||||
index ff27787313a3337e29eac6f623b08f1f333f293c..e75a5caa06a1a92a7ab4c70b1d4ab512f645022d 100644
|
index 2944b64e3dd5d413ccc12330118eb5248888e21f..288e3cf7d522232aeb40090537a55a2cf06d92e2 100644
|
||||||
--- a/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
--- a/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
||||||
+++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
+++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java
|
||||||
@@ -217,6 +217,19 @@ public class CommandSourceStack implements ExecutionCommandSource<CommandSourceS
|
@@ -230,6 +230,19 @@ public class CommandSourceStack implements ExecutionCommandSource<CommandSourceS
|
||||||
}
|
}
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for end portal safe teleporting
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 9552fbbb3bebe5adc2361f4abb676bfafbb4c00c..a94d7fcec60ffd9826f7c4828f0d98461261fb0b 100644
|
index dff80441f192449f8d8e3a666af3e842f77b99ed..a7efbf24ca52d2303323ae2406cfe4beb7a72d4c 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -3220,7 +3220,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -3224,7 +3224,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
}
|
}
|
||||||
|
|
||||||
this.processPortalCooldown();
|
this.processPortalCooldown();
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Store placer on Block when placed
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
|
diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||||
index 05f4670df6b45d7d9cd4ff78a0e10587f8be6f12..2b1decf36ff950d9572e3d8790e1f60ff84ce5fa 100644
|
index 9b45770186805dd2ed7b15da41e2cd1a1a98a856..fa80754217fd43189fe2138322928fa8c4e9c9f4 100644
|
||||||
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
|
--- a/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||||
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
|
+++ b/src/main/java/net/minecraft/world/item/ItemStack.java
|
||||||
@@ -453,6 +453,7 @@ public final class ItemStack {
|
@@ -453,6 +453,7 @@ public final class ItemStack {
|
||||||
@@ -25,10 +25,10 @@ index 05f4670df6b45d7d9cd4ff78a0e10587f8be6f12..2b1decf36ff950d9572e3d8790e1f60f
|
|||||||
world.notifyAndUpdatePhysics(newblockposition, null, oldBlock, block, world.getBlockState(newblockposition), updateFlag, 512); // send null chunk as chunk.k() returns false by this point
|
world.notifyAndUpdatePhysics(newblockposition, null, oldBlock, block, world.getBlockState(newblockposition), updateFlag, 512); // send null chunk as chunk.k() returns false by this point
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||||
index 4d50dd92a7f3187ee1d8edb926e7c273c8156549..39aebcac2ae260d0db2e7bd5ac3fc7255d39349e 100644
|
index e21867d3956078bb0db4ceed45e5811e9acd7377..59c73dd9f086cac3d1fe91791d8ced41825bb838 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/Block.java
|
--- a/src/main/java/net/minecraft/world/level/block/Block.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
|
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||||
@@ -437,7 +437,17 @@ public class Block extends BlockBehaviour implements ItemLike {
|
@@ -445,7 +445,17 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||||
} // Paper
|
} // Paper
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ index 21916ab9bde38ef8383e746f2ce597b0fcb81d9b..42bfde8e36b6395f50973300313d6959
|
|||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||||
index 39aebcac2ae260d0db2e7bd5ac3fc7255d39349e..f70d462a42e5f4b1951cf015234c3b383d90bc9b 100644
|
index 59c73dd9f086cac3d1fe91791d8ced41825bb838..b1ca9c192645a31c7f2be6aa039ce642ea3e65a4 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/Block.java
|
--- a/src/main/java/net/minecraft/world/level/block/Block.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
|
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||||
@@ -63,6 +63,13 @@ import net.minecraft.world.phys.shapes.Shapes;
|
@@ -63,6 +63,13 @@ import net.minecraft.world.phys.shapes.Shapes;
|
||||||
@@ -63,23 +63,23 @@ index 39aebcac2ae260d0db2e7bd5ac3fc7255d39349e..f70d462a42e5f4b1951cf015234c3b38
|
|||||||
});
|
});
|
||||||
state.spawnAfterBreak((ServerLevel) world, pos, ItemStack.EMPTY, true);
|
state.spawnAfterBreak((ServerLevel) world, pos, ItemStack.EMPTY, true);
|
||||||
}
|
}
|
||||||
@@ -336,7 +343,7 @@ public class Block extends BlockBehaviour implements ItemLike {
|
@@ -338,7 +345,7 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||||
io.papermc.paper.event.block.BlockBreakBlockEvent event = new io.papermc.paper.event.block.BlockBreakBlockEvent(org.bukkit.craftbukkit.block.CraftBlock.at(world, pos), org.bukkit.craftbukkit.block.CraftBlock.at(world, source), items);
|
event.setExpToDrop(block.getExpDrop(state, (ServerLevel) world, pos, net.minecraft.world.item.ItemStack.EMPTY, true));
|
||||||
event.callEvent();
|
event.callEvent();
|
||||||
for (var drop : event.getDrops()) {
|
for (var drop : event.getDrops()) {
|
||||||
- popResource(world.getMinecraftWorld(), pos, org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(drop));
|
- popResource(world.getMinecraftWorld(), pos, org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(drop));
|
||||||
+ popResource(world.getMinecraftWorld(), pos, applyDisplayNameAndLoreFromTile(org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(drop), blockEntity)); // Purpur
|
+ popResource(world.getMinecraftWorld(), pos, applyDisplayNameAndLoreFromTile(org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(drop), blockEntity)); // Purpur
|
||||||
}
|
}
|
||||||
state.spawnAfterBreak(world.getMinecraftWorld(), pos, ItemStack.EMPTY, true);
|
state.spawnAfterBreak(world.getMinecraftWorld(), pos, ItemStack.EMPTY, false);
|
||||||
}
|
block.popExperience((ServerLevel) world, pos, event.getExpToDrop());
|
||||||
@@ -347,13 +354,53 @@ public class Block extends BlockBehaviour implements ItemLike {
|
@@ -355,13 +362,53 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||||
public static void dropResources(BlockState state, Level world, BlockPos pos, @Nullable BlockEntity blockEntity, @Nullable Entity entity, ItemStack tool) {
|
// Paper end
|
||||||
if (world instanceof ServerLevel) {
|
if (world instanceof ServerLevel) {
|
||||||
Block.getDrops(state, (ServerLevel) world, pos, blockEntity, entity, tool).forEach((itemstack1) -> {
|
Block.getDrops(state, (ServerLevel) world, pos, blockEntity, entity, tool).forEach((itemstack1) -> {
|
||||||
- Block.popResource(world, pos, itemstack1);
|
- Block.popResource(world, pos, itemstack1);
|
||||||
+ Block.popResource(world, pos, applyDisplayNameAndLoreFromTile(itemstack1, blockEntity)); // Purpur
|
+ Block.popResource(world, pos, applyDisplayNameAndLoreFromTile(itemstack1, blockEntity)); // Purpur
|
||||||
});
|
});
|
||||||
state.spawnAfterBreak((ServerLevel) world, pos, tool, true);
|
state.spawnAfterBreak((ServerLevel) world, pos, tool, dropExperience); // Paper
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ index bed3d9c781c7d3ca260027b4737970889a54689c..db1941ed32d141327a8b11e54b3ff990
|
|||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
||||||
index 0e06958657201806f425990ac01a5f8acc540f3e..32b121fc8b92ce6ff202b967b7d08f77a9a332f4 100644
|
index 0e06958657201806f425990ac01a5f8acc540f3e..2dbfc522990964b2ae5a9e5f84426e0749f92563 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
--- a/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
+++ b/src/main/java/net/minecraft/world/level/block/CropBlock.java
|
||||||
@@ -214,4 +214,15 @@ public class CropBlock extends BushBlock implements BonemealableBlock {
|
@@ -214,4 +214,15 @@ public class CropBlock extends BushBlock implements BonemealableBlock {
|
||||||
@@ -44,17 +44,17 @@ index 0e06958657201806f425990ac01a5f8acc540f3e..32b121fc8b92ce6ff202b967b7d08f77
|
|||||||
+
|
+
|
||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public void playerDestroy(Level world, net.minecraft.world.entity.player.Player player, BlockPos pos, BlockState state, @javax.annotation.Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity, ItemStack itemInHand, boolean includeDrops) {
|
+ public void playerDestroy(Level world, net.minecraft.world.entity.player.Player player, BlockPos pos, BlockState state, @javax.annotation.Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity, ItemStack itemInHand, boolean includeDrops, boolean dropExp) {
|
||||||
+ if (world.purpurConfig.hoeReplantsCrops && itemInHand.getItem() instanceof net.minecraft.world.item.HoeItem) {
|
+ if (world.purpurConfig.hoeReplantsCrops && itemInHand.getItem() instanceof net.minecraft.world.item.HoeItem) {
|
||||||
+ super.playerDestroyAndReplant(world, player, pos, state, blockEntity, itemInHand, getBaseSeedId());
|
+ super.playerDestroyAndReplant(world, player, pos, state, blockEntity, itemInHand, getBaseSeedId());
|
||||||
+ } else {
|
+ } else {
|
||||||
+ super.playerDestroy(world, player, pos, state, blockEntity, itemInHand, includeDrops);
|
+ super.playerDestroy(world, player, pos, state, blockEntity, itemInHand, includeDrops, dropExp);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
||||||
index 0fc333f240d6918e841a9221be42973839408802..7328764abb0790b389d396179db32f4a63bfe98a 100644
|
index 0fc333f240d6918e841a9221be42973839408802..464a9d2e4c694d5d4aae6c2d3e8a5fad0111e910 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
--- a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
+++ b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
||||||
@@ -68,4 +68,15 @@ public class NetherWartBlock extends BushBlock {
|
@@ -68,4 +68,15 @@ public class NetherWartBlock extends BushBlock {
|
||||||
@@ -64,11 +64,11 @@ index 0fc333f240d6918e841a9221be42973839408802..7328764abb0790b389d396179db32f4a
|
|||||||
+
|
+
|
||||||
+ // Purpur start
|
+ // Purpur start
|
||||||
+ @Override
|
+ @Override
|
||||||
+ public void playerDestroy(net.minecraft.world.level.Level world, net.minecraft.world.entity.player.Player player, BlockPos pos, BlockState state, @javax.annotation.Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity, ItemStack itemInHand, boolean includeDrops) {
|
+ public void playerDestroy(net.minecraft.world.level.Level world, net.minecraft.world.entity.player.Player player, BlockPos pos, BlockState state, @javax.annotation.Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity, ItemStack itemInHand, boolean includeDrops, boolean dropExp) {
|
||||||
+ if (world.purpurConfig.hoeReplantsNetherWarts && itemInHand.getItem() instanceof net.minecraft.world.item.HoeItem) {
|
+ if (world.purpurConfig.hoeReplantsNetherWarts && itemInHand.getItem() instanceof net.minecraft.world.item.HoeItem) {
|
||||||
+ super.playerDestroyAndReplant(world, player, pos, state, blockEntity, itemInHand, Items.NETHER_WART);
|
+ super.playerDestroyAndReplant(world, player, pos, state, blockEntity, itemInHand, Items.NETHER_WART);
|
||||||
+ } else {
|
+ } else {
|
||||||
+ super.playerDestroy(world, player, pos, state, blockEntity, itemInHand, includeDrops);
|
+ super.playerDestroy(world, player, pos, state, blockEntity, itemInHand, includeDrops, dropExp);
|
||||||
+ }
|
+ }
|
||||||
+ }
|
+ }
|
||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Allow void trading
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
index 9751b8b052cd47bc460207224aaf547b5d271411..2e457d9c2a65875419fcc8cfcda33cfe9b528640 100644
|
index 603a13a1720123fd987b686d8d881d955d1bab08..fea3f6366606a15ed57c5b23bb4db274b3e26fd8 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
@@ -2929,7 +2929,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
@@ -2930,7 +2930,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||||
// Spigot Start
|
// Spigot Start
|
||||||
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message
|
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message
|
||||||
// Paper start
|
// Paper start
|
||||||
|
|||||||
@@ -236,7 +236,7 @@ index 434391fd88a5ef1013d4655f539361ac4227a501..a39105007dd3aa44cc035864b388618e
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
index da1dc26ce76cab20bb56d5a5d806410857f38ea6..dfec9e39877826699ac4b1208f060dc84857d3fb 100644
|
index d84b99a8c15f35dc7fa70d250d3cb845b7851880..c0aef32f3669dd9ce3a5aa50c2ceeda06f614b00 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
@@ -547,15 +547,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
@@ -547,15 +547,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||||
@@ -447,7 +447,7 @@ index 5cf74fe0214191d42e74fc104eba150a95894e0f..9f438b41b61ee1174d8f23bcb7d93380
|
|||||||
gameprofilerfiller.pop();
|
gameprofilerfiller.pop();
|
||||||
gameprofilerfiller.pop();
|
gameprofilerfiller.pop();
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
index 2e457d9c2a65875419fcc8cfcda33cfe9b528640..1ccdea0e7c64de5bcb7a6a6f14105cf62a211fd6 100644
|
index fea3f6366606a15ed57c5b23bb4db274b3e26fd8..949f8b68ba6776dfed412c0d55e8642264262f7d 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
@@ -872,7 +872,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
@@ -872,7 +872,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||||
@@ -630,7 +630,7 @@ index 2e457d9c2a65875419fcc8cfcda33cfe9b528640..1ccdea0e7c64de5bcb7a6a6f14105cf6
|
|||||||
|
|
||||||
} else if (close) { chunkproviderserver.close(false); } // Paper - rewrite chunk system
|
} else if (close) { chunkproviderserver.close(false); } // Paper - rewrite chunk system
|
||||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
index 22298bc61205b2da0a13a97144704d0dd1d33260..56f110d08fa24b26792f55b2ea062249b0f9643d 100644
|
index 709e0c73178e02f181d2d5de8929a3ed7bcab2f9..a6a852ccfbe0a039937d9c453276a2ab23a76110 100644
|
||||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
@@ -2460,7 +2460,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
@@ -2460,7 +2460,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||||
@@ -732,10 +732,10 @@ index fcdb9bde8e1605e30dde3e580491522d4b62cdc0..7094701d213c73ba47ace806962244c1
|
|||||||
|
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index f47a00bbe6d9cfa15fc3a55a8953934ac12ca85f..54ceb622d9588ccd8df3cba849571aa3fdbb364a 100644
|
index 23e2299c1e5b47129c63fbf89a14c1560b1cfeb5..6a7f03f08c8910215ac0e08363aa4c3d8b2f737c 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -1313,15 +1313,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -1318,15 +1318,15 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
ProfilerFiller gameprofilerfiller = this.getProfiler();
|
ProfilerFiller gameprofilerfiller = this.getProfiler();
|
||||||
|
|
||||||
gameprofilerfiller.push("blockEntities");
|
gameprofilerfiller.push("blockEntities");
|
||||||
@@ -754,7 +754,7 @@ index f47a00bbe6d9cfa15fc3a55a8953934ac12ca85f..54ceb622d9588ccd8df3cba849571aa3
|
|||||||
// Spigot start
|
// Spigot start
|
||||||
// Iterator<TickingBlockEntity> iterator = this.blockEntityTickers.iterator();
|
// Iterator<TickingBlockEntity> iterator = this.blockEntityTickers.iterator();
|
||||||
boolean flag = this.tickRateManager().runsNormally();
|
boolean flag = this.tickRateManager().runsNormally();
|
||||||
@@ -1350,7 +1350,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -1355,7 +1355,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
}
|
}
|
||||||
this.blockEntityTickers.removeAll(toRemove);
|
this.blockEntityTickers.removeAll(toRemove);
|
||||||
|
|
||||||
@@ -903,7 +903,7 @@ index b3e1adeb932da9b3bed16acd94e2f16da48a7c72..d3ec817e95628f1fc8be4a29c9a0f13c
|
|||||||
// Paper end - add timings for scoreboard search
|
// Paper end - add timings for scoreboard search
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java
|
||||||
index a7ecbd77d0017a298b94cceeddc049eff713f60f..0b03dae85e6008283e68b07fa438daccf0e4f5fa 100644
|
index e7c384a8bf16de5132245c24226fff22f5c38585..2b73e291e44987c4d63f2064091f7f8e28276b90 100644
|
||||||
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
--- a/src/main/java/org/spigotmc/ActivationRange.java
|
||||||
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
+++ b/src/main/java/org/spigotmc/ActivationRange.java
|
||||||
@@ -170,7 +170,7 @@ public class ActivationRange
|
@@ -170,7 +170,7 @@ public class ActivationRange
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Remove Mojang Profiler
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
||||||
index 428dd75450bdd5daf902a1fbaca7031a9bc585a8..c1202a56b560269e132eafd8bb12383473d4d33e 100644
|
index eb8de6edea600be63934c4024142c97e7c669c99..2fd8940727e4f361c67114794233d4ddc6548dbb 100644
|
||||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||||
@@ -165,7 +165,7 @@ public class Commands {
|
@@ -165,7 +165,7 @@ public class Commands {
|
||||||
@@ -17,7 +17,7 @@ index 428dd75450bdd5daf902a1fbaca7031a9bc585a8..c1202a56b560269e132eafd8bb123834
|
|||||||
DefaultGameModeCommands.register(this.dispatcher);
|
DefaultGameModeCommands.register(this.dispatcher);
|
||||||
DifficultyCommand.register(this.dispatcher);
|
DifficultyCommand.register(this.dispatcher);
|
||||||
EffectCommands.register(this.dispatcher, commandRegistryAccess);
|
EffectCommands.register(this.dispatcher, commandRegistryAccess);
|
||||||
@@ -341,9 +341,9 @@ public class Commands {
|
@@ -332,9 +332,9 @@ public class Commands {
|
||||||
public void performCommand(ParseResults<CommandSourceStack> parseresults, String s, String label) { // CraftBukkit
|
public void performCommand(ParseResults<CommandSourceStack> parseresults, String s, String label) { // CraftBukkit
|
||||||
CommandSourceStack commandlistenerwrapper = (CommandSourceStack) parseresults.getContext().getSource();
|
CommandSourceStack commandlistenerwrapper = (CommandSourceStack) parseresults.getContext().getSource();
|
||||||
|
|
||||||
@@ -29,7 +29,7 @@ index 428dd75450bdd5daf902a1fbaca7031a9bc585a8..c1202a56b560269e132eafd8bb123834
|
|||||||
ContextChain contextchain = this.finishParsing(parseresults, s, commandlistenerwrapper, label); // CraftBukkit // Paper - make finishParsing not static
|
ContextChain contextchain = this.finishParsing(parseresults, s, commandlistenerwrapper, label); // CraftBukkit // Paper - make finishParsing not static
|
||||||
|
|
||||||
try {
|
try {
|
||||||
@@ -372,7 +372,7 @@ public class Commands {
|
@@ -363,7 +363,7 @@ public class Commands {
|
||||||
Commands.LOGGER.error("'/{}' threw an exception", s, exception);
|
Commands.LOGGER.error("'/{}' threw an exception", s, exception);
|
||||||
}
|
}
|
||||||
} finally {
|
} finally {
|
||||||
@@ -448,7 +448,7 @@ index df0c15f6b5b2224d53e4f8fad42b9a1e5f33dc25..5dd0dcb47211cec69189115bf4eab1df
|
|||||||
|
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
index dfec9e39877826699ac4b1208f060dc84857d3fb..cd55b5bbba17a60766c3302fd8cb94553fe3f929 100644
|
index c0aef32f3669dd9ce3a5aa50c2ceeda06f614b00..2631c05a3855c71eff3f8cf8d13920430f929a13 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
|
||||||
@@ -545,20 +545,20 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
@@ -545,20 +545,20 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
|
||||||
@@ -626,7 +626,7 @@ index 9f438b41b61ee1174d8f23bcb7d93380ad932e9c..c3c47857515a7f75d69c718f352d8bae
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
index 1ccdea0e7c64de5bcb7a6a6f14105cf62a211fd6..7912c26d27e9f143c34d63410155052cd00e0b8d 100644
|
index 949f8b68ba6776dfed412c0d55e8642264262f7d..ac3e1d0f5b8def2bdace6f3b680ff9e929c515fb 100644
|
||||||
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
|
||||||
@@ -830,16 +830,16 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
@@ -830,16 +830,16 @@ public class ServerLevel extends Level implements WorldGenLevel {
|
||||||
@@ -1107,10 +1107,10 @@ index 2e6e8eac987c4ef6b2dcd3de592d8a51d2b29792..863343a87fe34d72f04af89d75268b47
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 67ebbf6005cdef280d62e2150287f18699b2fe6a..386259c78d134814479427b0591f0c6f4d064c91 100644
|
index 8cfba1af2f4ca7be42d997269187466c130de7b3..05f92d609a5d38b737093603a6831d6b7bcb8609 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -846,7 +846,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -850,7 +850,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|
||||||
public void baseTick() {
|
public void baseTick() {
|
||||||
@@ -1119,7 +1119,7 @@ index 67ebbf6005cdef280d62e2150287f18699b2fe6a..386259c78d134814479427b0591f0c6f
|
|||||||
if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking
|
if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking
|
||||||
this.feetBlockState = null;
|
this.feetBlockState = null;
|
||||||
if (this.isPassenger() && this.getVehicle().isRemoved()) {
|
if (this.isPassenger() && this.getVehicle().isRemoved()) {
|
||||||
@@ -907,7 +907,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -911,7 +911,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
}
|
}
|
||||||
|
|
||||||
this.firstTick = false;
|
this.firstTick = false;
|
||||||
@@ -1128,7 +1128,7 @@ index 67ebbf6005cdef280d62e2150287f18699b2fe6a..386259c78d134814479427b0591f0c6f
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setSharedFlagOnFire(boolean onFire) {
|
public void setSharedFlagOnFire(boolean onFire) {
|
||||||
@@ -1126,7 +1126,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -1130,7 +1130,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1137,7 +1137,7 @@ index 67ebbf6005cdef280d62e2150287f18699b2fe6a..386259c78d134814479427b0591f0c6f
|
|||||||
if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) {
|
if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) {
|
||||||
movement = movement.multiply(this.stuckSpeedMultiplier);
|
movement = movement.multiply(this.stuckSpeedMultiplier);
|
||||||
this.stuckSpeedMultiplier = Vec3.ZERO;
|
this.stuckSpeedMultiplier = Vec3.ZERO;
|
||||||
@@ -1135,7 +1135,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -1139,7 +1139,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
// Paper start - ignore movement changes while inactive.
|
// Paper start - ignore movement changes while inactive.
|
||||||
if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) {
|
if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) {
|
||||||
setDeltaMovement(Vec3.ZERO);
|
setDeltaMovement(Vec3.ZERO);
|
||||||
@@ -1146,7 +1146,7 @@ index 67ebbf6005cdef280d62e2150287f18699b2fe6a..386259c78d134814479427b0591f0c6f
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
@@ -1156,8 +1156,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -1160,8 +1160,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z);
|
this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1157,7 +1157,7 @@ index 67ebbf6005cdef280d62e2150287f18699b2fe6a..386259c78d134814479427b0591f0c6f
|
|||||||
boolean flag = !Mth.equal(movement.x, vec3d1.x);
|
boolean flag = !Mth.equal(movement.x, vec3d1.x);
|
||||||
boolean flag1 = !Mth.equal(movement.z, vec3d1.z);
|
boolean flag1 = !Mth.equal(movement.z, vec3d1.z);
|
||||||
|
|
||||||
@@ -1176,7 +1176,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -1180,7 +1180,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
|
|
||||||
this.checkFallDamage(vec3d1.y, this.onGround(), iblockdata, blockposition);
|
this.checkFallDamage(vec3d1.y, this.onGround(), iblockdata, blockposition);
|
||||||
if (this.isRemoved()) {
|
if (this.isRemoved()) {
|
||||||
@@ -1166,7 +1166,7 @@ index 67ebbf6005cdef280d62e2150287f18699b2fe6a..386259c78d134814479427b0591f0c6f
|
|||||||
} else {
|
} else {
|
||||||
if (this.horizontalCollision) {
|
if (this.horizontalCollision) {
|
||||||
Vec3 vec3d2 = this.getDeltaMovement();
|
Vec3 vec3d2 = this.getDeltaMovement();
|
||||||
@@ -1314,7 +1314,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -1318,7 +1318,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
this.setRemainingFireTicks(-this.getFireImmuneTicks());
|
this.setRemainingFireTicks(-this.getFireImmuneTicks());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1175,7 +1175,7 @@ index 67ebbf6005cdef280d62e2150287f18699b2fe6a..386259c78d134814479427b0591f0c6f
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Paper start - detailed watchdog information
|
// Paper start - detailed watchdog information
|
||||||
@@ -3187,7 +3187,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -3191,7 +3191,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey);
|
ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey);
|
||||||
|
|
||||||
if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit
|
if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit
|
||||||
@@ -1184,7 +1184,7 @@ index 67ebbf6005cdef280d62e2150287f18699b2fe6a..386259c78d134814479427b0591f0c6f
|
|||||||
this.portalTime = i;
|
this.portalTime = i;
|
||||||
// Paper start
|
// Paper start
|
||||||
io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER);
|
io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER);
|
||||||
@@ -3205,7 +3205,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -3209,7 +3209,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
}
|
}
|
||||||
} // Paper
|
} // Paper
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
@@ -1193,7 +1193,7 @@ index 67ebbf6005cdef280d62e2150287f18699b2fe6a..386259c78d134814479427b0591f0c6f
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.isInsidePortal = false;
|
this.isInsidePortal = false;
|
||||||
@@ -3680,14 +3680,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -3684,14 +3684,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
if (this.level() instanceof ServerLevel && !this.isRemoved()) {
|
if (this.level() instanceof ServerLevel && !this.isRemoved()) {
|
||||||
@@ -1210,7 +1210,7 @@ index 67ebbf6005cdef280d62e2150287f18699b2fe6a..386259c78d134814479427b0591f0c6f
|
|||||||
PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit
|
PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit
|
||||||
|
|
||||||
if (shapedetectorshape == null) {
|
if (shapedetectorshape == null) {
|
||||||
@@ -3726,7 +3726,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -3730,7 +3730,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
this.unRide();
|
this.unRide();
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
|
|
||||||
@@ -1219,7 +1219,7 @@ index 67ebbf6005cdef280d62e2150287f18699b2fe6a..386259c78d134814479427b0591f0c6f
|
|||||||
// Paper start - Change lead drop timing to prevent dupe
|
// Paper start - Change lead drop timing to prevent dupe
|
||||||
if (this instanceof Mob) {
|
if (this instanceof Mob) {
|
||||||
((Mob) this).dropLeash(true, true); // Paper drop lead
|
((Mob) this).dropLeash(true, true); // Paper drop lead
|
||||||
@@ -3753,10 +3753,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -3757,10 +3757,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
}
|
}
|
||||||
|
|
||||||
this.removeAfterChangingDimensions();
|
this.removeAfterChangingDimensions();
|
||||||
@@ -1344,7 +1344,7 @@ index 6e7ed46a3a10a1ec69d0b69ee49be304760e419b..f9e035405c42fbe0a8c0dca2157798d6
|
|||||||
// Purpur start
|
// Purpur start
|
||||||
if (this.xo != this.getX() || this.yo != this.getY() || this.zo != this.getZ() || this.yRotO != this.getYRot() || this.xRotO != this.getXRot()) {
|
if (this.xo != this.getX() || this.yo != this.getY() || this.zo != this.getZ() || this.yRotO != this.getYRot() || this.xRotO != this.getXRot()) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
index 4328b688b8ef5d44d4ca5501e090c943e8d598b3..5fe8838b4512ba6676a5fe7f3ab412ff87f07667 100644
|
index 5b8e981632894b81307fdcf550064bf1047d3ea9..c802c0807897a5c162223b47be1eef43f8b2d58e 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
--- a/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
|
||||||
@@ -367,13 +367,13 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
@@ -367,13 +367,13 @@ public abstract class Mob extends LivingEntity implements Targeting {
|
||||||
@@ -1833,10 +1833,10 @@ index 9442f58dff89ec843c321533965fbee2727d02f8..17abd085b3faf88e10a44a6c98af9968
|
|||||||
|
|
||||||
if (this.fire) {
|
if (this.fire) {
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
index 54ceb622d9588ccd8df3cba849571aa3fdbb364a..2bf34cf58f7de58b113e6f325d16b5bd13bc3dbf 100644
|
index 6a7f03f08c8910215ac0e08363aa4c3d8b2f737c..2b5409e653be7d6b9c0529b512b2f7408b218011 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/Level.java
|
--- a/src/main/java/net/minecraft/world/level/Level.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
+++ b/src/main/java/net/minecraft/world/level/Level.java
|
||||||
@@ -1310,9 +1310,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -1315,9 +1315,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void tickBlockEntities() {
|
protected void tickBlockEntities() {
|
||||||
@@ -1848,7 +1848,7 @@ index 54ceb622d9588ccd8df3cba849571aa3fdbb364a..2bf34cf58f7de58b113e6f325d16b5bd
|
|||||||
//this.timings.tileEntityPending.startTiming(); // Spigot // Purpur
|
//this.timings.tileEntityPending.startTiming(); // Spigot // Purpur
|
||||||
this.tickingBlockEntities = true;
|
this.tickingBlockEntities = true;
|
||||||
if (!this.pendingBlockEntityTickers.isEmpty()) {
|
if (!this.pendingBlockEntityTickers.isEmpty()) {
|
||||||
@@ -1353,7 +1353,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -1358,7 +1358,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
//this.timings.tileEntityTick.stopTiming(); // Spigot // Purpur
|
//this.timings.tileEntityTick.stopTiming(); // Spigot // Purpur
|
||||||
this.tickingBlockEntities = false;
|
this.tickingBlockEntities = false;
|
||||||
co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper
|
co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper
|
||||||
@@ -1857,7 +1857,7 @@ index 54ceb622d9588ccd8df3cba849571aa3fdbb364a..2bf34cf58f7de58b113e6f325d16b5bd
|
|||||||
this.spigotConfig.currentPrimedTnt = 0; // Spigot
|
this.spigotConfig.currentPrimedTnt = 0; // Spigot
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1563,7 +1563,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -1568,7 +1568,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Entity> getEntities(@Nullable Entity except, AABB box, Predicate<? super Entity> predicate) {
|
public List<Entity> getEntities(@Nullable Entity except, AABB box, Predicate<? super Entity> predicate) {
|
||||||
@@ -1866,7 +1866,7 @@ index 54ceb622d9588ccd8df3cba849571aa3fdbb364a..2bf34cf58f7de58b113e6f325d16b5bd
|
|||||||
List<Entity> list = Lists.newArrayList();
|
List<Entity> list = Lists.newArrayList();
|
||||||
((ServerLevel)this).getEntityLookup().getEntities(except, box, list, predicate); // Paper - optimise this call
|
((ServerLevel)this).getEntityLookup().getEntities(except, box, list, predicate); // Paper - optimise this call
|
||||||
return list;
|
return list;
|
||||||
@@ -1582,7 +1582,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -1587,7 +1587,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public <T extends Entity> void getEntities(EntityTypeTest<Entity, T> filter, AABB box, Predicate<? super T> predicate, List<? super T> result, int limit) {
|
public <T extends Entity> void getEntities(EntityTypeTest<Entity, T> filter, AABB box, Predicate<? super T> predicate, List<? super T> result, int limit) {
|
||||||
@@ -1875,7 +1875,7 @@ index 54ceb622d9588ccd8df3cba849571aa3fdbb364a..2bf34cf58f7de58b113e6f325d16b5bd
|
|||||||
// Paper start - optimise this call
|
// Paper start - optimise this call
|
||||||
//TODO use limit
|
//TODO use limit
|
||||||
if (filter instanceof net.minecraft.world.entity.EntityType entityTypeTest) {
|
if (filter instanceof net.minecraft.world.entity.EntityType entityTypeTest) {
|
||||||
@@ -1841,7 +1841,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
@@ -1846,7 +1846,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProfilerFiller getProfiler() {
|
public ProfilerFiller getProfiler() {
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ index ab11b017f0795f5ec8161a4831c463c780307eaa..8c6a8ab9e18bfbb015febea55e188ee9
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||||
index f70d462a42e5f4b1951cf015234c3b383d90bc9b..9e32ca4a0f94627bbd4d3cedd5be93bfeb8115ee 100644
|
index b1ca9c192645a31c7f2be6aa039ce642ea3e65a4..2376a305bd160e83e3e8684f50c55498e42fe0d9 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/Block.java
|
--- a/src/main/java/net/minecraft/world/level/block/Block.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
|
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
|
||||||
@@ -96,6 +96,10 @@ public class Block extends BlockBehaviour implements ItemLike {
|
@@ -96,6 +96,10 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||||
@@ -32,7 +32,7 @@ index f70d462a42e5f4b1951cf015234c3b383d90bc9b..9e32ca4a0f94627bbd4d3cedd5be93bf
|
|||||||
// Paper start
|
// Paper start
|
||||||
public final boolean isDestroyable() {
|
public final boolean isDestroyable() {
|
||||||
return io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.allowPermanentBlockBreakExploits ||
|
return io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.allowPermanentBlockBreakExploits ||
|
||||||
@@ -513,7 +517,7 @@ public class Block extends BlockBehaviour implements ItemLike {
|
@@ -521,7 +525,7 @@ public class Block extends BlockBehaviour implements ItemLike {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void fallOn(Level world, BlockState state, BlockPos pos, Entity entity, float fallDistance) {
|
public void fallOn(Level world, BlockState state, BlockPos pos, Entity entity, float fallDistance) {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ Subject: [PATCH] Fire Immunity API
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 386259c78d134814479427b0591f0c6f4d064c91..8625f37ed94191a2b4dac593e67a99431a8335cf 100644
|
index 05f92d609a5d38b737093603a6831d6b7bcb8609..7d0aee4be3a240df18b47c583581ad9c7af5fdb6 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -422,6 +422,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -422,6 +422,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
@@ -16,7 +16,7 @@ index 386259c78d134814479427b0591f0c6f4d064c91..8625f37ed94191a2b4dac593e67a9943
|
|||||||
|
|
||||||
public void setOrigin(@javax.annotation.Nonnull Location location) {
|
public void setOrigin(@javax.annotation.Nonnull Location location) {
|
||||||
this.origin = location.toVector();
|
this.origin = location.toVector();
|
||||||
@@ -1812,7 +1813,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -1816,7 +1817,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean fireImmune() {
|
public boolean fireImmune() {
|
||||||
@@ -25,7 +25,7 @@ index 386259c78d134814479427b0591f0c6f4d064c91..8625f37ed94191a2b4dac593e67a9943
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) {
|
public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) {
|
||||||
@@ -2504,6 +2505,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -2508,6 +2509,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
nbttagcompound.putBoolean("Paper.FreezeLock", true);
|
nbttagcompound.putBoolean("Paper.FreezeLock", true);
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
@@ -37,7 +37,7 @@ index 386259c78d134814479427b0591f0c6f4d064c91..8625f37ed94191a2b4dac593e67a9943
|
|||||||
return nbttagcompound;
|
return nbttagcompound;
|
||||||
} catch (Throwable throwable) {
|
} catch (Throwable throwable) {
|
||||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
|
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
|
||||||
@@ -2651,6 +2657,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -2655,6 +2661,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
freezeLocked = nbt.getBoolean("Paper.FreezeLock");
|
freezeLocked = nbt.getBoolean("Paper.FreezeLock");
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
@@ -50,7 +50,7 @@ index 386259c78d134814479427b0591f0c6f4d064c91..8625f37ed94191a2b4dac593e67a9943
|
|||||||
} catch (Throwable throwable) {
|
} catch (Throwable throwable) {
|
||||||
CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT");
|
CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT");
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
index bfd8f6d85272f3ecbb0f7fc5fc92d2055205c0e0..deab17ae3deca2e49f6c3005048ad10e597d7329 100644
|
index ea5ac1f53309fdd30aad40fd4a092f297d76fd61..315c9be5841d55910500fcc225b5e42f271cf2cb 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
|
||||||
@@ -83,6 +83,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
@@ -83,6 +83,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn on nether ceiling damage
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
index 8625f37ed94191a2b4dac593e67a99431a8335cf..a9d5a9b9bff5631f3f458fba7d88c3fc642416b8 100644
|
index 7d0aee4be3a240df18b47c583581ad9c7af5fdb6..251b336c1915f173c975fd0c568dfb04182fc91b 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
--- a/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
|
||||||
@@ -921,6 +921,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
@@ -925,6 +925,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S
|
||||||
&& this.level.paperConfig().environment.netherCeilingVoidDamageHeight.test(v -> this.getY() >= v)
|
&& this.level.paperConfig().environment.netherCeilingVoidDamageHeight.test(v -> this.getY() >= v)
|
||||||
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
|
&& (!(this instanceof Player player) || !player.getAbilities().invulnerable))) {
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Log skipped entity's position
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
index e5aa1bac908f947f2ed70a05194bf30b4cb55115..38845300ceb7092de4cd8e31ef8782728892f656 100644
|
index b9aa6d6d22346a558fa84b4552958cdd6f977873..bab59399da0b515ad97918b824f9297b31c8de7c 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
@@ -617,6 +617,12 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
@@ -623,6 +623,12 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||||
entity.load(nbt);
|
entity.load(nbt);
|
||||||
}, () -> {
|
}, () -> {
|
||||||
EntityType.LOGGER.warn("Skipping Entity with id {}", nbt.getString("id"));
|
EntityType.LOGGER.warn("Skipping Entity with id {}", nbt.getString("id"));
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ index 89c0006c06098e0d09a259ea8415d55b997367aa..a476f9a1eaa99b557962947149b6ee6e
|
|||||||
+ // Purpur end
|
+ // Purpur end
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
||||||
index 7328764abb0790b389d396179db32f4a63bfe98a..9e47da91a5daed92b7326c84a88e619d2d981dd0 100644
|
index 464a9d2e4c694d5d4aae6c2d3e8a5fad0111e910..13eb4dffd60ea7902d620f484df5e3f2c4688402 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
--- a/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
+++ b/src/main/java/net/minecraft/world/level/block/NetherWartBlock.java
|
||||||
@@ -16,7 +16,7 @@ import net.minecraft.world.level.block.state.properties.IntegerProperty;
|
@@ -16,7 +16,7 @@ import net.minecraft.world.level.block.state.properties.IntegerProperty;
|
||||||
@@ -66,7 +66,7 @@ index 7328764abb0790b389d396179db32f4a63bfe98a..9e47da91a5daed92b7326c84a88e619d
|
|||||||
public static final MapCodec<NetherWartBlock> CODEC = simpleCodec(NetherWartBlock::new);
|
public static final MapCodec<NetherWartBlock> CODEC = simpleCodec(NetherWartBlock::new);
|
||||||
public static final int MAX_AGE = 3;
|
public static final int MAX_AGE = 3;
|
||||||
@@ -78,5 +78,22 @@ public class NetherWartBlock extends BushBlock {
|
@@ -78,5 +78,22 @@ public class NetherWartBlock extends BushBlock {
|
||||||
super.playerDestroy(world, player, pos, state, blockEntity, itemInHand, includeDrops);
|
super.playerDestroy(world, player, pos, state, blockEntity, itemInHand, includeDrops, dropExp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+
|
+
|
||||||
|
|||||||
Reference in New Issue
Block a user