From 123736546a284685f77831d633213e2713c19fe6 Mon Sep 17 00:00:00 2001 From: Light_Quanta Date: Sat, 11 May 2024 03:25:45 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E5=8A=A8Vector=E8=83=8C=E5=8C=85?= =?UTF-8?q?=E5=86=85tick=E5=A4=84=E7=90=86=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mcreator/target/item/gun/VectorItem.java | 55 +++++++++++++- ...aiBeiBaoZhongShiMeiKeFaShengProcedure.java | 76 ------------------- 2 files changed, 51 insertions(+), 80 deletions(-) delete mode 100644 src/main/java/net/mcreator/target/procedures/VectorWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.java diff --git a/src/main/java/net/mcreator/target/item/gun/VectorItem.java b/src/main/java/net/mcreator/target/item/gun/VectorItem.java index 24dba6d36..fc0cbc6b3 100644 --- a/src/main/java/net/mcreator/target/item/gun/VectorItem.java +++ b/src/main/java/net/mcreator/target/item/gun/VectorItem.java @@ -8,7 +8,9 @@ import net.mcreator.target.init.TargetModItems; import net.mcreator.target.init.TargetModSounds; import net.mcreator.target.init.TargetModTags; import net.mcreator.target.item.AnimatedItem; -import net.mcreator.target.procedures.VectorWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure; +import net.mcreator.target.procedures.HandgunReload1Procedure; +import net.mcreator.target.procedures.HandgunReload2Procedure; +import net.mcreator.target.procedures.WeaponDrawLightProcedure; import net.mcreator.target.tools.GunsTool; import net.mcreator.target.tools.TooltipTool; import net.minecraft.client.Minecraft; @@ -152,9 +154,54 @@ public class VectorItem extends GunItem implements GeoItem, AnimatedItem { } @Override - public void inventoryTick(ItemStack itemstack, Level world, Entity entity, int slot, boolean selected) { - super.inventoryTick(itemstack, world, entity, slot, selected); - VectorWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.execute(entity, itemstack); + public void inventoryTick(ItemStack itemStack, Level world, Entity entity, int slot, boolean selected) { + super.inventoryTick(itemStack, world, entity, slot, selected); + + CompoundTag tag = itemStack.getOrCreateTag(); + double id = tag.getDouble("id"); + var mainHandItem = entity instanceof LivingEntity living ? living.getMainHandItem() : ItemStack.EMPTY; + if (mainHandItem.getOrCreateTag().getDouble("id") != tag.getDouble("id")) { + tag.putDouble("emptyreload", 0); + tag.putDouble("reloading", 0); + tag.putDouble("reloadtime", 0); + } + if (tag.getDouble("reloading") == 1 && tag.getDouble("ammo") == 0) { + if (tag.getDouble("reloadtime") == 61) { + entity.getPersistentData().putDouble("id", id); + entity.level().playSound(null, entity.blockPosition(), TargetModSounds.VECTOR_RELOAD_EMPTY.get(), SoundSource.PLAYERS, 100, 1); + } + if (mainHandItem.getItem() == itemStack.getItem() + && mainHandItem.getOrCreateTag().getDouble("id") == id + && tag.getDouble("reloadtime") > 0) { + tag.putDouble("reloadtime", tag.getDouble("reloadtime") - 1); + } else { + tag.putDouble("reloading", 0); + tag.putDouble("emptyreload", 0); + tag.putDouble("reloadtime", 0); + } + if (tag.getDouble("reloadtime") == 1 && mainHandItem.getOrCreateTag().getDouble("id") == id) { + HandgunReload1Procedure.execute(entity); + } + } else if (tag.getDouble("reloading") == 1 && tag.getDouble("ammo") > 0) { + if (tag.getDouble("reloadtime") == 47) { + entity.getPersistentData().putDouble("id", id); + entity.level().playSound(null, entity.blockPosition(), TargetModSounds.VECTOR_RELOAD_NORMAL.get(), SoundSource.PLAYERS, 100, 1); + } + if (mainHandItem.getItem() == itemStack.getItem() + && mainHandItem.getOrCreateTag().getDouble("id") == id + && tag.getDouble("reloadtime") > 0) { + tag.putDouble("reloadtime", (tag.getDouble("reloadtime") - 1)); + } else { + tag.putDouble("reloading", 0); + tag.putDouble("emptyreload", 0); + tag.putDouble("reloadtime", 0); + } + if (tag.getDouble("reloadtime") == 1 && mainHandItem.getOrCreateTag().getDouble("id") == id) { + HandgunReload2Procedure.execute(entity); + } + } + + WeaponDrawLightProcedure.execute(entity, itemStack); } @Override diff --git a/src/main/java/net/mcreator/target/procedures/VectorWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.java b/src/main/java/net/mcreator/target/procedures/VectorWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.java deleted file mode 100644 index 316800e7c..000000000 --- a/src/main/java/net/mcreator/target/procedures/VectorWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure.java +++ /dev/null @@ -1,76 +0,0 @@ -package net.mcreator.target.procedures; - -import net.minecraft.commands.CommandSource; -import net.minecraft.commands.CommandSourceStack; -import net.minecraft.server.level.ServerLevel; -import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.item.ItemStack; - -public class VectorWuPinZaiBeiBaoZhongShiMeiKeFaShengProcedure { - public static void execute(Entity entity, ItemStack itemstack) { - if (entity == null) - return; - double ammo1 = 0; - double id = 0; - double ammo2 = 0; - id = itemstack.getOrCreateTag().getDouble("id"); - ammo1 = 33 - itemstack.getOrCreateTag().getDouble("ammo"); - ammo2 = 34 - itemstack.getOrCreateTag().getDouble("ammo"); - if ((entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getOrCreateTag().getDouble("id") != itemstack.getOrCreateTag().getDouble("id")) { - itemstack.getOrCreateTag().putDouble("emptyreload", 0); - itemstack.getOrCreateTag().putDouble("reloading", 0); - itemstack.getOrCreateTag().putDouble("reloadtime", 0); - } - if (itemstack.getOrCreateTag().getDouble("reloading") == 1 && itemstack.getOrCreateTag().getDouble("ammo") == 0) { - if (itemstack.getOrCreateTag().getDouble("reloadtime") == 61) { - entity.getPersistentData().putDouble("id", id); - { - 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:vector_reload_empty player @s ~ ~ ~ 100 1"); - } - } - } - if ((entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getItem() == itemstack.getItem() - && (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getOrCreateTag().getDouble("id") == id) { - if (itemstack.getOrCreateTag().getDouble("reloadtime") > 0) { - itemstack.getOrCreateTag().putDouble("reloadtime", (itemstack.getOrCreateTag().getDouble("reloadtime") - 1)); - } - } else { - itemstack.getOrCreateTag().putDouble("reloading", 0); - itemstack.getOrCreateTag().putDouble("emptyreload", 0); - itemstack.getOrCreateTag().putDouble("reloadtime", 0); - } - if (itemstack.getOrCreateTag().getDouble("reloadtime") == 1 && (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getOrCreateTag().getDouble("id") == id) { - HandgunReload1Procedure.execute(entity); - } - } else if (itemstack.getOrCreateTag().getDouble("reloading") == 1 && itemstack.getOrCreateTag().getDouble("ammo") > 0) { - if (itemstack.getOrCreateTag().getDouble("reloadtime") == 47) { - entity.getPersistentData().putDouble("id", id); - { - 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:vector_reload_normal player @s ~ ~ ~ 100 1"); - } - } - } - if ((entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getItem() == itemstack.getItem() - && (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getOrCreateTag().getDouble("id") == id) { - if (itemstack.getOrCreateTag().getDouble("reloadtime") > 0) { - itemstack.getOrCreateTag().putDouble("reloadtime", (itemstack.getOrCreateTag().getDouble("reloadtime") - 1)); - } - } else { - itemstack.getOrCreateTag().putDouble("reloading", 0); - itemstack.getOrCreateTag().putDouble("emptyreload", 0); - itemstack.getOrCreateTag().putDouble("reloadtime", 0); - } - if (itemstack.getOrCreateTag().getDouble("reloadtime") == 1 && (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getOrCreateTag().getDouble("id") == id) { - HandgunReload2Procedure.execute(entity); - } - } - WeaponDrawLightProcedure.execute(entity, itemstack); - } -}