Skip to content

Commit d103a9f

Browse files
committed
Don't throw if someone removed silk touch as an enchantment
1 parent 3e5b844 commit d103a9f

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/main/java/mekanism/common/tile/machine/TileEntityDigitalMiner.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@
7878
import mekanism.common.util.WorldUtils;
7979
import net.minecraft.core.BlockPos;
8080
import net.minecraft.core.Direction;
81+
import net.minecraft.core.Holder.Reference;
8182
import net.minecraft.core.HolderLookup;
8283
import net.minecraft.core.SectionPos;
8384
import net.minecraft.core.Vec3i;
@@ -92,6 +93,7 @@
9293
import net.minecraft.world.item.Item;
9394
import net.minecraft.world.item.ItemStack;
9495
import net.minecraft.world.item.Items;
96+
import net.minecraft.world.item.enchantment.Enchantment;
9597
import net.minecraft.world.item.enchantment.Enchantments;
9698
import net.minecraft.world.level.ChunkPos;
9799
import net.minecraft.world.level.Level;
@@ -1273,7 +1275,11 @@ private List<ItemStack> getDrops(ServerLevel level, BlockState state, BlockPos p
12731275
}
12741276
ItemStack stack = ItemAtomicDisassembler.fullyChargedStack();
12751277
if (getSilkTouch()) {
1276-
stack.enchant(level.holderOrThrow(Enchantments.SILK_TOUCH), 1);
1278+
Optional<Reference<Enchantment>> silkTouch = level.holder(Enchantments.SILK_TOUCH);
1279+
//noinspection OptionalIsPresent - Capturing lambda
1280+
if (silkTouch.isPresent()) {
1281+
stack.enchant(silkTouch.get(), 1);
1282+
}
12771283
}
12781284
MekFakePlayer dummy = MekFakePlayer.setupFakePlayer(level, this.worldPosition.getX(), this.worldPosition.getY(), this.worldPosition.getZ());
12791285
dummy.setEmulatingUUID(getOwnerUUID());//pretend to be the owner

0 commit comments

Comments
 (0)