From 8d4b272cef4db5b3805151228e3525f89e870187 Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Mon, 9 Sep 2024 22:18:28 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=8D=B7=E5=BE=84=E5=8C=85?= =?UTF-8?q?=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../event/PlayerEventHandler.java | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java b/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java index 6746763a0..9d4d65101 100644 --- a/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java +++ b/src/main/java/net/mcreator/superbwarfare/event/PlayerEventHandler.java @@ -23,6 +23,7 @@ import net.minecraft.world.item.Items; import net.minecraft.world.level.ClipContext; import net.minecraft.world.level.Level; import net.minecraft.world.phys.Vec3; +import net.minecraftforge.event.AnvilUpdateEvent; import net.minecraftforge.event.TickEvent; import net.minecraftforge.event.entity.player.PlayerEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; @@ -92,7 +93,6 @@ public class PlayerEventHandler { handleChangeFireRate(player); handleBocekPulling(player); handleGunRecoil(player); - handleWeaponSeek(player); } handleGround(player); @@ -104,15 +104,6 @@ public class PlayerEventHandler { } } - // 测试用 - private static void handleWeaponSeek(Player player) { -// if (player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming) { -// Entity seekingEntity = SeekTool.seekEntity(player, player.level(), 256, 30); -// if (seekingEntity instanceof LivingEntity _entity && !_entity.level().isClientSide()) -// _entity.addEffect(new MobEffectInstance(MobEffects.GLOWING, 2, 0)); -// } - } - private static void handleWeaponSway(Player player) { if (player.getMainHandItem().is(ModTags.Items.GUN)) { float pose; @@ -572,4 +563,20 @@ public class PlayerEventHandler { ModUtils.PACKET_HANDLER.send(PacketDistributor.PLAYER.with(() -> serverPlayer), new SimulationDistanceMessage(maxDistance)); } } + + @SubscribeEvent + public static void onAnvilUpdate(AnvilUpdateEvent event) { + ItemStack left = event.getLeft(); + ItemStack right = event.getRight(); + + if (left.is(ModTags.Items.GUN) && right.getItem() == ModItems.SHORTCUT_PACK.get()) { + ItemStack output = left.copy(); + + output.getOrCreateTag().putDouble("UpgradePoint", output.getOrCreateTag().getDouble("UpgradePoint") + 1); + + event.setOutput(output); + event.setCost(10); + event.setMaterialCost(1); + } + } }