修改了波塞克的数据读取
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.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);
|
||||||
|
|
||||||
|
|
|
@ -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;
|
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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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
|
||||||
}
|
}
|
|
@ -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
|
||||||
}
|
}
|
|
@ -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",
|
||||||
|
|
Loading…
Add table
Reference in a new issue