mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-01 15:04:06 +01:00
some patches :D
This commit is contained in:
parent
5513f8a795
commit
723c05e7fe
@ -5,10 +5,10 @@ Subject: [PATCH] Set area affect cloud rotation
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
|
||||||
index 970c85656c398b72e225fb755833e2887c04a68c..a8716fec24006a89bcaa1e3acb394cc557944703 100644
|
index 31969ed9b6f8660dc969eab83d11c24d5932cef0..29369cab2ccdd1d43fc67dbe2e666e477f96b26d 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java
|
||||||
@@ -953,6 +953,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
|
@@ -987,6 +987,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor {
|
||||||
entity.moveTo(location.getX(), location.getY(), location.getZ());
|
entity.moveTo(location.getX(), location.getY(), location.getZ());
|
||||||
} else if (AreaEffectCloud.class.isAssignableFrom(clazz)) {
|
} else if (AreaEffectCloud.class.isAssignableFrom(clazz)) {
|
||||||
entity = new net.minecraft.world.entity.AreaEffectCloud(world, x, y, z);
|
entity = new net.minecraft.world.entity.AreaEffectCloud(world, x, y, z);
|
@ -5,10 +5,10 @@ Subject: [PATCH] add isDeeplySleeping to HumanEntity
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||||
index 408c23c8310c464baebfb1f4adafe56a01645a5a..e8e61fb73792f8f7fb0266df93dbaf552114b492 100644
|
index 6a5f5c00f9276337ddee8c8d1458a429bc5443d9..bd2c3425cb17d14ccb6f8390997cc07de354468c 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java
|
||||||
@@ -133,6 +133,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
@@ -134,6 +134,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
|
||||||
}
|
}
|
||||||
// Paper end
|
// Paper end
|
||||||
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] fix PlayerItemHeldEvent firing twice
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
index 7dfaaf9fc460d84d87370ae3a0e081e8b21e8348..c795d07645c5dd1b7502ea443ce92e2a3b3ca8ee 100644
|
index a4e06cc6f88cbaa043a95416d732be1e5f34e893..f84252aa999391c15d1302aea59d9187ffe10d33 100644
|
||||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
@@ -1895,6 +1895,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
@@ -1922,6 +1922,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
|
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
|
||||||
if (this.player.isImmobile()) return; // CraftBukkit
|
if (this.player.isImmobile()) return; // CraftBukkit
|
||||||
if (packet.getSlot() >= 0 && packet.getSlot() < Inventory.getSelectionSize()) {
|
if (packet.getSlot() >= 0 && packet.getSlot() < Inventory.getSelectionSize()) {
|
@ -5,10 +5,10 @@ Subject: [PATCH] Added PlayerDeepSleepEvent
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java
|
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 6c498338d3918afb4f7ad5bac013f6dbb43594c2..0d65e04efacef0bef245e6b5b21e430d90696c5d 100644
|
index 2957b3929c1e92af1b1a2636b83b757a0fbc789d..51fe3687f6f8c2ce5a5f0ac7749bc7cad135a69a 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
--- a/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
+++ b/src/main/java/net/minecraft/world/entity/player/Player.java
|
||||||
@@ -253,6 +253,11 @@ public abstract class Player extends LivingEntity {
|
@@ -248,6 +248,11 @@ public abstract class Player extends LivingEntity {
|
||||||
|
|
||||||
if (this.isSleeping()) {
|
if (this.isSleeping()) {
|
||||||
++this.sleepCounter;
|
++this.sleepCounter;
|
@ -5,10 +5,10 @@ Subject: [PATCH] More World API
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
index b4e1a0990ca8a9d4a17012ff3bae367e046ae27f..d2b8fa11c1f78aadab79cb296da192a0e9b493b7 100644
|
index cb9db52f7dba755146713be45cb66905e065336f..6252d231e072fcd1fd8ca2eb0b74c66cac9950e9 100644
|
||||||
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
--- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
+++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java
|
||||||
@@ -2119,6 +2119,53 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
@@ -2125,6 +2125,53 @@ public class CraftWorld extends CraftRegionAccessor implements World {
|
||||||
return new CraftStructureSearchResult(CraftStructure.minecraftToBukkit(found.getSecond().value(), this.getHandle().registryAccess()), CraftLocation.toBukkit(found.getFirst(), this));
|
return new CraftStructureSearchResult(CraftStructure.minecraftToBukkit(found.getSecond().value(), this.getHandle().registryAccess()), CraftLocation.toBukkit(found.getFirst(), this));
|
||||||
}
|
}
|
||||||
|
|
@ -5,10 +5,10 @@ Subject: [PATCH] Added PlayerBedFailEnterEvent
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/BedBlock.java b/src/main/java/net/minecraft/world/level/block/BedBlock.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/BedBlock.java b/src/main/java/net/minecraft/world/level/block/BedBlock.java
|
||||||
index efac034d07f4aadf5dc4ca8322e0dc7d861e6034..a605c9739ebc8e60bd668ff67c760cca9bd210dc 100644
|
index 77438ea56b83f6aecd5f9acb9c55d4cd6e86ff95..0e63fa3b49b1a275254cf108a51ab18e816aad49 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/BedBlock.java
|
--- a/src/main/java/net/minecraft/world/level/block/BedBlock.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/BedBlock.java
|
+++ b/src/main/java/net/minecraft/world/level/block/BedBlock.java
|
||||||
@@ -109,14 +109,23 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock
|
@@ -119,14 +119,23 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock
|
||||||
BlockPos finalblockposition = pos;
|
BlockPos finalblockposition = pos;
|
||||||
// CraftBukkit end
|
// CraftBukkit end
|
||||||
player.startSleepInBed(pos).ifLeft((entityhuman_enumbedresult) -> {
|
player.startSleepInBed(pos).ifLeft((entityhuman_enumbedresult) -> {
|
@ -42,7 +42,7 @@ index 0000000000000000000000000000000000000000..dd6012b6a097575b2d1471be5069ecce
|
|||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
index 27034f08e6fcacb0670f2bdddce6d073a3dd1bc1..16a32e2baebe01d1f2d077500b775aeca7ec61aa 100644
|
index 3cacbbc03a3207656b71a1a05d95dbb750815bab..8f9ea1907ed4574cca8d362a0f207fb546cb6484 100644
|
||||||
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
--- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
+++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java
|
||||||
@@ -209,6 +209,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
@@ -209,6 +209,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface
|
@ -6,10 +6,10 @@ Subject: [PATCH] Fix anchor respawn acting as a bed respawn from the end
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
index 504bed9e3baa3bdd1c4d913d033ac8d0bd7cfc24..289e5609b74c254ca95680eaf592bdcdb253c9ce 100644
|
index f76bdc288c9c8ac24030eb9c6ad8b1c92d42e1c0..6ba2510a98332db7b271aa9a190577402cdac9a4 100644
|
||||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
@@ -826,6 +826,7 @@ public abstract class PlayerList {
|
@@ -824,6 +824,7 @@ public abstract class PlayerList {
|
||||||
|
|
||||||
// Paper start
|
// Paper start
|
||||||
boolean isBedSpawn = false;
|
boolean isBedSpawn = false;
|
||||||
@ -17,7 +17,7 @@ index 504bed9e3baa3bdd1c4d913d033ac8d0bd7cfc24..289e5609b74c254ca95680eaf592bdcd
|
|||||||
boolean isRespawn = false;
|
boolean isRespawn = false;
|
||||||
boolean isLocAltered = false; // Paper - Fix SPIGOT-5989
|
boolean isLocAltered = false; // Paper - Fix SPIGOT-5989
|
||||||
// Paper end
|
// Paper end
|
||||||
@@ -846,6 +847,7 @@ public abstract class PlayerList {
|
@@ -844,6 +845,7 @@ public abstract class PlayerList {
|
||||||
if (optional.isPresent()) {
|
if (optional.isPresent()) {
|
||||||
BlockState iblockdata = worldserver1.getBlockState(blockposition);
|
BlockState iblockdata = worldserver1.getBlockState(blockposition);
|
||||||
boolean flag3 = iblockdata.is(Blocks.RESPAWN_ANCHOR);
|
boolean flag3 = iblockdata.is(Blocks.RESPAWN_ANCHOR);
|
||||||
@ -25,7 +25,7 @@ index 504bed9e3baa3bdd1c4d913d033ac8d0bd7cfc24..289e5609b74c254ca95680eaf592bdcd
|
|||||||
Vec3 vec3d = (Vec3) optional.get();
|
Vec3 vec3d = (Vec3) optional.get();
|
||||||
float f1;
|
float f1;
|
||||||
|
|
||||||
@@ -874,7 +876,7 @@ public abstract class PlayerList {
|
@@ -872,7 +874,7 @@ public abstract class PlayerList {
|
||||||
}
|
}
|
||||||
|
|
||||||
Player respawnPlayer = entityplayer1.getBukkitEntity();
|
Player respawnPlayer = entityplayer1.getBukkitEntity();
|
@ -5,10 +5,10 @@ Subject: [PATCH] add RespawnFlags to PlayerRespawnEvent
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
index c795d07645c5dd1b7502ea443ce92e2a3b3ca8ee..4d641005076c200ffea9f30a5ee447d2b624ae09 100644
|
index f84252aa999391c15d1302aea59d9187ffe10d33..14e967c71ae44caab604d8d758deb660d62cfff3 100644
|
||||||
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
@@ -2629,7 +2629,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
@@ -2637,7 +2637,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
|
||||||
case PERFORM_RESPAWN:
|
case PERFORM_RESPAWN:
|
||||||
if (this.player.wonGame) {
|
if (this.player.wonGame) {
|
||||||
this.player.wonGame = false;
|
this.player.wonGame = false;
|
||||||
@ -18,10 +18,10 @@ index c795d07645c5dd1b7502ea443ce92e2a3b3ca8ee..4d641005076c200ffea9f30a5ee447d2
|
|||||||
} else {
|
} else {
|
||||||
if (this.player.getHealth() > 0.0F) {
|
if (this.player.getHealth() > 0.0F) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
index 289e5609b74c254ca95680eaf592bdcdb253c9ce..80e31db0fbcac487f8dec943972204cddd10e161 100644
|
index 6ba2510a98332db7b271aa9a190577402cdac9a4..2ed83d020ec5fe2aca1a66b2196c7fc9f41bf4c5 100644
|
||||||
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
||||||
@@ -785,6 +785,12 @@ public abstract class PlayerList {
|
@@ -783,6 +783,12 @@ public abstract class PlayerList {
|
||||||
}
|
}
|
||||||
|
|
||||||
public ServerPlayer respawn(ServerPlayer entityplayer, ServerLevel worldserver, boolean flag, Location location, boolean avoidSuffocation, RespawnReason reason) {
|
public ServerPlayer respawn(ServerPlayer entityplayer, ServerLevel worldserver, boolean flag, Location location, boolean avoidSuffocation, RespawnReason reason) {
|
||||||
@ -34,7 +34,7 @@ index 289e5609b74c254ca95680eaf592bdcdb253c9ce..80e31db0fbcac487f8dec943972204cd
|
|||||||
entityplayer.stopRiding(); // CraftBukkit
|
entityplayer.stopRiding(); // CraftBukkit
|
||||||
this.players.remove(entityplayer);
|
this.players.remove(entityplayer);
|
||||||
this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot
|
this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot
|
||||||
@@ -876,7 +882,7 @@ public abstract class PlayerList {
|
@@ -874,7 +880,7 @@ public abstract class PlayerList {
|
||||||
}
|
}
|
||||||
|
|
||||||
Player respawnPlayer = entityplayer1.getBukkitEntity();
|
Player respawnPlayer = entityplayer1.getBukkitEntity();
|
@ -5,10 +5,10 @@ Subject: [PATCH] Send empty commands if tab completion is disabled
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java
|
||||||
index c37d9fb4f1fb388e5c264404de378cee298fd253..5fd7e5aa0644fda8e2f7f57eef9a6f0011534cb9 100644
|
index dead614bf8153d9039bc59f75ba0eee872d0dcb5..094eb2d3aff11c861490e04cc054918bff5e2d87 100644
|
||||||
--- a/src/main/java/net/minecraft/commands/Commands.java
|
--- a/src/main/java/net/minecraft/commands/Commands.java
|
||||||
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
+++ b/src/main/java/net/minecraft/commands/Commands.java
|
||||||
@@ -402,7 +402,12 @@ public class Commands {
|
@@ -456,7 +456,12 @@ public class Commands {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void sendCommands(ServerPlayer player) {
|
public void sendCommands(ServerPlayer player) {
|
@ -5,7 +5,7 @@ Subject: [PATCH] Add EntityBlockStorage#clearEntities()
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
||||||
index 5c89d824ef43792c34c9f2df5851ba8af503cbd9..9d4152f9fde93a832f263c793955d327f1e078f7 100644
|
index 5f2042d565974a5509aec8f744e091fe7c576c98..8c4fba5369e5e25f144291c43e086b7417b013aa 100644
|
||||||
--- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
--- a/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
||||||
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
+++ b/src/main/java/net/minecraft/world/level/block/entity/BeehiveBlockEntity.java
|
||||||
@@ -139,6 +139,11 @@ public class BeehiveBlockEntity extends BlockEntity {
|
@@ -139,6 +139,11 @@ public class BeehiveBlockEntity extends BlockEntity {
|
@ -9,10 +9,10 @@ defaults are only included for certain entites, this allows setting
|
|||||||
limits for any entity type.
|
limits for any entity type.
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
index 5981b2bd5745ac32cdb377c15c4384d074a47680..b1a5f160f5bd4da271f212f02c3c977a5e576b99 100644
|
index 9d16fc698b0771bcb3c95f5fb017879c37ebb39b..823f3b3093cffb49ccdcbcfbe6d348009a553ad7 100644
|
||||||
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
--- a/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
+++ b/src/main/java/net/minecraft/world/entity/EntityType.java
|
||||||
@@ -627,9 +627,20 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
@@ -631,9 +631,20 @@ public class EntityType<T extends Entity> implements FeatureElement, EntityTypeT
|
||||||
final Spliterator<? extends Tag> spliterator = entityNbtList.spliterator();
|
final Spliterator<? extends Tag> spliterator = entityNbtList.spliterator();
|
||||||
|
|
||||||
return StreamSupport.stream(new Spliterator<Entity>() {
|
return StreamSupport.stream(new Spliterator<Entity>() {
|
@ -5,23 +5,27 @@ Subject: [PATCH] Add Adventure message to PlayerAdvancementDoneEvent
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||||
index d03db10517b2df98b40ab48e450333960508aabf..e38e2e5a7ddba9c140f362021b6be0b0974f7cd1 100644
|
index f29ddc244cfa5eba9b2903d40d8509731fc18287..f655e0ae4a287886d0291cd0089bad2000249d0f 100644
|
||||||
--- a/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
--- a/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||||
+++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
+++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java
|
||||||
@@ -237,11 +237,17 @@ public class PlayerAdvancements {
|
@@ -236,11 +236,21 @@ public class PlayerAdvancements {
|
||||||
this.progressChanged.add(advancement);
|
this.progressChanged.add(advancement);
|
||||||
flag = true;
|
flag = true;
|
||||||
if (!flag1 && advancementprogress.isDone()) {
|
if (!flag1 && advancementprogress.isDone()) {
|
||||||
- this.player.level().getCraftServer().getPluginManager().callEvent(new org.bukkit.event.player.PlayerAdvancementDoneEvent(this.player.getBukkitEntity(), advancement.toBukkit())); // CraftBukkit
|
- this.player.level().getCraftServer().getPluginManager().callEvent(new org.bukkit.event.player.PlayerAdvancementDoneEvent(this.player.getBukkitEntity(), advancement.toBukkit())); // CraftBukkit
|
||||||
+ // Paper start - Add Adventure message to PlayerAdvancementDoneEvent
|
+ // Paper start - Add Adventure message to PlayerAdvancementDoneEvent
|
||||||
+ final net.kyori.adventure.text.Component message = advancement.value().display().flatMap(info -> java.util.Optional.ofNullable(info.shouldAnnounceChat() ? io.papermc.paper.adventure.PaperAdventure.asAdventure(Component.translatable("chat.type.advancement." + info.getFrame().getName(), this.player.getDisplayName(), Advancement.name(advancement))) : null)).orElse(null);
|
+ final net.kyori.adventure.text.Component message = advancement.value().display().flatMap(info -> {
|
||||||
|
+ return java.util.Optional.ofNullable(
|
||||||
|
+ info.shouldAnnounceChat() ? io.papermc.paper.adventure.PaperAdventure.asAdventure(info.getType().createAnnouncement(advancement, this.player)) : null
|
||||||
|
+ );
|
||||||
|
+ }).orElse(null);
|
||||||
+ final org.bukkit.event.player.PlayerAdvancementDoneEvent event = new org.bukkit.event.player.PlayerAdvancementDoneEvent(this.player.getBukkitEntity(), advancement.toBukkit(), message);
|
+ final org.bukkit.event.player.PlayerAdvancementDoneEvent event = new org.bukkit.event.player.PlayerAdvancementDoneEvent(this.player.getBukkitEntity(), advancement.toBukkit(), message);
|
||||||
+ this.player.level().getCraftServer().getPluginManager().callEvent(event); // CraftBukkit
|
+ this.player.level().getCraftServer().getPluginManager().callEvent(event); // CraftBukkit
|
||||||
+ // Paper end
|
+ // Paper end
|
||||||
advancement.value().rewards().grant(this.player);
|
advancement.value().rewards().grant(this.player);
|
||||||
advancement.value().display().ifPresent((advancementdisplay) -> {
|
advancement.value().display().ifPresent((advancementdisplay) -> {
|
||||||
- if (advancementdisplay.shouldAnnounceChat() && this.player.level().getGameRules().getBoolean(GameRules.RULE_ANNOUNCE_ADVANCEMENTS)) {
|
- if (advancementdisplay.shouldAnnounceChat() && this.player.level().getGameRules().getBoolean(GameRules.RULE_ANNOUNCE_ADVANCEMENTS)) {
|
||||||
- this.playerList.broadcastSystemMessage(Component.translatable("chat.type.advancement." + advancementdisplay.getFrame().getName(), this.player.getDisplayName(), Advancement.name(advancement)), false);
|
- this.playerList.broadcastSystemMessage(advancementdisplay.getType().createAnnouncement(advancement, this.player), false);
|
||||||
+ // Paper start - Add Adventure message to PlayerAdvancementDoneEvent
|
+ // Paper start - Add Adventure message to PlayerAdvancementDoneEvent
|
||||||
+ if (event.message() != null && this.player.level().getGameRules().getBoolean(GameRules.RULE_ANNOUNCE_ADVANCEMENTS)) {
|
+ if (event.message() != null && this.player.level().getGameRules().getBoolean(GameRules.RULE_ANNOUNCE_ADVANCEMENTS)) {
|
||||||
+ this.playerList.broadcastSystemMessage(io.papermc.paper.adventure.PaperAdventure.asVanilla(event.message()), false);
|
+ this.playerList.broadcastSystemMessage(io.papermc.paper.adventure.PaperAdventure.asVanilla(event.message()), false);
|
Loading…
Reference in New Issue
Block a user