9
0
mirror of https://github.com/LeavesMC/Leaves.git synced 2025-12-19 14:59:32 +00:00

Update 1.19.4

This commit is contained in:
violetc
2023-03-19 17:30:46 +08:00
parent 2fe291360d
commit c67a637939
48 changed files with 342 additions and 376 deletions

View File

@@ -50,8 +50,8 @@ jobs:
bodyFile: ${{ env.info }}
tag: ${{ env.tag }}
name: ${{ env.name }}
prerelease: ${{ env.pre }}
token: ${{ secrets.GITHUB_TOKEN }}
prerelease: false
- name: Delete Draft Releases
uses: hugo19941994/delete-draft-releases@v1.0.0
env:

View File

@@ -1,7 +1,7 @@
plugins {
java
id("com.github.johnrengelman.shadow") version "8.1.0" apply false
id("io.papermc.paperweight.patcher") version "1.5.2"
id("io.papermc.paperweight.patcher") version "1.5.3"
}
repositories {
@@ -13,7 +13,7 @@ repositories {
dependencies {
remapper("net.fabricmc:tiny-remapper:0.8.6:fat")
decompiler("net.minecraftforge:forgeflower:2.0.605.1")
decompiler("net.minecraftforge:forgeflower:2.0.627.2")
paperclip("io.papermc:paperclip:3.0.2")
}

View File

@@ -1,7 +1,8 @@
group=top.leavesmc.leaves
version=1.19.3-R0.1-SNAPSHOT
version=1.19.4-R0.1-SNAPSHOT
mcVersion=1.19.3
packageVersion=1_19_R2
mcVersion=1.19.4
packageVersion=1_19_R3
org.gradle.jvmargs=-Xmx2G
paperRef=155aa36d89b260ef5841615899299756b5983c0a
paperRef=055f7228f05a11f6117b57ebebce4e7aac1f4e7f
preVersion=true

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Build changes
diff --git a/build.gradle.kts b/build.gradle.kts
index 6a1853f3d988820f357c11371e32d50682e60401..f01a32ccaa36a85859647c118185e2712ed6924b 100644
index 9cf389defdaeb887e9cad4f0fed3f3b95667b238..5c2ecb57aa3395a2bb10464e85b18c3ecf77e91d 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -7,8 +7,12 @@ plugins {
@@ -16,7 +16,7 @@ index 6a1853f3d988820f357c11371e32d50682e60401..f01a32ccaa36a85859647c118185e271
- implementation(project(":paper-mojangapi"))
+ implementation(project(":leaves-api")) // Leaves
+ // Leaves start
+ implementation("io.papermc.paper:paper-mojangapi:1.19.3-R0.1-SNAPSHOT") {
+ implementation("io.papermc.paper:paper-mojangapi:1.19.4-R0.1-SNAPSHOT") {
+ exclude("io.papermc.paper", "paper-api")
+ }
+ // Leaves end
@@ -79,10 +79,10 @@ index 4b002e8b75d117b726b0de274a76d3596fce015b..0ac8bcb0a4b7d1da3d0e016617db7a81
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
Map<String, Map<String, Integer>> map = new HashMap<>();
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 710ca7d3a5659953f64bc6dccdd93b43300961cc..fd59a24743099e0599609bdb4d9b4578cd4c3940 100644
index e67c4a7aaa11f5c67f926f92e0a174af526c2ec3..a1513818ce64c97462000eb3cf69cd09261f9ddb 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1654,7 +1654,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1681,7 +1681,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@DontObfuscate
public String getServerModName() {
@@ -92,10 +92,10 @@ index 710ca7d3a5659953f64bc6dccdd93b43300961cc..fd59a24743099e0599609bdb4d9b4578
public SystemReport fillSystemReport(SystemReport details) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 1ca7a4aa8ccd34e2aedbe3963950ba3717c558b7..173d1921a3b8fa5d61ed67a382ea35f358be578b 100644
index f9a9d2bb7b6d1bf4a0931438de4d8c7ee0757479..3e9861287cd3b6632aa6e4e1834e4afca4dad268 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -261,7 +261,7 @@ import javax.annotation.Nullable; // Paper
@@ -256,7 +256,7 @@ import javax.annotation.Nullable; // Paper
import javax.annotation.Nonnull; // Paper
public final class CraftServer implements Server {
@@ -105,10 +105,10 @@ index 1ca7a4aa8ccd34e2aedbe3963950ba3717c558b7..173d1921a3b8fa5d61ed67a382ea35f3
private final String bukkitVersion = Versioning.getBukkitVersion();
private final Logger logger = Logger.getLogger("Minecraft");
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 190e17eb28d166aedee06e9578561ba402d1b6d2..13faf8a5ea85f4c94dba814e39a9e74b9c2e86c4 100644
index d51650d3e37eb76a0cf991e95d28a552aa567af9..b9a3d707cbe1b2a44f1401d812e1224cddd984b0 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -278,7 +278,7 @@ public class Main {
@@ -285,7 +285,7 @@ public class Main {
if (buildDate.before(deadline.getTime())) {
// Paper start - This is some stupid bullshit
System.err.println("*** Warning, you've not updated in a while! ***");

View File

@@ -31,10 +31,10 @@ index 46954db7ecd35ac4018fdf476df7c8020d7ce6c8..044c51ebb058fc36074fd178929e3279
public PlayerAreaMap() {
super();
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 1eaab1f6923e6aa34b643293347348e5cc19af3c..15f850f9ae1d4e45c445c5301cb167eda0287e2c 100644
index 9a1e8589e6b371869b2199650172d61ae186c907..fc79183a6bd979d98d79e88422801f9bb2646ea6 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -398,6 +398,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -399,6 +399,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
private UUID originWorld;
public boolean freezeLocked = false; // Paper - Freeze Tick Lock API
public boolean collidingWithWorldBorder; // Paper
@@ -42,7 +42,7 @@ index 1eaab1f6923e6aa34b643293347348e5cc19af3c..15f850f9ae1d4e45c445c5301cb167ed
public void setOrigin(@javax.annotation.Nonnull Location location) {
this.origin = location.toVector();
@@ -2292,6 +2293,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -2304,6 +2305,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
nbt.putBoolean("Paper.FreezeLock", true);
}
// Paper end
@@ -50,7 +50,7 @@ index 1eaab1f6923e6aa34b643293347348e5cc19af3c..15f850f9ae1d4e45c445c5301cb167ed
return nbt;
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT");
@@ -2459,6 +2461,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -2472,6 +2474,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
freezeLocked = nbt.getBoolean("Paper.FreezeLock");
}
// Paper end
@@ -62,7 +62,7 @@ index 1eaab1f6923e6aa34b643293347348e5cc19af3c..15f850f9ae1d4e45c445c5301cb167ed
} catch (Throwable throwable) {
CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT");
@@ -4551,4 +4558,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -4631,4 +4638,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this);
}
// Paper end

View File

@@ -19,7 +19,7 @@ index 06bff37e4c1fddd3be6343049a66787c63fb420c..15ed5a9af5583e2430804662e3b9fa95
new TimingsExport(listeners, parent, history).start();
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 7a9c81f9f0db2f2aeb615cbb6e3b58233f30c6af..abc70f9aa1dd2080d9c0111a91f6dd74bc3ffbd0 100644
index a1513818ce64c97462000eb3cf69cd09261f9ddb..48d4b8dc0396dc7f9142fcef35e8ecbdea5f1223 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1120,6 +1120,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -45,10 +45,10 @@ index a7e133f3495e9132a5fdae2c24f225e7b026295a..cd0f05aa0f2720d450ee1b975648e73d
this.setPvpAllowed(dedicatedserverproperties.pvp);
this.setFlightAllowed(dedicatedserverproperties.allowFlight);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index db971ca4136c7f922d630f38aa5c78cb04adbdfa..5efece112550148d04f641249bee3221c6375c93 100644
index 973ecd50f9cb6b86c353586e84d15dcb118ccb60..31f0034115a88a42b18e0b838eab8b801473bbef 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -173,6 +173,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -177,6 +177,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
// Paper end
public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray
@@ -56,8 +56,8 @@ index db971ca4136c7f922d630f38aa5c78cb04adbdfa..5efece112550148d04f641249bee3221
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
public static BlockPos lastPhysicsProblem; // Spigot
private org.spigotmc.TickLimiter entityLimiter;
@@ -273,6 +274,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, 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
@@ -277,6 +278,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
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.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper
+ this.leavesConfig = new top.leavesmc.leaves.LeavesConfig.WorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData)worlddatamutable).getLevelName()); // Leaves - World Config
@@ -65,10 +65,10 @@ index db971ca4136c7f922d630f38aa5c78cb04adbdfa..5efece112550148d04f641249bee3221
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
index f758f1349e07989481be2957b519063b094ac200..ba4a1f12c29cb28441ae316ff5e1f23358e6af02 100644
index 3e9861287cd3b6632aa6e4e1834e4afca4dad268..b95c87514f0c684ab986c90a8c31d0c39c22a7a5 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -961,6 +961,7 @@ public final class CraftServer implements Server {
@@ -956,6 +956,7 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
this.console.paperConfigurations.reloadConfigs(this.console);
@@ -76,7 +76,7 @@ index f758f1349e07989481be2957b519063b094ac200..ba4a1f12c29cb28441ae316ff5e1f233
for (ServerLevel world : this.console.getAllLevels()) {
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
@@ -976,6 +977,7 @@ public final class CraftServer implements Server {
@@ -971,6 +972,7 @@ public final class CraftServer implements Server {
}
}
world.spigotConfig.init(); // Spigot
@@ -84,7 +84,7 @@ index f758f1349e07989481be2957b519063b094ac200..ba4a1f12c29cb28441ae316ff5e1f233
}
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
@@ -991,6 +993,7 @@ public final class CraftServer implements Server {
@@ -986,6 +988,7 @@ public final class CraftServer implements Server {
this.reloadData();
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
io.papermc.paper.command.PaperCommands.registerCommands(this.console); // Paper
@@ -92,7 +92,7 @@ index f758f1349e07989481be2957b519063b094ac200..ba4a1f12c29cb28441ae316ff5e1f233
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -2745,6 +2748,14 @@ public final class CraftServer implements Server {
@@ -2743,6 +2746,14 @@ public final class CraftServer implements Server {
{
return CraftServer.this.console.paperConfigurations.createLegacyObject(CraftServer.this.console);
}
@@ -108,10 +108,10 @@ index f758f1349e07989481be2957b519063b094ac200..ba4a1f12c29cb28441ae316ff5e1f233
@Override
public void restart() {
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 13faf8a5ea85f4c94dba814e39a9e74b9c2e86c4..16581a015993cb555868115c356c3b5c2232396e 100644
index b9a3d707cbe1b2a44f1401d812e1224cddd984b0..fe55d451064e339ec55ad7e7727a60bc22d5e8dd 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -158,6 +158,14 @@ public class Main {
@@ -165,6 +165,14 @@ public class Main {
.ofType(File.class)
.defaultsTo(new File("paper.yml"))
.describedAs("Yml file");

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix gravity block duper
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 15f850f9ae1d4e45c445c5301cb167eda0287e2c..43873929f11e373186190b3ae831dc68bfa69616 100644
index fc79183a6bd979d98d79e88422801f9bb2646ea6..98a03fd18916ec2cf0104790d8683ebbfe87ba8e 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -512,36 +512,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -513,36 +513,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this));
}
// Paper end - optimise entity tracking
@@ -46,7 +46,7 @@ index 15f850f9ae1d4e45c445c5301cb167eda0287e2c..43873929f11e373186190b3ae831dc68
public Entity(EntityType<?> type, Level world) {
this.id = Entity.ENTITY_COUNTER.incrementAndGet();
@@ -2934,7 +2906,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -2951,7 +2923,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
}
this.processPortalCooldown();
@@ -56,10 +56,10 @@ index 15f850f9ae1d4e45c445c5301cb167eda0287e2c..43873929f11e373186190b3ae831dc68
}
diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
index eacb8a407fe99af2c13f23c12b5544696bda8890..169a93fe103fb795b6c8b49bb8c19b8643132316 100644
index ce2c3c146ef64400e00084bd2245d2b87a67fbc2..12aae043042c5352fbe564fc777172a6adb19680 100644
--- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java
@@ -63,7 +63,7 @@ public class FallingBlockEntity extends Entity {
@@ -64,7 +64,7 @@ public class FallingBlockEntity extends Entity {
@Nullable
public CompoundTag blockData;
protected static final EntityDataAccessor<BlockPos> DATA_START_POS = SynchedEntityData.defineId(FallingBlockEntity.class, EntityDataSerializers.BLOCK_POS);
@@ -68,7 +68,7 @@ index eacb8a407fe99af2c13f23c12b5544696bda8890..169a93fe103fb795b6c8b49bb8c19b86
public FallingBlockEntity(EntityType<? extends FallingBlockEntity> type, Level world) {
super(type, world);
@@ -129,11 +129,7 @@ public class FallingBlockEntity extends Entity {
@@ -130,11 +130,7 @@ public class FallingBlockEntity extends Entity {
@Override
public void tick() {
@@ -81,7 +81,7 @@ index eacb8a407fe99af2c13f23c12b5544696bda8890..169a93fe103fb795b6c8b49bb8c19b86
if (this.blockState.isAir()) {
this.discard();
} else {
@@ -146,11 +142,7 @@ public class FallingBlockEntity extends Entity {
@@ -147,11 +143,7 @@ public class FallingBlockEntity extends Entity {
this.move(MoverType.SELF, this.getDeltaMovement());
@@ -95,7 +95,7 @@ index eacb8a407fe99af2c13f23c12b5544696bda8890..169a93fe103fb795b6c8b49bb8c19b86
// Paper start - Configurable EntityFallingBlock height nerf
if (this.level.paperConfig().fixes.fallingBlockHeightNerf.test(v -> this.getY() > v)) {
diff --git a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
index 15c5cccfe02c924c02f605eb47dd0b420b189891..d3b286e145c7eda30f3e2419d20feee107a4f42f 100644
index 41d7cff39fc37955877668337689b4b26cd8c7cf..5e0e8afa553a8dcd87dfc10a595ba10c2b3da7df 100644
--- a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
+++ b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java
@@ -53,12 +53,19 @@ public class EndPortalBlock extends BaseEntityBlock {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix trading with the void
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index e84c67f02bce4c2f9c4eeca1b888d53377fb20d7..9d265ae4d2bb3a269c89ca76bf979400f30630a7 100644
index 5a5ff40df37db9cbd53c584ed26a3ce4888b29c0..816b531b9d2acfc5c3d6414cc5ad49d178f65f7f 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -2598,11 +2598,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -2597,11 +2597,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
// Spigot end
// Spigot Start
if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Make snowball and egg can knockback player
diff --git a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
index a725851060f13e734dbd2fbf8c83c9e1af57a8b7..6bb2b5b7fe4e4605898ee70fe12a72e5e765632a 100644
index 6cded52e4627c2b6073fa221fc6d6583f1b2a96d..faae95a9bb707e40deeca275814213773e3b765d 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/Snowball.java
@@ -3,6 +3,7 @@ package net.minecraft.world.entity.projectile;
@@ -13,16 +13,16 @@ index a725851060f13e734dbd2fbf8c83c9e1af57a8b7..6bb2b5b7fe4e4605898ee70fe12a72e5
import net.minecraft.core.particles.ParticleOptions;
import net.minecraft.core.particles.ParticleTypes;
+import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.damagesource.DamageSource;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityType;
@@ -56,6 +57,12 @@ public class Snowball extends ThrowableItemProjectile {
import net.minecraft.world.entity.LivingEntity;
@@ -55,6 +56,12 @@ public class Snowball extends ThrowableItemProjectile {
Entity entity = entityHitResult.getEntity();
int i = entity instanceof Blaze ? 3 : 0;
entity.hurt(DamageSource.thrown(this, this.getOwner()), (float)i);
entity.hurt(this.damageSources().thrown(this, this.getOwner()), (float)i);
+ // Leaves start - make snowball can knockback player
+ if (top.leavesmc.leaves.LeavesConfig.snowballAndEggCanKnockback && entity instanceof ServerPlayer) {
+ entity.hurt(DamageSource.thrown(this, this.getOwner()), 0.0000001F);
+ entity.hurt(this.damageSources().thrown(this, this.getOwner()), 0.0000001F);
+ ((ServerPlayer) entity).knockback(0.4000000059604645D, this.getX() - entity.getX(), this.getZ() - entity.getZ(), this);
+ }
+ // Leaves end - make snowball can knockback player
@@ -30,18 +30,18 @@ index a725851060f13e734dbd2fbf8c83c9e1af57a8b7..6bb2b5b7fe4e4605898ee70fe12a72e5
@Override
diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
index 77941e3981e49cf5662b3e3c86a9c419080b17c8..bc9ef36f989f06acac07aa15c8fc624abcdf8738 100644
index 326eb972078e5dd700372c9ba09ea7f8415b144e..2d7f314fc03103face462ac55979ddd78734a339 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownEgg.java
@@ -46,7 +46,14 @@ public class ThrownEgg extends ThrowableItemProjectile {
@@ -45,7 +45,14 @@ public class ThrownEgg extends ThrowableItemProjectile {
@Override
protected void onHitEntity(EntityHitResult entityHitResult) {
super.onHitEntity(entityHitResult);
+ Entity entity = entityHitResult.getEntity(); // Leaves - make egg can knockback player
entityHitResult.getEntity().hurt(DamageSource.thrown(this, this.getOwner()), 0.0F);
entityHitResult.getEntity().hurt(this.damageSources().thrown(this, this.getOwner()), 0.0F);
+ // Leaves start - make egg can knockback player
+ if (top.leavesmc.leaves.LeavesConfig.snowballAndEggCanKnockback && entity instanceof ServerPlayer) {
+ entity.hurt(DamageSource.thrown(this, this.getOwner()), 0.0000001F);
+ entity.hurt(this.damageSources().thrown(this, this.getOwner()), 0.0000001F);
+ ((ServerPlayer) entity).knockback(0.4000000059604645D, this.getX() - entity.getX(), this.getZ() - entity.getZ(), this);
+ }
+ // Leaves end - make egg can knockback player

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fakeplayer support
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index abc70f9aa1dd2080d9c0111a91f6dd74bc3ffbd0..7e15411afc2c35feb32569e557100b92b46a2b31 100644
index 48d4b8dc0396dc7f9142fcef35e8ecbdea5f1223..ad9c90b359874ee2c9a94c5b2cf72a634e8b56f4 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -125,6 +125,7 @@ import net.minecraft.util.profiling.metrics.profiling.ServerMetricsSamplersProvi
@@ -126,6 +126,7 @@ import net.minecraft.util.profiling.metrics.profiling.ServerMetricsSamplersProvi
import net.minecraft.util.profiling.metrics.storage.MetricsPersister;
import net.minecraft.util.thread.ReentrantBlockableEventLoop;
import net.minecraft.world.Difficulty;
@@ -16,7 +16,7 @@ index abc70f9aa1dd2080d9c0111a91f6dd74bc3ffbd0..7e15411afc2c35feb32569e557100b92
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.ai.village.VillageSiege;
import net.minecraft.world.entity.npc.CatSpawner;
@@ -632,6 +633,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -634,6 +635,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
// Paper end
@@ -25,7 +25,7 @@ index abc70f9aa1dd2080d9c0111a91f6dd74bc3ffbd0..7e15411afc2c35feb32569e557100b92
this.server.enablePlugins(org.bukkit.plugin.PluginLoadOrder.POSTWORLD);
this.server.getPluginManager().callEvent(new ServerLoadEvent(ServerLoadEvent.LoadType.STARTUP));
this.connection.acceptConnections();
@@ -939,6 +942,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -941,6 +944,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
MinecraftServer.LOGGER.info("Stopping server");
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Shutdown and don't bother finishing
MinecraftTimings.stopServer(); // Paper
@@ -37,10 +37,10 @@ index abc70f9aa1dd2080d9c0111a91f6dd74bc3ffbd0..7e15411afc2c35feb32569e557100b92
if (this.server != null) {
this.server.disablePlugins();
diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java
index a0c19503aabab5378d672a30163d35a5ba05b6c1..8873e12cbd3d6f9071efedb35ea3c69c78033d78 100644
index 26888ebd38280de92e41dd8006d2b24e874afe26..a1ce0cce055ad5c92b0f20760471795f08f0c886 100644
--- a/src/main/java/net/minecraft/server/PlayerAdvancements.java
+++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java
@@ -48,6 +48,7 @@ import net.minecraft.server.players.PlayerList;
@@ -44,6 +44,7 @@ import net.minecraft.server.players.PlayerList;
import net.minecraft.util.datafix.DataFixTypes;
import net.minecraft.world.level.GameRules;
import org.slf4j.Logger;
@@ -48,7 +48,7 @@ index a0c19503aabab5378d672a30163d35a5ba05b6c1..8873e12cbd3d6f9071efedb35ea3c69c
public class PlayerAdvancements {
@@ -272,6 +273,11 @@ public class PlayerAdvancements {
@@ -224,6 +225,11 @@ public class PlayerAdvancements {
}
public boolean award(Advancement advancement, String criterionName) {
@@ -61,10 +61,10 @@ index a0c19503aabab5378d672a30163d35a5ba05b6c1..8873e12cbd3d6f9071efedb35ea3c69c
AdvancementProgress advancementprogress = this.getOrStartProgress(advancement);
boolean flag1 = advancementprogress.isDone();
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 289429eb464548acc80262a49444f49f8f57fc0c..2e5871d9af67ad1c65a382f5e4964a13a7821305 100644
index ca5291a9573a62cb5c19539cf5c7aceff11f9829..a11b8b93ba9248ea463b7a3a3dcfdcf1c17baffb 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -176,6 +176,7 @@ import org.bukkit.event.player.PlayerPortalEvent;
@@ -182,6 +182,7 @@ import org.bukkit.event.player.PlayerPortalEvent;
import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.inventory.MainHand;
@@ -72,7 +72,7 @@ index 289429eb464548acc80262a49444f49f8f57fc0c..2e5871d9af67ad1c65a382f5e4964a13
// CraftBukkit end
public class ServerPlayer extends Player {
@@ -1209,6 +1210,13 @@ public class ServerPlayer extends Player {
@@ -1221,6 +1222,13 @@ public class ServerPlayer extends Player {
this.lastSentHealth = -1.0F;
this.lastSentFood = -1;
@@ -87,10 +87,10 @@ index 289429eb464548acc80262a49444f49f8f57fc0c..2e5871d9af67ad1c65a382f5e4964a13
PlayerChangedWorldEvent changeEvent = new PlayerChangedWorldEvent(this.getBukkitEntity(), worldserver1.getWorld());
this.level.getCraftServer().getPluginManager().callEvent(changeEvent);
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 835e439a1af327c67558653ef79ef7e59692a976..843f58761325bcb193deabae9d90072f32c0b083 100644
index c0c14766adaac855112f85a203a6163b8adfdded..df9f4c0dd69ccd9d02683c1a6302d0b537c64804 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -80,6 +80,7 @@ import net.minecraft.server.ServerScoreboard;
@@ -81,6 +81,7 @@ import net.minecraft.server.ServerScoreboard;
import net.minecraft.tags.BlockTags;
import net.minecraft.tags.TagNetworkSerialization;
import net.minecraft.util.Mth;
@@ -98,7 +98,7 @@ index 835e439a1af327c67558653ef79ef7e59692a976..843f58761325bcb193deabae9d90072f
import net.minecraft.world.effect.MobEffectInstance;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityType;
@@ -100,6 +101,7 @@ import net.minecraft.world.scores.Objective;
@@ -101,6 +102,7 @@ import net.minecraft.world.scores.Objective;
import net.minecraft.world.scores.PlayerTeam;
import net.minecraft.world.scores.Scoreboard; // Paper
import net.minecraft.world.scores.Team;
@@ -106,7 +106,7 @@ index 835e439a1af327c67558653ef79ef7e59692a976..843f58761325bcb193deabae9d90072f
import org.slf4j.Logger;
// CraftBukkit start
@@ -117,7 +119,6 @@ import org.bukkit.Location;
@@ -118,7 +120,6 @@ import org.bukkit.Location;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.craftbukkit.CraftWorld;
import org.bukkit.craftbukkit.entity.CraftPlayer;
@@ -114,7 +114,7 @@ index 835e439a1af327c67558653ef79ef7e59692a976..843f58761325bcb193deabae9d90072f
import org.bukkit.entity.Player;
import org.bukkit.event.player.PlayerChangedWorldEvent;
import org.bukkit.event.player.PlayerJoinEvent;
@@ -322,6 +323,18 @@ public abstract class PlayerList {
@@ -328,6 +329,18 @@ public abstract class PlayerList {
return;
}
@@ -133,7 +133,7 @@ index 835e439a1af327c67558653ef79ef7e59692a976..843f58761325bcb193deabae9d90072f
final net.kyori.adventure.text.Component jm = playerJoinEvent.joinMessage();
if (jm != null && !jm.equals(net.kyori.adventure.text.Component.empty())) { // Paper - Adventure
@@ -1065,11 +1078,16 @@ public abstract class PlayerList {
@@ -1072,11 +1085,16 @@ public abstract class PlayerList {
}
public String[] getPlayerNamesArray() {
@@ -151,7 +151,7 @@ index 835e439a1af327c67558653ef79ef7e59692a976..843f58761325bcb193deabae9d90072f
return astring;
}
@@ -1534,4 +1552,16 @@ public abstract class PlayerList {
@@ -1540,4 +1558,16 @@ public abstract class PlayerList {
public boolean isAllowCheatsForAllPlayers() {
return this.allowCheatsForAllPlayers;
}
@@ -169,10 +169,10 @@ index 835e439a1af327c67558653ef79ef7e59692a976..843f58761325bcb193deabae9d90072f
+ // Leaves end - fakeplayer support
}
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
index 1116116e4ba6c5ecec400cd371b70b9e14efd92b..53c5c229f710da8c409bbc5adcd932ef3e848473 100644
index 2b02800666b358159c8ecb63208a14855f90657b..3b119f016cee353412fa84415e189453e9371b2c 100644
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
@@ -1283,7 +1283,7 @@ public abstract class Player extends LivingEntity {
@@ -1282,7 +1282,7 @@ public abstract class Player extends LivingEntity {
boolean flag3 = false;
double d0 = (double) (this.walkDist - this.walkDistO);
@@ -182,7 +182,7 @@ index 1116116e4ba6c5ecec400cd371b70b9e14efd92b..53c5c229f710da8c409bbc5adcd932ef
if (itemstack.getItem() instanceof SwordItem) {
diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
index 15fb5ee374b19366ebb23181896fb943e95819f0..07886228e5a9536908b8480e8bf585bbbe91cb00 100644
index d77410588a1c10d8ac902f21a8bd7e35f74fecd2..f6b462314450a234d639ee96ae22575c207aa131 100644
--- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
+++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java
@@ -61,7 +61,7 @@ public class FishingHook extends Projectile {
@@ -195,7 +195,7 @@ index 15fb5ee374b19366ebb23181896fb943e95819f0..07886228e5a9536908b8480e8bf585bb
private int timeUntilHooked;
private float fishAngle;
diff --git a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
index 143977055717c2fe27df76231da304e2863b8f1f..4226e20dc91087f31c44e0ea7d0e8d06ec6facc8 100644
index c84908095a93d42826b21bf5f3490410fb0a5708..4b0bdf8705eadd2ca6c0fd5a3494fd8742330ef6 100644
--- a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
@@ -406,6 +406,8 @@ public abstract class AbstractContainerMenu {
@@ -232,22 +232,22 @@ index 143977055717c2fe27df76231da304e2863b8f1f..4226e20dc91087f31c44e0ea7d0e8d06
FeatureFlagSet featureflagset = player.getLevel().enabledFeatures();
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
index 750ac80eed6ba03e138dd4c03f57ddfe4a123276..f285a5a3f8a6b793452f872bc53b4aeeb5c3d383 100644
index 57a0dbb23a32123d30c3b3572f4d129be9d97847..deb7057a684b81741edb9f0903cda0439df5623d 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java
@@ -190,6 +190,8 @@ import org.bukkit.plugin.Plugin;
@@ -191,6 +191,8 @@ import org.bukkit.plugin.Plugin;
import org.bukkit.util.BoundingBox;
import org.bukkit.util.NumberConversions;
import org.bukkit.util.Vector;
+import top.leavesmc.leaves.bot.ServerBot;
+import top.leavesmc.leaves.entity.CraftBot;
public abstract class CraftEntity implements org.bukkit.entity.Entity {
private static PermissibleBase perm;
@@ -214,7 +216,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
import net.md_5.bungee.api.chat.BaseComponent; // Spigot
@@ -217,7 +219,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity {
if (entity instanceof LivingEntity) {
// Players
if (entity instanceof Player) {
if (entity instanceof net.minecraft.world.entity.player.Player) {
- if (entity instanceof ServerPlayer) { return new CraftPlayer(server, (ServerPlayer) entity); }
+ // Leaves start - add CraftBot
+ if (entity instanceof ServerPlayer) {
@@ -255,7 +255,7 @@ index 750ac80eed6ba03e138dd4c03f57ddfe4a123276..f285a5a3f8a6b793452f872bc53b4aee
+ else { return new CraftPlayer(server, (ServerPlayer) entity); }
+ }
+ // Leaves end - add CraftBot
else { return new CraftHumanEntity(server, (Player) entity); }
else { return new CraftHumanEntity(server, (net.minecraft.world.entity.player.Player) entity); }
}
// Water Animals
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
@@ -337,7 +337,7 @@ index 1fb25e8a21b568864974cc81b452ba062890d593..67337e7daefec0fa710ea0df0e8cfeb8
public final String worldName;
diff --git a/src/main/java/top/leavesmc/leaves/bot/BotCommand.java b/src/main/java/top/leavesmc/leaves/bot/BotCommand.java
new file mode 100644
index 0000000000000000000000000000000000000000..6b7fb541d4d1fb6d4f3239ec59da26e30af76234
index 0000000000000000000000000000000000000000..a572488cf07940fa760e8908973ba76cd1c7111f
--- /dev/null
+++ b/src/main/java/top/leavesmc/leaves/bot/BotCommand.java
@@ -0,0 +1,222 @@
@@ -482,7 +482,7 @@ index 0000000000000000000000000000000000000000..6b7fb541d4d1fb6d4f3239ec59da26e3
+ return;
+ }
+
+ bot.die(DamageSource.OUT_OF_WORLD);
+ bot.die(bot.damageSources().outOfWorld());
+ }
+
+ private void onAction(CommandSender sender, String @NotNull [] args) {
@@ -945,7 +945,7 @@ index 0000000000000000000000000000000000000000..d6466ee4db637106e1394bb462d875e5
+}
diff --git a/src/main/java/top/leavesmc/leaves/bot/ServerBot.java b/src/main/java/top/leavesmc/leaves/bot/ServerBot.java
new file mode 100644
index 0000000000000000000000000000000000000000..65df16e8034711957ec3610a0846e9b6875eeeca
index 0000000000000000000000000000000000000000..548e4b77751e476fa25268f67768bb3dbe6c7a03
--- /dev/null
+++ b/src/main/java/top/leavesmc/leaves/bot/ServerBot.java
@@ -0,0 +1,781 @@
@@ -1514,7 +1514,7 @@ index 0000000000000000000000000000000000000000..65df16e8034711957ec3610a0846e9b6
+
+ private void fallDamageCheck() {
+ if (groundTicks != 0 && noFallTicks == 0 && !(oldVelocity.getY() >= -0.8)) {
+ hurt(DamageSource.FALL, (float) Math.pow(3.6, -oldVelocity.getY()));
+ hurt(this.damageSources().fall(), (float) Math.pow(3.6, -oldVelocity.getY()));
+ }
+ }
+
@@ -1707,7 +1707,7 @@ index 0000000000000000000000000000000000000000..65df16e8034711957ec3610a0846e9b6
+ while (iterator.hasNext()) {
+ ServerBot bot = iterator.next();
+ iterator.remove();
+ bot.die(DamageSource.OUT_OF_WORLD);
+ bot.die(bot.damageSources().outOfWorld());
+ }
+ return true;
+ }

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Redstone Shears Wrench
diff --git a/src/main/java/net/minecraft/world/item/ShearsItem.java b/src/main/java/net/minecraft/world/item/ShearsItem.java
index e77af779c77de6d5580c13699df3e7d890fe7aba..c9310e88b3a967cb9cacb80288e74757fffca647 100644
index a6ebb08a8f9681fd3a35de5d0e268f320e31ce1a..7c3c3a28a95c58caa83e283cdbb472b2499a8f7b 100644
--- a/src/main/java/net/minecraft/world/item/ShearsItem.java
+++ b/src/main/java/net/minecraft/world/item/ShearsItem.java
@@ -1,7 +1,9 @@
@@ -18,7 +18,7 @@ index e77af779c77de6d5580c13699df3e7d890fe7aba..c9310e88b3a967cb9cacb80288e74757
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundEvents;
import net.minecraft.sounds.SoundSource;
@@ -14,8 +16,18 @@ import net.minecraft.world.item.context.UseOnContext;
@@ -14,9 +16,19 @@ import net.minecraft.world.item.context.UseOnContext;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.Block;
import net.minecraft.world.level.block.Blocks;
@@ -30,6 +30,7 @@ index e77af779c77de6d5580c13699df3e7d890fe7aba..c9310e88b3a967cb9cacb80288e74757
+import net.minecraft.world.level.block.RepeaterBlock;
+import net.minecraft.world.level.block.piston.PistonBaseBlock;
import net.minecraft.world.level.block.state.BlockState;
import net.minecraft.world.level.gameevent.GameEvent;
+import net.minecraft.world.level.block.state.StateDefinition;
+import net.minecraft.world.level.block.state.properties.Property;
+
@@ -37,7 +38,7 @@ index e77af779c77de6d5580c13699df3e7d890fe7aba..c9310e88b3a967cb9cacb80288e74757
public class ShearsItem extends Item {
public ShearsItem(Item.Properties settings) {
@@ -77,6 +89,59 @@ public class ShearsItem extends Item {
@@ -80,6 +92,59 @@ public class ShearsItem extends Item {
}
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Add isShrink to EntityResurrectEvent
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 42eb78830855d7282b7f3f1bdbe85e632d489784..f577dcc95bba43a2aa8a3a54b3afbcf50e93d52b 100644
index e9d3e34520b706627205e0d5b17b25e09f198e7e..f02913ec025208dcdfe9d0f0e5b26a1d912f4797 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1549,12 +1549,12 @@ public abstract class LivingEntity extends Entity {
@@ -1538,12 +1538,12 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
org.bukkit.inventory.EquipmentSlot handSlot = (hand != null) ? org.bukkit.craftbukkit.CraftEquipmentSlot.getHand(hand) : null;
@@ -23,7 +23,7 @@ index 42eb78830855d7282b7f3f1bdbe85e632d489784..f577dcc95bba43a2aa8a3a54b3afbcf5
itemstack1.shrink(1);
}
if (itemstack != null && this instanceof ServerPlayer) {
@@ -4433,3 +4433,4 @@ public abstract class LivingEntity extends Entity {
@@ -4403,3 +4403,4 @@ public abstract class LivingEntity extends Entity implements Attackable {
}
}

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Spectator dont get Advancement
diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java
index 8873e12cbd3d6f9071efedb35ea3c69c78033d78..1fdaa8a9993dd6881877a3b00b02487a09a34cbe 100644
index a1ce0cce055ad5c92b0f20760471795f08f0c886..6a5025e54c4bf4396f1f18a81d9db912848a2545 100644
--- a/src/main/java/net/minecraft/server/PlayerAdvancements.java
+++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java
@@ -47,6 +47,7 @@ import net.minecraft.server.level.ServerPlayer;
@@ -43,6 +43,7 @@ import net.minecraft.server.level.ServerPlayer;
import net.minecraft.server.players.PlayerList;
import net.minecraft.util.datafix.DataFixTypes;
import net.minecraft.world.level.GameRules;
@@ -16,7 +16,7 @@ index 8873e12cbd3d6f9071efedb35ea3c69c78033d78..1fdaa8a9993dd6881877a3b00b02487a
import org.slf4j.Logger;
import top.leavesmc.leaves.bot.ServerBot;
@@ -278,6 +279,11 @@ public class PlayerAdvancements {
@@ -230,6 +231,11 @@ public class PlayerAdvancements {
return false;
}
// Leaves end - bot can't get advancement

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Stick can change ArmorStand arm status
diff --git a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
index b136cdc13d94bc34c998a1986e0c93525356ac5c..a1dd65d71606e1da07be781bf95a326882fa8c9e 100644
index 3677dd991ae73428984e62e4d6fb757317987887..3b488949ba5cd7465e4de3955e5430fc710322cc 100644
--- a/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
+++ b/src/main/java/net/minecraft/world/entity/decoration/ArmorStand.java
@@ -384,6 +384,12 @@ public class ArmorStand extends LivingEntity {
@@ -385,6 +385,12 @@ public class ArmorStand extends LivingEntity {
return InteractionResult.SUCCESS;
}
} else {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] No chat sign
diff --git a/src/main/java/io/papermc/paper/adventure/ChatProcessor.java b/src/main/java/io/papermc/paper/adventure/ChatProcessor.java
index 309fe1162db195c7c3c94d785d6aa2700e42b08a..7f00a44fdba7ba63ea9e06ff959ff51ddfdfebf9 100644
index 4d9bc4a62ebae0f3707900503576c64733de639f..95b8bd748abe3dcb05a9bd05e45391934a0b2771 100644
--- a/src/main/java/io/papermc/paper/adventure/ChatProcessor.java
+++ b/src/main/java/io/papermc/paper/adventure/ChatProcessor.java
@@ -352,7 +352,7 @@ public final class ChatProcessor {
@@ -353,7 +353,7 @@ public final class ChatProcessor {
private void sendToServer(final ChatType.Bound chatType, final @Nullable Function<Audience, net.minecraft.network.chat.Component> msgFunction) {
final PlayerChatMessage toConsoleMessage = msgFunction == null ? ChatProcessor.this.message : ChatProcessor.this.message.withUnsignedContent(msgFunction.apply(ChatProcessor.this.server.console));
@@ -40,6 +40,34 @@ index 72a8aa676836fcb3b4578689d16af65e18f55bbe..47a06936a4727c6209a7ad0fb8fb1099
@Nullable
public MessageSignature get(String argumentName) {
for(ArgumentSignatures.Entry entry : this.entries) {
diff --git a/src/main/java/net/minecraft/network/FriendlyByteBuf.java b/src/main/java/net/minecraft/network/FriendlyByteBuf.java
index 9938bb90bef84cf784f9a1ceb02a1a45aa8b48a1..a7aa7fe8f27b7650415498d9540138a2fabc8233 100644
--- a/src/main/java/net/minecraft/network/FriendlyByteBuf.java
+++ b/src/main/java/net/minecraft/network/FriendlyByteBuf.java
@@ -67,6 +67,7 @@ import net.minecraft.nbt.NbtIo;
import net.minecraft.nbt.Tag;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.MutableComponent;
+import net.minecraft.network.protocol.status.ServerStatus;
import net.minecraft.resources.ResourceKey;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Crypt;
@@ -154,6 +155,15 @@ public class FriendlyByteBuf extends ByteBuf {
public <T> void writeJsonWithCodec(Codec<T> codec, T value) {
DataResult<JsonElement> dataresult = codec.encodeStart(JsonOps.INSTANCE, value);
+ // Leaves start - no chat sign
+ if (codec == ServerStatus.CODEC) {
+ JsonElement element = Util.getOrThrow(dataresult, string -> new EncoderException("Failed to encode: " + string + " " + value));
+ element.getAsJsonObject().addProperty("preventsChatReports", top.leavesmc.leaves.LeavesConfig.noChatSign);
+
+ this.writeUtf(GSON.toJson(element));
+ }
+ // Leaves end - no chat sign
+
this.writeUtf(FriendlyByteBuf.GSON.toJson((JsonElement) Util.getOrThrow(dataresult, (s) -> {
return new EncoderException("Failed to encode: " + s + " " + value);
})));
diff --git a/src/main/java/net/minecraft/network/protocol/game/ServerboundChatPacket.java b/src/main/java/net/minecraft/network/protocol/game/ServerboundChatPacket.java
index d1d2fc0c57523c1abf1e8bfec913c78927c3dafc..50c1b722231c2add72663c475ae9068a35bfd524 100644
--- a/src/main/java/net/minecraft/network/protocol/game/ServerboundChatPacket.java
@@ -81,74 +109,30 @@ index 9d6db4a378036559efab91c8b7dcf2a6b0c2cce6..2c349dc502ce275a8215766933f4855f
}
}
diff --git a/src/main/java/net/minecraft/network/protocol/status/ServerStatus.java b/src/main/java/net/minecraft/network/protocol/status/ServerStatus.java
index 6e0a3086da142f1c42007a16bbec7edbab17da04..776be7f58746f96fe9bf7daf11053d3958690df2 100644
index e6cc2bab1fde2e8c1394772b99201ea8d7eb8057..9545760dab2ab7e2a85c00a8b0847b3c4c4c6857 100644
--- a/src/main/java/net/minecraft/network/protocol/status/ServerStatus.java
+++ b/src/main/java/net/minecraft/network/protocol/status/ServerStatus.java
@@ -27,6 +27,7 @@ public class ServerStatus {
@Nullable
private String favicon;
private boolean enforcesSecureChat;
+ private boolean preventsChatReports; // Leaves - preventsChatReports
@Nullable
public Component getDescription() {
@@ -69,9 +70,19 @@ public class ServerStatus {
}
public boolean enforcesSecureChat() {
- return this.enforcesSecureChat;
+ return this.enforcesSecureChat && !top.leavesmc.leaves.LeavesConfig.noChatSign; // Leaves - no enforcesSecureChat
}
+ // Leaves start - add preventsChatReports
+ public boolean isPreventsChatReports() {
+ return preventsChatReports;
+ }
+
+ public void setPreventsChatReports(boolean preventsChatReports) {
+ this.preventsChatReports = preventsChatReports;
+ }
+ // Leaves end - add preventsChatReports
+
public static class Players {
private final int maxPlayers;
private final int numPlayers;
@@ -173,6 +184,10 @@ public class ServerStatus {
serverStatus.setEnforcesSecureChat(GsonHelper.getAsBoolean(jsonObject, "enforcesSecureChat"));
}
+ if (top.leavesmc.leaves.LeavesConfig.noChatSign && jsonObject.has("preventsChatReports")) {
+ serverStatus.setPreventsChatReports(GsonHelper.getAsBoolean(jsonObject, "preventsChatReports"));
+ }
+
return serverStatus;
}
@@ -196,6 +211,12 @@ public class ServerStatus {
jsonObject.addProperty("favicon", serverStatus.getFavicon());
}
+ // Leaves start - add preventsChatReports
+ if (top.leavesmc.leaves.LeavesConfig.noChatSign) {
+ jsonObject.addProperty("preventsChatReports", true);
+ }
+ // Leaves end - add preventsChatReports
+
return jsonObject;
@@ -26,18 +26,14 @@ public record ServerStatus(Component description, Optional<ServerStatus.Players>
private static final String PREFIX = "data:image/png;base64,";
public static final Codec<ServerStatus.Favicon> CODEC = Codec.STRING.comapFlatMap((uri) -> {
if (!uri.startsWith("data:image/png;base64,")) {
- return DataResult.error(() -> {
- return "Unknown format";
- });
+ return DataResult.error("Unknown format");
} else {
try {
String string = uri.substring("data:image/png;base64,".length()).replaceAll("\n", "");
byte[] bs = Base64.getDecoder().decode(string.getBytes(StandardCharsets.UTF_8));
return DataResult.success(new ServerStatus.Favicon(bs));
} catch (IllegalArgumentException var3) {
- return DataResult.error(() -> {
- return "Malformed base64 server icon";
- });
+ return DataResult.error("Malformed base64 server icon");
}
}
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 7e15411afc2c35feb32569e557100b92b46a2b31..e854fbca1a90679bb4f03c38fa1cb9f1622eacbb 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1113,6 +1113,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.status.setDescription(Component.literal(this.motd));
this.status.setVersion(new ServerStatus.Version(SharedConstants.getCurrentVersion().getName(), SharedConstants.getCurrentVersion().getProtocolVersion()));
this.status.setEnforcesSecureChat(this.enforceSecureProfile());
+ this.status.setPreventsChatReports(top.leavesmc.leaves.LeavesConfig.noChatSign); // Leaves - add preventsChatReports
this.updateStatusIcon(this.status);
// Spigot start
}, (iconBytes) -> {
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
index cd0f05aa0f2720d450ee1b975648e73dc22ac9a5..90d284192f27a69f6694544c885c3e4d393081bb 100644
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
@@ -163,10 +147,10 @@ index cd0f05aa0f2720d450ee1b975648e73dc22ac9a5..90d284192f27a69f6694544c885c3e4d
protected boolean convertOldUsers() {
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index d9c29725e015cb4684ff2d547352505d2ad8a2fe..bc2dba4a2efe56b0ca2e6c2a8881fe5d036e4166 100644
index 2d8488b9aa088b6d5f0c7e557b8ad0b29bc4cd88..3e501a731eacda1418009cd21a59cf3da1747848 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2140,10 +2140,27 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -2132,10 +2132,27 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@Override
public void send(Packet<?> packet) {
@@ -195,10 +179,10 @@ index d9c29725e015cb4684ff2d547352505d2ad8a2fe..bc2dba4a2efe56b0ca2e6c2a8881fe5d
if (packet == null || this.processedDisconnect) { // Spigot
return;
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index d5014c1145dc25647d328835f7c93309adf8dd1a..a057f6fa87f76707cdef2615d5d49e32fc181740 100644
index df9f4c0dd69ccd9d02683c1a6302d0b537c64804..f0fd2302519290bade97224373844de7a59a03dd 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1427,7 +1427,7 @@ public abstract class PlayerList {
@@ -1434,7 +1434,7 @@ public abstract class PlayerList {
}
public boolean verifyChatTrusted(PlayerChatMessage message) { // Paper - private -> public

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Optimize mob spawning
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index e854fbca1a90679bb4f03c38fa1cb9f1622eacbb..159cb3cf059730d0e74863671f9a59efabdb3d2a 100644
index ad9c90b359874ee2c9a94c5b2cf72a634e8b56f4..4296153b171c827aadd0a3b70f1f13b8ba41cc65 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -311,6 +311,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -314,6 +314,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
public volatile boolean abnormalExit = false; // Paper
public boolean isIteratingOverLevels = false; // Paper
@@ -35,10 +35,10 @@ index 90d284192f27a69f6694544c885c3e4d393081bb..094af18dda115019430a3cbacaf5508f
}
}
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 2212f9f48636357265d8e44aba415ea4f09f1fe7..b592f5fa1d235c2c3906dd893d079cd4211794ac 100644
index fbe209a66c77c47935ad026dd3e45e682af91fd8..31f6791935b3f4cc1349716448d46da2bcea2f15 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -342,7 +342,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -345,7 +345,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
this.dataRegionManager = new io.papermc.paper.chunk.SingleThreadChunkRegionManager(this.level, 2, (1.0 / 3.0), 1, 6, "Data", DataRegionData::new, DataRegionSectionData::new);
this.regionManagers.add(this.dataRegionManager);
// Paper end
@@ -141,7 +141,7 @@ index ca84eddbdb1e198b899750e5f6b3eafd25ce970f..6a2adfe51b5ea6b3290349781f41ed78
}
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index 01b21f520ef1c834b9bafc3de85c1fa4fcf539d6..dca0d9611593a0f3b921b314b4b458cc95f08ebc 100644
index 15d266fc97eb73338f4f6fb2cfe25d6861e79810..70773c525bcf33d4d4764ce4a16dedddc423b02b 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -173,7 +173,7 @@ public final class NaturalSpawner {

View File

@@ -6,37 +6,20 @@ Subject: [PATCH] Dont send useless entity packets
This patch is Powered by Purpur(https://github.com/PurpurMC/Purpur)
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
index 190e9761087baec5827d722a8281f0ffb6798341..158da4c3b002a4948bfb214337aa28a55b358fc9 100644
index b7fd8e70413c38923d0719aff803449e392383ac..209685e67ebdb7f062bb58118242dcbf884a3876 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -170,20 +170,29 @@ public class ServerEntity {
boolean flag4 = k < -32768L || k > 32767L || l < -32768L || l > 32767L || i1 < -32768L || i1 > 32767L;
if (!flag4 && this.teleportDelay <= 400 && !this.wasRiding && this.wasOnGround == this.entity.isOnGround() && !(io.papermc.paper.configuration.GlobalConfiguration.get().collisions.sendFullPosForHardCollidingEntities && this.entity.hardCollides())) { // Paper - send full pos for hard colliding entities to prevent collision problems due to desync
- if ((!flag2 || !flag3) && !(this.entity instanceof AbstractArrow)) {
- if (flag2) {
- packet1 = new ClientboundMoveEntityPacket.Pos(this.entity.getId(), (short) ((int) k), (short) ((int) l), (short) ((int) i1), this.entity.isOnGround());
- } else if (flag3) {
- packet1 = new ClientboundMoveEntityPacket.Rot(this.entity.getId(), (byte) i, (byte) j, this.entity.isOnGround());
+ // Leaves start - Better checking
+ if (flag2 || flag3 || this.entity instanceof AbstractArrow) {
+ if ((!flag2 || !flag3) && !(this.entity instanceof AbstractArrow)) {
+ if (flag2) {
+ packet1 = new ClientboundMoveEntityPacket.Pos(this.entity.getId(), (short) ((int) k), (short) ((int) l), (short) ((int) i1), this.entity.isOnGround());
+ } else if (flag3) {
+ packet1 = new ClientboundMoveEntityPacket.Rot(this.entity.getId(), (byte) i, (byte) j, this.entity.isOnGround());
+ }
+ } else {
+ packet1 = new ClientboundMoveEntityPacket.PosRot(this.entity.getId(), (short) ((int) k), (short) ((int) l), (short) ((int) i1), (byte) i, (byte) j, this.entity.isOnGround());
}
- } else {
- packet1 = new ClientboundMoveEntityPacket.PosRot(this.entity.getId(), (short) ((int) k), (short) ((int) l), (short) ((int) i1), (byte) i, (byte) j, this.entity.isOnGround());
@@ -198,6 +198,7 @@ public class ServerEntity {
flag4 = true;
flag5 = true;
}
+ // Leaves end - Better checking
} else {
this.wasOnGround = this.entity.isOnGround();
this.teleportDelay = 0;
packet1 = new ClientboundTeleportEntityPacket(this.entity);
@@ -205,6 +206,11 @@ public class ServerEntity {
flag4 = true;
flag5 = true;
}
+ // Leaves start - dont send useless entity packets
+ if (top.leavesmc.leaves.LeavesConfig.dontSendUselessEntityPackets && isUselessPacket(packet1)) {
@@ -46,8 +29,8 @@ index 190e9761087baec5827d722a8281f0ffb6798341..158da4c3b002a4948bfb214337aa28a5
}
if ((this.trackDelta || this.entity.hasImpulse || this.entity instanceof LivingEntity && ((LivingEntity) this.entity).isFallFlying()) && this.tickCount > 0) {
@@ -250,6 +259,21 @@ public class ServerEntity {
@@ -279,6 +285,21 @@ public class ServerEntity {
}));
}
+ // Leaves start - dont send useless entity packets

View File

@@ -31,10 +31,10 @@ index f597d65d56964297eeeed6c7e77703764178fee0..a584f2d0829db0bb220b2934ae2934da
public ChunkHolder.FullChunkStatus status;
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index b592f5fa1d235c2c3906dd893d079cd4211794ac..634cde8069fc5ba467170a597e02da7c6b4e7b80 100644
index 31f6791935b3f4cc1349716448d46da2bcea2f15..6cca26640b5c392d2d1bb3ecb6b2b235937f54bd 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1248,8 +1248,38 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1251,8 +1251,38 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
entity.tracker = null; // Paper - We're no longer tracked
}
@@ -73,7 +73,7 @@ index b592f5fa1d235c2c3906dd893d079cd4211794ac..634cde8069fc5ba467170a597e02da7c
this.level.timings.tracker1.startTiming();
try {
for (TrackedEntity tracker : this.entityMap.values()) {
@@ -1496,11 +1526,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1509,11 +1539,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
public class TrackedEntity {
@@ -88,7 +88,7 @@ index b592f5fa1d235c2c3906dd893d079cd4211794ac..634cde8069fc5ba467170a597e02da7c
public TrackedEntity(Entity entity, int i, int j, boolean flag) {
this.serverEntity = new ServerEntity(ChunkMap.this.level, entity, j, flag, this::broadcast, this.seenBy); // CraftBukkit
@@ -1512,7 +1542,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1525,7 +1555,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
// Paper start - use distance map to optimise tracker
com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> lastTrackerCandidates;
@@ -97,7 +97,7 @@ index b592f5fa1d235c2c3906dd893d079cd4211794ac..634cde8069fc5ba467170a597e02da7c
com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> oldTrackerCandidates = this.lastTrackerCandidates;
this.lastTrackerCandidates = newTrackerCandidates;
@@ -1584,7 +1614,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1597,7 +1627,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
public void removePlayer(ServerPlayer player) {
@@ -106,7 +106,7 @@ index b592f5fa1d235c2c3906dd893d079cd4211794ac..634cde8069fc5ba467170a597e02da7c
if (this.seenBy.remove(player.connection)) {
this.serverEntity.removePairing(player);
}
@@ -1592,7 +1622,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1605,7 +1635,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
}
public void updatePlayer(ServerPlayer player) {
@@ -129,10 +129,10 @@ index ca42c2642a729b90d22b968af7258f3aee72e14b..464678e973513b5c9e0cf0910cac1b3b
public boolean visible = true;
diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java
index 158da4c3b002a4948bfb214337aa28a55b358fc9..2f8e77692811604fdc19bff6ba0faeeadcd9bba6 100644
index 209685e67ebdb7f062bb58118242dcbf884a3876..555f5075f5b61f7c0527289471ead1c56789d200 100644
--- a/src/main/java/net/minecraft/server/level/ServerEntity.java
+++ b/src/main/java/net/minecraft/server/level/ServerEntity.java
@@ -276,14 +276,18 @@ public class ServerEntity {
@@ -302,7 +302,11 @@ public class ServerEntity {
public void removePairing(ServerPlayer player) {
this.entity.stopSeenByPlayer(player);
@@ -145,15 +145,7 @@ index 158da4c3b002a4948bfb214337aa28a55b358fc9..2f8e77692811604fdc19bff6ba0faeea
}
public void addPairing(ServerPlayer player) {
ServerGamePacketListenerImpl playerconnection = player.connection;
Objects.requireNonNull(player.connection);
- this.sendPairingData(playerconnection::send, player); // CraftBukkit - add player
+ ((ServerLevel) this.entity.level).chunkSource.chunkMap.runOnTrackerMainThread(() -> this.sendPairingData(playerconnection::send, player)); // CraftBukkit - add player // Leaves - main thread
this.entity.startSeenByPlayer(player);
}
@@ -398,12 +402,17 @@ public class ServerEntity {
@@ -425,12 +429,17 @@ public class ServerEntity {
Set<AttributeInstance> set = ((LivingEntity) this.entity).getAttributes().getDirtyAttributes();
if (!set.isEmpty()) {

View File

@@ -6,19 +6,19 @@ Subject: [PATCH] Optimize suffocation
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index f577dcc95bba43a2aa8a3a54b3afbcf50e93d52b..42f89171251a5f2dcd6e75eaa1135b34f1e34d6b 100644
index f02913ec025208dcdfe9d0f0e5b26a1d912f4797..5189762e0f9cae84b7bc60a22437cef4e95c7c36 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -402,7 +402,7 @@ public abstract class LivingEntity extends Entity {
@@ -397,7 +397,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
boolean flag = this instanceof net.minecraft.world.entity.player.Player;
if (!this.level.isClientSide) {
- if (this.isInWall()) {
+ if ((!top.leavesmc.leaves.LeavesConfig.enableSuffocationOptimization || (tickCount % 10 == 0 && couldPossiblyBeHurt(1.0F))) && this.isInWall()) { // Leaves - optimize suffocation
this.hurt(DamageSource.IN_WALL, 1.0F);
this.hurt(this.damageSources().inWall(), 1.0F);
} else if (flag && !this.level.getWorldBorder().isWithinBounds(this.getBoundingBox())) {
double d0 = this.level.getWorldBorder().getDistanceToBorder(this) + this.level.getWorldBorder().getDamageSafeZone();
@@ -1327,6 +1327,15 @@ public abstract class LivingEntity extends Entity {
@@ -1321,6 +1321,15 @@ public abstract class LivingEntity extends Entity implements Attackable {
return this.getHealth() <= 0.0F;
}

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Strip raytracing for EntityLiving#hasLineOfSight
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 42f89171251a5f2dcd6e75eaa1135b34f1e34d6b..48ab2b1a7785ef553463fcd03edd6609ecf454ac 100644
index 5189762e0f9cae84b7bc60a22437cef4e95c7c36..029f456504f0229a564af937e30329ca08a1b5f9 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -3656,7 +3656,13 @@ public abstract class LivingEntity extends Entity {
@@ -3618,7 +3618,13 @@ public abstract class LivingEntity extends Entity implements Attackable {
Vec3 vec3d1 = new Vec3(entity.getX(), entity.getEyeY(), entity.getZ());
// Paper - diff on change - used in CraftLivingEntity#hasLineOfSight(Location) and CraftWorld#lineOfSightExists
@@ -25,7 +25,7 @@ index 42f89171251a5f2dcd6e75eaa1135b34f1e34d6b..48ab2b1a7785ef553463fcd03edd6609
}
diff --git a/src/main/java/net/minecraft/world/level/BlockGetter.java b/src/main/java/net/minecraft/world/level/BlockGetter.java
index d1eefa6ef3e9abfe7af4d8310aa64465fa2d5463..c91735828dc99af0b880a5a105025b4294c487a7 100644
index 2ee9e8e3c1a28c1823de8e1fe421cc1f3e72f384..49670b17d8c3d0f903b823e78531d2d18cf77e3b 100644
--- a/src/main/java/net/minecraft/world/level/BlockGetter.java
+++ b/src/main/java/net/minecraft/world/level/BlockGetter.java
@@ -73,6 +73,16 @@ public interface BlockGetter extends LevelHeightAccessor {
@@ -46,10 +46,10 @@ index d1eefa6ef3e9abfe7af4d8310aa64465fa2d5463..c91735828dc99af0b880a5a105025b42
default BlockHitResult clip(ClipContext raytrace1, BlockPos blockposition) {
// Paper start - Prevent raytrace from loading chunks
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 5efece112550148d04f641249bee3221c6375c93..7bd8998048a5505331fdd2870570351137b1a6be 100644
index 31f0034115a88a42b18e0b838eab8b801473bbef..8cadc9655b8876ede4ec4d2b09198445b56fde29 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -409,6 +409,91 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -415,6 +415,91 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
return null;
}

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Only check for spooky season once an hour
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
index 320c558bbe80d4bbc641e895ec43cfa2b45e8d70..f57572620288d8f0e024d43a4e11e2125d45515c 100644
index f5efdf59617d43de18a2267351fa784c0be3ae83..3af66e566c7e154eda362a564c630b5cb4ac24b8 100644
--- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java
+++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java
@@ -256,13 +256,30 @@ public class Bat extends AmbientCreature {
@@ -251,13 +251,30 @@ public class Bat extends AmbientCreature {
}
}

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Move ThreadUnsafeRandom Initialization
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
index dc0353bdbf6203167a7654609d13220cd6c0e713..aa81259696beafd04584ee9f5829e9d2e54be67e 100644
index 816b531b9d2acfc5c3d6414cc5ad49d178f65f7f..dc1ba6e8e8c170681389c360fb5d33caa10bd734 100644
--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
+++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
@@ -793,7 +793,7 @@ public class ServerLevel extends Level implements WorldGenLevel {
@@ -19,19 +19,19 @@ index dc0353bdbf6203167a7654609d13220cd6c0e713..aa81259696beafd04584ee9f5829e9d2
public void tickChunk(LevelChunk chunk, int randomTickSpeed) {
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 3fd487f9302f428171539e18f09f05c93037fab1..7d6fe65dc64afa00ecef0d1be2e13507086ab81a 100644
index 8cadc9655b8876ede4ec4d2b09198445b56fde29..844ebd772c1c0b9856069356e451084a1b771324 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -271,6 +271,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -275,6 +275,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
public abstract ResourceKey<LevelStem> getTypeKey();
+ protected final io.papermc.paper.util.math.ThreadUnsafeRandom randomTickRandom = new io.papermc.paper.util.math.ThreadUnsafeRandom(java.util.concurrent.ThreadLocalRandom.current().nextLong()); // Leaves - move thread unsafe random initialization
+
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, 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.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper
@@ -359,6 +361,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -365,6 +367,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
this.chunkPacketBlockController = this.paperConfig().anticheat.antiXray.enabled ? new com.destroystokyo.paper.antixray.ChunkPacketBlockControllerAntiXray(this, executor) : com.destroystokyo.paper.antixray.ChunkPacketBlockController.NO_OPERATION_INSTANCE; // Paper - Anti-Xray
}

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Config to disable method profiler
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 159cb3cf059730d0e74863671f9a59efabdb3d2a..49d3483357981e2a980a6e39e1be27e118adde87 100644
index 4296153b171c827aadd0a3b70f1f13b8ba41cc65..3dc75d267340fdda50668ec0cc7270867dd96117 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -2249,6 +2249,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -2276,6 +2276,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
}
public ProfilerFiller getProfiler() {
@@ -22,10 +22,10 @@ index 159cb3cf059730d0e74863671f9a59efabdb3d2a..49d3483357981e2a980a6e39e1be27e1
}
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index de84dbe7e079fe9776ef7a8c21c12487fcd736ba..f22d1a2a8a1dbb1b2294dfcaddcac24b10d905ae 100644
index 844ebd772c1c0b9856069356e451084a1b771324..847d1cb27da0ee06f208acec93ee6758ae04d6f9 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -1547,6 +1547,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -1549,6 +1549,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
}
public ProfilerFiller getProfiler() {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Throttle goal selector during inactive ticking
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java
index 49b983064ea810382b6112f5dc7f93ba4e5710bd..3948d4c6bf1f3942b6496ee2a887666595e0eebc 100644
index 02cb6b8c1d59855ff4a8aad3024fe12007eca0ee..0ba8fdb035e65bd590079a3bcb8d35a1ad51be90 100644
--- a/src/main/java/net/minecraft/world/entity/Mob.java
+++ b/src/main/java/net/minecraft/world/entity/Mob.java
@@ -210,11 +210,13 @@ public abstract class Mob extends LivingEntity {
@@ -215,11 +215,13 @@ public abstract class Mob extends LivingEntity implements Targeting {
return this.lookControl;
}

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Reduce entity allocations
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 2433315c13e2da90f4f208d180d487c984a087ea..818952b1268688cf13a8ab22d38f05336bf740ad 100644
index 9c44cae6f624c845f8abd84061e2dc4157748c83..c0e7ea96effd44b75ef3afdeab29bc21277af6bd 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -415,6 +415,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -416,6 +416,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
return this.originWorld;
}
// Paper end

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Remove iterators from inventory contains
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
diff --git a/src/main/java/net/minecraft/world/entity/player/Inventory.java b/src/main/java/net/minecraft/world/entity/player/Inventory.java
index 5bc033bf59d49eda1f8f2574165bbcbeab7faa0f..cf89cbffabf8b88265b5ffbc42b55fe617a32c82 100644
index 27c028ab6b1edb6e413af3bbaa27bf30f2d85540..4a89ce4fbd8b19ce1cff5905d779d2e4c63e89c4 100644
--- a/src/main/java/net/minecraft/world/entity/player/Inventory.java
+++ b/src/main/java/net/minecraft/world/entity/player/Inventory.java
@@ -681,21 +681,35 @@ public class Inventory implements Container, Nameable {
@@ -682,21 +682,35 @@ public class Inventory implements Container, Nameable {
}
public boolean contains(ItemStack stack) {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Remove streams from getting nearby players
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 818952b1268688cf13a8ab22d38f05336bf740ad..c55eb9ef7217405c35661dbe03ae6be8f28576e9 100644
index c0e7ea96effd44b75ef3afdeab29bc21277af6bd..06709144f1cd70889e358e4e4a0b0c3a92ac0f7d 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -491,25 +491,50 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -492,25 +492,50 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.isLegacyTrackingEntity = isLegacyTrackingEntity;
}

View File

@@ -6,24 +6,17 @@ Subject: [PATCH] Remove streams and iterators from range check
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java
index 634cde8069fc5ba467170a597e02da7c6b4e7b80..893475f58f649a40e3962092a3608636c1a996e1 100644
index 6cca26640b5c392d2d1bb3ecb6b2b235937f54bd..698ca70f42a0db81f89d67d75f23c80d816a10b0 100644
--- a/src/main/java/net/minecraft/server/level/ChunkMap.java
+++ b/src/main/java/net/minecraft/server/level/ChunkMap.java
@@ -1654,19 +1654,45 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
@@ -1667,19 +1667,45 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider
return ChunkMap.this.level.getServer().getScaledTrackingDistance(initialDistance);
}
- private int getEffectiveRange() {
- int i = this.range;
- Iterator iterator = this.entity.getIndirectPassengers().iterator();
+ // Leaves start
+ private static int getHighestRange(Entity parent, int highest) {
+ List<Entity> passengers = parent.getPassengers();
- while (iterator.hasNext()) {
- Entity entity = (Entity) iterator.next();
- int j = entity.getType().clientTrackingRange() * 16;
- j = org.spigotmc.TrackingRange.getEntityTrackingRange(entity, j); // Paper
+
+ for (int i = 0, size = passengers.size(); i < size; i++) {
+ Entity entity = passengers.get(i);
+ int range = entity.getType().clientTrackingRange() * 16;
@@ -39,22 +32,27 @@ index 634cde8069fc5ba467170a597e02da7c6b4e7b80..893475f58f649a40e3962092a3608636
+ return highest;
+ }
+ // Leaves end
- if (j > i) {
- i = j;
+ private int getEffectiveRange() {
+ int i = this.range;
+
private int getEffectiveRange() {
int i = this.range;
- Iterator iterator = this.entity.getIndirectPassengers().iterator();
+ // Leaves start - remove iterators and streams
+ if (top.leavesmc.leaves.LeavesConfig.removeRangeCheckStreams) {
+ i = getHighestRange(this.entity, i);
+ } else {
+ Iterator iterator = this.entity.getIndirectPassengers().iterator();
+
- while (iterator.hasNext()) {
- Entity entity = (Entity) iterator.next();
- int j = entity.getType().clientTrackingRange() * 16;
- j = org.spigotmc.TrackingRange.getEntityTrackingRange(entity, j); // Paper
+ while (iterator.hasNext()) {
+ Entity entity = (Entity) iterator.next();
+ int j = entity.getType().clientTrackingRange() * 16;
+ j = org.spigotmc.TrackingRange.getEntityTrackingRange(entity, j); // Paper
+
- if (j > i) {
- i = j;
+ if (j > i) {
+ i = j;
+ }

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Cache climbing check for activation
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 48ab2b1a7785ef553463fcd03edd6609ecf454ac..7647b8bb3117d005dd616b29e7310f8328973b7f 100644
index 029f456504f0229a564af937e30329ca08a1b5f9..454495e3e1d432553762f36c18ec290fe13425c0 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1943,6 +1943,22 @@ public abstract class LivingEntity extends Entity {
@@ -1938,6 +1938,22 @@ public abstract class LivingEntity extends Entity implements Attackable {
return this.lastClimbablePos;
}

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Use aging cache for biome temperatures
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
diff --git a/src/main/java/net/minecraft/world/level/biome/Biome.java b/src/main/java/net/minecraft/world/level/biome/Biome.java
index c4f1173aab1e53412a65793e06238e637910475a..44bb45b391a365d4ca4dcd7e284edbb04ed12a80 100644
index 65012a12e1430956ef55ced56773e6354ac26444..fe43432da26a3570c993b5592b7b8020331bdb74 100644
--- a/src/main/java/net/minecraft/world/level/biome/Biome.java
+++ b/src/main/java/net/minecraft/world/level/biome/Biome.java
@@ -66,23 +66,37 @@ public final class Biome {
@@ -57,7 +57,7 @@ index c4f1173aab1e53412a65793e06238e637910475a..44bb45b391a365d4ca4dcd7e284edbb0
public int getSkyColor() {
return this.specialEffects.getSkyColor();
@@ -114,19 +128,33 @@ public final class Biome {
@@ -118,19 +132,33 @@ public final class Biome {
@Deprecated
public float getTemperature(BlockPos blockPos) {
long l = blockPos.asLong();

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Reduce entity fluid lookups if no fluids
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index c55eb9ef7217405c35661dbe03ae6be8f28576e9..78a0b3c00860a8433fe0e4b27e51fdd683793c2e 100644
index 06709144f1cd70889e358e4e4a0b0c3a92ac0f7d..3229d81fa7e30f47a7bbee2be109b9d69d973dfb 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -4098,16 +4098,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -4162,16 +4162,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
}
public boolean updateFluidHeightAndDoFluidPushing(TagKey<Fluid> tag, double speed) {
@@ -35,7 +35,7 @@ index c55eb9ef7217405c35661dbe03ae6be8f28576e9..78a0b3c00860a8433fe0e4b27e51fdd6
double d1 = 0.0D;
boolean flag = this.isPushedByFluid();
boolean flag1 = false;
@@ -4115,38 +4117,123 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -4179,38 +4181,123 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
int k1 = 0;
BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos();
@@ -181,7 +181,7 @@ index c55eb9ef7217405c35661dbe03ae6be8f28576e9..78a0b3c00860a8433fe0e4b27e51fdd6
if (vec3d.length() > 0.0D) {
if (k1 > 0) {
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
index b0c9fce9d4e06cac139e341d218d0b6aac1f1943..f53fee91b78ba4c1e17360a40d5a94febd11eb21 100644
index 1b80a91fa36c59a31b57ef7ef4a68eacbb0f17f5..62f4e7a2dcd93a5b11fb9f847c70da1bced71015 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java
@@ -27,6 +27,7 @@ public class LevelChunkSection {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Simpler ShapelessRecipes comparison for Vanilla
This patch is Powered by Pufferfish(https://github.com/pufferfish-gg/Pufferfish)
diff --git a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java b/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java
index e7c06d98532160499f2610f69de27e30a326b16f..1e454e36a4fc6de4bd245ee8a908ed4fea16e611 100644
index f4f3f3a19d3cadaef1ae1a47daa68251a983dcf2..cad40fa0482f286d4b51e934ac639ea524a08455 100644
--- a/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java
+++ b/src/main/java/net/minecraft/world/item/crafting/ShapelessRecipe.java
@@ -26,13 +26,21 @@ public class ShapelessRecipe implements CraftingRecipe {
@@ -27,13 +27,21 @@ public class ShapelessRecipe implements CraftingRecipe {
final CraftingBookCategory category;
final ItemStack result;
final NonNullList<Ingredient> ingredients;
@@ -31,7 +31,7 @@ index e7c06d98532160499f2610f69de27e30a326b16f..1e454e36a4fc6de4bd245ee8a908ed4f
}
// CraftBukkit start
@@ -81,6 +89,28 @@ public class ShapelessRecipe implements CraftingRecipe {
@@ -82,6 +90,28 @@ public class ShapelessRecipe implements CraftingRecipe {
}
public boolean matches(CraftingContainer inventory, Level world) {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] PCA sync protocol
This patch is Powered by plusls-carpet-addition(https://github.com/plusls/plusls-carpet-addition)
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index bc2dba4a2efe56b0ca2e6c2a8881fe5d036e4166..2e762d02bc3f5d768e08a41f281b504ceb8d6996 100644
index 3e501a731eacda1418009cd21a59cf3da1747848..3b158e65781758665baad82b049210c102679451 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -241,6 +241,7 @@ import org.bukkit.inventory.CraftingInventory;
@@ -243,6 +243,7 @@ import org.bukkit.inventory.CraftingInventory;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.InventoryView;
import org.bukkit.inventory.SmithingInventory;
@@ -17,7 +17,7 @@ index bc2dba4a2efe56b0ca2e6c2a8881fe5d036e4166..2e762d02bc3f5d768e08a41f281b504c
// CraftBukkit end
public class ServerGamePacketListenerImpl implements ServerPlayerConnection, TickablePacketListener, ServerGamePacketListener {
@@ -3551,6 +3552,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -3565,6 +3566,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
this.disconnect("Invalid payload UNREGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause
}
} else {
@@ -35,10 +35,10 @@ index bc2dba4a2efe56b0ca2e6c2a8881fe5d036e4166..2e762d02bc3f5d768e08a41f281b504c
byte[] data = new byte[packet.data.readableBytes()];
packet.data.readBytes(data);
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index a057f6fa87f76707cdef2615d5d49e32fc181740..70493b62ad4a7722b8823d8bdc3443d3367ac959 100644
index f0fd2302519290bade97224373844de7a59a03dd..f818dadc0a6719389f535ec142d73d34d45c8aac 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -334,6 +334,7 @@ public abstract class PlayerList {
@@ -340,6 +340,7 @@ public abstract class PlayerList {
bot1.render(playerconnection, true,player.getBukkitEntity().getWorld() == bot1.getBukkitEntity().getWorld())); // Leaves - render bot
}
// Leaves end - bot support
@@ -47,10 +47,10 @@ index a057f6fa87f76707cdef2615d5d49e32fc181740..70493b62ad4a7722b8823d8bdc3443d3
final net.kyori.adventure.text.Component jm = playerJoinEvent.joinMessage();
diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
index 72d660cd2ade39335024897cffb8b8a151a7cb71..228abbb9ecca77694ccec405342e67c19195163b 100644
index 47cd69f91bbc2e2be9ec970674adc522e21593c8..166f6ae5f82273d9dd0852bc4e4f0124253ff108 100644
--- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
+++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java
@@ -346,6 +346,11 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@@ -380,6 +380,11 @@ public abstract class AbstractHorse extends Animal implements ContainerListener,
@Override
public void containerChanged(Container sender) {
@@ -83,7 +83,7 @@ index ca96b893e22de3ae7c11d5cded51edf70bdcb6f2..a0380713ff1e3faa285c76ea45f75c9c
@Override
diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java
index cc74eeb45913fab03e85969957215d2811252a83..69a8436a343d7b0738e74700a01966111e37a17a 100644
index 08f027cdcaeeca7b545483cb8c5eb8d13e4933b9..0c49b495b5f598339a0cb4644d8d39596bde96a2 100644
--- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java
+++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecartContainer.java
@@ -129,7 +129,13 @@ public abstract class AbstractMinecartContainer extends AbstractMinecart impleme
@@ -102,10 +102,10 @@ index cc74eeb45913fab03e85969957215d2811252a83..69a8436a343d7b0738e74700a0196611
@Override
public boolean stillValid(Player player) {
diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
index cac2768fe520b591990c7bc943ae7e95f49efb31..59938c323ad2597af03a310e930d1a61f1a456c7 100644
index 2a786c9fd29dc2139cf487fa645cd43345d60167..ed39799744fafe5dbb2ebc193e5be372b89126b3 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java
@@ -568,6 +568,16 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
@@ -569,6 +569,16 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit
}
@@ -121,7 +121,7 @@ index cac2768fe520b591990c7bc943ae7e95f49efb31..59938c323ad2597af03a310e930d1a61
+
@Override
public boolean stillValid(net.minecraft.world.entity.player.Player player) {
return this.level.getBlockEntity(this.worldPosition) != this ? false : player.distanceToSqr((double) this.worldPosition.getX() + 0.5D, (double) this.worldPosition.getY() + 0.5D, (double) this.worldPosition.getZ() + 0.5D) <= 64.0D;
return Container.stillValidBlockEntity(this, player);
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java
index 416aa989ebb18a8741cc9d605a1180ab830f6643..213bc3c11ff4ed9bc761e8153aa669d1e2301960 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BarrelBlockEntity.java
@@ -205,10 +205,10 @@ index 41c9f074203915c31c1ae7a160ce509c13383f84..4c9e84dcd154a4306659ef41ab40127e
@Override
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java
index 0bab2693b91d5bab222c7db8bc6965ccde954003..99044c31cf703f7942a89dd57cdc65ddf3a58d75 100644
index c57efcb9a79337ec791e4e8f6671612f0a82b441..218fbc794b086c2c3c04a3d183a0d43dcb74c4c2 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/BrewingStandBlockEntity.java
@@ -333,6 +333,16 @@ public class BrewingStandBlockEntity extends BaseContainerBlockEntity implements
@@ -334,6 +334,16 @@ public class BrewingStandBlockEntity extends BaseContainerBlockEntity implements
}
@@ -224,7 +224,7 @@ index 0bab2693b91d5bab222c7db8bc6965ccde954003..99044c31cf703f7942a89dd57cdc65dd
+
@Override
public boolean stillValid(Player player) {
return this.level.getBlockEntity(this.worldPosition) != this ? false : player.distanceToSqr((double) this.worldPosition.getX() + 0.5D, (double) this.worldPosition.getY() + 0.5D, (double) this.worldPosition.getZ() + 0.5D) <= 64.0D;
return Container.stillValidBlockEntity(this, player);
diff --git a/src/main/java/net/minecraft/world/level/block/entity/ChestBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/ChestBlockEntity.java
index a71414397bd45ee7bcacfeef0041d80dfa25f114..1d6c7a04b8246a60d80325e1615e50573b17a6bb 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/ChestBlockEntity.java
@@ -289,10 +289,10 @@ index 881379681c39230a00b3a1f11cd87498984396c7..e01eb2025458cf311348c58a15308540
protected Component getDefaultName() {
return Component.translatable("container.dispenser");
diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
index d76603c4172aa10889949c6c2acff05fee02a13d..d24a1e3a19dccf0c672d064d44afe5c525dc696d 100644
index cba114f554644a37339c93026630c66c43f524b9..80156c6b93907e5a752f226a9a518c883c8410b8 100644
--- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
+++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java
@@ -127,6 +127,16 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
@@ -129,6 +129,16 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
}
@@ -309,7 +309,7 @@ index d76603c4172aa10889949c6c2acff05fee02a13d..d24a1e3a19dccf0c672d064d44afe5c5
@Override
protected Component getDefaultName() {
return Component.translatable("container.hopper");
@@ -167,6 +177,11 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
@@ -169,6 +179,11 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen
if (flag) {
blockEntity.setCooldown(world.spigotConfig.hopperTransfer); // Spigot
setChanged(world, pos, state);
@@ -343,10 +343,10 @@ index b7686fd63b7c5d88c3a12ec4ee9bc01a17f997e0..25a9c38c60d183bb65b14f4d7550ab98
public int[] getSlotsForFace(Direction side) {
return ShulkerBoxBlockEntity.SLOTS;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index ba4a1f12c29cb28441ae316ff5e1f23358e6af02..8e9fb3731edc302ae472599f8e2d953d485a265e 100644
index b95c87514f0c684ab986c90a8c31d0c39c22a7a5..4ffa2d267778181d853f22ccfb66eb4869866aaf 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -386,6 +386,7 @@ public final class CraftServer implements Server {
@@ -381,6 +381,7 @@ public final class CraftServer implements Server {
MapPalette.setMapColorCache(new CraftMapColorCache(this.logger));
}
datapackManager = new io.papermc.paper.datapack.PaperDatapackManager(console.getPackRepository()); // Paper
@@ -354,7 +354,7 @@ index ba4a1f12c29cb28441ae316ff5e1f23358e6af02..8e9fb3731edc302ae472599f8e2d953d
}
public boolean getCommandBlockOverride(String command) {
@@ -962,6 +963,13 @@ public final class CraftServer implements Server {
@@ -957,6 +958,13 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
this.console.paperConfigurations.reloadConfigs(this.console);
top.leavesmc.leaves.LeavesConfig.init((File) console.options.valueOf("leaves-settings")); // Leaves - Server Config

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] BBOR Protocol
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 49d3483357981e2a980a6e39e1be27e118adde87..64ac23a34285328cf79550d31c7a4bbb55138de1 100644
index 3dc75d267340fdda50668ec0cc7270867dd96117..5a36cebb698ff296a057abb2745c60b41c243ad7 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1585,6 +1585,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1594,6 +1594,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.profiler.popPush("server gui refresh");
@@ -18,10 +18,10 @@ index 49d3483357981e2a980a6e39e1be27e118adde87..64ac23a34285328cf79550d31c7a4bbb
for (int i = 0; i < this.tickables.size(); ++i) {
((Runnable) this.tickables.get(i)).run();
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 2e762d02bc3f5d768e08a41f281b504ceb8d6996..d81d6697fd1524d73df631b76c39cf363e1c33ec 100644
index 3b158e65781758665baad82b049210c102679451..ec0568956dd2750e84512d0c1d1e85bb4159130f 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3557,6 +3557,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -3571,6 +3571,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
if (top.leavesmc.leaves.LeavesConfig.pcaSyncProtocol && ProtocolUtils.isNamespacePacket(packet, top.leavesmc.leaves.protocol.PcaSyncProtocol.PROTOCOL_ID)) {
top.leavesmc.leaves.protocol.PcaSyncProtocol.handlePacket(server, player, packet);
}
@@ -32,10 +32,10 @@ index 2e762d02bc3f5d768e08a41f281b504ceb8d6996..d81d6697fd1524d73df631b76c39cf36
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex);
this.disconnect("Invalid custom payload!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD);
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 70493b62ad4a7722b8823d8bdc3443d3367ac959..50833a1db2728131b6638a40236b81a219ed5f53 100644
index f818dadc0a6719389f535ec142d73d34d45c8aac..3032ae9cbf02f11329a3a29442e8eff1ac9be5e8 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -335,6 +335,7 @@ public abstract class PlayerList {
@@ -341,6 +341,7 @@ public abstract class PlayerList {
}
// Leaves end - bot support
top.leavesmc.leaves.protocol.PcaSyncProtocol.onJoin(player); // Leaves - pca
@@ -43,7 +43,7 @@ index 70493b62ad4a7722b8823d8bdc3443d3367ac959..50833a1db2728131b6638a40236b81a2
final net.kyori.adventure.text.Component jm = playerJoinEvent.joinMessage();
@@ -577,6 +578,7 @@ public abstract class PlayerList {
@@ -584,6 +585,7 @@ public abstract class PlayerList {
return this.remove(entityplayer, net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? entityplayer.getBukkitEntity().displayName() : PaperAdventure.asAdventure(entityplayer.getDisplayName())));
}
public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) {
@@ -51,7 +51,7 @@ index 70493b62ad4a7722b8823d8bdc3443d3367ac959..50833a1db2728131b6638a40236b81a2
// Paper end
ServerLevel worldserver = entityplayer.getLevel();
@@ -1547,7 +1549,7 @@ public abstract class PlayerList {
@@ -1553,7 +1555,7 @@ public abstract class PlayerList {
entityplayer.connection.send(packetplayoutrecipeupdate);
entityplayer.getRecipeBook().sendInitialRecipeBook(entityplayer);
}
@@ -61,10 +61,10 @@ index 70493b62ad4a7722b8823d8bdc3443d3367ac959..50833a1db2728131b6638a40236b81a2
public boolean isAllowCheatsForAllPlayers() {
diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
index 1bf1af06fbd6501e98def7997c487c425d6a1623..15f9978e9c1ccb7f64a5f43c564842f93836b1d7 100644
index 78dc041216f13bc9aaa9bef2aeba34601e7239da..228ca319cdf1dc0d853271cbfae510aa11203a1b 100644
--- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
+++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java
@@ -1050,6 +1050,11 @@ public class LevelChunk extends ChunkAccess {
@@ -1062,6 +1062,11 @@ public class LevelChunk extends ChunkAccess {
public void setLoaded(boolean loadedToWorld) {
this.loaded = loadedToWorld;
@@ -77,10 +77,10 @@ index 1bf1af06fbd6501e98def7997c487c425d6a1623..15f9978e9c1ccb7f64a5f43c564842f9
public Level getLevel() {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 8e9fb3731edc302ae472599f8e2d953d485a265e..0f639571f63adad7d2a738b7ce8dc0158cdeb0c6 100644
index 4ffa2d267778181d853f22ccfb66eb4869866aaf..92a6206841e80488b83dad00960d8daa29adc14d 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -970,6 +970,13 @@ public final class CraftServer implements Server {
@@ -965,6 +965,13 @@ public final class CraftServer implements Server {
top.leavesmc.leaves.protocol.PcaSyncProtocol.disablePcaSyncProtocolGlobal();
}
// Leaves end - pca

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] InstantBlockUpdater Reintroduced
This patch is Powered by Carpet-TIS-Addition(https://github.com/plusls/Carpet-TIS-Addition)
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index f22d1a2a8a1dbb1b2294dfcaddcac24b10d905ae..3ea22e4ccde356ba953d679513e8138b631937e5 100644
index 847d1cb27da0ee06f208acec93ee6758ae04d6f9..53de57db1ee31761598bcaed5682d1b5a14bc632 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -72,6 +72,7 @@ import net.minecraft.world.level.lighting.LevelLightEngine;
@@ -74,6 +74,7 @@ import net.minecraft.world.level.lighting.LevelLightEngine;
import net.minecraft.world.level.material.FluidState;
import net.minecraft.world.level.material.Fluids;
import net.minecraft.world.level.redstone.CollectingNeighborUpdater;
@@ -17,7 +17,7 @@ index f22d1a2a8a1dbb1b2294dfcaddcac24b10d905ae..3ea22e4ccde356ba953d679513e8138b
import net.minecraft.world.level.redstone.NeighborUpdater;
import net.minecraft.world.level.saveddata.maps.MapItemSavedData;
import net.minecraft.world.level.storage.LevelData;
@@ -317,7 +318,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -321,7 +322,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
this.thread = Thread.currentThread();
this.biomeManager = new BiomeManager(this, i);
this.isDebug = flag1;
@@ -29,9 +29,9 @@ index f22d1a2a8a1dbb1b2294dfcaddcac24b10d905ae..3ea22e4ccde356ba953d679513e8138b
+ this.neighborUpdater = new CollectingNeighborUpdater(this, j);
+ }
+ // Leaves end - instantBlockUpdaterReintroduced
this.registryAccess = iregistrycustom;
this.damageSources = new DamageSources(iregistrycustom);
// CraftBukkit start
this.getWorldBorder().world = (ServerLevel) this;
// From PlayerList.setPlayerFileData
diff --git a/src/main/java/top/leavesmc/leaves/LeavesConfig.java b/src/main/java/top/leavesmc/leaves/LeavesConfig.java
index b770012135ed4e2423bdb7f44d06eedd077171ce..a06ea69adcfba10b4f5deb0dfd1798974a862eed 100644
--- a/src/main/java/top/leavesmc/leaves/LeavesConfig.java

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Jade Protocol
This patch is Powered by Jade(https://github.com/Snownee/Jade)
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index d81d6697fd1524d73df631b76c39cf363e1c33ec..53279da009fb9f203d7e8006cb1ef14d9ef8c017 100644
index ec0568956dd2750e84512d0c1d1e85bb4159130f..eb2ff842a1b8534d4d23e1303010c51af2ecaafc 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3560,6 +3560,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -3574,6 +3574,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
if (top.leavesmc.leaves.LeavesConfig.bborProtocol && packet.identifier.equals(top.leavesmc.leaves.protocol.BBORProtocol.SUBSCRIBE)) {
top.leavesmc.leaves.protocol.BBORProtocol.onPlayerSubscribed(player);
}
@@ -20,10 +20,10 @@ index d81d6697fd1524d73df631b76c39cf363e1c33ec..53279da009fb9f203d7e8006cb1ef14d
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex);
this.disconnect("Invalid custom payload!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD);
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 50833a1db2728131b6638a40236b81a219ed5f53..aaa48a93550b6ad7bf5c904491e5d34d4b7dcceb 100644
index 3032ae9cbf02f11329a3a29442e8eff1ac9be5e8..6803f21f43da5a5254622d61eba4ab8ddbe25344 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -336,6 +336,7 @@ public abstract class PlayerList {
@@ -342,6 +342,7 @@ public abstract class PlayerList {
// Leaves end - bot support
top.leavesmc.leaves.protocol.PcaSyncProtocol.onJoin(player); // Leaves - pca
top.leavesmc.leaves.protocol.BBORProtocol.onPlayerLoggedIn(player); // Leaves - bbor
@@ -45,10 +45,10 @@ index 9058f9f2e561cda9f475f33218bf7a78297de4bc..196adc124a06e7c7712e4f70fada6d50
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 0f639571f63adad7d2a738b7ce8dc0158cdeb0c6..9db4ac8fb3e00e6b37d55c5c6bac9557bae105ab 100644
index 92a6206841e80488b83dad00960d8daa29adc14d..44992abd7be348b727a079284c731d749fbeebc1 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -387,6 +387,7 @@ public final class CraftServer implements Server {
@@ -382,6 +382,7 @@ public final class CraftServer implements Server {
}
datapackManager = new io.papermc.paper.datapack.PaperDatapackManager(console.getPackRepository()); // Paper
top.leavesmc.leaves.protocol.PcaSyncProtocol.init(); // Leaves - pca
@@ -56,7 +56,7 @@ index 0f639571f63adad7d2a738b7ce8dc0158cdeb0c6..9db4ac8fb3e00e6b37d55c5c6bac9557
}
public boolean getCommandBlockOverride(String command) {
@@ -977,6 +978,11 @@ public final class CraftServer implements Server {
@@ -972,6 +973,11 @@ public final class CraftServer implements Server {
top.leavesmc.leaves.protocol.BBORProtocol.loggedOutAllPlayer();
}
// Leaves end - bbor

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Carpet alternative block placement Protocol
This patch is Powered by carpet-extra(https://github.com/gnembon/carpet-extra)
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 53279da009fb9f203d7e8006cb1ef14d9ef8c017..27dc44ebb12c8f321587d6d988c41bea4e9519ab 100644
index eb2ff842a1b8534d4d23e1303010c51af2ecaafc..ef46f5e8d425703a71064a8afe2115a5e98c29fa 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1948,7 +1948,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1938,7 +1938,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
Vec3 vec3d2 = vec3d.subtract(vec3d1);
double d0 = 1.0000001D;
@@ -54,10 +54,10 @@ index 39b8b3675ac58409e05fac07e07c8016c5280d81..928b1ece5b094dee8a5e37bfd3afd626
if (iblockdata2 != null && this.canPlace(world, iblockdata2, blockposition)) {
iblockdata1 = iblockdata2;
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 7b71073027f4cf79736546500ededdfbb83d968e..085097d454869e46adafd1cff5908e39211bb91e 100644
index 4f91e4832a94c3facbc711fcae4cb5ad540a5ca0..08e456ee6a537c5cc8b6314f9f899b25a12f352d 100644
--- a/src/main/java/net/minecraft/world/level/block/Block.java
+++ b/src/main/java/net/minecraft/world/level/block/Block.java
@@ -427,6 +427,19 @@ public class Block extends BlockBehaviour implements ItemLike {
@@ -423,6 +423,19 @@ public class Block extends BlockBehaviour implements ItemLike {
public void stepOn(Level world, BlockPos pos, BlockState state, Entity entity) {}

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Player operation limiter
This patch is Powered by plusls-carpet-addition(https://github.com/plusls/plusls-carpet-addition)
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 2e5871d9af67ad1c65a382f5e4964a13a7821305..128a79504e2459826dbc32b5889f66bf00ea4189 100644
index a11b8b93ba9248ea463b7a3a3dcfdcf1c17baffb..86c4c4b866bd8378a628daebd51b80713246f223 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -269,6 +269,10 @@ public class ServerPlayer extends Player {
@@ -275,6 +275,10 @@ public class ServerPlayer extends Player {
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
@@ -20,7 +20,7 @@ index 2e5871d9af67ad1c65a382f5e4964a13a7821305..128a79504e2459826dbc32b5889f66bf
public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) {
super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile);
@@ -661,6 +665,7 @@ public class ServerPlayer extends Player {
@@ -667,6 +671,7 @@ public class ServerPlayer extends Player {
this.joining = false;
}
// CraftBukkit end
@@ -28,7 +28,7 @@ index 2e5871d9af67ad1c65a382f5e4964a13a7821305..128a79504e2459826dbc32b5889f66bf
this.gameMode.tick();
this.wardenSpawnTracker.tick();
--this.spawnInvulnerableTime;
@@ -2555,5 +2560,32 @@ public class ServerPlayer extends Player {
@@ -2547,5 +2552,32 @@ public class ServerPlayer extends Player {
public CraftPlayer getBukkitEntity() {
return (CraftPlayer) super.getBukkitEntity();
}
@@ -62,7 +62,7 @@ index 2e5871d9af67ad1c65a382f5e4964a13a7821305..128a79504e2459826dbc32b5889f66bf
// CraftBukkit end
}
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
index 58b093bb1de78ee3b3b2ea364aa50474883f443a..a59cf7c1a34ee54b3a64047498ce4e090648df86 100644
index 0a3eb5e929c605d9eb7369de8ade8b49951f5d37..76928f9f5be525edce8aaf90eeaa91e367ae5ea8 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java
@@ -44,6 +44,7 @@ import org.bukkit.event.Event;

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Renewable Elytra
This patch is Powered by Carpet-TIS-Addition(https://github.com/plusls/Carpet-TIS-Addition)
diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
index aa8734856ec7b90036afad13bfda46c02e548812..5d3c60c2e216848c7bbaebbd9b4f8184c5e06518 100644
index 97fb1d2110a51498f6419841081b500b3f190370..8fb8bc48342183b978b4bfb0845f2cc2af159ac2 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java
@@ -36,6 +36,8 @@ import net.minecraft.world.entity.ai.goal.Goal;
@@ -18,8 +18,8 @@ index aa8734856ec7b90036afad13bfda46c02e548812..5d3c60c2e216848c7bbaebbd9b4f8184
import net.minecraft.world.level.Level;
import net.minecraft.world.level.ServerLevelAccessor;
import net.minecraft.world.level.levelgen.Heightmap;
@@ -245,6 +247,20 @@ public class Phantom extends FlyingMob implements Enemy {
return entitysize.scale(f);
@@ -250,6 +252,20 @@ public class Phantom extends FlyingMob implements Enemy {
return (double) this.getEyeHeight();
}
+ // Leaves start - renewable elytra

View File

@@ -6,12 +6,12 @@ Subject: [PATCH] Stackable ShulkerBoxes
This patch is Powered by fabric-carpet(https://github.com/gnembon/fabric-carpet) and plusls-carpet-addition(https://github.com/plusls/plusls-carpet-addition)
diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
index f0ccdfbd7d7be8c6e302609accf8fe9cac8885c4..ec66584bb22f904b610137041c16c945a95fff16 100644
index d47b3ac633e7936d30abfda6fc46c2c7412d76fe..0aac54b25a0d42dc8eac1618d57c678a34f8da1d 100644
--- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java
@@ -10,10 +10,12 @@ import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.EntityType;
@@ -15,10 +15,12 @@ import net.minecraft.world.entity.EntityType;
import net.minecraft.world.entity.MoverType;
import net.minecraft.world.entity.TraceableEntity;
import net.minecraft.world.entity.player.Player;
+import net.minecraft.world.item.BlockItem;
import net.minecraft.world.item.Item;
@@ -21,16 +21,16 @@ index f0ccdfbd7d7be8c6e302609accf8fe9cac8885c4..ec66584bb22f904b610137041c16c945
+import net.minecraft.world.level.block.ShulkerBoxBlock;
import net.minecraft.world.level.gameevent.GameEvent;
import net.minecraft.world.phys.Vec3;
import net.minecraft.Util;
@@ -31,6 +33,7 @@ import net.minecraft.stats.Stats;
import net.minecraft.tags.FluidTags;
import net.minecraft.tags.ItemTags;
import net.minecraft.util.Mth;
import net.minecraft.core.BlockPos;
@@ -32,6 +34,7 @@ import net.minecraft.server.MinecraftServer;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.sounds.SoundSource;
import net.minecraft.stats.Stats;
+import org.bukkit.block.ShulkerBox;
import org.bukkit.event.entity.EntityPickupItemEvent;
import org.bukkit.event.player.PlayerPickupItemEvent;
// CraftBukkit end
@@ -69,6 +72,13 @@ public class ItemEntity extends Entity {
@@ -70,6 +73,13 @@ public class ItemEntity extends Entity implements TraceableEntity {
this.setDeltaMovement(this.random.nextDouble() * 0.2D - 0.1D, 0.2D, this.random.nextDouble() * 0.2D - 0.1D);
this.setItem(stack);
// Paper end
@@ -44,7 +44,7 @@ index f0ccdfbd7d7be8c6e302609accf8fe9cac8885c4..ec66584bb22f904b610137041c16c945
}
public ItemEntity(Level world, double x, double y, double z, ItemStack stack, double velocityX, double velocityY, double velocityZ) {
@@ -274,10 +284,49 @@ public class ItemEntity extends Entity {
@@ -283,10 +293,49 @@ public class ItemEntity extends Entity implements TraceableEntity {
private boolean isMergable() {
ItemStack itemstack = this.getItem();
@@ -96,10 +96,10 @@ index f0ccdfbd7d7be8c6e302609accf8fe9cac8885c4..ec66584bb22f904b610137041c16c945
ItemStack itemstack1 = other.getItem();
diff --git a/src/main/java/net/minecraft/world/entity/player/Inventory.java b/src/main/java/net/minecraft/world/entity/player/Inventory.java
index cf89cbffabf8b88265b5ffbc42b55fe617a32c82..1a9dc4afaf7dbcaf8cc46f8bdf4fa1cf7bb9c45c 100644
index 4a89ce4fbd8b19ce1cff5905d779d2e4c63e89c4..6a26f3f9ad821688564380f1a9d3a086531364b9 100644
--- a/src/main/java/net/minecraft/world/entity/player/Inventory.java
+++ b/src/main/java/net/minecraft/world/entity/player/Inventory.java
@@ -113,7 +113,7 @@ public class Inventory implements Container, Nameable {
@@ -114,7 +114,7 @@ public class Inventory implements Container, Nameable {
}
private boolean hasRemainingSpaceForItem(ItemStack existingStack, ItemStack stack) {
@@ -108,7 +108,7 @@ index cf89cbffabf8b88265b5ffbc42b55fe617a32c82..1a9dc4afaf7dbcaf8cc46f8bdf4fa1cf
}
// CraftBukkit start - Watch method above! :D
@@ -282,9 +282,11 @@ public class Inventory implements Container, Nameable {
@@ -283,9 +283,11 @@ public class Inventory implements Container, Nameable {
int k = j;
@@ -122,7 +122,7 @@ index cf89cbffabf8b88265b5ffbc42b55fe617a32c82..1a9dc4afaf7dbcaf8cc46f8bdf4fa1cf
if (k > this.getMaxStackSize() - itemstack1.getCount()) {
k = this.getMaxStackSize() - itemstack1.getCount();
@@ -403,7 +405,7 @@ public class Inventory implements Container, Nameable {
@@ -404,7 +406,7 @@ public class Inventory implements Container, Nameable {
}
if (i != -1) {
@@ -132,7 +132,7 @@ index cf89cbffabf8b88265b5ffbc42b55fe617a32c82..1a9dc4afaf7dbcaf8cc46f8bdf4fa1cf
if (this.add(i, stack.split(j)) && notifiesClient && this.player instanceof ServerPlayer) {
((ServerPlayer) this.player).connection.send(new ClientboundContainerSetSlotPacket(-2, 0, i, this.getItem(i)));
diff --git a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
index 4226e20dc91087f31c44e0ea7d0e8d06ec6facc8..b84367de01803ea9d2ac043c31d74ce13994e9d7 100644
index 4b0bdf8705eadd2ca6c0fd5a3494fd8742330ef6..2d9f35622be9a9e5f0cce8d18e6e5bb7bed1ab5c 100644
--- a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
+++ b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java
@@ -30,8 +30,10 @@ import net.minecraft.world.entity.SlotAccess;
@@ -156,7 +156,7 @@ index 4226e20dc91087f31c44e0ea7d0e8d06ec6facc8..b84367de01803ea9d2ac043c31d74ce1
if (itemstack3.getCount() > k1) {
itemstack3.setCount(k1);
@@ -575,7 +577,7 @@ public abstract class AbstractContainerMenu {
slot.set(itemstack4);
slot.setByPlayer(itemstack4);
}
} else if (ItemStack.isSameItemSameTags(itemstack, itemstack4)) {
- Optional<ItemStack> optional1 = slot.tryRemove(itemstack.getCount(), itemstack4.getMaxStackSize() - itemstack4.getCount(), player);
@@ -224,10 +224,10 @@ index 4226e20dc91087f31c44e0ea7d0e8d06ec6facc8..b84367de01803ea9d2ac043c31d74ce1
slot.setChanged();
} // Paper
diff --git a/src/main/java/net/minecraft/world/inventory/Slot.java b/src/main/java/net/minecraft/world/inventory/Slot.java
index 52d555af415277d8d1f30d8b46855d4b05867597..68ff98bb2f44d8681cdb9d6465a8a1e715ca92c2 100644
index 75d71b0b8a1f5b0712b76e52c8afded103f16b7b..dff796f3db78c89c82ea845ebdceaffce07139c1 100644
--- a/src/main/java/net/minecraft/world/inventory/Slot.java
+++ b/src/main/java/net/minecraft/world/inventory/Slot.java
@@ -74,7 +74,7 @@ public class Slot {
@@ -73,7 +73,7 @@ public class Slot {
}
public int getMaxStackSize(ItemStack stack) {

View File

@@ -18,10 +18,10 @@ index 9fde9ccb5d069ddce8dd837ef1bc68b93ce66434..0ceddb0ede644e082f82de6ecfa89eda
throw new RuntimeException("Could not reload paper configuration files", ex);
}
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
index 500500468c12d1d44ea6b83a9176b470a954f59a..1da1c130611f392ba957e0c893123f564d13dbff 100644
index 64f17b4a22454b59968787089253eaba0a04c1f2..ac8d581041ba6491ec52984ac0ea761f04d3eda8 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
+++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java
@@ -66,7 +66,7 @@ public class EndCrystal extends Entity {
@@ -67,7 +67,7 @@ public class EndCrystal extends Entity {
// CraftBukkit end
}
// Paper start - Fix invulnerable end crystals
@@ -31,10 +31,10 @@ index 500500468c12d1d44ea6b83a9176b470a954f59a..1da1c130611f392ba957e0c893123f56
|| ((ServerLevel) this.level).dragonFight() == null
|| ((ServerLevel) this.level).dragonFight().respawnStage == null
diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
index bedee2c93bd0aff148f93dcf111e0fc3d9bce4a0..92aa71991c5dec8792ae8efa2502c2279c0f2bb6 100644
index dfdf7e7fc1070975ec18fd215c724f4fc84d3705..d62c8e53194165d3150e18ae4e4e25c7eefb0a74 100644
--- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
+++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java
@@ -59,7 +59,7 @@ public class PrimedTnt extends Entity {
@@ -60,7 +60,7 @@ public class PrimedTnt extends Entity implements TraceableEntity {
@Override
public void tick() {
@@ -44,10 +44,10 @@ index bedee2c93bd0aff148f93dcf111e0fc3d9bce4a0..92aa71991c5dec8792ae8efa2502c227
this.setDeltaMovement(this.getDeltaMovement().add(0.0D, -0.04D, 0.0D));
}
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 18eac340386a396c9850f53f30d20a41c1437788..f80ad07e5cdc937b0afbfc7d084f314eb8effde8 100644
index 6023b9eb3001e1a98ab8b970d853c4e7c7603f4d..09d05cb9c59c73bc13c2c36f02fd18bd51caccd9 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -989,7 +989,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -1001,7 +1001,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
public void onReputationEventFrom(ReputationEventType interaction, Entity entity) {
if (interaction == ReputationEventType.ZOMBIE_VILLAGER_CURED) {
// Paper start - fix MC-181190
@@ -57,7 +57,7 @@ index 18eac340386a396c9850f53f30d20a41c1437788..f80ad07e5cdc937b0afbfc7d084f314e
if (playerReputation != null) {
playerReputation.remove(GossipType.MAJOR_POSITIVE);
diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
index 612d536f8a1b4e45d7431dc8bbd1c7aa631a3575..9e021b4b25df941b4af1fb984ad123a3211cbbe8 100644
index 7a3bd3e7aa208ade1d33f59ba684354d000dd011..164dd501456542c16e2e36262ba560f9b9f44cc8 100644
--- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java
+++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java
@@ -95,7 +95,7 @@ public final class NaturalSpawner {

View File

@@ -6,10 +6,10 @@ Subject: [PATCH] Return nether portal fix
This patch is powered by NetherPortalFix(https://github.com/TwelveIterationMods/NetherPortalFix)
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
index 128a79504e2459826dbc32b5889f66bf00ea4189..0f13a91c9614bd8381cc5db60fb8f2ad8b7d191c 100644
index 86c4c4b866bd8378a628daebd51b80713246f223..b9ac3537afde153f7268362c6360c6e7576e05d2 100644
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
@@ -177,6 +177,7 @@ import org.bukkit.event.player.PlayerTeleportEvent;
@@ -183,6 +183,7 @@ import org.bukkit.event.player.PlayerTeleportEvent;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.inventory.MainHand;
import top.leavesmc.leaves.bot.ServerBot;
@@ -17,7 +17,7 @@ index 128a79504e2459826dbc32b5889f66bf00ea4189..0f13a91c9614bd8381cc5db60fb8f2ad
// CraftBukkit end
public class ServerPlayer extends Player {
@@ -1226,6 +1227,24 @@ public class ServerPlayer extends Player {
@@ -1238,6 +1239,24 @@ public class ServerPlayer extends Player {
PlayerChangedWorldEvent changeEvent = new PlayerChangedWorldEvent(this.getBukkitEntity(), worldserver1.getWorld());
this.level.getCraftServer().getPluginManager().callEvent(changeEvent);
// CraftBukkit end
@@ -42,7 +42,7 @@ index 128a79504e2459826dbc32b5889f66bf00ea4189..0f13a91c9614bd8381cc5db60fb8f2ad
}
// Paper start
if (this.isBlocking()) {
@@ -1278,6 +1297,30 @@ public class ServerPlayer extends Player {
@@ -1290,6 +1309,30 @@ public class ServerPlayer extends Player {
protected Optional<BlockUtil.FoundRectangle> getExitPortal(ServerLevel worldserver, BlockPos blockposition, boolean flag, WorldBorder worldborder, int searchRadius, boolean canCreatePortal, int createRadius) { // CraftBukkit
Optional<BlockUtil.FoundRectangle> optional = super.getExitPortal(worldserver, blockposition, flag, worldborder, searchRadius, canCreatePortal, createRadius); // CraftBukkit
@@ -74,7 +74,7 @@ index 128a79504e2459826dbc32b5889f66bf00ea4189..0f13a91c9614bd8381cc5db60fb8f2ad
return optional;
} else {
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index aaa48a93550b6ad7bf5c904491e5d34d4b7dcceb..6c2a0393147b14f155401d5298ca183c252c169e 100644
index 6803f21f43da5a5254622d61eba4ab8ddbe25344..93ef11d92952c7d58410c5d9737900d464dddf84 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -27,6 +27,8 @@ import java.util.UUID;
@@ -86,7 +86,7 @@ index aaa48a93550b6ad7bf5c904491e5d34d4b7dcceb..6c2a0393147b14f155401d5298ca183c
import net.minecraft.ChatFormatting;
import net.minecraft.FileUtil;
import net.minecraft.commands.CommandSourceStack;
@@ -125,6 +127,7 @@ import org.bukkit.event.player.PlayerJoinEvent;
@@ -126,6 +128,7 @@ import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerLoginEvent;
import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.event.player.PlayerRespawnEvent;
@@ -94,7 +94,7 @@ index aaa48a93550b6ad7bf5c904491e5d34d4b7dcceb..6c2a0393147b14f155401d5298ca183c
// CraftBukkit end
public abstract class PlayerList {
@@ -959,6 +962,24 @@ public abstract class PlayerList {
@@ -966,6 +969,24 @@ public abstract class PlayerList {
if (fromWorld != location.getWorld()) {
PlayerChangedWorldEvent event = new PlayerChangedWorldEvent(entityplayer.getBukkitEntity(), fromWorld);
server.server.getPluginManager().callEvent(event);
@@ -120,10 +120,10 @@ index aaa48a93550b6ad7bf5c904491e5d34d4b7dcceb..6c2a0393147b14f155401d5298ca183c
// Save player file again if they were disconnected
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 7647b8bb3117d005dd616b29e7310f8328973b7f..eaeac639924098b86da57e2a87efc2afb9e0d439 100644
index 454495e3e1d432553762f36c18ec290fe13425c0..fc0efe4547089f709fcbf65f8eabc1b88854fb0e 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -245,7 +245,7 @@ public abstract class LivingEntity extends Entity {
@@ -240,7 +240,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
protected ItemStack useItem;
protected int useItemRemaining;
protected int fallFlyTicks;

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Appleskin Protocol
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 64ac23a34285328cf79550d31c7a4bbb55138de1..9c435373df254daecba83f4bde34dfab1cbf7a38 100644
index 5a36cebb698ff296a057abb2745c60b41c243ad7..4119b5248c7fca37a59ee81d0ce4e7a184cc0f0a 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1586,6 +1586,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1595,6 +1595,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
this.profiler.popPush("server gui refresh");
top.leavesmc.leaves.protocol.BBORProtocol.tick(); // Leaves - bbor
@@ -17,10 +17,10 @@ index 64ac23a34285328cf79550d31c7a4bbb55138de1..9c435373df254daecba83f4bde34dfab
MinecraftTimings.tickablesTimer.startTiming(); // Spigot // Paper
for (int i = 0; i < this.tickables.size(); ++i) {
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 6c2a0393147b14f155401d5298ca183c252c169e..9f48801f3dbd33816f6771be8d444e7ca748aaad 100644
index 93ef11d92952c7d58410c5d9737900d464dddf84..4a4406821c4bf7fb2ea3e6a2d5e824094c2497d0 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -340,6 +340,7 @@ public abstract class PlayerList {
@@ -346,6 +346,7 @@ public abstract class PlayerList {
top.leavesmc.leaves.protocol.PcaSyncProtocol.onJoin(player); // Leaves - pca
top.leavesmc.leaves.protocol.BBORProtocol.onPlayerLoggedIn(player); // Leaves - bbor
top.leavesmc.leaves.protocol.JadeProtocol.onPlayerJoin(player); // Leaves - Jade
@@ -28,7 +28,7 @@ index 6c2a0393147b14f155401d5298ca183c252c169e..9f48801f3dbd33816f6771be8d444e7c
final net.kyori.adventure.text.Component jm = playerJoinEvent.joinMessage();
@@ -583,6 +584,7 @@ public abstract class PlayerList {
@@ -590,6 +591,7 @@ public abstract class PlayerList {
}
public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) {
top.leavesmc.leaves.protocol.BBORProtocol.onPlayerLoggedOut(entityplayer); // Leaves - bbor
@@ -37,10 +37,10 @@ index 6c2a0393147b14f155401d5298ca183c252c169e..9f48801f3dbd33816f6771be8d444e7c
ServerLevel worldserver = entityplayer.getLevel();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 9db4ac8fb3e00e6b37d55c5c6bac9557bae105ab..15a28ec04c79149dc738023b9d560adbc626e49e 100644
index 44992abd7be348b727a079284c731d749fbeebc1..8e5291e479fe721160c68935d7bd3479fbc42dbf 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -983,6 +983,13 @@ public final class CraftServer implements Server {
@@ -978,6 +978,13 @@ public final class CraftServer implements Server {
top.leavesmc.leaves.protocol.JadeProtocol.enableAllPlayer();
}
// Leaves end - Jade

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Xaero Map Protocol
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
index 9f48801f3dbd33816f6771be8d444e7ca748aaad..be05f7f218475a3eaa69d2bea1efb2abb017507d 100644
index 4a4406821c4bf7fb2ea3e6a2d5e824094c2497d0..9efb5b472f47cbc938902199d44efa50d79e2427 100644
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
@@ -1271,6 +1271,7 @@ public abstract class PlayerList {
@@ -1278,6 +1278,7 @@ public abstract class PlayerList {
player.connection.send(new ClientboundInitializeBorderPacket(worldborder));
player.connection.send(new ClientboundSetTimePacket(world.getGameTime(), world.getDayTime(), world.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)));
player.connection.send(new ClientboundSetDefaultSpawnPositionPacket(world.getSharedSpawnPos(), world.getSharedSpawnAngle()));

View File

@@ -18,10 +18,10 @@ index 1459a1f99fe614d072a087cda18788cf13102645..73bfda834fa704b208a5dd9271bb397a
super(proxy);
this.environment = EnvironmentParser.getEnvironmentFromProperties().orElse(YggdrasilEnvironment.PROD.getEnvironment());
diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java
index 781b72fd88149642c9fceaecfbfe7546273fb749..d175bccec9ca560592072b21414df4ae47b448eb 100644
index c6fa6bcd66d61359124a8426b919493c6ec43f06..dd84d4d0adadb1d1cbe3670df35fc8fc048b7295 100644
--- a/src/main/java/net/minecraft/server/Main.java
+++ b/src/main/java/net/minecraft/server/Main.java
@@ -182,7 +182,7 @@ public class Main {
@@ -193,7 +193,7 @@ public class Main {
file = new File(bukkitConfiguration.getString("settings.world-container", "."));
}
// Paper end - fix SPIGOT-5824

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Use vanilla random config
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 78a0b3c00860a8433fe0e4b27e51fdd683793c2e..2174dda53093fb4a5a87d4c20855508d07477ed0 100644
index 3229d81fa7e30f47a7bbee2be109b9d69d973dfb..090392d9f659f1d6e0db4aa6448b8cbafc26c4cb 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -549,7 +549,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
@@ -550,7 +550,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource {
this.bb = Entity.INITIAL_AABB;
this.stuckSpeedMultiplier = Vec3.ZERO;
this.nextStep = 1.0F;
@@ -18,7 +18,7 @@ index 78a0b3c00860a8433fe0e4b27e51fdd683793c2e..2174dda53093fb4a5a87d4c20855508d
this.fluidHeight = new Object2DoubleArrayMap(2);
this.fluidOnEyes = new HashSet();
diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java
index a51424d29ac353cf1bec4d1484db0acb63bebba5..3172c2f10d5018427022f3bb479038db94f3b4f3 100644
index 72eea6e512060fc622ca79ca87437f19a64604cc..f5413946fecaa0d7b9d41dd06f12c460fd08ef57 100644
--- a/src/main/java/net/minecraft/world/entity/animal/Squid.java
+++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java
@@ -46,7 +46,7 @@ public class Squid extends WaterAnimal {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Fix update suppression crash
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 9c435373df254daecba83f4bde34dfab1cbf7a38..f0a3a574c6e53115c69b1faab78ef823ea7e5f58 100644
index 4119b5248c7fca37a59ee81d0ce4e7a184cc0f0a..74e223322b7ad7485164bc3671dcb98cbe23539c 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1543,7 +1543,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1552,7 +1552,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
try {
worldserver.timings.doTick.startTiming(); // Spigot

View File

@@ -13,6 +13,7 @@ prop() {
commitid=$(git log --pretty='%h' -1)
mcversion=$(prop mcVersion)
gradleVersion=$(prop version)
preVersion=$(prop preVersion)
tagid="$mcversion-$commitid"
jarName="leaves-$mcversion.jar"
leavesid="Leaves-$commitid"
@@ -28,10 +29,16 @@ echo "tag=$tagid" >> $GITHUB_ENV
echo "jar=$jarName" >> $GITHUB_ENV
echo "info=$releaseinfo" >> $GITHUB_ENV
echo "discordmes=$discordmes" >> $GITHUB_ENV
echo "pre=$preVersion" >> $GITHUB_ENV
echo "$leavesid [![download](https://img.shields.io/github/downloads/LeavesMC/Leaves/$tagid/total?color=0)](https://github.com/Leaves/LeavesMC/releases/download/$tagid/$jarName)" >> $releaseinfo
echo "=====" >> $releaseinfo
echo "" >> $releaseinfo
if [ $preVersion = "true" ]; then
echo "> This is early, experimental build. They are only recommended for usage on test servers and should be used with caution." >> $releaseinfo
echo "> **Backups are mandatory!**" >> $releaseinfo
echo "" >> $releaseinfo
fi
echo "### Commit Message" >> $releaseinfo
number=$(git log --oneline master ^`git describe --tags --abbrev=0` | wc -l)