Skip to content

Commit 3bf9976

Browse files
committed
more misc changes
1 parent 460b99e commit 3bf9976

File tree

92 files changed

+468
-755
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+468
-755
lines changed

paper-api/src/main/java/com/destroystokyo/paper/network/NetworkClient.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public interface NetworkClient {
2121
* Returns the protocol version of the client.
2222
*
2323
* @return The client's protocol version, or {@code -1} if unknown
24-
* @see <a href="http://wiki.vg/Protocol_version_numbers">List of protocol
24+
* @see <a href="https://minecraft.wiki/w/Minecraft_Wiki:Projects/wiki.vg_merge/Protocol_version_numbers">List of protocol
2525
* version numbers</a>
2626
*/
2727
int getProtocolVersion();

paper-api/src/main/java/org/bukkit/Sound.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1686,7 +1686,7 @@ private static Sound getSound(@NotNull String key) {
16861686
* @deprecated only for backwards compatibility, use {@link Registry#get(NamespacedKey)} instead.
16871687
*/
16881688
@NotNull
1689-
@Deprecated(since = "1.21.3")
1689+
@Deprecated(since = "1.21.3", forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.22") // Paper - will be removed via asm-utils
16901690
static Sound valueOf(@NotNull String name) {
16911691
Sound sound = Bukkit.getUnsafe().get(RegistryKey.SOUND_EVENT, NamespacedKey.fromString(name.toLowerCase(Locale.ROOT)));
16921692
if (sound != null) {
@@ -1720,7 +1720,7 @@ static Sound valueOf(@NotNull String name) {
17201720
* @deprecated use {@link Registry#iterator()}.
17211721
*/
17221722
@NotNull
1723-
@Deprecated(since = "1.21.3")
1723+
@Deprecated(since = "1.21.3", forRemoval = true) @org.jetbrains.annotations.ApiStatus.ScheduledForRemoval(inVersion = "1.22") // Paper - will be removed via asm-utils
17241724
static Sound[] values() {
17251725
return Lists.newArrayList(Registry.SOUNDS).toArray(new Sound[0]);
17261726
}

paper-api/src/main/java/org/bukkit/attribute/AttributeModifier.java

-1
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,6 @@ public Operation getOperation() {
130130
*/
131131
@Nullable
132132
@Deprecated(since = "1.20.5")
133-
@io.papermc.paper.annotation.DoNotUse // Paper
134133
public EquipmentSlot getSlot() {
135134
return slot == EquipmentSlotGroup.ANY ? null : slot.getExample();
136135
}

paper-api/src/main/java/org/bukkit/event/block/BlockCanBuildEvent.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@ public BlockCanBuildEvent(@NotNull final Block block, @NotNull final BlockData t
3838
* @param type the id of the block to place
3939
* @param canBuild whether we can build
4040
*/
41-
@java.lang.Deprecated // Paper
42-
@io.papermc.paper.annotation.DoNotUse // Paper
41+
@Deprecated // Paper
4342
public BlockCanBuildEvent(@NotNull final Block block, @Nullable final Player player, @NotNull final BlockData type, final boolean canBuild) {
4443
this(block, player, type, canBuild, org.bukkit.inventory.EquipmentSlot.HAND); // Paper start - expose hand
4544
}
45+
4646
@org.jetbrains.annotations.ApiStatus.Internal
4747
public BlockCanBuildEvent(@NotNull final Block block, @Nullable final Player player, @NotNull final BlockData type, final boolean canBuild, @NotNull final org.bukkit.inventory.EquipmentSlot hand) { // Paper end - expose hand
4848
super(block);

paper-api/src/main/java/org/bukkit/event/block/BlockDamageEvent.java

-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ public class BlockDamageEvent extends BlockEvent implements Cancellable {
2323

2424
// Paper start - expose blockface
2525
@Deprecated(forRemoval = true)
26-
@io.papermc.paper.annotation.DoNotUse
2726
public BlockDamageEvent(@NotNull final Player player, @NotNull final Block block, @NotNull final ItemStack itemInHand, final boolean instaBreak) {
2827
this(player, block, null, itemInHand, instaBreak); // Some plugin do bad things...
2928
}

paper-api/src/main/java/org/bukkit/event/entity/EntityDamageEvent.java

+3-5
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public EntityDamageEvent(@NotNull final Entity damagee, @NotNull final DamageCau
3737
}
3838

3939
public EntityDamageEvent(@NotNull final Entity damagee, @NotNull final DamageCause cause, @NotNull final DamageSource damageSource, final double damage) {
40-
this(damagee, cause, damageSource, new EnumMap<DamageModifier, Double>(ImmutableMap.of(DamageModifier.BASE, damage)), new EnumMap<DamageModifier, Function<? super Double, Double>>(ImmutableMap.of(DamageModifier.BASE, ZERO)));
40+
this(damagee, cause, damageSource, new EnumMap<>(ImmutableMap.of(DamageModifier.BASE, damage)), new EnumMap<DamageModifier, Function<? super Double, Double>>(ImmutableMap.of(DamageModifier.BASE, ZERO)));
4141
}
4242

4343
@Deprecated(since = "1.20.4", forRemoval = true)
@@ -52,7 +52,7 @@ public EntityDamageEvent(@NotNull final Entity damagee, @NotNull final DamageCau
5252
Preconditions.checkArgument(modifiers.values().stream().allMatch(Objects::nonNull), "Cannot have null modifier values");
5353
Preconditions.checkArgument(modifiers.keySet().equals(modifierFunctions.keySet()), "Must have a modifier function for each DamageModifier");
5454
Preconditions.checkArgument(modifierFunctions.values().stream().allMatch(Objects::nonNull), "Cannot have null modifier function");
55-
this.originals = new EnumMap<DamageModifier, Double>(modifiers);
55+
this.originals = new EnumMap<>(modifiers);
5656
this.cause = cause;
5757
this.modifiers = modifiers;
5858
this.modifierFunctions = modifierFunctions;
@@ -236,9 +236,7 @@ public static HandlerList getHandlerList() {
236236
* An enum to specify the types of modifier
237237
*
238238
* @deprecated This API is responsible for a large number of implementation
239-
* problems and is in general unsustainable to maintain. It is likely to be
240-
* removed very soon in a subsequent release. Please see
241-
* <a href="https://www.spigotmc.org/threads/194446/">this thread</a> for more information.
239+
* problems and is in general unsustainable to maintain.
242240
*/
243241
@Deprecated(since = "1.12")
244242
public enum DamageModifier {

paper-api/src/main/java/org/bukkit/event/entity/EntityPortalEnterEvent.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,12 @@ public class EntityPortalEnterEvent extends EntityEvent implements org.bukkit.ev
1515
private static final HandlerList handlers = new HandlerList();
1616
private final Location location;
1717

18-
@Deprecated(since = "1.21") @io.papermc.paper.annotation.DoNotUse // Paper
18+
@Deprecated(since = "1.21")
1919
public EntityPortalEnterEvent(@NotNull final Entity entity, @NotNull final Location location) {
2020
// Paper start
2121
this(entity, location, org.bukkit.PortalType.CUSTOM);
2222
}
23+
2324
@org.jetbrains.annotations.ApiStatus.Internal
2425
public EntityPortalEnterEvent(@NotNull final Entity entity, @NotNull final Location location, @NotNull final org.bukkit.PortalType portalType) {
2526
// Paper end

paper-api/src/main/java/org/bukkit/event/entity/ProjectileHitEvent.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,22 @@ public class ProjectileHitEvent extends EntityEvent implements Cancellable {
1919
private final BlockFace hitFace;
2020
private boolean cancel = false;
2121

22-
@Deprecated @io.papermc.paper.annotation.DoNotUse // Paper
22+
@Deprecated // Paper
2323
public ProjectileHitEvent(@NotNull final Projectile projectile) {
2424
this(projectile, null, null, null); // Paper
2525
}
2626

27-
@Deprecated @io.papermc.paper.annotation.DoNotUse // Paper
27+
@Deprecated // Paper
2828
public ProjectileHitEvent(@NotNull final Projectile projectile, @Nullable Entity hitEntity) {
2929
this(projectile, hitEntity, null, null); // Paper
3030
}
3131

32-
@Deprecated @io.papermc.paper.annotation.DoNotUse // Paper
32+
@Deprecated // Paper
3333
public ProjectileHitEvent(@NotNull final Projectile projectile, @Nullable Block hitBlock) {
3434
this(projectile, null, hitBlock, null); // Paper
3535
}
3636

37-
@Deprecated @io.papermc.paper.annotation.DoNotUse // Paper
37+
@Deprecated // Paper
3838
public ProjectileHitEvent(@NotNull final Projectile projectile, @Nullable Entity hitEntity, @Nullable Block hitBlock) {
3939
this(projectile, hitEntity, hitBlock, null);
4040
}

paper-server/patches/sources/net/minecraft/core/dispenser/BoatDispenseItemBehavior.java.patch

+6-9
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,27 @@
11
--- a/net/minecraft/core/dispenser/BoatDispenseItemBehavior.java
22
+++ b/net/minecraft/core/dispenser/BoatDispenseItemBehavior.java
3-
@@ -40,13 +_,39 @@
3+
@@ -40,13 +_,36 @@
44
d4 = 0.0;
55
}
66

77
+ // CraftBukkit start
8-
+ ItemStack singleItemStack = item.copyWithCount(1); // Paper - shrink at end and single item in event
8+
+ ItemStack singleItemStack = item.copyWithCount(1);
99
+ org.bukkit.block.Block block = org.bukkit.craftbukkit.block.CraftBlock.at(serverLevel, blockSource.pos());
1010
+ org.bukkit.craftbukkit.inventory.CraftItemStack craftItem = org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(singleItemStack);
1111
+
1212
+ org.bukkit.event.block.BlockDispenseEvent event = new org.bukkit.event.block.BlockDispenseEvent(block, craftItem.clone(), new org.bukkit.util.Vector(d1, d2 + d4, d3));
13-
+ if (!DispenserBlock.eventFired) {
14-
+ serverLevel.getCraftServer().getPluginManager().callEvent(event);
15-
+ }
13+
+ serverLevel.getCraftServer().getPluginManager().callEvent(event);
1614
+
1715
+ if (event.isCancelled()) {
18-
+ // stack.grow(1); // Paper - shrink below
1916
+ return item;
2017
+ }
2118
+
22-
+ boolean shrink = true; // Paper
19+
+ boolean shrink = true;
2320
+ if (!event.getItem().equals(craftItem)) {
24-
+ shrink = false; // Paper - shrink below
21+
+ shrink = false;
2522
+ // Chain to handler for new item
2623
+ ItemStack eventStack = org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(event.getItem());
27-
+ DispenseItemBehavior dispenseBehavior = DispenserBlock.getDispenseBehavior(blockSource, eventStack); // Paper - Fix NPE with equippable and items without behavior
24+
+ DispenseItemBehavior dispenseBehavior = DispenserBlock.getDispenseBehavior(blockSource, eventStack);
2825
+ if (dispenseBehavior != DispenseItemBehavior.NOOP && dispenseBehavior != this) {
2926
+ dispenseBehavior.dispense(blockSource, eventStack);
3027
+ return item;

paper-server/patches/sources/net/minecraft/core/dispenser/DefaultDispenseItemBehavior.java.patch

+11-22
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,11 @@
11
--- a/net/minecraft/core/dispenser/DefaultDispenseItemBehavior.java
22
+++ b/net/minecraft/core/dispenser/DefaultDispenseItemBehavior.java
3-
@@ -10,23 +_,46 @@
3+
@@ -9,24 +_,37 @@
4+
45
public class DefaultDispenseItemBehavior implements DispenseItemBehavior {
56
private static final int DEFAULT_ACCURACY = 6;
6-
7-
+ // CraftBukkit start
87
+ private Direction direction; // Paper - cache facing direction
9-
+ private boolean dropper;
10-
+
11-
+ public DefaultDispenseItemBehavior(boolean dropper) {
12-
+ this.dropper = dropper;
13-
+ }
14-
+
15-
+ public DefaultDispenseItemBehavior() {}
16-
+ // CraftBukkit end
17-
+
8+
189
@Override
1910
public final ItemStack dispense(BlockSource blockSource, ItemStack item) {
2011
+ this.direction = blockSource.state().getValue(DispenserBlock.FACING); // Paper - cache facing direction
@@ -32,7 +23,7 @@
3223
ItemStack itemStack = item.split(1);
3324
- spawnItem(blockSource.level(), itemStack, 6, direction, dispensePosition);
3425
+ // CraftBukkit start
35-
+ if (!DefaultDispenseItemBehavior.spawnItem(blockSource.level(), itemStack, 6, this.direction, dispensePosition, blockSource, this.dropper)) {
26+
+ if (!DefaultDispenseItemBehavior.spawnItem(blockSource.level(), itemStack, 6, this.direction, dispensePosition, blockSource)) {
3627
+ item.grow(1);
3728
+ }
3829
+ // CraftBukkit end
@@ -50,25 +41,23 @@
5041
double d = position.x();
5142
double d1 = position.y();
5243
double d2 = position.z();
53-
@@ -43,7 +_,45 @@
44+
@@ -43,7 +_,43 @@
5445
level.random.triangle(0.2, 0.0172275 * speed),
5546
level.random.triangle(facing.getStepZ() * d3, 0.0172275 * speed)
5647
);
5748
+ return itemEntity; // CraftBukkit
5849
+ }
5950
+
60-
+ // CraftBukkit - void -> boolean return, IPosition -> ISourceBlock last argument, dropper
61-
+ public static boolean spawnItem(Level level, ItemStack stack, int speed, Direction facing, Position dispensePosition, BlockSource blockSource, boolean dropper) {
51+
+ // CraftBukkit start - void -> boolean return
52+
+ public static boolean spawnItem(Level level, ItemStack stack, int speed, Direction facing, Position position, BlockSource blockSource) {
6253
+ if (stack.isEmpty()) return true;
63-
+ ItemEntity itemEntity = DefaultDispenseItemBehavior.prepareItem(level, stack, speed, facing, dispensePosition);
54+
+ ItemEntity itemEntity = DefaultDispenseItemBehavior.prepareItem(level, stack, speed, facing, position);
6455
+
6556
+ org.bukkit.block.Block block = org.bukkit.craftbukkit.block.CraftBlock.at(level, blockSource.pos());
6657
+ org.bukkit.craftbukkit.inventory.CraftItemStack craftItem = org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(stack);
6758
+
6859
+ org.bukkit.event.block.BlockDispenseEvent event = new org.bukkit.event.block.BlockDispenseEvent(block, craftItem.clone(), org.bukkit.craftbukkit.util.CraftVector.toBukkit(itemEntity.getDeltaMovement()));
69-
+ if (!DispenserBlock.eventFired) {
70-
+ level.getCraftServer().getPluginManager().callEvent(event);
71-
+ }
60+
+ level.getCraftServer().getPluginManager().callEvent(event);
7261
+
7362
+ if (event.isCancelled()) {
7463
+ return false;
@@ -77,10 +66,10 @@
7766
+ itemEntity.setItem(org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(event.getItem()));
7867
+ itemEntity.setDeltaMovement(org.bukkit.craftbukkit.util.CraftVector.toVec3(event.getVelocity()));
7968
+
80-
+ if (!dropper && !event.getItem().getType().equals(craftItem.getType())) {
69+
+ if (blockSource.state().is(net.minecraft.world.level.block.Blocks.DISPENSER) && !event.getItem().getType().equals(craftItem.getType())) {
8170
+ // Chain to handler for new item
8271
+ ItemStack eventStack = org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(event.getItem());
83-
+ DispenseItemBehavior dispenseBehavior = DispenserBlock.getDispenseBehavior(blockSource, eventStack); // Paper - Fix NPE with equippable and items without behavior
72+
+ DispenseItemBehavior dispenseBehavior = DispenserBlock.getDispenseBehavior(blockSource, eventStack);
8473
+ if (dispenseBehavior != DispenseItemBehavior.NOOP && dispenseBehavior.getClass() != DefaultDispenseItemBehavior.class) {
8574
+ dispenseBehavior.dispense(blockSource, eventStack);
8675
+ } else {

0 commit comments

Comments
 (0)