From b094f4db87cd05eb8c5f532be9c047e2dc38c311 Mon Sep 17 00:00:00 2001 From: Light_Quanta Date: Sat, 11 May 2024 03:41:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96Vector=E5=BC=80=E7=81=AB?= =?UTF-8?q?=E6=B5=81=E7=A8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../target/procedures/PressFireProcedure.java | 2 +- .../target/procedures/VecfireProcedure.java | 37 ------------------- .../procedures/VectorFireProcedure.java | 20 ++++++++++ 3 files changed, 21 insertions(+), 38 deletions(-) delete mode 100644 src/main/java/net/mcreator/target/procedures/VecfireProcedure.java create mode 100644 src/main/java/net/mcreator/target/procedures/VectorFireProcedure.java diff --git a/src/main/java/net/mcreator/target/procedures/PressFireProcedure.java b/src/main/java/net/mcreator/target/procedures/PressFireProcedure.java index 61e8c0958..59d9bcefa 100644 --- a/src/main/java/net/mcreator/target/procedures/PressFireProcedure.java +++ b/src/main/java/net/mcreator/target/procedures/PressFireProcedure.java @@ -20,7 +20,7 @@ public class PressFireProcedure { SentinelFireProcedure.execute(player); MarlinfireProcedure.execute(player); M870fireProcedure.execute(player); - VecfireProcedure.execute(player); + VectorFireProcedure.execute(player); player.getPersistentData().putDouble("firing", 1); if (player.getMainHandItem().is(ItemTags.create(new ResourceLocation("target:gun"))) && !(player.getMainHandItem().getItem() == TargetModItems.BOCEK.get()) diff --git a/src/main/java/net/mcreator/target/procedures/VecfireProcedure.java b/src/main/java/net/mcreator/target/procedures/VecfireProcedure.java deleted file mode 100644 index 3ae3683d4..000000000 --- a/src/main/java/net/mcreator/target/procedures/VecfireProcedure.java +++ /dev/null @@ -1,37 +0,0 @@ -package net.mcreator.target.procedures; - -import net.minecraft.world.level.GameType; -import net.minecraft.world.item.ItemStack; -import net.minecraft.world.entity.player.Player; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.Entity; -import net.minecraft.server.level.ServerPlayer; -import net.minecraft.client.Minecraft; - -import net.mcreator.target.init.TargetModItems; - -public class VecfireProcedure { - public static void execute(Entity entity) { - if (entity == null) - return; - ItemStack usehand = ItemStack.EMPTY; - if (!(new Object() { - public boolean checkGamemode(Entity _ent) { - if (_ent instanceof ServerPlayer _serverPlayer) { - return _serverPlayer.gameMode.getGameModeForPlayer() == GameType.SPECTATOR; - } else if (_ent.level().isClientSide() && _ent instanceof Player _player) { - return Minecraft.getInstance().getConnection().getPlayerInfo(_player.getGameProfile().getId()) != null && Minecraft.getInstance().getConnection().getPlayerInfo(_player.getGameProfile().getId()).getGameMode() == GameType.SPECTATOR; - } - return false; - } - }.checkGamemode(entity))) { - usehand = (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY); - if (usehand.getItem() == TargetModItems.VECTOR.get()) { - if (usehand.getOrCreateTag().getDouble("firemode") == 1 && usehand.getOrCreateTag().getDouble("burst") == 0) { - usehand.getOrCreateTag().putDouble("burst", 3); - } - } - } - } -} - diff --git a/src/main/java/net/mcreator/target/procedures/VectorFireProcedure.java b/src/main/java/net/mcreator/target/procedures/VectorFireProcedure.java new file mode 100644 index 000000000..c5ff164dd --- /dev/null +++ b/src/main/java/net/mcreator/target/procedures/VectorFireProcedure.java @@ -0,0 +1,20 @@ +package net.mcreator.target.procedures; + +import net.mcreator.target.init.TargetModItems; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.ItemStack; + +public class VectorFireProcedure { + public static void execute(Player entity) { + if (entity.isSpectator()) return; + + ItemStack mainHandItem = entity.getMainHandItem(); + if (mainHandItem.getItem() != TargetModItems.VECTOR.get()) return; + + CompoundTag tag = mainHandItem.getOrCreateTag(); + if (tag.getDouble("firemode") == 1 && tag.getDouble("burst") == 0) { + tag.putDouble("burst", 3); + } + } +} \ No newline at end of file