Skip to content

Commit 73f85bf

Browse files
Switch item use to inventory tick
1 parent 7ecc11b commit 73f85bf

File tree

1 file changed

+7
-14
lines changed

1 file changed

+7
-14
lines changed

src/main/java/net/modfest/scatteredshards/item/ShardItem.java

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package net.modfest.scatteredshards.item;
22

3+
import net.minecraft.entity.Entity;
34
import net.minecraft.entity.player.PlayerEntity;
45
import net.minecraft.item.Item;
56
import net.minecraft.item.ItemStack;
@@ -40,25 +41,17 @@ public static ItemStack createShardItem(Identifier shardId) {
4041
}
4142

4243
@Override
43-
public TypedActionResult<ItemStack> use(World world, PlayerEntity player, Hand hand) {
44-
var itemStack = player.getStackInHand(hand);
45-
var id = itemStack.get(ScatteredShardsContent.SHARD_ID_COMPONENT);
44+
public void inventoryTick(ItemStack itemStack, World world, Entity entity, int slot, boolean selected) {
45+
if (world.isClient || !(entity instanceof ServerPlayerEntity player) || player.isInCreativeMode()) return;
4646

47-
if (world.isClient) {
48-
return TypedActionResult.consume(itemStack);
49-
}
50-
51-
itemStack.decrementUnlessCreative(1, player);
47+
Identifier id = itemStack.get(ScatteredShardsContent.SHARD_ID_COMPONENT);
48+
player.getInventory().setStack(slot, ItemStack.EMPTY);
5249

5350
ShardLibrary library = ScatteredShardsAPI.getServerLibrary();
5451
Optional<Shard> toCollect = library.shards().get(id);
52+
if (toCollect.isEmpty()) return;
5553

56-
if (toCollect.isEmpty() || !(player instanceof ServerPlayerEntity serverPlayer)) {
57-
return TypedActionResult.fail(itemStack);
58-
}
59-
60-
ScatteredShardsAPI.triggerShardCollection(serverPlayer, id);
61-
return TypedActionResult.consume(itemStack);
54+
ScatteredShardsAPI.triggerShardCollection(player, id);
6255
}
6356

6457
@Override

0 commit comments

Comments
 (0)