diff --git a/src/main/java/com/jenny/magic/items/AmuletRepair.java b/src/main/java/com/jenny/magic/items/AmuletRepair.java new file mode 100644 index 0000000..0128d62 --- /dev/null +++ b/src/main/java/com/jenny/magic/items/AmuletRepair.java @@ -0,0 +1,25 @@ +package com.jenny.magic.items; + +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.Level; +import org.jetbrains.annotations.NotNull; + +public class AmuletRepair extends BaseItem { + public AmuletRepair(@NotNull Properties pProperties) { + super(pProperties.stacksTo(1)); + } + + @Override + public void inventoryTick(@NotNull ItemStack pStack, @NotNull Level pLevel, @NotNull Entity pEntity, int pSlotId, boolean pIsSelected) { + if (!pLevel.isClientSide && pLevel.getRandom().nextInt(10) == 0 && pEntity instanceof Player pPlayer) { + int rand = pLevel.getRandom().nextInt(0, 9); + ItemStack itemStack = pPlayer.getInventory().items.get(rand); + System.out.println(itemStack.getItem().toString()); + if (itemStack.isDamaged()) { + itemStack.setDamageValue(itemStack.getDamageValue() - 1); + } + } + } +} diff --git a/src/main/java/com/jenny/magic/items/BaseWand.java b/src/main/java/com/jenny/magic/items/BaseWand.java index 5086fae..1ebbf1a 100644 --- a/src/main/java/com/jenny/magic/items/BaseWand.java +++ b/src/main/java/com/jenny/magic/items/BaseWand.java @@ -22,7 +22,9 @@ public abstract class BaseWand extends QualityItem { BaseWandProjectile projectile = newProjectile(pLevel); projectile.shootFromRotation(pPlayer, pPlayer.getXRot(), pPlayer.getYRot(), 0.0F, 2.0F); pLevel.addFreshEntity(projectile); - setDamage(itemstack, getDamage(itemstack) + damageItem(itemstack, 1, pPlayer, (player) -> onItemDestroyed(player))); + itemstack.hurtAndBreak(1, pPlayer, (player) -> { + player.broadcastBreakEvent(pPlayer.getUsedItemHand()); + }); return InteractionResultHolder.success(itemstack); } @@ -34,7 +36,6 @@ public abstract class BaseWand extends QualityItem { while (pRepairCandidate.getCount() >= 1 && pStack.isDamaged()) { pRepairCandidate.shrink(1); pStack.setDamageValue(pStack.getDamageValue() - 20); - System.out.println("test"); } return true; } else { diff --git a/src/main/java/com/jenny/magic/items/items.java b/src/main/java/com/jenny/magic/items/items.java index 198a98a..94fb701 100644 --- a/src/main/java/com/jenny/magic/items/items.java +++ b/src/main/java/com/jenny/magic/items/items.java @@ -13,7 +13,7 @@ import static com.jenny.magic.Magic.MODID; public class items { public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MODID); public static final RegistryObject WAND_HURTFUL = ITEMS.register("wand_hurtful", () -> new WandHurtful(new Item.Properties())); - public static final RegistryObject WAND_VAUUM = ITEMS.register("wand_vacuum", () -> new WandVacuum(new Item.Properties())); + public static final RegistryObject WAND_VAUUM = ITEMS.register("wand_vacuum", () -> new WandVacuum(new Item.Properties().stacksTo(1))); public static final RegistryObject SCROLL_TELEPORT = ITEMS.register("scroll_teleport", () -> new TeleportScrollPersistent(new Item.Properties().stacksTo(1))); public static final RegistryObject SCROLL_TELEPORT_BRITTLE = ITEMS.register("scroll_teleport_brittle", () -> new TeleportScrollConsumable(new Item.Properties().stacksTo(16))); public static final RegistryObject SCROLL_TELEPORT_RANDOM = ITEMS.register("scroll_teleport_random", () -> new TeleportScrollRandom(new Item.Properties().stacksTo(1))); @@ -21,6 +21,7 @@ public class items { public static final RegistryObject SCROLL_HEALTH = ITEMS.register("scroll_health", () -> new HealthScroll(new Item.Properties().stacksTo(16))); public static final RegistryObject SCROLL_REPEL = ITEMS.register("scroll_repel", () -> new RepelScroll(new Item.Properties().stacksTo(16))); public static final RegistryObject SCROLL_BONEMEAL = ITEMS.register("scroll_bonemeal", () -> new BonemealScroll(new Item.Properties().stacksTo(16))); + public static final RegistryObject AMULET_REPAIR = ITEMS.register("amulet_repair", () -> new AmuletRepair(new Item.Properties())); public static final RegistryObject DRAGON_HEART = ITEMS.register("dragon_heart", () -> new QualityItem(new Item.Properties())); public static void register(IEventBus bus) { diff --git a/src/main/resources/assets/magic/textures/item/amulet_repair.png b/src/main/resources/assets/magic/textures/item/amulet_repair.png new file mode 100644 index 0000000..1b847d5 Binary files /dev/null and b/src/main/resources/assets/magic/textures/item/amulet_repair.png differ diff --git a/src/main/resources/assets/magic/textures/item/dragon_heart.png b/src/main/resources/assets/magic/textures/item/dragon_heart.png new file mode 100644 index 0000000..9eb3a40 Binary files /dev/null and b/src/main/resources/assets/magic/textures/item/dragon_heart.png differ diff --git a/src/main/resources/assets/magic/textures/item/scroll_bonemeal.png b/src/main/resources/assets/magic/textures/item/scroll_bonemeal.png new file mode 100644 index 0000000..257dd52 Binary files /dev/null and b/src/main/resources/assets/magic/textures/item/scroll_bonemeal.png differ diff --git a/src/main/resources/assets/magic/textures/item/scroll_health.png b/src/main/resources/assets/magic/textures/item/scroll_health.png new file mode 100644 index 0000000..5fd0203 Binary files /dev/null and b/src/main/resources/assets/magic/textures/item/scroll_health.png differ diff --git a/src/main/resources/assets/magic/textures/item/scroll_repel.png b/src/main/resources/assets/magic/textures/item/scroll_repel.png new file mode 100644 index 0000000..5fbc243 Binary files /dev/null and b/src/main/resources/assets/magic/textures/item/scroll_repel.png differ diff --git a/src/main/resources/assets/magic/textures/item/scroll_teleport_biome_plains.png b/src/main/resources/assets/magic/textures/item/scroll_teleport_biome_plains.png new file mode 100644 index 0000000..9eb3a40 Binary files /dev/null and b/src/main/resources/assets/magic/textures/item/scroll_teleport_biome_plains.png differ diff --git a/src/main/resources/assets/magic/textures/item/wand_hurtful.png b/src/main/resources/assets/magic/textures/item/wand_hurtful.png index 9eb3a40..ec3e80d 100644 Binary files a/src/main/resources/assets/magic/textures/item/wand_hurtful.png and b/src/main/resources/assets/magic/textures/item/wand_hurtful.png differ diff --git a/src/main/resources/assets/magic/textures/item/wand_vacuum.png b/src/main/resources/assets/magic/textures/item/wand_vacuum.png new file mode 100644 index 0000000..07d24a6 Binary files /dev/null and b/src/main/resources/assets/magic/textures/item/wand_vacuum.png differ