From 2dfaf8fe145e5ba9d4523ddee61f402feee4ebd0 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Sat, 11 May 2024 17:33:02 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E5=BC=B9=E8=8D=AF=E7=9B=92pr?= =?UTF-8?q?ocedure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../item/common/ammo/SniperAmmoBox.java | 25 ++++++++--- ...anJiaWanChengShiYongWuPinShiProcedure.java | 44 ------------------- .../resources/assets/target/lang/en_us.json | 1 + .../resources/assets/target/lang/zh_cn.json | 1 + 4 files changed, 22 insertions(+), 49 deletions(-) delete mode 100644 src/main/java/net/mcreator/target/procedures/SniperAmmoBoxWanJiaWanChengShiYongWuPinShiProcedure.java 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",