diff --git a/src/main/java/net/mcreator/target/item/MortarDeployerItem.java b/src/main/java/net/mcreator/target/item/MortarDeployerItem.java index 551dda617..db35f3c33 100644 --- a/src/main/java/net/mcreator/target/item/MortarDeployerItem.java +++ b/src/main/java/net/mcreator/target/item/MortarDeployerItem.java @@ -1,9 +1,13 @@ package net.mcreator.target.item; -import net.mcreator.target.procedures.RengchumortarProcedure; +import net.mcreator.target.init.TargetModEntities; +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.InteractionResultHolder; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.MobSpawnType; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; @@ -24,9 +28,24 @@ public class MortarDeployerItem extends Item { } @Override - public InteractionResultHolder use(Level world, Player entity, InteractionHand hand) { - InteractionResultHolder ar = super.use(world, entity, hand); - RengchumortarProcedure.execute(world, entity.getX(), entity.getY(), entity.getZ(), entity); + public InteractionResultHolder use(Level world, Player player, InteractionHand hand) { + InteractionResultHolder ar = super.use(world, player, hand); + + if (world instanceof ServerLevel level) { + Entity entityToSpawn = TargetModEntities.MORTAR.get().spawn(level, BlockPos.containing(player.getX() + 1.5 * player.getLookAngle().x, player.getY(), player.getZ() + 1.5 * player.getLookAngle().z), MobSpawnType.MOB_SUMMONED); + if (entityToSpawn != null) { + entityToSpawn.setYRot(player.getYRot()); + entityToSpawn.setYBodyRot(player.getYRot()); + entityToSpawn.setYHeadRot(player.getYRot()); + entityToSpawn.setXRot(-70); + entityToSpawn.setDeltaMovement(0, 0, 0); + } + } + if (!player.isCreative()) { + player.getItemInHand(hand).shrink(1); + player.swing(InteractionHand.MAIN_HAND, true); + } + return ar; } } diff --git a/src/main/java/net/mcreator/target/procedures/RengchumortarProcedure.java b/src/main/java/net/mcreator/target/procedures/RengchumortarProcedure.java deleted file mode 100644 index 27ad5eaa1..000000000 --- a/src/main/java/net/mcreator/target/procedures/RengchumortarProcedure.java +++ /dev/null @@ -1,33 +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.MobSpawnType; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.level.LevelAccessor; - -public class RengchumortarProcedure { - 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.MORTAR.get().spawn(_level, BlockPos.containing(x + 1.5 * entity.getLookAngle().x, y, z + 1.5 * entity.getLookAngle().z), MobSpawnType.MOB_SUMMONED); - if (entityToSpawn != null) { - entityToSpawn.setYRot(entity.getYRot()); - entityToSpawn.setYBodyRot(entity.getYRot()); - entityToSpawn.setYHeadRot(entity.getYRot()); - entityToSpawn.setXRot(-70); - entityToSpawn.setDeltaMovement(0, 0, 0); - } - } - if (entity instanceof Player player && !player.isCreative()) { - ItemStack _stktoremove = new ItemStack(TargetModItems.MORTAR_DEPLOYER.get()); - player.getInventory().clearOrCountMatchingItems(p -> _stktoremove.getItem() == p.getItem(), 1, player.inventoryMenu.getCraftSlots()); - player.swing(InteractionHand.MAIN_HAND, true); - } - } -}