Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 460b99e

Browse files
committedMar 21, 2025
Compile fixes
1 parent 56ed2dc commit 460b99e

File tree

7 files changed

+67
-12
lines changed

7 files changed

+67
-12
lines changed
 

Diff for: ‎build-data/paper.at

+1
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,7 @@ public net.minecraft.world.entity.animal.horse.AbstractHorse createInventory()V
321321
public net.minecraft.world.entity.animal.horse.AbstractHorse inventory
322322
public net.minecraft.world.entity.animal.horse.AbstractHorse owner
323323
public net.minecraft.world.entity.animal.horse.Horse setVariantAndMarkings(Lnet/minecraft/world/entity/animal/horse/Variant;Lnet/minecraft/world/entity/animal/horse/Markings;)V
324+
public net.minecraft.world.entity.animal.horse.Llama setVariant(Lnet/minecraft/world/entity/animal/horse/Llama$Variant;)V
324325
public net.minecraft.world.entity.animal.horse.SkeletonHorse trapTime
325326
public net.minecraft.world.entity.animal.sniffer.Sniffer calculateDigPosition()Ljava/util/Optional;
326327
public net.minecraft.world.entity.animal.sniffer.Sniffer canDig()Z

Diff for: ‎paper-server/patches/sources/net/minecraft/world/entity/Mob.java.patch

+52-1
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,58 @@
239239
ProfilerFiller profilerFiller = Profiler.get();
240240
profilerFiller.push("sensing");
241241
this.sensing.tick();
242-
@@ -796,11 +_,18 @@
242+
@@ -793,14 +_,69 @@
243+
public boolean stillValid(Player player) {
244+
return player.getVehicle() == Mob.this || player.canInteractWithEntity(Mob.this, 4.0);
245+
}
246+
+
247+
+ // Paper start
248+
+ private final List<org.bukkit.entity.HumanEntity> viewers = new java.util.ArrayList<>();
249+
+ private int maxStackSize = MAX_STACK;
250+
+
251+
+ @Override
252+
+ public int getMaxStackSize() {
253+
+ return this.maxStackSize;
254+
+ }
255+
+
256+
+ @Override
257+
+ public List<ItemStack> getContents() {
258+
+ return java.util.Arrays.asList(this.getTheItem());
259+
+ }
260+
+
261+
+ @Override
262+
+ public void onOpen(final org.bukkit.craftbukkit.entity.CraftHumanEntity player) {
263+
+ this.viewers.add(player);
264+
+ }
265+
+
266+
+ @Override
267+
+ public void onClose(final org.bukkit.craftbukkit.entity.CraftHumanEntity player) {
268+
+ this.viewers.remove(player);
269+
+ }
270+
+
271+
+ @Override
272+
+ public List<org.bukkit.entity.HumanEntity> getViewers() {
273+
+ return this.viewers;
274+
+ }
275+
+
276+
+ @Override
277+
+ public @Nullable org.bukkit.inventory.InventoryHolder getOwner() {
278+
+ if (Mob.this.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder inventoryHolder) {
279+
+ return inventoryHolder;
280+
+ }
281+
+ return null;
282+
+ }
283+
+
284+
+ @Override
285+
+ public void setMaxStackSize(final int size) {
286+
+ this.maxStackSize = size;
287+
+ }
288+
+
289+
+ @Override
290+
+ public org.bukkit.Location getLocation() {
291+
+ return Mob.this.getBukkitEntity().getLocation();
292+
+ }
293+
+ // Paper end
243294
};
244295
}
245296

Diff for: ‎paper-server/src/main/java/io/papermc/paper/adventure/PaperAdventure.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ public final class PaperAdventure {
134134
public static final Codec<Tag, String, CommandSyntaxException, RuntimeException> NBT_CODEC = new Codec<>() {
135135
@Override
136136
public @NotNull Tag decode(final @NotNull String encoded) throws CommandSyntaxException {
137-
return new TagParser(new StringReader(encoded)).readValue();
137+
return TagParser.parseCompoundFully(encoded);
138138
}
139139

140140
@Override

Diff for: ‎paper-server/src/main/java/io/papermc/paper/adventure/providers/NBTLegacyHoverEventSerializer.java

+7-7
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
final class NBTLegacyHoverEventSerializer implements LegacyHoverEventSerializer {
1919
public static final NBTLegacyHoverEventSerializer INSTANCE = new NBTLegacyHoverEventSerializer();
20-
private static final Codec<CompoundTag, String, CommandSyntaxException, RuntimeException> SNBT_CODEC = Codec.codec(TagParser::parseTag, Tag::toString);
20+
private static final Codec<CompoundTag, String, CommandSyntaxException, RuntimeException> SNBT_CODEC = Codec.codec(TagParser::parseCompoundFully, Tag::toString);
2121

2222
static final String ITEM_TYPE = "id";
2323
static final String ITEM_COUNT = "Count";
@@ -35,11 +35,11 @@ public HoverEvent.ShowItem deserializeShowItem(final Component input) throws IOE
3535
final String raw = PlainTextComponentSerializer.plainText().serialize(input);
3636
try {
3737
final CompoundTag contents = SNBT_CODEC.decode(raw);
38-
final CompoundTag tag = contents.getCompound(ITEM_TAG);
39-
@Subst("key") final String keyString = contents.getString(ITEM_TYPE);
38+
final CompoundTag tag = contents.getCompoundOrEmpty(ITEM_TAG);
39+
@Subst("key") final String keyString = contents.getStringOr(ITEM_TYPE, "");
4040
return HoverEvent.ShowItem.showItem(
4141
Key.key(keyString),
42-
contents.contains(ITEM_COUNT) ? contents.getByte(ITEM_COUNT) : 1,
42+
contents.getByteOr(ITEM_COUNT, (byte) 1),
4343
tag.isEmpty() ? null : BinaryTagHolder.encode(tag, SNBT_CODEC)
4444
);
4545
} catch (final CommandSyntaxException ex) {
@@ -52,11 +52,11 @@ public HoverEvent.ShowEntity deserializeShowEntity(final Component input, final
5252
final String raw = PlainTextComponentSerializer.plainText().serialize(input);
5353
try {
5454
final CompoundTag contents = SNBT_CODEC.decode(raw);
55-
@Subst("key") final String keyString = contents.getString(ENTITY_TYPE);
55+
@Subst("key") final String keyString = contents.getStringOr(ENTITY_TYPE, "");
5656
return HoverEvent.ShowEntity.showEntity(
5757
Key.key(keyString),
58-
UUID.fromString(contents.getString(ENTITY_ID)),
59-
componentCodec.decode(contents.getString(ENTITY_NAME))
58+
UUID.fromString(contents.getStringOr(ENTITY_ID, "")),
59+
componentCodec.decode(contents.getStringOr(ENTITY_NAME, ""))
6060
);
6161
} catch (final CommandSyntaxException ex) {
6262
throw new IOException(ex);

Diff for: ‎paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.util.UUID;
55
import net.minecraft.Optionull;
66
import net.minecraft.world.entity.EntityReference;
7+
import net.minecraft.world.entity.EquipmentSlot;
78
import net.minecraft.world.entity.ai.attributes.Attributes;
89
import org.bukkit.craftbukkit.CraftServer;
910
import org.bukkit.craftbukkit.inventory.CraftSaddledInventory;
@@ -114,7 +115,7 @@ public void setEatingHaystack(boolean eatingHaystack) {
114115

115116
@Override
116117
public AbstractHorseInventory getInventory() {
117-
return new CraftSaddledInventory(getHandle().inventory, this.getHandle().getBodyArmorAccess()); // Paper - use both inventories
118+
return new CraftSaddledInventory(getHandle().inventory, this.getHandle().createEquipmentSlotContainer(EquipmentSlot.BODY));
118119
}
119120

120121
@Override

Diff for: ‎paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftHorse.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.bukkit.craftbukkit.entity;
22

33
import com.google.common.base.Preconditions;
4+
import net.minecraft.world.entity.EquipmentSlot;
45
import net.minecraft.world.entity.animal.horse.Markings;
56
import org.bukkit.craftbukkit.CraftServer;
67
import org.bukkit.craftbukkit.inventory.CraftInventoryHorse;
@@ -57,7 +58,7 @@ public void setCarryingChest(boolean chest) {
5758

5859
@Override
5960
public HorseInventory getInventory() {
60-
return new CraftInventoryHorse(this.getHandle().inventory, this.getHandle().getBodyArmorAccess());
61+
return new CraftInventoryHorse(this.getHandle().inventory, this.getHandle().createEquipmentSlotContainer(EquipmentSlot.BODY));
6162
}
6263

6364
@Override

Diff for: ‎paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftLlama.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.bukkit.craftbukkit.entity;
22

33
import com.google.common.base.Preconditions;
4+
import net.minecraft.world.entity.EquipmentSlot;
45
import org.bukkit.craftbukkit.CraftServer;
56
import org.bukkit.craftbukkit.inventory.CraftInventoryLlama;
67
import org.bukkit.entity.Horse;
@@ -33,7 +34,7 @@ public void setColor(Color color) {
3334

3435
@Override
3536
public LlamaInventory getInventory() {
36-
return new CraftInventoryLlama(this.getHandle().inventory, this.getHandle().getBodyArmorAccess());
37+
return new CraftInventoryLlama(this.getHandle().inventory, this.getHandle().createEquipmentSlotContainer(EquipmentSlot.BODY));
3738
}
3839

3940
@Override

0 commit comments

Comments
 (0)
Please sign in to comment.