修改了波塞克的数据读取
This commit is contained in:
parent
571d1f1e48
commit
a01e81c52e
8 changed files with 20 additions and 53 deletions
|
@ -6,12 +6,16 @@ import net.mcreator.target.init.TargetModAttributes;
|
|||
import net.mcreator.target.init.TargetModItems;
|
||||
import net.mcreator.target.init.TargetModTags;
|
||||
import net.mcreator.target.network.TargetModVariables;
|
||||
import net.minecraft.commands.CommandSource;
|
||||
import net.minecraft.commands.CommandSourceStack;
|
||||
import net.minecraft.core.Holder;
|
||||
import net.minecraft.network.protocol.game.ClientboundSoundPacket;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.sounds.SoundEvent;
|
||||
import net.minecraft.sounds.SoundSource;
|
||||
import net.minecraft.world.InteractionHand;
|
||||
import net.minecraft.world.entity.player.Player;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraftforge.event.TickEvent;
|
||||
|
@ -149,6 +153,17 @@ public class GunEventHandler {
|
|||
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");
|
||||
player.getCooldowns().addCooldown(stack.getItem(), cooldown);
|
||||
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -48,7 +48,7 @@ public class BowlooseProcedure {
|
|||
entityToSpawn.pickup = AbstractArrow.Pickup.ALLOWED;
|
||||
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.shoot(entity.getLookAngle().x, entity.getLookAngle().y, entity.getLookAngle().z, (float) (4 * power), (float) 0.02);
|
||||
projectileLevel.addFreshEntity(_entityToSpawn);
|
||||
|
|
|
@ -41,7 +41,7 @@ public class BulletFireNormalProcedure {
|
|||
|
||||
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);
|
||||
|
||||
|
|
|
@ -18,7 +18,6 @@ public class PressFireProcedure {
|
|||
return;
|
||||
TaserfireProcedure.execute(entity);
|
||||
M79fireProcedure.execute(entity);
|
||||
AbkrfireProcedure.execute(entity);
|
||||
M98bfireProcedure.execute(entity);
|
||||
RpgfireProcedure.execute(entity);
|
||||
KraberfireProcedure.execute(entity);
|
||||
|
|
|
@ -8,5 +8,6 @@
|
|||
"headshot": 1.5,
|
||||
"velocity": 15,
|
||||
"mag": 2,
|
||||
"projectileamount": 8,
|
||||
"fire_interval": 2
|
||||
}
|
|
@ -5,5 +5,5 @@
|
|||
"recoilx": 0.005,
|
||||
"recoily": 0.003,
|
||||
"headshot": 1.5,
|
||||
"damage": 9.5
|
||||
"damage": 24
|
||||
}
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"target:abekiri",
|
||||
"target:ak_47",
|
||||
"target:svd",
|
||||
"target:m_60",
|
||||
|
|
Loading…
Add table
Reference in a new issue