diff --git a/src/main/java/net/mcreator/target/item/common/ammo/SniperAmmoBox.java b/src/main/java/net/mcreator/target/item/common/ammo/SniperAmmoBox.java index 4adcf8af4..cd99a7c22 100644 --- a/src/main/java/net/mcreator/target/item/common/ammo/SniperAmmoBox.java +++ b/src/main/java/net/mcreator/target/item/common/ammo/SniperAmmoBox.java @@ -1,8 +1,10 @@ package net.mcreator.target.item.common.ammo; -import net.mcreator.target.procedures.SniperAmmoBoxWanJiaWanChengShiYongWuPinShiProcedure; +import net.mcreator.target.init.TargetModSounds; +import net.mcreator.target.network.TargetModVariables; import net.minecraft.ChatFormatting; import net.minecraft.network.chat.Component; +import net.minecraft.sounds.SoundSource; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResultHolder; import net.minecraft.world.entity.player.Player; @@ -32,9 +34,22 @@ public class SniperAmmoBox extends Item { } @Override - public InteractionResultHolder use(Level world, Player entity, InteractionHand hand) { - InteractionResultHolder ar = super.use(world, entity, hand); - SniperAmmoBoxWanJiaWanChengShiYongWuPinShiProcedure.execute(entity, ar.getObject()); - return ar; + public InteractionResultHolder use(Level level, Player player, InteractionHand hand) { + ItemStack stack = player.getItemInHand(hand); + player.getCooldowns().addCooldown(this, 20); + stack.shrink(1); + + player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { + capability.sniperammo = (player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).sniperammo + 12; + capability.syncPlayerVariables(player); + }); + + if (!level.isClientSide()) { + level.playSound(player, player.getOnPos(), TargetModSounds.BULLETSUPPLY.get(), SoundSource.VOICE, 1f, 1f); + + player.displayClientMessage(Component.translatable("des.target.sniper_ammo_box.use"), false); + } + + return InteractionResultHolder.consume(stack); } } diff --git a/src/main/java/net/mcreator/target/procedures/SniperAmmoBoxWanJiaWanChengShiYongWuPinShiProcedure.java b/src/main/java/net/mcreator/target/procedures/SniperAmmoBoxWanJiaWanChengShiYongWuPinShiProcedure.java deleted file mode 100644 index 7b5c96c60..000000000 --- a/src/main/java/net/mcreator/target/procedures/SniperAmmoBoxWanJiaWanChengShiYongWuPinShiProcedure.java +++ /dev/null @@ -1,44 +0,0 @@ -package net.mcreator.target.procedures; - -import net.mcreator.target.init.TargetModItems; -import net.mcreator.target.network.TargetModVariables; -import net.minecraft.commands.CommandSource; -import net.minecraft.commands.CommandSourceStack; -import net.minecraft.network.chat.Component; -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.player.Player; -import net.minecraft.world.item.ItemStack; - -public class SniperAmmoBoxWanJiaWanChengShiYongWuPinShiProcedure { - public static void execute(Entity entity, ItemStack itemstack) { - if (entity == null) - return; - if (entity instanceof Player _player) - _player.getCooldowns().addCooldown(itemstack.getItem(), 20); - if (entity instanceof LivingEntity _entity) - _entity.swing(InteractionHand.MAIN_HAND, true); - if (entity instanceof Player _player) { - ItemStack _stktoremove = new ItemStack(TargetModItems.SNIPER_AMMO_BOX.get()); - _player.getInventory().clearOrCountMatchingItems(p -> _stktoremove.getItem() == p.getItem(), 1, _player.inventoryMenu.getCraftSlots()); - } - { - double _setval = (entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).sniperammo + 12; - entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { - capability.sniperammo = _setval; - capability.syncPlayerVariables(entity); - }); - } - if (entity instanceof Player _player && !_player.level().isClientSide()) - _player.displayClientMessage(Component.literal("Sniper Ammo +12"), false); - { - Entity _ent = entity; - if (!_ent.level().isClientSide() && _ent.getServer() != null) { - _ent.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, _ent.position(), _ent.getRotationVector(), _ent.level() instanceof ServerLevel ? (ServerLevel) _ent.level() : null, 4, - _ent.getName().getString(), _ent.getDisplayName(), _ent.level().getServer(), _ent), "playsound target:bulletsupply voice @a ~ ~ ~ 1 1"); - } - } - } -} diff --git a/src/main/resources/assets/target/lang/en_us.json b/src/main/resources/assets/target/lang/en_us.json index 20807bbb9..6f6b396ca 100644 --- a/src/main/resources/assets/target/lang/en_us.json +++ b/src/main/resources/assets/target/lang/en_us.json @@ -89,6 +89,7 @@ "item.target.sniper_ammo": "Sniper Ammo *2", "item.target.sniper_ammo_box": "Sniper Ammo Box", "des.target.sniper_ammo_box": "Sniper Ammo *12", + "des.target.sniper_ammo_box.use": "Sniper Ammo +12", "item.target.rifle_ammo": "Rifle Ammo *5", "item.target.rifle_ammo_box": "Rifle Ammo Box", "des.target.rifle_ammo_box": "Rifle Ammo *30", diff --git a/src/main/resources/assets/target/lang/zh_cn.json b/src/main/resources/assets/target/lang/zh_cn.json index 669e88349..98ae2ef97 100644 --- a/src/main/resources/assets/target/lang/zh_cn.json +++ b/src/main/resources/assets/target/lang/zh_cn.json @@ -89,6 +89,7 @@ "item.target.sniper_ammo": "狙击枪弹药 *2", "item.target.sniper_ammo_box": "狙击枪弹药盒", "des.target.sniper_ammo_box": "狙击枪弹药 *12", + "des.target.sniper_ammo_box.use": "狙击枪弹药 +12", "item.target.rifle_ammo": "步枪弹药 *5", "item.target.rifle_ammo_box": "步枪弹药盒", "des.target.rifle_ammo_box": "步枪弹药 *30",