diff --git a/src/main/java/net/mcreator/target/init/TargetModItems.java b/src/main/java/net/mcreator/target/init/TargetModItems.java index 1070acb85..a29cb6a07 100644 --- a/src/main/java/net/mcreator/target/init/TargetModItems.java +++ b/src/main/java/net/mcreator/target/init/TargetModItems.java @@ -76,7 +76,7 @@ public class TargetModItems { public static final DeferredRegister ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, TargetMod.MODID); public static final RegistryObject SENPAI_SPAWN_EGG = ITEMS.register("senpai_spawn_egg", () -> new ForgeSpawnEggItem(TargetModEntities.SENPAI, -11584987, -14014413, new Item.Properties())); - public static final RegistryObject TARGET_DEPLOYER = ITEMS.register("target_deployer", Targetdeployer::new); + public static final RegistryObject TARGET_DEPLOYER = ITEMS.register("target_deployer", TargetDeployer::new); public static final RegistryObject SANDBAG = block(TargetModBlocks.SANDBAG); public static final RegistryObject BARBED_WIRE = block(TargetModBlocks.BARBED_WIRE); public static final RegistryObject CLAYMORE_MINE = ITEMS.register("claymore_mine", ClaymoreMineItem::new); diff --git a/src/main/java/net/mcreator/target/item/TargetDeployer.java b/src/main/java/net/mcreator/target/item/TargetDeployer.java new file mode 100644 index 000000000..88bdb6802 --- /dev/null +++ b/src/main/java/net/mcreator/target/item/TargetDeployer.java @@ -0,0 +1,51 @@ +package net.mcreator.target.item; + +import net.mcreator.target.init.TargetModEntities; +import net.mcreator.target.init.TargetModItems; +import net.minecraft.core.BlockPos; +import net.minecraft.network.chat.Component; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.InteractionResult; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.MobSpawnType; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Rarity; +import net.minecraft.world.item.TooltipFlag; +import net.minecraft.world.item.context.UseOnContext; +import net.minecraft.world.level.Level; + +import java.util.List; + +public class TargetDeployer extends Item { + public TargetDeployer() { + super(new Item.Properties().stacksTo(1).rarity(Rarity.COMMON)); + } + + @Override + public void appendHoverText(ItemStack itemstack, Level world, List list, TooltipFlag flag) { + super.appendHoverText(itemstack, world, list, flag); + } + + @Override + public InteractionResult useOn(UseOnContext context) { + super.useOn(context); + + var clickedPos = context.getClickedPos(); + var player = context.getPlayer(); + if (player == null) return InteractionResult.FAIL; + + if (context.getLevel() instanceof ServerLevel level) { + Entity entityToSpawn = TargetModEntities.TARGET_1.get().spawn(level, BlockPos.containing(clickedPos.getX() + 0.5, clickedPos.getY() + 1, clickedPos.getZ() + 0.5), MobSpawnType.MOB_SUMMONED); + if (entityToSpawn != null) { + entityToSpawn.setDeltaMovement(0, 0, 0); + } + } + + player.getInventory().clearOrCountMatchingItems(p -> TargetModItems.TARGET_DEPLOYER.get() == p.getItem(), 1, player.inventoryMenu.getCraftSlots()); + player.swing(InteractionHand.MAIN_HAND, true); + + return InteractionResult.SUCCESS; + } +} diff --git a/src/main/java/net/mcreator/target/item/Targetdeployer.java b/src/main/java/net/mcreator/target/item/Targetdeployer.java deleted file mode 100644 index 31497e45d..000000000 --- a/src/main/java/net/mcreator/target/item/Targetdeployer.java +++ /dev/null @@ -1,31 +0,0 @@ -package net.mcreator.target.item; - -import net.mcreator.target.procedures.TargetdeployerDangYouJianDianJiFangKuaiShiProcedure; -import net.minecraft.network.chat.Component; -import net.minecraft.world.InteractionResult; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Rarity; -import net.minecraft.world.item.TooltipFlag; -import net.minecraft.world.item.context.UseOnContext; -import net.minecraft.world.level.Level; - -import java.util.List; - -public class Targetdeployer extends Item { - public Targetdeployer() { - super(new Item.Properties().stacksTo(1).rarity(Rarity.COMMON)); - } - - @Override - public void appendHoverText(ItemStack itemstack, Level world, List list, TooltipFlag flag) { - super.appendHoverText(itemstack, world, list, flag); - } - - @Override - public InteractionResult useOn(UseOnContext context) { - super.useOn(context); - TargetdeployerDangYouJianDianJiFangKuaiShiProcedure.execute(context.getLevel(), context.getClickedPos().getX(), context.getClickedPos().getY(), context.getClickedPos().getZ(), context.getPlayer()); - return InteractionResult.SUCCESS; - } -} diff --git a/src/main/java/net/mcreator/target/procedures/TargetdeployerDangYouJianDianJiFangKuaiShiProcedure.java b/src/main/java/net/mcreator/target/procedures/TargetdeployerDangYouJianDianJiFangKuaiShiProcedure.java deleted file mode 100644 index 0a8944f1f..000000000 --- a/src/main/java/net/mcreator/target/procedures/TargetdeployerDangYouJianDianJiFangKuaiShiProcedure.java +++ /dev/null @@ -1,32 +0,0 @@ -package net.mcreator.target.procedures; - -import net.mcreator.target.init.TargetModEntities; -import net.mcreator.target.init.TargetModItems; -import net.minecraft.core.BlockPos; -import net.minecraft.server.level.ServerLevel; -import net.minecraft.world.InteractionHand; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.MobSpawnType; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.LevelAccessor; - -public class TargetdeployerDangYouJianDianJiFangKuaiShiProcedure { - public static void execute(LevelAccessor world, double x, double y, double z, Entity entity) { - if (entity == null) - return; - if (world instanceof ServerLevel _level) { - Entity entityToSpawn = TargetModEntities.TARGET_1.get().spawn(_level, BlockPos.containing(x + 0.5, y + 1, z + 0.5), MobSpawnType.MOB_SUMMONED); - if (entityToSpawn != null) { - entityToSpawn.setDeltaMovement(0, 0, 0); - } - } - if (entity instanceof Player _player) { - ItemStack _stktoremove = new ItemStack(TargetModItems.TARGET_DEPLOYER.get()); - _player.getInventory().clearOrCountMatchingItems(p -> _stktoremove.getItem() == p.getItem(), 1, _player.inventoryMenu.getCraftSlots()); - } - if (entity instanceof LivingEntity _entity) - _entity.swing(InteractionHand.MAIN_HAND, true); - } -}