Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-11-15 04:20:04 +01:00
Updated Upstream (Bukkit/CraftBukkit) (#5549)
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 80ece5de Remove old draft API tags 8523fa23 #604: Add Contract annotation to ConfigurationSection dd8edaa7 #603: Specify what velocity changes in javadocs CraftBukkit Changes: 0d86921e SPIGOT-6435: send correcting "PacketPlayOutBlockChange" packet on interact for bisected items
Dieser Commit ist enthalten in:
Ursprung
b8020379c6
Commit
fdf2a59d59
@ -8,10 +8,10 @@ Adds lots of information about why this orb exists.
|
||||
Replaces isFromBottle() with logic that persists entity reloads too.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
index e9730597f2bd55a021f212d5eb5a76a26f320fb0..51157a9223f3da22d1110cfa211a502de59fb8a1 100644
|
||||
index 164fd6b867bc68f6aba3fa2c17371e87495baea3..74b4b127f39a0ad06e8f9add6861763724ab70ba 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
@@ -408,7 +408,7 @@ public class PlayerInteractManager {
|
||||
@@ -409,7 +409,7 @@ public class PlayerInteractManager {
|
||||
|
||||
// Drop event experience
|
||||
if (flag && event != null) {
|
||||
|
@ -13,7 +13,7 @@ Update adjacent blocks of doors, double plants, pistons and beds
|
||||
when cancelling interaction.
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
index 51157a9223f3da22d1110cfa211a502de59fb8a1..0ead8f1fabcc8debea8e2211d58a83b34acfcf0b 100644
|
||||
index 74b4b127f39a0ad06e8f9add6861763724ab70ba..14f287d30c9a141f78f6311bef02a6fc4fa17564 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
@@ -6,6 +6,7 @@ import net.minecraft.core.BlockPosition;
|
||||
@ -32,7 +32,7 @@ index 51157a9223f3da22d1110cfa211a502de59fb8a1..0ead8f1fabcc8debea8e2211d58a83b3
|
||||
import net.minecraft.world.level.block.BlockJigsaw;
|
||||
import net.minecraft.world.level.block.BlockStructure;
|
||||
import net.minecraft.world.level.block.entity.TileEntity;
|
||||
@@ -179,6 +181,11 @@ public class PlayerInteractManager {
|
||||
@@ -180,6 +182,11 @@ public class PlayerInteractManager {
|
||||
PlayerInteractEvent event = CraftEventFactory.callPlayerInteractEvent(this.player, Action.LEFT_CLICK_BLOCK, blockposition, enumdirection, this.player.inventory.getItemInHand(), EnumHand.MAIN_HAND);
|
||||
if (event.isCancelled()) {
|
||||
// Let the client know the block still exists
|
||||
@ -44,7 +44,7 @@ index 51157a9223f3da22d1110cfa211a502de59fb8a1..0ead8f1fabcc8debea8e2211d58a83b3
|
||||
this.player.playerConnection.sendPacket(new PacketPlayOutBlockChange(this.world, blockposition));
|
||||
// Update any tile entity data for this block
|
||||
TileEntity tileentity = this.world.getTileEntity(blockposition);
|
||||
@@ -483,13 +490,20 @@ public class PlayerInteractManager {
|
||||
@@ -484,6 +491,7 @@ public class PlayerInteractManager {
|
||||
interactItemStack = itemstack.cloneItemStack();
|
||||
|
||||
if (event.useInteractedBlock() == Event.Result.DENY) {
|
||||
@ -52,9 +52,10 @@ index 51157a9223f3da22d1110cfa211a502de59fb8a1..0ead8f1fabcc8debea8e2211d58a83b3
|
||||
// If we denied a door from opening, we need to send a correcting update to the client, as it already opened the door.
|
||||
if (iblockdata.getBlock() instanceof BlockDoor) {
|
||||
boolean bottom = iblockdata.get(BlockDoor.HALF) == BlockPropertyDoubleBlockHalf.LOWER;
|
||||
entityplayer.playerConnection.sendPacket(new PacketPlayOutBlockChange(world, bottom ? blockposition.up() : blockposition.down()));
|
||||
} else if (iblockdata.getBlock() instanceof BlockCake) {
|
||||
entityplayer.getBukkitEntity().sendHealthUpdate(); // SPIGOT-1341 - reset health for cake
|
||||
@@ -496,7 +504,13 @@ public class PlayerInteractManager {
|
||||
|
||||
// send a correcting update to the client for the block above as well, this because of replaceable blocks (such as grass, sea grass etc)
|
||||
entityplayer.playerConnection.sendPacket(new PacketPlayOutBlockChange(world, blockposition.up()));
|
||||
+ // Paper start - extend Player Interact cancellation // TODO: consider merging this into the extracted method
|
||||
+ } else if (iblockdata.getBlock() instanceof BlockStructure) {
|
||||
+ entityplayer.playerConnection.sendPacket(new PacketPlayOutCloseWindow());
|
||||
|
@ -5,10 +5,10 @@ Subject: [PATCH] Don't allow digging into unloaded chunks
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
index cea19f4aafb3d81bf0dfcdac9103c03786fd5fc2..e7f762dc131ae40e36ff5e70b0394e0d5abdcee8 100644
|
||||
index 14f287d30c9a141f78f6311bef02a6fc4fa17564..d86b1e528b53db809ac993aa2f1d2799d4f1a574 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
@@ -113,8 +113,8 @@ public class PlayerInteractManager {
|
||||
@@ -114,8 +114,8 @@ public class PlayerInteractManager {
|
||||
IBlockData iblockdata;
|
||||
|
||||
if (this.j) {
|
||||
@ -19,7 +19,7 @@ index cea19f4aafb3d81bf0dfcdac9103c03786fd5fc2..e7f762dc131ae40e36ff5e70b0394e0d
|
||||
this.j = false;
|
||||
} else {
|
||||
float f = this.a(iblockdata, this.k, this.l);
|
||||
@@ -125,7 +125,13 @@ public class PlayerInteractManager {
|
||||
@@ -126,7 +126,13 @@ public class PlayerInteractManager {
|
||||
}
|
||||
}
|
||||
} else if (this.f) {
|
||||
@ -34,7 +34,7 @@ index cea19f4aafb3d81bf0dfcdac9103c03786fd5fc2..e7f762dc131ae40e36ff5e70b0394e0d
|
||||
if (iblockdata.isAir()) {
|
||||
this.world.a(this.player.getId(), this.h, -1);
|
||||
this.m = -1;
|
||||
@@ -289,10 +295,12 @@ public class PlayerInteractManager {
|
||||
@@ -290,10 +296,12 @@ public class PlayerInteractManager {
|
||||
this.player.playerConnection.sendPacket(new PacketPlayOutBlockBreak(blockposition, this.world.getType(blockposition), packetplayinblockdig_enumplayerdigtype, true, "stopped destroying"));
|
||||
} else if (packetplayinblockdig_enumplayerdigtype == PacketPlayInBlockDig.EnumPlayerDigType.ABORT_DESTROY_BLOCK) {
|
||||
this.f = false;
|
||||
|
@ -1160,10 +1160,10 @@ index 1f32ab230d650bb5f652efbacdd5e4b90dc4de89..71c2792d7eede35485cc36ac929cf295
|
||||
}
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
index e7f762dc131ae40e36ff5e70b0394e0d5abdcee8..37e436c28c3c71c73fb0e7bf06a417739a318e47 100644
|
||||
index d86b1e528b53db809ac993aa2f1d2799d4f1a574..fbd8a6985a261396789c87e4b687140bd49cea0d 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
@@ -308,6 +308,8 @@ public class PlayerInteractManager {
|
||||
@@ -309,6 +309,8 @@ public class PlayerInteractManager {
|
||||
}
|
||||
|
||||
}
|
||||
@ -1173,7 +1173,7 @@ index e7f762dc131ae40e36ff5e70b0394e0d5abdcee8..37e436c28c3c71c73fb0e7bf06a41773
|
||||
|
||||
public void a(BlockPosition blockposition, PacketPlayInBlockDig.EnumPlayerDigType packetplayinblockdig_enumplayerdigtype, String s) {
|
||||
diff --git a/src/main/java/net/minecraft/server/level/WorldServer.java b/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
index 5da94d3c2498c84da81f41c37249159d1c3a9ca2..280ecd3634d77b93cf0923f4c4a5cfd7f114e848 100644
|
||||
index 735da5729c16940e3d8877f32a40342b9d1e989d..caf3d4df460d2d6dad6e68a68e1256e3603e3891 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/WorldServer.java
|
||||
@@ -210,7 +210,7 @@ public class WorldServer extends World implements GeneratorAccessSeed {
|
||||
|
@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for command blocks
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
index 37e436c28c3c71c73fb0e7bf06a417739a318e47..831bc83cdbf15f08961cc8703be348b458d47fd3 100644
|
||||
index fbd8a6985a261396789c87e4b687140bd49cea0d..984209e4f66ad23d85d2c5d02318caab1aff7324 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
@@ -386,7 +386,7 @@ public class PlayerInteractManager {
|
||||
@@ -387,7 +387,7 @@ public class PlayerInteractManager {
|
||||
TileEntity tileentity = this.world.getTileEntity(blockposition);
|
||||
Block block = iblockdata.getBlock();
|
||||
|
||||
|
@ -6,7 +6,7 @@ Subject: [PATCH] Extend block drop capture to capture all items added to the
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
index 831bc83cdbf15f08961cc8703be348b458d47fd3..5974cc9f895478eebd4922faa26d5a944064d7b6 100644
|
||||
index 984209e4f66ad23d85d2c5d02318caab1aff7324..31012963815a5c7355753b8cd2749976282ef0d2 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
@@ -12,6 +12,7 @@ import net.minecraft.world.EnumHand;
|
||||
@ -17,7 +17,7 @@ index 831bc83cdbf15f08961cc8703be348b458d47fd3..5974cc9f895478eebd4922faa26d5a94
|
||||
import net.minecraft.world.entity.player.EntityHuman;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.context.ItemActionContext;
|
||||
@@ -418,10 +419,12 @@ public class PlayerInteractManager {
|
||||
@@ -419,10 +420,12 @@ public class PlayerInteractManager {
|
||||
// return true; // CraftBukkit
|
||||
}
|
||||
// CraftBukkit start
|
||||
|
@ -5,10 +5,10 @@ Subject: [PATCH] Implement API to expose exact interaction point
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
index d0a4b5cc21d40f17ed85cc174797e2705d7a0dc3..4203081692d2e4c43abc47aeb85f42b09acb7eee 100644
|
||||
index 31012963815a5c7355753b8cd2749976282ef0d2..87722285690d9d3370610e2a2eb809e0d1f497c9 100644
|
||||
--- a/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
+++ b/src/main/java/net/minecraft/server/level/PlayerInteractManager.java
|
||||
@@ -495,7 +495,7 @@ public class PlayerInteractManager {
|
||||
@@ -496,7 +496,7 @@ public class PlayerInteractManager {
|
||||
cancelledBlock = true;
|
||||
}
|
||||
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 6bff9d0996132e9e38679b13853fc0b16a55e33c
|
||||
Subproject commit 80ece5de932aee4d2c37d13189722b26d45aec5b
|
@ -1 +1 @@
|
||||
Subproject commit a8d7c94a5b698732029f2f153904cbe943e70e71
|
||||
Subproject commit 0d86921e1231b8476ac5eb61e63da1411df658f7
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren