Skip to content

Commit f1424fb

Browse files
committed
Compile fixes
1 parent f990b85 commit f1424fb

18 files changed

+93
-35
lines changed

build-data/paper.at

+2
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,8 @@ public net.minecraft.world.inventory.BrewingStandMenu brewingStandData
521521
public net.minecraft.world.inventory.CraftingMenu access
522522
public net.minecraft.world.inventory.DispenserMenu dispenser
523523
public net.minecraft.world.inventory.HorseInventoryMenu SLOT_BODY_ARMOR
524+
public net.minecraft.world.inventory.HorseInventoryMenu SLOT_HORSE_INVENTORY_START
525+
public net.minecraft.world.inventory.HorseInventoryMenu SLOT_SADDLE
524526
public net.minecraft.world.inventory.MerchantContainer selectionHint
525527
public net.minecraft.world.inventory.Slot slot
526528
public net.minecraft.world.item.AdventureModePredicate predicates
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
--- a/net/minecraft/gametest/framework/GameTestMainUtil.java
2+
+++ b/net/minecraft/gametest/framework/GameTestMainUtil.java
3+
@@ -77,7 +_,7 @@
4+
copyPacks(string, string1);
5+
}
6+
7+
- LevelStorageSource.LevelStorageAccess levelStorageAccess = LevelStorageSource.createDefault(Paths.get(string)).createAccess("gametestworld");
8+
+ LevelStorageSource.LevelStorageAccess levelStorageAccess = LevelStorageSource.createDefault(Paths.get(string)).createAccess("gametestworld", net.minecraft.world.level.dimension.LevelStem.OVERWORLD); // Paper
9+
PackRepository packRepository = ServerPacksSource.createPackRepository(levelStorageAccess);
10+
MinecraftServer.spin(
11+
thread -> GameTestServer.create(thread, levelStorageAccess, packRepository, optionalFromOption(optionSet, tests), optionSet.has(verify))
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
--- a/net/minecraft/gametest/framework/TestEnvironmentDefinition.java
2+
+++ b/net/minecraft/gametest/framework/TestEnvironmentDefinition.java
3+
@@ -132,11 +_,11 @@
4+
MinecraftServer server = level.getServer();
5+
6+
for (TestEnvironmentDefinition.SetGameRules.Entry<Boolean, GameRules.BooleanValue> entry : this.boolRules) {
7+
- gameRules.getRule(entry.key()).set(entry.value(), server);
8+
+ gameRules.getRule(entry.key()).set(entry.value(), level); // Paper - per-world
9+
}
10+
11+
for (TestEnvironmentDefinition.SetGameRules.Entry<Integer, GameRules.IntegerValue> entry : this.intRules) {
12+
- gameRules.getRule(entry.key()).set(entry.value(), server);
13+
+ gameRules.getRule(entry.key()).set(entry.value(), level); // Paper - per-world
14+
}
15+
}
16+
17+
@@ -146,11 +_,11 @@
18+
MinecraftServer server = level.getServer();
19+
20+
for (TestEnvironmentDefinition.SetGameRules.Entry<Boolean, GameRules.BooleanValue> entry : this.boolRules) {
21+
- gameRules.getRule(entry.key()).setFrom(GameRules.getType(entry.key()).createRule(), server);
22+
+ gameRules.getRule(entry.key()).setFrom(GameRules.getType(entry.key()).createRule(), level); // Paper - per-world
23+
}
24+
25+
for (TestEnvironmentDefinition.SetGameRules.Entry<Integer, GameRules.IntegerValue> entry : this.intRules) {
26+
- gameRules.getRule(entry.key()).setFrom(GameRules.getType(entry.key()).createRule(), server);
27+
+ gameRules.getRule(entry.key()).setFrom(GameRules.getType(entry.key()).createRule(), level); // Paper - per-world
28+
}
29+
}
30+

paper-server/patches/sources/net/minecraft/server/commands/GiveCommand.java.patch

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
boolean flag = serverPlayer.getInventory().add(itemStack1);
1414
if (flag && itemStack1.isEmpty()) {
1515
- ItemEntity itemEntity = serverPlayer.drop(itemStack, false);
16-
+ ItemEntity itemEntity = serverPlayer.drop(itemStack, false, false, false); // CraftBukkit - SPIGOT-2942: Add boolean to call event
16+
+ ItemEntity itemEntity = serverPlayer.drop(itemStack, false, false);
1717
if (itemEntity != null) {
1818
itemEntity.makeFakeItem();
1919
}

paper-server/patches/sources/net/minecraft/server/players/OldUsersConverter.java.patch

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@
7777
+ if (!root.contains("bukkit")) {
7878
+ root.put("bukkit", new CompoundTag());
7979
+ }
80-
+ CompoundTag data = root.getCompound("bukkit");
80+
+ CompoundTag data = root.getCompoundOrEmpty("bukkit");
8181
+ data.putString("lastKnownName", oldFileName);
8282
+
8383
+ try {

paper-server/patches/sources/net/minecraft/world/inventory/HorseInventoryMenu.java.patch

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
--- a/net/minecraft/world/inventory/HorseInventoryMenu.java
22
+++ b/net/minecraft/world/inventory/HorseInventoryMenu.java
3-
@@ -19,9 +_,23 @@
4-
private static final int SLOT_SADDLE = 0;
3+
@@ -18,10 +_,24 @@
4+
private final AbstractHorse horse;
5+
public static final int SLOT_SADDLE = 0;
56
public static final int SLOT_BODY_ARMOR = 1;
6-
private static final int SLOT_HORSE_INVENTORY_START = 2;
7+
- public static final int SLOT_HORSE_INVENTORY_START = 2;
8+
+ private static final int SLOT_HORSE_INVENTORY_START = 2;
79
+ // CraftBukkit start
810
+ org.bukkit.craftbukkit.inventory.CraftInventoryView bukkitEntity;
911
+ Inventory player;

paper-server/patches/sources/net/minecraft/world/item/EggItem.java.patch

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
- Projectile.spawnProjectileFromRotation(ThrownEgg::new, serverLevel, itemInHand, player, 0.0F, 1.5F, 1.0F);
1919
- }
2020
+ // Paper start
21-
+ final Projectile.Delayed<ThrownEgg> thrownEgg = Projectile.spawnProjectileFromRotationDelayed(ThrownEgg::new, level, itemInHand, player, 0.0F, EggItem.PROJECTILE_SHOOT_POWER, 1.0F);
21+
+ final Projectile.Delayed<ThrownEgg> thrownEgg = Projectile.spawnProjectileFromRotationDelayed(ThrownEgg::new, (ServerLevel) level, itemInHand, player, 0.0F, EggItem.PROJECTILE_SHOOT_POWER, 1.0F);
2222
+ com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) player.getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemInHand), (org.bukkit.entity.Projectile) thrownEgg.projectile().getBukkitEntity());
2323
+ if (event.callEvent() && thrownEgg.attemptSpawn()) {
2424
+ if (event.shouldConsume()) {

paper-server/patches/sources/net/minecraft/world/level/block/BaseFireBlock.java.patch

+2-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
if (entity.getRemainingFireTicks() >= 0) {
2323
- entity.igniteForSeconds(8.0F);
2424
+ // CraftBukkit start
25-
+ org.bukkit.event.entity.EntityCombustEvent event = new org.bukkit.event.entity.EntityCombustByBlockEvent(org.bukkit.craftbukkit.block.CraftBlock.at(level, pos), entity.getBukkitEntity(), 8.0F);
26-
+ level.getCraftServer().getPluginManager().callEvent(event);
25+
+ org.bukkit.event.entity.EntityCombustEvent event = new org.bukkit.event.entity.EntityCombustByBlockEvent(org.bukkit.craftbukkit.block.CraftBlock.at(entity.level(), pos), entity.getBukkitEntity(), 8.0F);
26+
+ entity.level().getCraftServer().getPluginManager().callEvent(event);
2727
+
2828
+ if (!event.isCancelled()) {
2929
+ entity.igniteForSeconds(event.getDuration(), false);

paper-server/patches/sources/net/minecraft/world/level/block/RespawnAnchorBlock.java.patch

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
ServerPlayer.RespawnConfig respawnConfig1 = new ServerPlayer.RespawnConfig(level.dimension(), pos, 0.0F, false);
66
if (respawnConfig == null || !respawnConfig.isSamePosition(respawnConfig1)) {
77
- serverPlayer.setRespawnPosition(respawnConfig1, true);
8-
+ if (serverPlayer.setRespawnPosition(respawnConfig1, com.destroystokyo.paper.event.player.PlayerSetSpawnEvent.Cause.RESPAWN_ANCHOR)) { // Paper - Add PlayerSetSpawnEvent
8+
+ if (serverPlayer.setRespawnPosition(respawnConfig1, true, com.destroystokyo.paper.event.player.PlayerSetSpawnEvent.Cause.RESPAWN_ANCHOR)) { // Paper - Add PlayerSetSpawnEvent
99
level.playSound(
1010
null, pos.getX() + 0.5, pos.getY() + 0.5, pos.getZ() + 0.5, SoundEvents.RESPAWN_ANCHOR_SET_SPAWN, SoundSource.BLOCKS, 1.0F, 1.0F
1111
);

paper-server/src/main/java/com/destroystokyo/paper/entity/PaperPathfinder.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ public class PaperPathResult implements com.destroystokyo.paper.entity.PaperPath
112112
@Override
113113
public Location getFinalPoint() {
114114
Node point = this.path.getEndNode();
115-
return point != null ? CraftLocation.toBukkit(point, this.entity.level()) : null;
115+
return point != null ? CraftLocation.toBukkit(point, PaperPathfinder.this.entity.level()) : null;
116116
}
117117

118118
@Override
@@ -124,7 +124,7 @@ public boolean canReachFinalPoint() {
124124
public List<Location> getPoints() {
125125
List<Location> points = new ArrayList<>();
126126
for (Node point : this.path.nodes) {
127-
points.add(CraftLocation.toBukkit(point, this.entity.level()));
127+
points.add(CraftLocation.toBukkit(point, PaperPathfinder.this.entity.level()));
128128
}
129129
return points;
130130
}
@@ -140,7 +140,7 @@ public Location getNextPoint() {
140140
if (this.path.isDone()) {
141141
return null;
142142
}
143-
return CraftLocation.toBukkit(this.path.nodes.get(this.path.getNextNodeIndex()), this.entity.level());
143+
return CraftLocation.toBukkit(this.path.nodes.get(this.path.getNextNodeIndex()), PaperPathfinder.this.entity.level());
144144
}
145145
}
146146
}

paper-server/src/main/java/io/papermc/paper/advancement/PaperAdvancementDisplay.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public boolean isHidden() {
5151

5252
@Override
5353
public @Nullable NamespacedKey backgroundPath() {
54-
return this.handle.getBackground().map(CraftNamespacedKey::fromMinecraft).orElse(null);
54+
return this.handle.getBackground().map(asset -> CraftNamespacedKey.fromMinecraft(asset.id())).orElse(null);
5555
}
5656

5757
@Override

paper-server/src/main/java/io/papermc/paper/datapack/PaperDatapackRegistrar.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020
import net.minecraft.server.packs.PackLocationInfo;
2121
import net.minecraft.server.packs.PackSelectionConfig;
2222
import net.minecraft.server.packs.PackType;
23-
import net.minecraft.server.packs.VanillaPackResourcesBuilder;
2423
import net.minecraft.server.packs.repository.FolderRepositorySource;
2524
import net.minecraft.server.packs.repository.Pack;
2625
import net.minecraft.server.packs.repository.PackDetector;
26+
import net.minecraft.util.FileSystemUtil;
2727
import net.minecraft.world.level.validation.ContentValidationException;
2828
import net.minecraft.world.level.validation.DirectoryValidator;
2929
import net.minecraft.world.level.validation.ForbiddenSymlinkInfo;
@@ -92,7 +92,7 @@ public boolean removeDiscoveredPack(final String name) {
9292

9393
@Override
9494
public @Nullable DiscoveredDatapack discoverPack(final PluginMeta pluginMeta, final URI uri, final String id, final Consumer<Configurer> configurer) throws IOException {
95-
return this.discoverPack(pluginMeta, VanillaPackResourcesBuilder.safeGetPath(uri), id, configurer);
95+
return this.discoverPack(pluginMeta, FileSystemUtil.safeGetPath(uri), id, configurer);
9696
}
9797

9898
@Override

paper-server/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -3571,7 +3571,7 @@ public void sendEntityEffect(final EntityEffect effect, final org.bukkit.entity.
35713571
leftovers.add(CraftItemStack.asBukkitCopy(nmsStack)); // Insert copy to avoid mutation to the dropped item from affecting leftovers
35723572
if (!dropIfFull) continue;
35733573

3574-
final ItemEntity entity = handle.drop(nmsStack, false, true, false);
3574+
final ItemEntity entity = handle.drop(nmsStack, false, true);
35753575
if (entity != null) drops.add((Item) entity.getBukkitEntity());
35763576
}
35773577

paper-server/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1040,7 +1040,7 @@ public static PlayerDeathEvent callPlayerDeathEvent(ServerPlayer victim, DamageS
10401040
// Paper end - Restore vanilla drops behavior
10411041
if (stack == null || stack.getType() == Material.AIR) continue;
10421042

1043-
drop.runConsumer(s -> victim.drop(CraftItemStack.unwrap(s), true, false, false)); // Paper - Restore vanilla drops behavior
1043+
drop.runConsumer(s -> victim.drop(CraftItemStack.unwrap(s), true, false)); // Paper - Restore vanilla drops behavior
10441044
}
10451045

10461046
return event;

paper-server/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -164,16 +164,16 @@ private void setBlock(int x, int y, int z, BlockState type) {
164164

165165
ChunkAccess access = this.getHandle();
166166
BlockPos pos = new BlockPos(access.getPos().getMinBlockX() + x, y, access.getPos().getMinBlockZ() + z);
167-
BlockState oldBlockState = access.setBlockState(pos, type, false);
167+
BlockState oldBlockState = access.setBlockState(pos, type);
168168

169169
if (type.hasBlockEntity()) {
170-
BlockEntity tileEntity = ((EntityBlock) type.getBlock()).newBlockEntity(pos, type);
170+
BlockEntity blockEntity = ((EntityBlock) type.getBlock()).newBlockEntity(pos, type);
171171

172172
// createTile can return null, currently only the case with material MOVING_PISTON
173-
if (tileEntity == null) {
173+
if (blockEntity == null) {
174174
access.removeBlockEntity(pos);
175175
} else {
176-
access.setBlockEntity(tileEntity);
176+
access.setBlockEntity(blockEntity);
177177
}
178178
} else if (oldBlockState != null && oldBlockState.hasBlockEntity()) {
179179
access.removeBlockEntity(pos);

paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryAbstractHorse.java

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

33
import net.minecraft.world.Container;
4+
import net.minecraft.world.inventory.HorseInventoryMenu;
45
import org.bukkit.inventory.AbstractHorseInventory;
56
import org.bukkit.inventory.ItemStack;
67

@@ -16,12 +17,12 @@ public CraftInventoryAbstractHorse(Container inventory, final Container bodyArmo
1617

1718
@Override
1819
public ItemStack getSaddle() {
19-
return this.getItem(net.minecraft.world.entity.animal.horse.AbstractHorse.INV_SLOT_SADDLE); // Paper
20+
return this.getItem(HorseInventoryMenu.SLOT_SADDLE); // Paper
2021
}
2122

2223
@Override
2324
public void setSaddle(ItemStack stack) {
24-
this.setItem(net.minecraft.world.entity.animal.horse.AbstractHorse.INV_SLOT_SADDLE, stack); // Paper
25+
this.setItem(HorseInventoryMenu.SLOT_SADDLE, stack); // Paper
2526
}
2627

2728
// Paper start - combine both horse inventories
@@ -55,10 +56,10 @@ public boolean isEmpty() {
5556
public ItemStack[] getContents() {
5657
ItemStack[] items = new ItemStack[this.getSize()];
5758

58-
items[net.minecraft.world.entity.animal.horse.AbstractHorse.INV_SLOT_SADDLE] = this.getSaddle();
59-
items[net.minecraft.world.inventory.HorseInventoryMenu.SLOT_BODY_ARMOR] = this.getArmor();
59+
items[HorseInventoryMenu.SLOT_SADDLE] = this.getSaddle();
60+
items[HorseInventoryMenu.SLOT_BODY_ARMOR] = this.getArmor();
6061

61-
for (int i = net.minecraft.world.inventory.HorseInventoryMenu.SLOT_BODY_ARMOR + 1; i < items.length; i++) {
62+
for (int i = HorseInventoryMenu.SLOT_HORSE_INVENTORY_START; i < items.length; i++) {
6263
net.minecraft.world.item.ItemStack item = this.getMainInventory().getItem(i - 1);
6364
items[i] = item.isEmpty() ? null : CraftItemStack.asCraftMirror(item);
6465
}
@@ -70,23 +71,23 @@ public ItemStack[] getContents() {
7071
public void setContents(ItemStack[] items) {
7172
com.google.common.base.Preconditions.checkArgument(items.length <= this.getSize(), "Invalid inventory size (%s); expected %s or less", items.length, this.getSize());
7273

73-
this.setSaddle(org.apache.commons.lang3.ArrayUtils.get(items, net.minecraft.world.entity.animal.horse.AbstractHorse.INV_SLOT_SADDLE));
74-
this.setArmor(org.apache.commons.lang3.ArrayUtils.get(items, net.minecraft.world.inventory.HorseInventoryMenu.SLOT_BODY_ARMOR));
74+
this.setSaddle(org.apache.commons.lang3.ArrayUtils.get(items, HorseInventoryMenu.SLOT_SADDLE));
75+
this.setArmor(org.apache.commons.lang3.ArrayUtils.get(items, HorseInventoryMenu.SLOT_BODY_ARMOR));
7576

76-
for (int i = net.minecraft.world.inventory.HorseInventoryMenu.SLOT_BODY_ARMOR + 1; i < this.getSize(); i++) {
77+
for (int i = HorseInventoryMenu.SLOT_BODY_ARMOR + 1; i < this.getSize(); i++) {
7778
net.minecraft.world.item.ItemStack item = i >= items.length ? net.minecraft.world.item.ItemStack.EMPTY : CraftItemStack.asNMSCopy(items[i]);
7879
this.getMainInventory().setItem(i - 1, item);
7980
}
8081
}
8182

8283
@Override
8384
public ItemStack getItem(final int index) {
84-
if (index == net.minecraft.world.inventory.HorseInventoryMenu.SLOT_BODY_ARMOR) {
85+
if (index == HorseInventoryMenu.SLOT_BODY_ARMOR) {
8586
final net.minecraft.world.item.ItemStack item = this.getArmorInventory().getItem(0);
8687
return item.isEmpty() ? null : CraftItemStack.asCraftMirror(item);
8788
} else {
8889
int shiftedIndex = index;
89-
if (index > net.minecraft.world.inventory.HorseInventoryMenu.SLOT_BODY_ARMOR) {
90+
if (index > HorseInventoryMenu.SLOT_BODY_ARMOR) {
9091
shiftedIndex--;
9192
}
9293

@@ -97,11 +98,11 @@ public ItemStack getItem(final int index) {
9798

9899
@Override
99100
public void setItem(final int index, final ItemStack item) {
100-
if (index == net.minecraft.world.inventory.HorseInventoryMenu.SLOT_BODY_ARMOR) {
101+
if (index == HorseInventoryMenu.SLOT_BODY_ARMOR) {
101102
this.getArmorInventory().setItem(0, CraftItemStack.asNMSCopy(item));
102103
} else {
103104
int shiftedIndex = index;
104-
if (index > net.minecraft.world.inventory.HorseInventoryMenu.SLOT_BODY_ARMOR) {
105+
if (index > HorseInventoryMenu.SLOT_BODY_ARMOR) {
105106
shiftedIndex--;
106107
}
107108
this.getMainInventory().setItem(shiftedIndex, CraftItemStack.asNMSCopy(item));

paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftSmithingTransformRecipe.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ public static CraftSmithingTransformRecipe fromBukkitRecipe(SmithingTransformRec
2929
public void addToCraftingManager() {
3030
ItemStack result = this.getResult();
3131

32-
MinecraftServer.getServer().getRecipeManager().addRecipe(new RecipeHolder<>(CraftRecipe.toMinecraft(this.getKey()), new net.minecraft.world.item.crafting.SmithingTransformRecipe(this.toNMSOptional(this.getTemplate(), false), this.toNMSOptional(this.getBase(), false), this.toNMSOptional(this.getAddition(), false), CraftItemStack.asNMSCopy(result), this.willCopyDataComponents()))); // Paper - Option to prevent data components copy
32+
final SmithingTransformRecipe recipe = new SmithingTransformRecipe(
33+
this.toNMSOptional(this.getTemplate(), false),
34+
this.toNMSOptional(this.getBase(), false),
35+
this.toNMSOptional(this.getAddition(), false),
36+
CraftItemStack.asNMSCopy(result), this.willCopyDataComponents()
37+
);
38+
MinecraftServer.getServer().getRecipeManager().addRecipe(new RecipeHolder<>(CraftRecipe.toMinecraft(this.getKey()), recipe)); // Paper - Option to prevent data components copy
3339
}
3440
}

paper-server/src/main/java/org/bukkit/craftbukkit/inventory/CraftSmithingTrimRecipe.java

+7-1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@ public static CraftSmithingTrimRecipe fromBukkitRecipe(SmithingTrimRecipe recipe
2727

2828
@Override
2929
public void addToCraftingManager() {
30-
MinecraftServer.getServer().getRecipeManager().addRecipe(new RecipeHolder<>(CraftRecipe.toMinecraft(this.getKey()), new net.minecraft.world.item.crafting.SmithingTrimRecipe(this.toNMSOptional(this.getTemplate(), false), this.toNMSOptional(this.getBase(), false), this.toNMSOptional(this.getAddition(), false), this.willCopyDataComponents()))); // Paper - Option to prevent data components copy
30+
final SmithingTrimRecipe recipe = new SmithingTrimRecipe(
31+
this.toNMSOptional(this.getTemplate(), false),
32+
this.toNMSOptional(this.getBase(), false),
33+
this.toNMSOptional(this.getAddition(), false),
34+
this.willCopyDataComponents()
35+
);
36+
MinecraftServer.getServer().getRecipeManager().addRecipe(new RecipeHolder<>(CraftRecipe.toMinecraft(this.getKey()), recipe));
3137
}
3238
}

0 commit comments

Comments
 (0)