Skip to content

Commit 58467e4

Browse files
committed
Broken loottable
1 parent c95a2aa commit 58467e4

2 files changed

Lines changed: 15 additions & 5 deletions

File tree

paper-api/src/main/java/io/papermc/paper/datacomponent/item/blocktransform/BlockTransformData.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,13 @@
44
import java.util.List;
55
import net.kyori.adventure.key.Key;
66
import org.bukkit.block.BlockFace;
7+
import org.bukkit.loot.LootTable;
78
import org.checkerframework.checker.index.qual.NonNegative;
89
import org.jetbrains.annotations.ApiStatus;
910
import org.jetbrains.annotations.Contract;
11+
import org.jetbrains.annotations.Unmodifiable;
1012
import org.jspecify.annotations.NullMarked;
13+
import org.jspecify.annotations.Nullable;
1114

1215
@NullMarked
1316
@ApiStatus.NonExtendable
@@ -23,9 +26,9 @@ public interface BlockTransformData {
2326
TransformParticle particle();
2427

2528
@Contract(pure = true)
26-
List<BlockFace> disallowedFaces();
29+
@Unmodifiable List<BlockFace> disallowedFaces();
2730

28-
//Optional<ResourceKey<LootTable>> loot();
31+
@Nullable LootTable lootTable();
2932

3033
@Contract(pure = true)
3134
DropStrategy dropStrategy();

paper-server/src/main/java/io/papermc/paper/datacomponent/item/blocktransformer/PaperBlockTransformData.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,14 @@
99
import io.papermc.paper.registry.RegistryKey;
1010
import io.papermc.paper.registry.set.PaperRegistrySets;
1111
import java.util.List;
12+
import java.util.Optional;
1213
import net.kyori.adventure.key.Key;
1314
import net.minecraft.core.component.BlockTransformer;
1415
import net.minecraft.world.level.levelgen.feature.stateproviders.BlockStateProvider;
1516
import org.bukkit.block.BlockFace;
1617
import org.bukkit.craftbukkit.block.CraftBlock;
1718
import org.bukkit.craftbukkit.util.Handleable;
19+
import org.bukkit.loot.LootTable;
1820
import org.checkerframework.checker.index.qual.NonNegative;
1921

2022
public record PaperBlockTransformData(
@@ -23,7 +25,7 @@ public record PaperBlockTransformData(
2325

2426
@Override
2527
public net.minecraft.core.component.BlockTransformer.BlockTransformData getHandle() {
26-
return this.imlp;
28+
return this.impl;
2729
}
2830

2931
@Override
@@ -46,8 +48,13 @@ public TransformParticle particle() {
4648
}
4749

4850
@Override
49-
public List<BlockFace> disallowedFaces() {
50-
return this.imlp().disallowedFaces().stream().map(CraftBlock::notchToBlockFace).toList();
51+
public @Unmodifiable List<BlockFace> disallowedFaces() {
52+
return this.impl.disallowedFaces().stream().map(CraftBlock::notchToBlockFace).toList();
53+
}
54+
55+
@Override
56+
public @Nullable LootTable lootTable() {
57+
return this.impl.loot().map(CraftLootTable::minecraftToBukkit).orElse(null);
5158
}
5259

5360
@Override

0 commit comments

Comments
 (0)