优化开火流程

This commit is contained in:
Light_Quanta 2024-05-10 15:47:55 +08:00
parent 43e3a66c9c
commit 571967b24a
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
13 changed files with 321 additions and 427 deletions

View file

@ -2,7 +2,7 @@ package net.mcreator.target.network;
import net.mcreator.target.TargetMod; import net.mcreator.target.TargetMod;
import net.mcreator.target.procedures.PressFireProcedure; import net.mcreator.target.procedures.PressFireProcedure;
import net.mcreator.target.procedures.RleaseFireProcedure; import net.mcreator.target.procedures.ReleaseFireProcedure;
import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
@ -40,9 +40,6 @@ public class FireMessage {
public static void pressAction(Player entity, int type, int pressedms) { public static void pressAction(Player entity, int type, int pressedms) {
Level world = entity.level(); Level world = entity.level();
double x = entity.getX();
double y = entity.getY();
double z = entity.getZ();
// security measure to prevent arbitrary chunk generation // security measure to prevent arbitrary chunk generation
if (!world.hasChunkAt(entity.blockPosition())) if (!world.hasChunkAt(entity.blockPosition()))
return; return;
@ -50,7 +47,7 @@ public class FireMessage {
PressFireProcedure.execute(entity); PressFireProcedure.execute(entity);
} }
if (type == 1) { if (type == 1) {
RleaseFireProcedure.execute(entity); ReleaseFireProcedure.execute(entity);
} }
} }

View file

@ -1,8 +1,6 @@
package net.mcreator.target.procedures; package net.mcreator.target.procedures;
import net.mcreator.target.entity.BocekarrowEntity; import net.mcreator.target.entity.BocekarrowEntity;
import net.mcreator.target.entity.ProjectileEntity;
import net.mcreator.target.init.TargetModAttributes;
import net.mcreator.target.init.TargetModEntities; import net.mcreator.target.init.TargetModEntities;
import net.mcreator.target.init.TargetModItems; import net.mcreator.target.init.TargetModItems;
import net.mcreator.target.network.TargetModVariables; import net.mcreator.target.network.TargetModVariables;
@ -10,7 +8,6 @@ import net.minecraft.commands.CommandSource;
import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.CommandSourceStack;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.projectile.AbstractArrow; import net.minecraft.world.entity.projectile.AbstractArrow;
import net.minecraft.world.entity.projectile.Projectile; import net.minecraft.world.entity.projectile.Projectile;
@ -19,23 +16,22 @@ import net.minecraft.world.item.Items;
import net.minecraft.world.level.Level; import net.minecraft.world.level.Level;
public class BowlooseProcedure { public class BowlooseProcedure {
public static void execute(Entity entity) { public static void execute(Player player) {
if (entity == null) return;
ItemStack usehand = ItemStack.EMPTY; ItemStack usehand = ItemStack.EMPTY;
double power; double power;
power = (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getOrCreateTag().getDouble("power"); power = player.getMainHandItem().getOrCreateTag().getDouble("power");
if (!entity.level().isClientSide() && entity.getServer() != null) { if (!player.level().isClientSide() && player.getServer() != null) {
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "stopsound @a player target:bocek_pull_1p"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "stopsound @a player target:bocek_pull_1p");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "stopsound @a player target:bocek_pull_3p"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "stopsound @a player target:bocek_pull_3p");
} }
if ((entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getItem() == TargetModItems.BOCEK.get() if (player.getMainHandItem().getItem() == TargetModItems.BOCEK.get()
&& (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getOrCreateTag().getDouble("power") >= 6) { && player.getMainHandItem().getOrCreateTag().getDouble("power") >= 6) {
(entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getOrCreateTag().putDouble("speed", player.getMainHandItem().getOrCreateTag().putDouble("speed",
((entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getOrCreateTag().getDouble("power"))); (player.getMainHandItem().getOrCreateTag().getDouble("power")));
if ((entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming) { if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming) {
Level projectileLevel = entity.level(); Level projectileLevel = player.level();
if (!projectileLevel.isClientSide()) { if (!projectileLevel.isClientSide()) {
Projectile _entityToSpawn = new Object() { Projectile _entityToSpawn = new Object() {
public Projectile getArrow(Level level, Entity shooter, float damage, int knockback, byte piercing) { public Projectile getArrow(Level level, Entity shooter, float damage, int knockback, byte piercing) {
@ -48,46 +44,43 @@ public class BowlooseProcedure {
entityToSpawn.pickup = AbstractArrow.Pickup.ALLOWED; entityToSpawn.pickup = AbstractArrow.Pickup.ALLOWED;
return entityToSpawn; return entityToSpawn;
} }
}.getArrow(projectileLevel, entity, (float) (0.02 * (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getOrCreateTag().getDouble("damage") * (1 + 0.05 * (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getOrCreateTag().getDouble("level"))), 0, (byte) 2); }.getArrow(projectileLevel, player, (float) (0.02 * player.getMainHandItem().getOrCreateTag().getDouble("damage") * (1 + 0.05 * player.getMainHandItem().getOrCreateTag().getDouble("level"))), 0, (byte) 2);
_entityToSpawn.setPos(entity.getX(), entity.getEyeY() - 0.1, entity.getZ()); _entityToSpawn.setPos(player.getX(), player.getEyeY() - 0.1, player.getZ());
_entityToSpawn.shoot(entity.getLookAngle().x, entity.getLookAngle().y, entity.getLookAngle().z, (float) (4 * power), (float) 0.02); _entityToSpawn.shoot(player.getLookAngle().x, player.getLookAngle().y, player.getLookAngle().z, (float) (4 * power), (float) 0.02);
projectileLevel.addFreshEntity(_entityToSpawn); projectileLevel.addFreshEntity(_entityToSpawn);
} }
if (!entity.level().isClientSide() && entity.getServer() != null) { if (!player.level().isClientSide() && player.getServer() != null) {
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:bocek_zoom_fire_1p player @s ~ ~ ~ 10 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:bocek_zoom_fire_1p player @s ~ ~ ~ 10 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:bocek_zoom_fire_3p player @a ~ ~ ~ 2 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:bocek_zoom_fire_3p player @a ~ ~ ~ 2 1");
} }
} else { } else {
for (int index0 = 0; index0 < 10; index0++) { for (int index0 = 0; index0 < 10; index0++) {
BulletFireNormalProcedure.execute(entity); BulletFireNormalProcedure.execute(player);
} }
if (!entity.level().isClientSide() && entity.getServer() != null) { if (!player.level().isClientSide() && player.getServer() != null) {
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:bocek_shatter_cap_fire_1p player @s ~ ~ ~ 10 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:bocek_shatter_cap_fire_1p player @s ~ ~ ~ 10 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:bocek_shatter_cap_fire_3p player @a ~ ~ ~ 2 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:bocek_shatter_cap_fire_3p player @a ~ ~ ~ 2 1");
} }
} }
entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
capability.recoilhorizon = Math.random() < 0.5 ? -1 : 1; capability.recoilhorizon = Math.random() < 0.5 ? -1 : 1;
capability.recoil = 0.1; capability.recoil = 0.1;
capability.firing = 1; capability.firing = 1;
capability.syncPlayerVariables(entity); capability.syncPlayerVariables(player);
}); });
if (entity instanceof Player _player) { player.getCooldowns().addCooldown(player.getMainHandItem().getItem(), 7);
_player.getCooldowns().addCooldown(_player.getMainHandItem().getItem(), 7); player.getMainHandItem().getOrCreateTag().putDouble("arrowempty", 7);
} player.getMainHandItem().getOrCreateTag().putDouble("power", 0);
(entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getOrCreateTag().putDouble("arrowempty", 7);
(entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getOrCreateTag().putDouble("power", 0);
usehand.getOrCreateTag().putDouble("fireanim", 2); usehand.getOrCreateTag().putDouble("fireanim", 2);
if (entity instanceof Player player && !player.isCreative()) { if (!player.isCreative()) {
ItemStack _stktoremove = new ItemStack(Items.ARROW); player.getInventory().clearOrCountMatchingItems(p -> Items.ARROW == p.getItem(), 1, player.inventoryMenu.getCraftSlots());
player.getInventory().clearOrCountMatchingItems(p -> _stktoremove.getItem() == p.getItem(), 1, player.inventoryMenu.getCraftSlots());
} }
} }
} }

View file

@ -4,37 +4,20 @@ import net.mcreator.target.entity.ProjectileEntity;
import net.mcreator.target.init.TargetModAttributes; import net.mcreator.target.init.TargetModAttributes;
import net.mcreator.target.init.TargetModItems; import net.mcreator.target.init.TargetModItems;
import net.mcreator.target.network.TargetModVariables; import net.mcreator.target.network.TargetModVariables;
import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.player.Player;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
public class BulletFireNormalProcedure { public class BulletFireNormalProcedure {
public static void execute(Entity entity) { public static void execute(Player player) {
if (entity == null) ItemStack heldItem = player.getMainHandItem();
return; player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
ItemStack heldItem = (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY); capability.recoilhorizon = Math.random() < 0.5 ? -1 : 1;
if (Math.random() < 0.5) {
entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
capability.recoilhorizon = -1;
capability.syncPlayerVariables(entity);
});
} else {
entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
capability.recoilhorizon = 1;
capability.syncPlayerVariables(entity);
});
}
entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
capability.recoil = 0.1; capability.recoil = 0.1;
capability.syncPlayerVariables(entity);
});
entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
capability.firing = 1; capability.firing = 1;
capability.syncPlayerVariables(entity); capability.syncPlayerVariables(player);
}); });
if (!entity.level().isClientSide() && entity instanceof LivingEntity living) { if (!player.level().isClientSide()) {
float damage; float damage;
float headshot = (float) heldItem.getOrCreateTag().getDouble("headshot"); float headshot = (float) heldItem.getOrCreateTag().getDouble("headshot");
float velocity = 4 * (float) heldItem.getOrCreateTag().getDouble("speed"); float velocity = 4 * (float) heldItem.getOrCreateTag().getDouble("speed");
@ -43,22 +26,22 @@ public class BulletFireNormalProcedure {
damage = 0.008333333f * (float) heldItem.getOrCreateTag().getDouble("damage") * (float) heldItem.getOrCreateTag().getDouble("speed") * (float) heldItem.getOrCreateTag().getDouble("damageadd"); damage = 0.008333333f * (float) heldItem.getOrCreateTag().getDouble("damage") * (float) heldItem.getOrCreateTag().getDouble("speed") * (float) heldItem.getOrCreateTag().getDouble("damageadd");
ProjectileEntity projectile = new ProjectileEntity(entity.level(), living, damage, headshot); ProjectileEntity projectile = new ProjectileEntity(player.level(), player, damage, headshot);
projectile.setPos((living.getX() + (-0.5) * living.getLookAngle().x), (living.getEyeY() - 0.1 + (-0.5) * living.getLookAngle().y), (living.getZ() + (-0.5) * living.getLookAngle().z)); projectile.setPos((player.getX() + (-0.5) * player.getLookAngle().x), (player.getEyeY() - 0.1 + (-0.5) * player.getLookAngle().y), (player.getZ() + (-0.5) * player.getLookAngle().z));
projectile.shoot(living.getLookAngle().x, living.getLookAngle().y, living.getLookAngle().z,1 * velocity, 2.5f); projectile.shoot(player.getLookAngle().x, player.getLookAngle().y, player.getLookAngle().z, 1 * velocity, 2.5f);
entity.level().addFreshEntity(projectile); player.level().addFreshEntity(projectile);
} else { } else {
damage = (float) (heldItem.getOrCreateTag().getDouble("damage") + heldItem.getOrCreateTag().getDouble("adddamage")) damage = (float) (heldItem.getOrCreateTag().getDouble("damage") + heldItem.getOrCreateTag().getDouble("adddamage"))
* (float) heldItem.getOrCreateTag().getDouble("damageadd"); * (float) heldItem.getOrCreateTag().getDouble("damageadd");
ProjectileEntity projectile = new ProjectileEntity(entity.level(), living, damage, headshot); ProjectileEntity projectile = new ProjectileEntity(player.level(), player, damage, headshot);
projectile.setPos((living.getX() + (-0.5) * living.getLookAngle().x), (living.getEyeY() - 0.1 + (-0.5) * living.getLookAngle().y), (living.getZ() + (-0.5) * living.getLookAngle().z)); projectile.setPos((player.getX() + (-0.5) * player.getLookAngle().x), (player.getEyeY() - 0.1 + (-0.5) * player.getLookAngle().y), (player.getZ() + (-0.5) * player.getLookAngle().z));
projectile.shoot(living.getLookAngle().x, living.getLookAngle().y, living.getLookAngle().z,1 * (float) heldItem.getOrCreateTag().getDouble("velocity"), projectile.shoot(player.getLookAngle().x, player.getLookAngle().y, player.getLookAngle().z, 1 * (float) heldItem.getOrCreateTag().getDouble("velocity"),
(float) living.getAttribute(TargetModAttributes.SPREAD.get()).getBaseValue()); (float) player.getAttribute(TargetModAttributes.SPREAD.get()).getBaseValue());
entity.level().addFreshEntity(projectile); player.level().addFreshEntity(projectile);
} }
} }
} }

View file

@ -4,34 +4,31 @@ import net.mcreator.target.init.TargetModItems;
import net.minecraft.commands.CommandSource; import net.minecraft.commands.CommandSource;
import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.CommandSourceStack;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
public class KraberfireProcedure { public class KraberfireProcedure {
public static void execute(Entity entity) { public static void execute(Player player) {
if (entity == null) return; if (player.isSpectator()) return;
if (entity instanceof Player player && !player.isSpectator()) {
ItemStack usehand = player.getMainHandItem(); ItemStack usehand = player.getMainHandItem();
if (usehand.getItem() == TargetModItems.KRABER.get() && usehand.getOrCreateTag().getDouble("reloading") == 0 && !(entity instanceof Player _plrCldCheck4 && _plrCldCheck4.getCooldowns().isOnCooldown(usehand.getItem())) if (usehand.getItem() == TargetModItems.KRABER.get() && usehand.getOrCreateTag().getDouble("reloading") == 0 && !player.getCooldowns().isOnCooldown(usehand.getItem())
&& usehand.getOrCreateTag().getDouble("ammo") > 0) { && usehand.getOrCreateTag().getDouble("ammo") > 0) {
usehand.getOrCreateTag().putDouble("fireanim", 40); usehand.getOrCreateTag().putDouble("fireanim", 40);
BulletFireNormalProcedure.execute(entity); BulletFireNormalProcedure.execute(player);
if (entity instanceof Player _player) player.getCooldowns().addCooldown(usehand.getItem(), 40);
_player.getCooldowns().addCooldown(usehand.getItem(), 40);
if (!entity.level().isClientSide() && entity.getServer() != null) { if (!player.level().isClientSide() && player.getServer() != null) {
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:kraber_fire_1p player @s ~ ~ ~ 2 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:kraber_fire_1p player @s ~ ~ ~ 2 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:kraber_fire_3p player @a ~ ~ ~ 4 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:kraber_fire_3p player @a ~ ~ ~ 4 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:kraber_far player @a ~ ~ ~ 12 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:kraber_far player @a ~ ~ ~ 12 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:kraber_veryfar player @a ~ ~ ~ 24 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:kraber_veryfar player @a ~ ~ ~ 24 1");
} }
usehand.getOrCreateTag().putDouble("ammo", (usehand.getOrCreateTag().getDouble("ammo") - 1)); usehand.getOrCreateTag().putDouble("ammo", (usehand.getOrCreateTag().getDouble("ammo") - 1));
} }
} }
} }
}

View file

@ -4,41 +4,38 @@ import net.mcreator.target.init.TargetModItems;
import net.minecraft.commands.CommandSource; import net.minecraft.commands.CommandSource;
import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.CommandSourceStack;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
public class M870fireProcedure { public class M870fireProcedure {
public static void execute(Entity entity) { public static void execute(Player player) {
if (entity == null) return; if (player.isSpectator()) return;
if (entity instanceof Player player && !player.isSpectator()) {
ItemStack usehand = player.getMainHandItem(); ItemStack usehand = player.getMainHandItem();
if (usehand.getOrCreateTag().getDouble("reloading") == 1 && usehand.getOrCreateTag().getDouble("prepare") == 0 && usehand.getOrCreateTag().getDouble("ammo") > 0) { if (usehand.getOrCreateTag().getDouble("reloading") == 1 && usehand.getOrCreateTag().getDouble("prepare") == 0 && usehand.getOrCreateTag().getDouble("ammo") > 0) {
usehand.getOrCreateTag().putDouble("forcestop", 1); usehand.getOrCreateTag().putDouble("forcestop", 1);
} }
if (usehand.getItem() == TargetModItems.M_870.get() && usehand.getOrCreateTag().getDouble("reloading") == 0 && !(entity instanceof Player _plrCldCheck8 && _plrCldCheck8.getCooldowns().isOnCooldown(usehand.getItem())) if (usehand.getItem() == TargetModItems.M_870.get() && usehand.getOrCreateTag().getDouble("reloading") == 0 && !player.getCooldowns().isOnCooldown(usehand.getItem())
&& usehand.getOrCreateTag().getDouble("ammo") > 0) { && usehand.getOrCreateTag().getDouble("ammo") > 0) {
for (int index0 = 0; index0 < 12; index0++) { for (int index0 = 0; index0 < 12; index0++) {
BulletFireNormalProcedure.execute(entity); BulletFireNormalProcedure.execute(player);
} }
if (entity instanceof Player _player) player.getCooldowns().addCooldown(usehand.getItem(), 13);
_player.getCooldowns().addCooldown(usehand.getItem(), 13);
usehand.getOrCreateTag().putDouble("recoil", 1); usehand.getOrCreateTag().putDouble("recoil", 1);
usehand.getOrCreateTag().putDouble("firing", 13); usehand.getOrCreateTag().putDouble("firing", 13);
if (!entity.level().isClientSide() && entity.getServer() != null) { if (!player.level().isClientSide() && player.getServer() != null) {
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:m_870_fire_1p player @s ~ ~ ~ 2 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:m_870_fire_1p player @s ~ ~ ~ 2 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:m_870_fire_3p player @a ~ ~ ~ 4 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:m_870_fire_3p player @a ~ ~ ~ 4 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:m_870_far player @s ~ ~ ~ 12 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:m_870_far player @s ~ ~ ~ 12 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:m_870_veryfar player @a ~ ~ ~ 24 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:m_870_veryfar player @a ~ ~ ~ 24 1");
} }
usehand.getOrCreateTag().putDouble("ammo", (usehand.getOrCreateTag().getDouble("ammo") - 1)); usehand.getOrCreateTag().putDouble("ammo", (usehand.getOrCreateTag().getDouble("ammo") - 1));
usehand.getOrCreateTag().putDouble("fireanim", 2); usehand.getOrCreateTag().putDouble("fireanim", 2);
} }
} }
} }
}

View file

@ -4,33 +4,31 @@ import net.mcreator.target.init.TargetModItems;
import net.minecraft.commands.CommandSource; import net.minecraft.commands.CommandSource;
import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.CommandSourceStack;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
public class M98bfireProcedure { public class M98bfireProcedure {
public static void execute(Entity entity) { public static void execute(Player player) {
if (entity == null) return; if (player.isSpectator()) return;
if (entity instanceof Player player && !player.isSpectator()) {
ItemStack usehand = player.getMainHandItem(); ItemStack usehand = player.getMainHandItem();
if (usehand.getItem() == TargetModItems.M_98B.get() && usehand.getOrCreateTag().getDouble("reloading") == 0 && !(entity instanceof Player _plrCldCheck4 && _plrCldCheck4.getCooldowns().isOnCooldown(usehand.getItem())) if (usehand.getItem() == TargetModItems.M_98B.get() && usehand.getOrCreateTag().getDouble("reloading") == 0 && !(player.getCooldowns().isOnCooldown(usehand.getItem()))
&& usehand.getOrCreateTag().getDouble("ammo") > 0) { && usehand.getOrCreateTag().getDouble("ammo") > 0) {
usehand.getOrCreateTag().putDouble("fireanim", 17); usehand.getOrCreateTag().putDouble("fireanim", 17);
BulletFireNormalProcedure.execute(entity); BulletFireNormalProcedure.execute(player);
player.getCooldowns().addCooldown(usehand.getItem(), 17); player.getCooldowns().addCooldown(usehand.getItem(), 17);
if (!entity.level().isClientSide() && entity.getServer() != null) { if (!player.level().isClientSide() && player.getServer() != null) {
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:m_98b_fire_1p player @s ~ ~ ~ 2 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:m_98b_fire_1p player @s ~ ~ ~ 2 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:m_98b_fire_3p player @a ~ ~ ~ 4 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:m_98b_fire_3p player @a ~ ~ ~ 4 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:m_98b_far player @a ~ ~ ~ 12 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:m_98b_far player @a ~ ~ ~ 12 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:m_98b_veryfar player @a ~ ~ ~ 24 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:m_98b_veryfar player @a ~ ~ ~ 24 1");
} }
usehand.getOrCreateTag().putDouble("ammo", (usehand.getOrCreateTag().getDouble("ammo") - 1)); usehand.getOrCreateTag().putDouble("ammo", (usehand.getOrCreateTag().getDouble("ammo") - 1));
} }
} }
} }
}

View file

@ -5,42 +5,39 @@ import net.mcreator.target.network.TargetModVariables;
import net.minecraft.commands.CommandSource; import net.minecraft.commands.CommandSource;
import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.CommandSourceStack;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
public class MarlinfireProcedure { public class MarlinfireProcedure {
public static void execute(Entity entity) { public static void execute(Player player) {
if (entity == null) return; if (player.isSpectator()) return;
if (entity instanceof Player player && !player.isSpectator()) {
ItemStack usehand = player.getMainHandItem(); ItemStack usehand = player.getMainHandItem();
if (usehand.getOrCreateTag().getDouble("reloading") == 1 && usehand.getOrCreateTag().getDouble("prepare") == 0 && usehand.getOrCreateTag().getDouble("ammo") > 0) { if (usehand.getOrCreateTag().getDouble("reloading") == 1 && usehand.getOrCreateTag().getDouble("prepare") == 0 && usehand.getOrCreateTag().getDouble("ammo") > 0) {
usehand.getOrCreateTag().putDouble("forcestop", 1); usehand.getOrCreateTag().putDouble("forcestop", 1);
} }
if (usehand.getItem() == TargetModItems.MARLIN.get() && usehand.getOrCreateTag().getDouble("reloading") == 0 && !(entity instanceof Player _plrCldCheck8 && _plrCldCheck8.getCooldowns().isOnCooldown(usehand.getItem())) if (usehand.getItem() == TargetModItems.MARLIN.get() && usehand.getOrCreateTag().getDouble("reloading") == 0 && !player.getCooldowns().isOnCooldown(usehand.getItem())
&& usehand.getOrCreateTag().getDouble("ammo") > 0) { && usehand.getOrCreateTag().getDouble("ammo") > 0) {
if ((entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming) { if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming) {
if (entity instanceof Player _player) player.getCooldowns().addCooldown(usehand.getItem(), 15);
_player.getCooldowns().addCooldown(usehand.getItem(), 15);
usehand.getOrCreateTag().putDouble("firing", 15); usehand.getOrCreateTag().putDouble("firing", 15);
usehand.getOrCreateTag().putDouble("fastfiring", 0); usehand.getOrCreateTag().putDouble("fastfiring", 0);
} else { } else {
if (entity instanceof Player _player) player.getCooldowns().addCooldown(usehand.getItem(), 10);
_player.getCooldowns().addCooldown(usehand.getItem(), 10);
usehand.getOrCreateTag().putDouble("fastfiring", 1); usehand.getOrCreateTag().putDouble("fastfiring", 1);
usehand.getOrCreateTag().putDouble("firing", 10); usehand.getOrCreateTag().putDouble("firing", 10);
} }
BulletFireNormalProcedure.execute(entity); BulletFireNormalProcedure.execute(player);
if (!entity.level().isClientSide() && entity.getServer() != null) { if (!player.level().isClientSide() && player.getServer() != null) {
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:marlin_fire_1p player @s ~ ~ ~ 2 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:marlin_fire_1p player @s ~ ~ ~ 2 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:marlin_fire_3p player @a ~ ~ ~ 4 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:marlin_fire_3p player @a ~ ~ ~ 4 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:marlin_far player @s ~ ~ ~ 12 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:marlin_far player @s ~ ~ ~ 12 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:marlin_veryfar player @a ~ ~ ~ 24 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:marlin_veryfar player @a ~ ~ ~ 24 1");
} }
usehand.getOrCreateTag().putDouble("ammo", (usehand.getOrCreateTag().getDouble("ammo") - 1)); usehand.getOrCreateTag().putDouble("ammo", (usehand.getOrCreateTag().getDouble("ammo") - 1));
if (usehand.getOrCreateTag().getDouble("animindex") == 1) { if (usehand.getOrCreateTag().getDouble("animindex") == 1) {
@ -52,4 +49,3 @@ public class MarlinfireProcedure {
} }
} }
} }
}

View file

@ -5,102 +5,77 @@ import net.mcreator.target.network.TargetModVariables;
import net.minecraft.commands.CommandSource; import net.minecraft.commands.CommandSource;
import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.CommandSourceStack;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraftforge.event.TickEvent; import net.minecraftforge.event.TickEvent;
import net.minecraftforge.eventbus.api.Event;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod;
import javax.annotation.Nullable;
@Mod.EventBusSubscriber @Mod.EventBusSubscriber
public class MinigunautofireProcedure { public class MinigunautofireProcedure {
@SubscribeEvent @SubscribeEvent
public static void onPlayerTick(TickEvent.PlayerTickEvent event) { public static void onPlayerTick(TickEvent.PlayerTickEvent event) {
if (event.phase == TickEvent.Phase.END) { if (event.phase == TickEvent.Phase.END) {
execute(event, event.player); execute(event.player);
} }
} }
public static void execute(Entity entity) { private static void execute(Player player) {
execute(null, entity);
}
private static void execute(@Nullable Event event, Entity entity) {
if (entity == null)
return;
ItemStack usehand; ItemStack usehand;
usehand = (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY); usehand = player.getMainHandItem();
if (usehand.getItem() == TargetModItems.MINIGUN.get()) { if (usehand.getItem() == TargetModItems.MINIGUN.get()) {
if (entity.getPersistentData().getDouble("minifiring") == 1 && !entity.isSprinting()) { if (player.getPersistentData().getDouble("minifiring") == 1 && !player.isSprinting()) {
if (usehand.getOrCreateTag().getDouble("rot") < 10) { if (usehand.getOrCreateTag().getDouble("rot") < 10) {
usehand.getOrCreateTag().putDouble("rot", (usehand.getOrCreateTag().getDouble("rot") + 1)); usehand.getOrCreateTag().putDouble("rot", (usehand.getOrCreateTag().getDouble("rot") + 1));
} }
{ if (!player.level().isClientSide() && player.getServer() != null) {
if (!entity.level().isClientSide() && entity.getServer() != null) { player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:minigun_rot player @s ~ ~ ~ 2 1");
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:minigun_rot player @s ~ ~ ~ 2 1");
} }
} } else if (usehand.getOrCreateTag().getDouble("rot") > 0) {
} else {
if (usehand.getOrCreateTag().getDouble("rot") > 0) {
usehand.getOrCreateTag().putDouble("rot", (usehand.getOrCreateTag().getDouble("rot") - 0.5)); usehand.getOrCreateTag().putDouble("rot", (usehand.getOrCreateTag().getDouble("rot") - 0.5));
} }
} }
}
if (usehand.getItem() == TargetModItems.MINIGUN.get() && usehand.getOrCreateTag().getDouble("overheat") == 0 if (usehand.getItem() == TargetModItems.MINIGUN.get() && usehand.getOrCreateTag().getDouble("overheat") == 0
&& (entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).rifleammo > 0 && (player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).rifleammo > 0
&& !(entity instanceof Player _plrCldCheck13 && _plrCldCheck13.getCooldowns().isOnCooldown(usehand.getItem())) && usehand.getOrCreateTag().getDouble("rot") >= 10) { && !(player.getCooldowns().isOnCooldown(usehand.getItem())) && usehand.getOrCreateTag().getDouble("rot") >= 10) {
usehand.getOrCreateTag().putDouble("heat", (usehand.getOrCreateTag().getDouble("heat") + 1)); usehand.getOrCreateTag().putDouble("heat", (usehand.getOrCreateTag().getDouble("heat") + 1));
if (usehand.getOrCreateTag().getDouble("heat") >= 50.5) { if (usehand.getOrCreateTag().getDouble("heat") >= 50.5) {
usehand.getOrCreateTag().putDouble("overheat", 40); usehand.getOrCreateTag().putDouble("overheat", 40);
if (entity instanceof Player _player) player.getCooldowns().addCooldown(usehand.getItem(), 40);
_player.getCooldowns().addCooldown(usehand.getItem(), 40); if (!player.level().isClientSide() && player.getServer() != null) {
{ player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
if (!entity.level().isClientSide() && entity.getServer() != null) { player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:minigun_overheat player @s ~ ~ ~ 2 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:minigun_overheat player @s ~ ~ ~ 2 1");
}
} }
} }
if (!player.level().isClientSide() && player.getServer() != null) {
if (usehand.getOrCreateTag().getDouble("heat") <= 40) { if (usehand.getOrCreateTag().getDouble("heat") <= 40) {
{ player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
if (!entity.level().isClientSide() && entity.getServer() != null) { player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:minigun_fire_1p player @s ~ ~ ~ 2 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:minigun_fire_1p player @s ~ ~ ~ 2 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:minigun_fire_3p player @a ~ ~ ~ 4 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:minigun_fire_3p player @a ~ ~ ~ 4 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:minigun_far player @a ~ ~ ~ 12 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:minigun_far player @a ~ ~ ~ 12 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:minigun_veryfar player @a ~ ~ ~ 24 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:minigun_veryfar player @a ~ ~ ~ 24 1");
}
}
} else { } else {
{ player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
if (!entity.level().isClientSide() && entity.getServer() != null) { player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), ("playsound target:minigun_fire_1p player @s ~ ~ ~ 2 " + (1 - 0.025 * Math.abs(40 - usehand.getOrCreateTag().getDouble("heat")))));
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), ("playsound target:minigun_fire_1p player @s ~ ~ ~ 2 " + (1 - 0.025 * Math.abs(40 - usehand.getOrCreateTag().getDouble("heat"))))); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), ("playsound target:minigun_fire_3p player @a ~ ~ ~ 4 " + (1 - 0.025 * Math.abs(40 - usehand.getOrCreateTag().getDouble("heat")))));
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), ("playsound target:minigun_fire_3p player @a ~ ~ ~ 4 " + (1 - 0.025 * Math.abs(40 - usehand.getOrCreateTag().getDouble("heat"))))); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), ("playsound target:minigun_far player @a ~ ~ ~ 12 " + (1 - 0.025 * Math.abs(40 - usehand.getOrCreateTag().getDouble("heat")))));
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), ("playsound target:minigun_far player @a ~ ~ ~ 12 " + (1 - 0.025 * Math.abs(40 - usehand.getOrCreateTag().getDouble("heat"))))); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), ("playsound target:minigun_veryfar player @a ~ ~ ~ 24 " + (1 - 0.025 * Math.abs(40 - usehand.getOrCreateTag().getDouble("heat")))));
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), ("playsound target:minigun_veryfar player @a ~ ~ ~ 24 " + (1 - 0.025 * Math.abs(40 - usehand.getOrCreateTag().getDouble("heat")))));
} }
} }
} BulletFireNormalProcedure.execute(player);
BulletFireNormalProcedure.execute(entity);
{ player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
double _setval = (entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).rifleammo - 1; capability.rifleammo = player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables()).rifleammo - 1;
entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { capability.syncPlayerVariables(player);
capability.rifleammo = _setval;
capability.syncPlayerVariables(entity);
}); });
}
usehand.getOrCreateTag().putDouble("fireanim", 2); usehand.getOrCreateTag().putDouble("fireanim", 2);
} }
} }

View file

@ -1,64 +1,50 @@
package net.mcreator.target.procedures; package net.mcreator.target.procedures;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.Entity;
import net.minecraft.tags.ItemTags;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.commands.CommandSource;
import net.mcreator.target.network.TargetModVariables;
import net.mcreator.target.init.TargetModItems; 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.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.tags.ItemTags;
import net.minecraft.world.entity.player.Player;
public class PressFireProcedure { public class PressFireProcedure {
public static void execute(Entity entity) { public static void execute(Player player) {
if (entity == null) TaserfireProcedure.execute(player);
return; M79fireProcedure.execute(player);
TaserfireProcedure.execute(entity); M98bfireProcedure.execute(player);
M79fireProcedure.execute(entity); RpgfireProcedure.execute(player);
M98bfireProcedure.execute(entity); KraberfireProcedure.execute(player);
RpgfireProcedure.execute(entity); MinigunfireProcedure.execute(player);
KraberfireProcedure.execute(entity); SentinelFireProcedure.execute(player);
MinigunfireProcedure.execute(entity); MarlinfireProcedure.execute(player);
SentinelFireProcedure.execute(entity); M870fireProcedure.execute(player);
MarlinfireProcedure.execute(entity); VecfireProcedure.execute(player);
M870fireProcedure.execute(entity); player.getPersistentData().putDouble("firing", 1);
VecfireProcedure.execute(entity); if (player.getMainHandItem().is(ItemTags.create(new ResourceLocation("target:gun")))
entity.getPersistentData().putDouble("firing", 1); && !(player.getMainHandItem().getItem() == TargetModItems.BOCEK.get())
if ((entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).is(ItemTags.create(new ResourceLocation("target:gun"))) && !(player.getMainHandItem().getItem() == TargetModItems.MINIGUN.get())
&& !((entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getItem() == TargetModItems.BOCEK.get()) && player.getMainHandItem().getOrCreateTag().getDouble("ammo") == 0
&& !((entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getItem() == TargetModItems.MINIGUN.get()) && player.getMainHandItem().getOrCreateTag().getDouble("reloading") != 1) {
&& (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getOrCreateTag().getDouble("ammo") == 0 if (!player.level().isClientSide() && player.getServer() != null) {
&& (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getOrCreateTag().getDouble("reloading") != 1) { player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
{ player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:triggerclick player @s ~ ~ ~ 10 1");
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:triggerclick player @s ~ ~ ~ 10 1");
} }
} }
} if (player.getMainHandItem().getItem() == TargetModItems.MINIGUN.get()
if ((entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getItem() == TargetModItems.MINIGUN.get() && (player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).rifleammo == 0) {
&& (entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).rifleammo == 0) { if (!player.level().isClientSide() && player.getServer() != null) {
{ player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
Entity _ent = entity; player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:triggerclick player @s ~ ~ ~ 10 1");
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:triggerclick player @s ~ ~ ~ 10 1");
} }
} }
} player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
{ capability.bowpullhold = true;
boolean _setval = true; capability.syncPlayerVariables(player);
entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
capability.bowpullhold = _setval;
capability.syncPlayerVariables(entity);
}); });
} if (player.getMainHandItem().getOrCreateTag().getDouble("ammo") == 0) {
if ((entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY).getOrCreateTag().getDouble("ammo") == 0) { PlayerReloadProcedure.execute(player);
PlayerReloadProcedure.execute(entity);
} }
} }
} }

View file

@ -0,0 +1,17 @@
package net.mcreator.target.procedures;
import net.mcreator.target.network.TargetModVariables;
import net.minecraft.world.entity.player.Player;
public class ReleaseFireProcedure {
public static void execute(Player player) {
player.getPersistentData().putDouble("firing", 0);
player.getPersistentData().putDouble("minifiring", 0);
player.getPersistentData().putDouble("minigunfiring", 0);
player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
capability.bowpullhold = false;
capability.syncPlayerVariables(player);
});
BowlooseProcedure.execute(player);
}
}

View file

@ -1,22 +0,0 @@
package net.mcreator.target.procedures;
import net.mcreator.target.network.TargetModVariables;
import net.minecraft.world.entity.Entity;
public class RleaseFireProcedure {
public static void execute(Entity entity) {
if (entity == null)
return;
entity.getPersistentData().putDouble("firing", 0);
entity.getPersistentData().putDouble("minifiring", 0);
entity.getPersistentData().putDouble("minigunfiring", 0);
{
boolean _setval = false;
entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
capability.bowpullhold = _setval;
capability.syncPlayerVariables(entity);
});
}
BowlooseProcedure.execute(entity);
}
}

View file

@ -5,32 +5,31 @@ import net.mcreator.target.network.TargetModVariables;
import net.minecraft.commands.CommandSource; import net.minecraft.commands.CommandSource;
import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.CommandSourceStack;
import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
public class SentinelFireProcedure { public class SentinelFireProcedure {
public static void execute(Entity entity) { public static void execute(Player player) {
if (entity == null) return; if (player.isSpectator()) return;
if (entity instanceof Player player && !player.isSpectator()) {
ItemStack usehand = player.getMainHandItem(); ItemStack usehand = player.getMainHandItem();
if (usehand.getItem() == TargetModItems.SENTINEL.get() && usehand.getOrCreateTag().getDouble("reloading") == 0 && !(entity instanceof Player _plrCldCheck4 && _plrCldCheck4.getCooldowns().isOnCooldown(usehand.getItem())) if (usehand.getItem() == TargetModItems.SENTINEL.get() && usehand.getOrCreateTag().getDouble("reloading") == 0 && !player.getCooldowns().isOnCooldown(usehand.getItem())
&& usehand.getOrCreateTag().getDouble("ammo") > 0) { && usehand.getOrCreateTag().getDouble("ammo") > 0) {
if (usehand.getOrCreateTag().getDouble("power") > 0) { if (usehand.getOrCreateTag().getDouble("power") > 0) {
if ((entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming) { if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming) {
usehand.getOrCreateTag().putDouble("zoomfiring", 24); usehand.getOrCreateTag().putDouble("zoomfiring", 24);
} else { } else {
usehand.getOrCreateTag().putDouble("firing", 24); usehand.getOrCreateTag().putDouble("firing", 24);
} }
if (!entity.level().isClientSide() && entity.getServer() != null) { if (!player.level().isClientSide() && player.getServer() != null) {
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:sentinel_charge_fire_1p player @s ~ ~ ~ 2 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:sentinel_charge_fire_1p player @s ~ ~ ~ 2 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:sentinel_charge_fire_3p player @a ~ ~ ~ 4 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:sentinel_charge_fire_3p player @a ~ ~ ~ 4 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:sentinel_charge_far player @s ~ ~ ~ 12 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:sentinel_charge_far player @s ~ ~ ~ 12 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:sentinel_charge_veryfar player @a ~ ~ ~ 24 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:sentinel_charge_veryfar player @a ~ ~ ~ 24 1");
} }
if (usehand.getOrCreateTag().getDouble("power") > 20) { if (usehand.getOrCreateTag().getDouble("power") > 20) {
usehand.getOrCreateTag().putDouble("power", (usehand.getOrCreateTag().getDouble("power") - 20)); usehand.getOrCreateTag().putDouble("power", (usehand.getOrCreateTag().getDouble("power") - 20));
@ -38,23 +37,23 @@ public class SentinelFireProcedure {
usehand.getOrCreateTag().putDouble("power", 0); usehand.getOrCreateTag().putDouble("power", 0);
} }
} else { } else {
if ((entity.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming) { if ((player.getCapability(TargetModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new TargetModVariables.PlayerVariables())).zooming) {
usehand.getOrCreateTag().putDouble("zoomfiring", 24); usehand.getOrCreateTag().putDouble("zoomfiring", 24);
} else { } else {
usehand.getOrCreateTag().putDouble("firing", 24); usehand.getOrCreateTag().putDouble("firing", 24);
} }
if (!entity.level().isClientSide() && entity.getServer() != null) { if (!player.level().isClientSide() && player.getServer() != null) {
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:sentinel_fire_1p player @s ~ ~ ~ 2 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:sentinel_fire_1p player @s ~ ~ ~ 2 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:sentinel_fire_3p player @a ~ ~ ~ 4 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:sentinel_fire_3p player @a ~ ~ ~ 4 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:sentinel_far player @s ~ ~ ~ 12 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:sentinel_far player @s ~ ~ ~ 12 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, player.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), (ServerLevel) player.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:sentinel_veryfar player @a ~ ~ ~ 24 1"); player.getName().getString(), player.getDisplayName(), player.level().getServer(), player), "playsound target:sentinel_veryfar player @a ~ ~ ~ 24 1");
} }
} }
BulletFireNormalProcedure.execute(entity); BulletFireNormalProcedure.execute(player);
usehand.getOrCreateTag().putDouble("crot", 20); usehand.getOrCreateTag().putDouble("crot", 20);
player.getCooldowns().addCooldown(usehand.getItem(), 23); player.getCooldowns().addCooldown(usehand.getItem(), 23);
usehand.getOrCreateTag().putDouble("ammo", (usehand.getOrCreateTag().getDouble("ammo") - 1)); usehand.getOrCreateTag().putDouble("ammo", (usehand.getOrCreateTag().getDouble("ammo") - 1));
@ -62,4 +61,3 @@ public class SentinelFireProcedure {
} }
} }
} }
}

View file

@ -1,42 +1,29 @@
package net.mcreator.target.procedures; package net.mcreator.target.procedures;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.eventbus.api.Event;
import net.minecraftforge.event.TickEvent;
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.tags.ItemTags;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.commands.CommandSource;
import net.mcreator.target.init.TargetModItems; import net.mcreator.target.init.TargetModItems;
import net.minecraft.commands.CommandSource;
import javax.annotation.Nullable; import net.minecraft.commands.CommandSourceStack;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.tags.ItemTags;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.event.TickEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber @Mod.EventBusSubscriber
public class VecBurstFireProcedure { public class VecBurstFireProcedure {
@SubscribeEvent @SubscribeEvent
public static void onPlayerTick(TickEvent.PlayerTickEvent event) { public static void onPlayerTick(TickEvent.PlayerTickEvent event) {
if (event.phase == TickEvent.Phase.END) { if (event.phase == TickEvent.Phase.END) {
execute(event, event.player); execute(event.player);
} }
} }
public static void execute(Entity entity) { private static void execute(Player entity) {
execute(null, entity); ItemStack usehand;
} usehand = entity.getMainHandItem();
private static void execute(@Nullable Event event, Entity entity) {
if (entity == null)
return;
ItemStack usehand = ItemStack.EMPTY;
usehand = (entity instanceof LivingEntity _livEnt ? _livEnt.getMainHandItem() : ItemStack.EMPTY);
if (usehand.is(ItemTags.create(new ResourceLocation("target:gun")))) { if (usehand.is(ItemTags.create(new ResourceLocation("target:gun")))) {
if (usehand.getOrCreateTag().getDouble("firemode") == 1) { if (usehand.getOrCreateTag().getDouble("firemode") == 1) {
entity.getPersistentData().putDouble("firing", 0); entity.getPersistentData().putDouble("firing", 0);
@ -46,31 +33,23 @@ public class VecBurstFireProcedure {
} }
} }
if (usehand.getItem() == TargetModItems.VECTOR.get() && usehand.getOrCreateTag().getDouble("reloading") == 0 && usehand.getOrCreateTag().getDouble("ammo") > 0 if (usehand.getItem() == TargetModItems.VECTOR.get() && usehand.getOrCreateTag().getDouble("reloading") == 0 && usehand.getOrCreateTag().getDouble("ammo") > 0
&& !(entity instanceof Player _plrCldCheck9 && _plrCldCheck9.getCooldowns().isOnCooldown(usehand.getItem())) && usehand.getOrCreateTag().getDouble("burst") > 0) { && !(entity.getCooldowns().isOnCooldown(usehand.getItem())) && usehand.getOrCreateTag().getDouble("burst") > 0) {
if (usehand.getOrCreateTag().getDouble("burst") == 1) {
if (entity instanceof Player _player) entity.getCooldowns().addCooldown(usehand.getItem(), usehand.getOrCreateTag().getDouble("burst") == 1 ? 5 : 1);
_player.getCooldowns().addCooldown(usehand.getItem(), 5);
} else {
if (entity instanceof Player _player)
_player.getCooldowns().addCooldown(usehand.getItem(), 1);
}
usehand.getOrCreateTag().putDouble("burst", (usehand.getOrCreateTag().getDouble("burst") - 1)); usehand.getOrCreateTag().putDouble("burst", (usehand.getOrCreateTag().getDouble("burst") - 1));
BulletFireNormalProcedure.execute(entity); BulletFireNormalProcedure.execute(entity);
{
if (!entity.level().isClientSide() && entity.getServer() != null) { if (!entity.level().isClientSide() && entity.getServer() != null) {
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), (ServerLevel) entity.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:vector_fire_1p player @a ~ ~ ~ 2 1"); entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:vector_fire_1p player @a ~ ~ ~ 2 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), (ServerLevel) entity.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:vector_fire_1p player @s ~ ~ ~ 4 1"); entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:vector_fire_1p player @s ~ ~ ~ 4 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), (ServerLevel) entity.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:vector_far player @a ~ ~ ~ 6 1"); entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:vector_far player @a ~ ~ ~ 6 1");
entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), entity.level() instanceof ServerLevel ? (ServerLevel) entity.level() : null, 4, entity.getServer().getCommands().performPrefixedCommand(new CommandSourceStack(CommandSource.NULL, entity.position(), entity.getRotationVector(), (ServerLevel) entity.level(), 4,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:vector_veryfar player @a ~ ~ ~ 12 1"); entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:vector_veryfar player @a ~ ~ ~ 12 1");
} }
}
usehand.getOrCreateTag().putDouble("fireanim", 2); usehand.getOrCreateTag().putDouble("fireanim", 2);
usehand.getOrCreateTag().putDouble("ammo", (usehand.getOrCreateTag().getDouble("ammo") - 1)); usehand.getOrCreateTag().putDouble("ammo", (usehand.getOrCreateTag().getDouble("ammo") - 1));
} }
} }
} }