修改了波塞克的数据读取

This commit is contained in:
Atsuihsio 2024-05-10 15:13:41 +08:00
parent 571d1f1e48
commit a01e81c52e
8 changed files with 20 additions and 53 deletions

View file

@ -6,12 +6,16 @@ import net.mcreator.target.init.TargetModAttributes;
import net.mcreator.target.init.TargetModItems; import net.mcreator.target.init.TargetModItems;
import net.mcreator.target.init.TargetModTags; import net.mcreator.target.init.TargetModTags;
import net.mcreator.target.network.TargetModVariables; import net.mcreator.target.network.TargetModVariables;
import net.minecraft.commands.CommandSource;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.core.Holder; import net.minecraft.core.Holder;
import net.minecraft.network.protocol.game.ClientboundSoundPacket; import net.minecraft.network.protocol.game.ClientboundSoundPacket;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundEvent;
import net.minecraft.sounds.SoundSource; import net.minecraft.sounds.SoundSource;
import net.minecraft.world.InteractionHand;
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;
@ -149,6 +153,17 @@ public class GunEventHandler {
stack.getOrCreateTag().putDouble("fire_increase", stack.getOrCreateTag().getDouble("fire_increase") + 0.334); stack.getOrCreateTag().putDouble("fire_increase", stack.getOrCreateTag().getDouble("fire_increase") + 0.334);
} }
if (player.getMainHandItem().getItem() == TargetModItems.ABEKIRI.get()) {
stack.hurtAndBreak(1, player, p -> p.broadcastBreakEvent(InteractionHand.MAIN_HAND));
if (!player.level().isClientSide() && player.getServer() != null) {
player.getServer().getCommands().performPrefixedCommand(
new CommandSourceStack(CommandSource.NULL, player.position(), player.getRotationVector(), player.level() instanceof ServerLevel ? (ServerLevel) player.level() : null, 4, player.getName().getString(), player.getDisplayName(),
player.level().getServer(), player),
("particle minecraft:cloud" + (" " + (player.getX() + 1.8 * player.getLookAngle().x)) + (" " + (player.getY() + player.getBbHeight() - 0.1 + 1.8 * player.getLookAngle().y))
+ (" " + (player.getZ() + 1.8 * player.getLookAngle().z)) + " 0.4 0.4 0.4 0.005 30 force @s"));
}
}
int cooldown = (int) stack.getOrCreateTag().getDouble("fire_interval") + (int) stack.getOrCreateTag().getDouble("fire_sequence") - (int) stack.getOrCreateTag().getDouble("fire_increase"); int cooldown = (int) stack.getOrCreateTag().getDouble("fire_interval") + (int) stack.getOrCreateTag().getDouble("fire_sequence") - (int) stack.getOrCreateTag().getDouble("fire_increase");
player.getCooldowns().addCooldown(stack.getItem(), cooldown); player.getCooldowns().addCooldown(stack.getItem(), cooldown);

View file

@ -1,49 +0,0 @@
package net.mcreator.target.procedures;
import net.mcreator.target.init.TargetModItems;
import net.minecraft.commands.CommandSource;
import net.minecraft.commands.CommandSourceStack;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.entity.Entity;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
public class AbkrfireProcedure {
public static void execute(Entity entity) {
if (entity == null) return;
if (entity instanceof Player player && !player.isSpectator()) {
ItemStack usehand = player.getMainHandItem();
if (usehand.getItem() == TargetModItems.ABEKIRI.get() && usehand.getOrCreateTag().getDouble("reloading") == 0 && !(entity instanceof Player _plrCldCheck4 && _plrCldCheck4.getCooldowns().isOnCooldown(usehand.getItem()))
&& usehand.getOrCreateTag().getDouble("ammo") > 0) {
for (int index0 = 0; index0 < 8; index0++) {
BulletFireNormalProcedure.execute(entity);
}
usehand.hurtAndBreak(1, player, p -> p.broadcastBreakEvent(InteractionHand.MAIN_HAND));
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.getName().getString(), entity.getDisplayName(),
entity.level().getServer(), entity),
("particle minecraft:cloud" + (" " + (entity.getX() + 1.8 * entity.getLookAngle().x)) + (" " + (entity.getY() + entity.getBbHeight() - 0.1 + 1.8 * entity.getLookAngle().y))
+ (" " + (entity.getZ() + 1.8 * entity.getLookAngle().z)) + " 0.4 0.4 0.4 0.005 30 force @s"));
}
player.getCooldowns().addCooldown(usehand.getItem(), 2);
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.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:abekiri_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,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:abekiri_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,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:abekiri_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,
entity.getName().getString(), entity.getDisplayName(), entity.level().getServer(), entity), "playsound target:abekiri_veryfar player @a ~ ~ ~ 24 1");
}
usehand.getOrCreateTag().putDouble("fireanim", 2);
usehand.getOrCreateTag().putDouble("ammo", (usehand.getOrCreateTag().getDouble("ammo") - 1));
}
}
}
}

View file

@ -48,7 +48,7 @@ public class BowlooseProcedure {
entityToSpawn.pickup = AbstractArrow.Pickup.ALLOWED; entityToSpawn.pickup = AbstractArrow.Pickup.ALLOWED;
return entityToSpawn; return entityToSpawn;
} }
}.getArrow(projectileLevel, entity, (float) (0.5 * (1 + 0.05 * usehand.getOrCreateTag().getDouble("level"))), 0, (byte) 2); }.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);
_entityToSpawn.setPos(entity.getX(), entity.getEyeY() - 0.1, entity.getZ()); _entityToSpawn.setPos(entity.getX(), entity.getEyeY() - 0.1, entity.getZ());
_entityToSpawn.shoot(entity.getLookAngle().x, entity.getLookAngle().y, entity.getLookAngle().z, (float) (4 * power), (float) 0.02); _entityToSpawn.shoot(entity.getLookAngle().x, entity.getLookAngle().y, entity.getLookAngle().z, (float) (4 * power), (float) 0.02);
projectileLevel.addFreshEntity(_entityToSpawn); projectileLevel.addFreshEntity(_entityToSpawn);

View file

@ -41,7 +41,7 @@ public class BulletFireNormalProcedure {
if (heldItem.getItem() == TargetModItems.BOCEK.get()) { if (heldItem.getItem() == TargetModItems.BOCEK.get()) {
damage = 0.2f * (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(entity.level(), living, damage, headshot);

View file

@ -18,7 +18,6 @@ public class PressFireProcedure {
return; return;
TaserfireProcedure.execute(entity); TaserfireProcedure.execute(entity);
M79fireProcedure.execute(entity); M79fireProcedure.execute(entity);
AbkrfireProcedure.execute(entity);
M98bfireProcedure.execute(entity); M98bfireProcedure.execute(entity);
RpgfireProcedure.execute(entity); RpgfireProcedure.execute(entity);
KraberfireProcedure.execute(entity); KraberfireProcedure.execute(entity);

View file

@ -8,5 +8,6 @@
"headshot": 1.5, "headshot": 1.5,
"velocity": 15, "velocity": 15,
"mag": 2, "mag": 2,
"projectileamount": 8,
"fire_interval": 2 "fire_interval": 2
} }

View file

@ -5,5 +5,5 @@
"recoilx": 0.005, "recoilx": 0.005,
"recoily": 0.003, "recoily": 0.003,
"headshot": 1.5, "headshot": 1.5,
"damage": 9.5 "damage": 24
} }

View file

@ -1,6 +1,7 @@
{ {
"replace": false, "replace": false,
"values": [ "values": [
"target:abekiri",
"target:ak_47", "target:ak_47",
"target:svd", "target:svd",
"target:m_60", "target:m_60",