From b79a67cf601a527579f6c706aefefffcfe1b7ccf Mon Sep 17 00:00:00 2001 From: 17146 <1714673995@qq.com> Date: Sat, 24 Aug 2024 23:33:44 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9Pose=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 2 +- .../net/mcreator/superbwarfare/ModUtils.java | 14 ++-- .../superbwarfare/entity/ClaymoreEntity.java | 5 +- .../entity/MortarShellEntity.java | 2 +- .../superbwarfare/entity/TargetEntity.java | 10 +-- .../superbwarfare/init/ModKeyMappings.java | 30 +------ .../superbwarfare/item/gun/AK47Item.java | 3 +- .../superbwarfare/item/gun/Aa12Item.java | 3 +- .../superbwarfare/item/gun/Abekiri.java | 3 +- .../superbwarfare/item/gun/Devotion.java | 18 ++-- .../superbwarfare/item/gun/Glock17Item.java | 3 +- .../superbwarfare/item/gun/Glock18Item.java | 3 +- .../superbwarfare/item/gun/Hk416Item.java | 3 +- .../superbwarfare/item/gun/HuntingRifle.java | 3 +- .../superbwarfare/item/gun/K98Item.java | 3 +- .../superbwarfare/item/gun/M1911Item.java | 3 +- .../superbwarfare/item/gun/M4Item.java | 3 +- .../superbwarfare/item/gun/M60Item.java | 3 +- .../superbwarfare/item/gun/M79Item.java | 3 +- .../superbwarfare/item/gun/M870Item.java | 3 +- .../superbwarfare/item/gun/M98bItem.java | 3 +- .../superbwarfare/item/gun/MarlinItem.java | 3 +- .../superbwarfare/item/gun/Mk14Item.java | 3 +- .../superbwarfare/item/gun/Ntw20.java | 3 +- .../superbwarfare/item/gun/Qbz95Item.java | 3 +- .../superbwarfare/item/gun/RpgItem.java | 3 +- .../superbwarfare/item/gun/RpkItem.java | 3 +- .../superbwarfare/item/gun/SentinelItem.java | 3 +- .../superbwarfare/item/gun/SksItem.java | 3 +- .../superbwarfare/item/gun/SvdItem.java | 3 +- .../superbwarfare/item/gun/Taser.java | 7 +- .../superbwarfare/item/gun/Trachelium.java | 3 +- .../superbwarfare/item/gun/VectorItem.java | 3 +- .../network/message/BreathMessage.java | 59 +++++++------ .../network/message/DoubleJumpMessage.java | 63 +++++++------- .../network/message/DroneFireMessage.java | 2 +- .../network/message/FireMessage.java | 2 +- .../network/message/FireModeMessage.java | 2 +- .../network/message/ReloadMessage.java | 16 ++-- .../network/message/VehicleFireMessage.java | 2 +- .../network/message/ZoomMessage.java | 82 +++++++++---------- .../superbwarfare/tools/GunsTool.java | 46 ----------- .../superbwarfare/tools/PoseTool.java | 57 +++++++++++++ 43 files changed, 242 insertions(+), 252 deletions(-) create mode 100644 src/main/java/net/mcreator/superbwarfare/tools/PoseTool.java diff --git a/build.gradle b/build.gradle index ff7bd48db..a1d46f9a4 100644 --- a/build.gradle +++ b/build.gradle @@ -14,7 +14,7 @@ def getGitCommitHash() { return stdout.toString().trim() } -version = '0.1.7-SNAPSHOT-' + getGitCommitHash() +version = '0.1.8-SNAPSHOT-' + getGitCommitHash() group = 'com.Atsushio.superbwarfare' archivesBaseName = 'superbwarfare' diff --git a/src/main/java/net/mcreator/superbwarfare/ModUtils.java b/src/main/java/net/mcreator/superbwarfare/ModUtils.java index 95ed72ebd..5f0c2b230 100644 --- a/src/main/java/net/mcreator/superbwarfare/ModUtils.java +++ b/src/main/java/net/mcreator/superbwarfare/ModUtils.java @@ -92,12 +92,12 @@ public class ModUtils { } public void onCommonSetup(final FMLCommonSetupEvent event) { - addNetworkMessage(ZoomMessage.class, ZoomMessage::buffer, ZoomMessage::new, ZoomMessage::handler); - addNetworkMessage(DoubleJumpMessage.class, DoubleJumpMessage::buffer, DoubleJumpMessage::new, DoubleJumpMessage::handler); + addNetworkMessage(ZoomMessage.class, ZoomMessage::encode, ZoomMessage::decode, ZoomMessage::handler); + addNetworkMessage(DoubleJumpMessage.class, DoubleJumpMessage::encode, DoubleJumpMessage::decode, DoubleJumpMessage::handler); addNetworkMessage(GunsDataMessage.class, GunsDataMessage::encode, GunsDataMessage::decode, GunsDataMessage::handler, Optional.of(NetworkDirection.PLAY_TO_CLIENT)); - addNetworkMessage(FireMessage.class, FireMessage::buffer, FireMessage::new, FireMessage::handler); - addNetworkMessage(VehicleFireMessage.class, VehicleFireMessage::buffer, VehicleFireMessage::new, VehicleFireMessage::handler); - addNetworkMessage(FireModeMessage.class, FireModeMessage::buffer, FireModeMessage::new, FireModeMessage::handler); + addNetworkMessage(FireMessage.class, FireMessage::encode, FireMessage::new, FireMessage::handler); + addNetworkMessage(VehicleFireMessage.class, VehicleFireMessage::encode, VehicleFireMessage::new, VehicleFireMessage::handler); + addNetworkMessage(FireModeMessage.class, FireModeMessage::encode, FireModeMessage::new, FireModeMessage::handler); addNetworkMessage(ReloadMessage.class, ReloadMessage::encode, ReloadMessage::decode, ReloadMessage::handler); addNetworkMessage(PlayerGunKillMessage.class, PlayerGunKillMessage::encode, PlayerGunKillMessage::decode, PlayerGunKillMessage::handler, Optional.of(NetworkDirection.PLAY_TO_CLIENT)); addNetworkMessage(ClientIndicatorMessage.class, ClientIndicatorMessage::encode, ClientIndicatorMessage::decode, ClientIndicatorMessage::handler, Optional.of(NetworkDirection.PLAY_TO_CLIENT)); @@ -106,11 +106,11 @@ public class ModUtils { addNetworkMessage(AdjustMortarAngleMessage.class, AdjustMortarAngleMessage::encode, AdjustMortarAngleMessage::decode, AdjustMortarAngleMessage::handler); addNetworkMessage(InteractMessage.class, InteractMessage::encode, InteractMessage::decode, InteractMessage::handler); addNetworkMessage(DroneMovementMessage.class, DroneMovementMessage::encode, DroneMovementMessage::decode, DroneMovementMessage::handler); - addNetworkMessage(DroneFireMessage.class, DroneFireMessage::buffer, DroneFireMessage::new, DroneFireMessage::handler); + addNetworkMessage(DroneFireMessage.class, DroneFireMessage::encode, DroneFireMessage::new, DroneFireMessage::handler); addNetworkMessage(SimulationDistanceMessage.class, SimulationDistanceMessage::encode, SimulationDistanceMessage::decode, SimulationDistanceMessage::handle, Optional.of(NetworkDirection.PLAY_TO_CLIENT)); addNetworkMessage(GunReforgeMessage.class, GunReforgeMessage::encode, GunReforgeMessage::decode, GunReforgeMessage::handler); addNetworkMessage(SetPerkLevelMessage.class, SetPerkLevelMessage::encode, SetPerkLevelMessage::decode, SetPerkLevelMessage::handler); - addNetworkMessage(BreathMessage.class, BreathMessage::buffer, BreathMessage::new, BreathMessage::handler); + addNetworkMessage(BreathMessage.class, BreathMessage::encode, BreathMessage::decode, BreathMessage::handler); event.enqueueWork(() -> BrewingRecipeRegistry.addRecipe(Ingredient.of(PotionUtils.setPotion(new ItemStack(Items.POTION), Potions.WATER)), Ingredient.of(Items.LIGHTNING_ROD), PotionUtils.setPotion(new ItemStack(Items.POTION), ModPotion.SHOCK.get()))); diff --git a/src/main/java/net/mcreator/superbwarfare/entity/ClaymoreEntity.java b/src/main/java/net/mcreator/superbwarfare/entity/ClaymoreEntity.java index 363032eb0..e8a1800ab 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/ClaymoreEntity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/ClaymoreEntity.java @@ -31,7 +31,7 @@ import software.bernie.geckolib.util.GeckoLibUtil; import java.util.Comparator; -public class ClaymoreEntity extends ThrowableItemProjectile implements GeoEntity, AnimatedEntity{ +public class ClaymoreEntity extends ThrowableItemProjectile implements GeoEntity, AnimatedEntity { public static final EntityDataAccessor ANIMATION = SynchedEntityData.defineId(ClaymoreEntity.class, EntityDataSerializers.STRING); public static final EntityDataAccessor ROT_Y = SynchedEntityData.defineId(ClaymoreEntity.class, EntityDataSerializers.FLOAT); @@ -159,12 +159,13 @@ public class ClaymoreEntity extends ThrowableItemProjectile implements GeoEntity net.minecraftforge.event.ForgeEventFactory.onExplosionStart(this.level(), explosion); explosion.finalizeExplosion(false); } + @Override protected void updateRotation() { this.setXRot(0); this.setYRot(this.entityData.get(ROT_Y)); } - + @Override public EntityDimensions getDimensions(Pose p_33597_) { return super.getDimensions(p_33597_).scale((float) 0.5); diff --git a/src/main/java/net/mcreator/superbwarfare/entity/MortarShellEntity.java b/src/main/java/net/mcreator/superbwarfare/entity/MortarShellEntity.java index 3c084e6c9..c6a4d44c3 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/MortarShellEntity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/MortarShellEntity.java @@ -80,7 +80,7 @@ public class MortarShellEntity extends ThrowableItemProjectile { super.onHitBlock(blockHitResult); BlockPos resultPos = blockHitResult.getBlockPos(); BlockState state = this.level().getBlockState(resultPos); - if(state.getBlock() instanceof BellBlock bell) { + if (state.getBlock() instanceof BellBlock bell) { bell.attemptToRing(this.level(), resultPos, blockHitResult.getDirection()); } if (!this.level().isClientSide() && this.level() instanceof ServerLevel) { diff --git a/src/main/java/net/mcreator/superbwarfare/entity/TargetEntity.java b/src/main/java/net/mcreator/superbwarfare/entity/TargetEntity.java index 4aec8c4f4..a3f1cdca2 100644 --- a/src/main/java/net/mcreator/superbwarfare/entity/TargetEntity.java +++ b/src/main/java/net/mcreator/superbwarfare/entity/TargetEntity.java @@ -94,7 +94,6 @@ public class TargetEntity extends PathfinderMob implements GeoEntity, AnimatedEn @Override public boolean hurt(DamageSource source, float amount) { - if (source.is(DamageTypes.IN_FIRE) || source.getDirectEntity() instanceof ThrownPotion || source.getDirectEntity() instanceof AreaEffectCloud @@ -149,7 +148,7 @@ public class TargetEntity extends PathfinderMob implements GeoEntity, AnimatedEn if (sourceEntity instanceof Player player) { player.displayClientMessage(Component.literal(("Target Down " + new java.text.DecimalFormat("##.#").format((entity.position()).distanceTo((sourceEntity.position()))) + "M")), true); SoundTool.playLocalSound(player, ModSounds.TARGET_DOWN.get(), 100, 1); - ((TargetEntity) entity).entityData.set(DOWN_TIME,90); + ((TargetEntity) entity).entityData.set(DOWN_TIME, 90); } } } @@ -193,11 +192,10 @@ public class TargetEntity extends PathfinderMob implements GeoEntity, AnimatedEn public void baseTick() { super.baseTick(); if (this.entityData.get(DOWN_TIME) > 0) { - this.entityData.set(DOWN_TIME,this.entityData.get(DOWN_TIME) - 1); + this.entityData.set(DOWN_TIME, this.entityData.get(DOWN_TIME) - 1); } } - @Override public boolean isPushable() { return false; @@ -227,9 +225,6 @@ public class TargetEntity extends PathfinderMob implements GeoEntity, AnimatedEn this.setNoGravity(true); } - public static void init() { - } - public static AttributeSupplier.Builder createAttributes() { return Mob.createMobAttributes() .add(Attributes.MOVEMENT_SPEED, 0) @@ -241,7 +236,6 @@ public class TargetEntity extends PathfinderMob implements GeoEntity, AnimatedEn .add(Attributes.FLYING_SPEED, 0); } - @Override protected void tickDeath() { ++this.deathTime; diff --git a/src/main/java/net/mcreator/superbwarfare/init/ModKeyMappings.java b/src/main/java/net/mcreator/superbwarfare/init/ModKeyMappings.java index bdac76a84..99bedb61d 100644 --- a/src/main/java/net/mcreator/superbwarfare/init/ModKeyMappings.java +++ b/src/main/java/net/mcreator/superbwarfare/init/ModKeyMappings.java @@ -11,7 +11,7 @@ import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod; import org.lwjgl.glfw.GLFW; -@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, value = {Dist.CLIENT}) +@Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) public class ModKeyMappings { public static final KeyMapping RELOAD = new KeyMapping("key.superbwarfare.reload", GLFW.GLFW_KEY_R, "key.categories.superbwarfare") { private boolean isDownOld = false; @@ -34,9 +34,9 @@ public class ModKeyMappings { super.setDown(isDown); if (isDownOld != isDown && isDown) { ModUtils.PACKET_HANDLER.sendToServer(new DoubleJumpMessage(0)); - if (Minecraft.getInstance().player != null) { - DoubleJumpMessage.pressAction(Minecraft.getInstance().player, 0); - } +// if (Minecraft.getInstance().player != null) { +// DoubleJumpMessage.pressAction(Minecraft.getInstance().player, 0); +// } } isDownOld = isDown; } @@ -106,9 +106,7 @@ public class ModKeyMappings { super.setDown(isDown); if (isDownOld != isDown && isDown) { ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(2, true)); - FORWARD_LASTPRESS = System.currentTimeMillis(); } else if (isDownOld != isDown) { - int dt = (int) (System.currentTimeMillis() - FORWARD_LASTPRESS); ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(2, false)); } isDownOld = isDown; @@ -122,9 +120,7 @@ public class ModKeyMappings { super.setDown(isDown); if (isDownOld != isDown && isDown) { ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(3, true)); - BACKWARD_LASTPRESS = System.currentTimeMillis(); } else if (isDownOld != isDown) { - int dt = (int) (System.currentTimeMillis() - BACKWARD_LASTPRESS); ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(3, false)); } isDownOld = isDown; @@ -138,9 +134,7 @@ public class ModKeyMappings { super.setDown(isDown); if (isDownOld != isDown && isDown) { ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(0, true)); - LEFT_LASTPRESS = System.currentTimeMillis(); } else if (isDownOld != isDown) { - int dt = (int) (System.currentTimeMillis() - LEFT_LASTPRESS); ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(0, false)); } isDownOld = isDown; @@ -154,9 +148,7 @@ public class ModKeyMappings { super.setDown(isDown); if (isDownOld != isDown && isDown) { ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(1, true)); - RIGHT_LASTPRESS = System.currentTimeMillis(); } else if (isDownOld != isDown) { - int dt = (int) (System.currentTimeMillis() - RIGHT_LASTPRESS); ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(1, false)); } isDownOld = isDown; @@ -170,9 +162,7 @@ public class ModKeyMappings { super.setDown(isDown); if (isDownOld != isDown && isDown) { ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(4, true)); - UP_LASTPRESS = System.currentTimeMillis(); } else if (isDownOld != isDown) { - int dt = (int) (System.currentTimeMillis() - UP_LASTPRESS); ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(4, false)); } isDownOld = isDown; @@ -186,9 +176,7 @@ public class ModKeyMappings { super.setDown(isDown); if (isDownOld != isDown && isDown) { ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(5, true)); - DOWN_LASTPRESS = System.currentTimeMillis(); } else if (isDownOld != isDown) { - int dt = (int) (System.currentTimeMillis() - DOWN_LASTPRESS); ModUtils.PACKET_HANDLER.sendToServer(new DroneMovementMessage(5, false)); } isDownOld = isDown; @@ -203,23 +191,13 @@ public class ModKeyMappings { super.setDown(isDown); if (isDownOld != isDown && isDown) { ModUtils.PACKET_HANDLER.sendToServer(new BreathMessage(true)); - BREATH_LASTPRESS = System.currentTimeMillis(); } else if (isDownOld != isDown) { - int dt = (int) (System.currentTimeMillis() - BREATH_LASTPRESS); ModUtils.PACKET_HANDLER.sendToServer(new BreathMessage(false)); } isDownOld = isDown; } }; - private static long FORWARD_LASTPRESS = 0; - private static long BACKWARD_LASTPRESS = 0; - private static long LEFT_LASTPRESS = 0; - private static long RIGHT_LASTPRESS = 0; - private static long UP_LASTPRESS = 0; - private static long DOWN_LASTPRESS = 0; - private static long BREATH_LASTPRESS = 0; - @SubscribeEvent public static void registerKeyMappings(RegisterKeyMappingsEvent event) { event.register(RELOAD); diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/AK47Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/AK47Item.java index 78f6f3cee..0ad816e89 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/AK47Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/AK47Item.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -68,7 +69,7 @@ public class AK47Item extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Aa12Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/Aa12Item.java index b1512ba2f..7f214b57f 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Aa12Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/Aa12Item.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.RarityTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; @@ -68,7 +69,7 @@ public class Aa12Item extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Abekiri.java b/src/main/java/net/mcreator/superbwarfare/item/gun/Abekiri.java index 363d48c79..1e21375fd 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Abekiri.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/Abekiri.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -69,7 +70,7 @@ public class Abekiri extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Devotion.java b/src/main/java/net/mcreator/superbwarfare/item/gun/Devotion.java index 475d16d05..2c21ede64 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Devotion.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/Devotion.java @@ -9,12 +9,11 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; -import net.mcreator.superbwarfare.tools.TooltipTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.player.LocalPlayer; import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer; -import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvent; import net.minecraft.world.InteractionHand; @@ -24,8 +23,10 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.ai.attributes.Attribute; import net.minecraft.world.entity.ai.attributes.AttributeModifier; import net.minecraft.world.entity.ai.attributes.Attributes; -import net.minecraft.world.item.*; -import net.minecraft.world.level.Level; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemDisplayContext; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.Rarity; import net.minecraftforge.client.extensions.common.IClientItemExtensions; import software.bernie.geckolib.animatable.GeoItem; import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache; @@ -36,7 +37,6 @@ import software.bernie.geckolib.core.animation.RawAnimation; import software.bernie.geckolib.core.object.PlayState; import software.bernie.geckolib.util.GeckoLibUtil; -import java.util.List; import java.util.Set; import java.util.UUID; import java.util.function.Consumer; @@ -63,12 +63,11 @@ public class Devotion extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } - public void getTransformType(ItemDisplayContext type) { transformType = type; } @@ -148,11 +147,6 @@ public class Devotion extends GunItem implements GeoItem, AnimatedItem { return map; } - @Override - public void appendHoverText(ItemStack stack, Level world, List list, TooltipFlag flag) { - TooltipTool.addGunTips(list, stack); - } - @Override public Set getReloadSound() { return Set.of(ModSounds.DEVOTION_RELOAD_EMPTY.get(), ModSounds.DEVOTION_RELOAD_NORMAL.get()); diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Glock17Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/Glock17Item.java index 966fad96d..68c4fefef 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Glock17Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/Glock17Item.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -66,7 +67,7 @@ public class Glock17Item extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Glock18Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/Glock18Item.java index d33784e89..fa0525adf 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Glock18Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/Glock18Item.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -66,7 +67,7 @@ public class Glock18Item extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Hk416Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/Hk416Item.java index d17cbb43c..28fd58234 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Hk416Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/Hk416Item.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -63,7 +64,7 @@ public class Hk416Item extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/HuntingRifle.java b/src/main/java/net/mcreator/superbwarfare/item/gun/HuntingRifle.java index 506aac1ae..9d3d5cb13 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/HuntingRifle.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/HuntingRifle.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -68,7 +69,7 @@ public class HuntingRifle extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/K98Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/K98Item.java index 292ff8500..f5ddf2828 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/K98Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/K98Item.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -66,7 +67,7 @@ public class K98Item extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/M1911Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/M1911Item.java index 8ff7beac0..fa638fbb9 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/M1911Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/M1911Item.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -66,7 +67,7 @@ public class M1911Item extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/M4Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/M4Item.java index 4940b5c24..4b2b1806f 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/M4Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/M4Item.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -63,7 +64,7 @@ public class M4Item extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/M60Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/M60Item.java index 541b92bd1..78066d30e 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/M60Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/M60Item.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -63,7 +64,7 @@ public class M60Item extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/M79Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/M79Item.java index be6b8c540..ff0a38c53 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/M79Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/M79Item.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -70,7 +71,7 @@ public class M79Item extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/M870Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/M870Item.java index e9f7b8f61..dbdb9e423 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/M870Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/M870Item.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -64,7 +65,7 @@ public class M870Item extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/M98bItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/M98bItem.java index bf310aa81..63c171a4e 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/M98bItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/M98bItem.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -63,7 +64,7 @@ public class M98bItem extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/MarlinItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/MarlinItem.java index 720e34d98..8a3cc3412 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/MarlinItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/MarlinItem.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -64,7 +65,7 @@ public class MarlinItem extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Mk14Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/Mk14Item.java index 717f0ced2..1a719a0b8 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Mk14Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/Mk14Item.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -63,7 +64,7 @@ public class Mk14Item extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Ntw20.java b/src/main/java/net/mcreator/superbwarfare/item/gun/Ntw20.java index 9a65a67a8..2e4e92728 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Ntw20.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/Ntw20.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.RarityTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; @@ -76,7 +77,7 @@ public class Ntw20 extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Qbz95Item.java b/src/main/java/net/mcreator/superbwarfare/item/gun/Qbz95Item.java index 4c66774e4..1098f7c13 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Qbz95Item.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/Qbz95Item.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -66,7 +67,7 @@ public class Qbz95Item extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/RpgItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/RpgItem.java index f414b91a2..b20e6216e 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/RpgItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/RpgItem.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -65,7 +66,7 @@ public class RpgItem extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/RpkItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/RpkItem.java index fcfb61b0d..e82e0a06c 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/RpkItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/RpkItem.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -63,7 +64,7 @@ public class RpkItem extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/SentinelItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/SentinelItem.java index b57abac65..d24a5d596 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/SentinelItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/SentinelItem.java @@ -10,6 +10,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.RarityTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; @@ -111,7 +112,7 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/SksItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/SksItem.java index 94558e21e..1acc500cd 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/SksItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/SksItem.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -68,7 +69,7 @@ public class SksItem extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/SvdItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/SvdItem.java index d29641ba7..1e3f6e4c8 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/SvdItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/SvdItem.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -63,7 +64,7 @@ public class SvdItem extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Taser.java b/src/main/java/net/mcreator/superbwarfare/item/gun/Taser.java index d057062b2..92ac78a97 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Taser.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/Taser.java @@ -9,10 +9,7 @@ import net.mcreator.superbwarfare.init.ModItems; import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; -import net.mcreator.superbwarfare.tools.EnchantmentCategoryTool; -import net.mcreator.superbwarfare.tools.GunsTool; -import net.mcreator.superbwarfare.tools.ItemNBTTool; -import net.mcreator.superbwarfare.tools.TooltipTool; +import net.mcreator.superbwarfare.tools.*; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; import net.minecraft.client.player.LocalPlayer; @@ -93,7 +90,7 @@ public class Taser extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/Trachelium.java b/src/main/java/net/mcreator/superbwarfare/item/gun/Trachelium.java index e2d951942..f1ba1cc74 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/Trachelium.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/Trachelium.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.RarityTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.ChatFormatting; @@ -75,7 +76,7 @@ public class Trachelium extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/item/gun/VectorItem.java b/src/main/java/net/mcreator/superbwarfare/item/gun/VectorItem.java index 49f9dc2b5..2e34e5977 100644 --- a/src/main/java/net/mcreator/superbwarfare/item/gun/VectorItem.java +++ b/src/main/java/net/mcreator/superbwarfare/item/gun/VectorItem.java @@ -9,6 +9,7 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.tools.GunsTool; +import net.mcreator.superbwarfare.tools.PoseTool; import net.mcreator.superbwarfare.tools.TooltipTool; import net.minecraft.client.Minecraft; import net.minecraft.client.model.HumanoidModel; @@ -63,7 +64,7 @@ public class VectorItem extends GunItem implements GeoItem, AnimatedItem { @Override public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - return GunsTool.pose(entityLiving, hand, stack); + return PoseTool.pose(entityLiving, hand, stack); } }); } diff --git a/src/main/java/net/mcreator/superbwarfare/network/message/BreathMessage.java b/src/main/java/net/mcreator/superbwarfare/network/message/BreathMessage.java index 9b954954b..c4f2aa866 100644 --- a/src/main/java/net/mcreator/superbwarfare/network/message/BreathMessage.java +++ b/src/main/java/net/mcreator/superbwarfare/network/message/BreathMessage.java @@ -2,7 +2,7 @@ package net.mcreator.superbwarfare.network.message; import net.mcreator.superbwarfare.network.ModVariables; import net.minecraft.network.FriendlyByteBuf; -import net.minecraft.world.entity.player.Player; +import net.minecraft.server.level.ServerPlayer; import net.minecraft.world.level.Level; import net.minecraftforge.network.NetworkEvent; @@ -15,45 +15,44 @@ public class BreathMessage { this.type = type; } - public BreathMessage(FriendlyByteBuf buffer) { - this.type = buffer.readBoolean(); + public static BreathMessage decode(FriendlyByteBuf buffer) { + return new BreathMessage(buffer.readBoolean()); } - public static void buffer(BreathMessage message, FriendlyByteBuf buffer) { + public static void encode(BreathMessage message, FriendlyByteBuf buffer) { buffer.writeBoolean(message.type); } public static void handler(BreathMessage message, Supplier contextSupplier) { NetworkEvent.Context context = contextSupplier.get(); context.enqueueWork(() -> { - if (context.getSender() != null) { - pressAction(context.getSender(), message.type); + ServerPlayer player = context.getSender(); + + if (player != null) { + Level level = player.level(); + + if (!level.isLoaded(player.blockPosition())) { + return; + } + + var cap = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null); + + if (message.type && !cap.orElse(new ModVariables.PlayerVariables()).breathExhaustion && cap.orElse(new ModVariables.PlayerVariables()).zooming && + player.getPersistentData().getDouble("NoBreath") == 0) { + cap.ifPresent(capability -> { + capability.breath = true; + capability.syncPlayerVariables(player); + }); + } + + if (!message.type) { + cap.ifPresent(capability -> { + capability.breath = false; + capability.syncPlayerVariables(player); + }); + } } }); context.setPacketHandled(true); } - - public static void pressAction(Player entity, boolean type) { - Level world = entity.level(); - - if (!world.isLoaded(entity.blockPosition())) { - return; - } - - var cap = entity.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null); - - if (type && !cap.orElse(new ModVariables.PlayerVariables()).breathExhaustion && cap.orElse(new ModVariables.PlayerVariables()).zooming && entity.getPersistentData().getDouble("NoBreath") == 0) { - cap.ifPresent(capability -> { - capability.breath = true; - capability.syncPlayerVariables(entity); - }); - } - - if (!type) { - cap.ifPresent(capability -> { - capability.breath = false; - capability.syncPlayerVariables(entity); - }); - } - } } diff --git a/src/main/java/net/mcreator/superbwarfare/network/message/DoubleJumpMessage.java b/src/main/java/net/mcreator/superbwarfare/network/message/DoubleJumpMessage.java index b93f07fa5..55ee2f4cb 100644 --- a/src/main/java/net/mcreator/superbwarfare/network/message/DoubleJumpMessage.java +++ b/src/main/java/net/mcreator/superbwarfare/network/message/DoubleJumpMessage.java @@ -4,8 +4,8 @@ import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.network.ModVariables; import net.minecraft.core.BlockPos; import net.minecraft.network.FriendlyByteBuf; +import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundSource; -import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; import net.minecraft.world.phys.Vec3; import net.minecraftforge.network.NetworkEvent; @@ -19,47 +19,46 @@ public class DoubleJumpMessage { this.type = type; } - public DoubleJumpMessage(FriendlyByteBuf buffer) { - this.type = buffer.readInt(); + public static DoubleJumpMessage decode(FriendlyByteBuf buffer) { + return new DoubleJumpMessage(buffer.readInt()); } - public static void buffer(DoubleJumpMessage message, FriendlyByteBuf buffer) { + public static void encode(DoubleJumpMessage message, FriendlyByteBuf buffer) { buffer.writeInt(message.type); } public static void handler(DoubleJumpMessage message, Supplier contextSupplier) { NetworkEvent.Context context = contextSupplier.get(); context.enqueueWork(() -> { - if (context.getSender() != null) { - pressAction(context.getSender(), message.type); + ServerPlayer player = context.getSender(); + + if (player != null) { + Level level = player.level(); + double x = player.getX(); + double y = player.getY(); + double z = player.getZ(); + + if (!level.isLoaded(player.blockPosition())) { + return; + } + + if (message.type == 0) { + if (player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).playerDoubleJump) { + player.setDeltaMovement(new Vec3(player.getLookAngle().x, 0.8, player.getLookAngle().z)); + if (!level.isClientSide()) { + level.playSound(null, BlockPos.containing(x, y, z), ModSounds.DOUBLE_JUMP.get(), SoundSource.BLOCKS, 1, 1); + } else { + level.playLocalSound(x, y, z, ModSounds.DOUBLE_JUMP.get(), SoundSource.BLOCKS, 1, 1, false); + } + + player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { + capability.playerDoubleJump = false; + capability.syncPlayerVariables(player); + }); + } + } } }); context.setPacketHandled(true); } - - public static void pressAction(Player entity, int type) { - Level level = entity.level(); - double x = entity.getX(); - double y = entity.getY(); - double z = entity.getZ(); - - if (!level.hasChunkAt(entity.blockPosition())) { - return; - } - - if (type == 0) { - if ((entity.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).playerDoubleJump) { - entity.setDeltaMovement(new Vec3((1 * entity.getLookAngle().x), 0.8, (1 * entity.getLookAngle().z))); - if (!level.isClientSide()) { - level.playSound(null, BlockPos.containing(x, y, z), ModSounds.DOUBLE_JUMP.get(), SoundSource.BLOCKS, 1, 1); - } else { - level.playLocalSound(x, y, z, ModSounds.DOUBLE_JUMP.get(), SoundSource.BLOCKS, 1, 1, false); - } - entity.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { - capability.playerDoubleJump = false; - capability.syncPlayerVariables(entity); - }); - } - } - } } diff --git a/src/main/java/net/mcreator/superbwarfare/network/message/DroneFireMessage.java b/src/main/java/net/mcreator/superbwarfare/network/message/DroneFireMessage.java index 69e5729ce..9cfa640c6 100644 --- a/src/main/java/net/mcreator/superbwarfare/network/message/DroneFireMessage.java +++ b/src/main/java/net/mcreator/superbwarfare/network/message/DroneFireMessage.java @@ -20,7 +20,7 @@ public class DroneFireMessage { this.type = buffer.readInt(); } - public static void buffer(DroneFireMessage message, FriendlyByteBuf buffer) { + public static void encode(DroneFireMessage message, FriendlyByteBuf buffer) { buffer.writeInt(message.type); } diff --git a/src/main/java/net/mcreator/superbwarfare/network/message/FireMessage.java b/src/main/java/net/mcreator/superbwarfare/network/message/FireMessage.java index 9ba2c4ddd..745ccdba3 100644 --- a/src/main/java/net/mcreator/superbwarfare/network/message/FireMessage.java +++ b/src/main/java/net/mcreator/superbwarfare/network/message/FireMessage.java @@ -38,7 +38,7 @@ public class FireMessage { this.type = buffer.readInt(); } - public static void buffer(FireMessage message, FriendlyByteBuf buffer) { + public static void encode(FireMessage message, FriendlyByteBuf buffer) { buffer.writeInt(message.type); } diff --git a/src/main/java/net/mcreator/superbwarfare/network/message/FireModeMessage.java b/src/main/java/net/mcreator/superbwarfare/network/message/FireModeMessage.java index 5fcc6c00f..c59339023 100644 --- a/src/main/java/net/mcreator/superbwarfare/network/message/FireModeMessage.java +++ b/src/main/java/net/mcreator/superbwarfare/network/message/FireModeMessage.java @@ -26,7 +26,7 @@ public class FireModeMessage { this.type = buffer.readInt(); } - public static void buffer(FireModeMessage message, FriendlyByteBuf buffer) { + public static void encode(FireModeMessage message, FriendlyByteBuf buffer) { buffer.writeInt(message.type); } diff --git a/src/main/java/net/mcreator/superbwarfare/network/message/ReloadMessage.java b/src/main/java/net/mcreator/superbwarfare/network/message/ReloadMessage.java index b101da299..f9c9e680a 100644 --- a/src/main/java/net/mcreator/superbwarfare/network/message/ReloadMessage.java +++ b/src/main/java/net/mcreator/superbwarfare/network/message/ReloadMessage.java @@ -40,8 +40,10 @@ public class ReloadMessage { public static void pressAction(Player player, int type) { Level level = player.level(); - if (!level.isLoaded(player.blockPosition())) + if (!level.isLoaded(player.blockPosition())) { return; + } + if (type == 0) { ItemStack stack = player.getMainHandItem(); var capability = player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()); @@ -54,13 +56,11 @@ public class ReloadMessage { ) { CompoundTag tag = stack.getOrCreateTag(); - boolean can_single_reload = tag.getDouble("iterative_time") != 0; - - boolean can_reload = (tag.getDouble("normal_reload_time") != 0 || tag.getDouble("empty_reload_time") != 0) && tag.getDouble("clipLoad") != 1; - + boolean canSingleReload = tag.getDouble("iterative_time") != 0; + boolean canReload = (tag.getDouble("normal_reload_time") != 0 || tag.getDouble("empty_reload_time") != 0) && tag.getDouble("clipLoad") != 1; boolean clipLoad = tag.getInt("ammo") == 0 && tag.getDouble("clipLoad") == 1; - //检查备弹 + // 检查备弹 if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO) && capability.shotgunAmmo == 0) { return; } else if (stack.is(ModTags.Items.USE_SNIPER_AMMO) && capability.sniperAmmo == 0) { @@ -77,7 +77,7 @@ public class ReloadMessage { return; } - if (can_reload || clipLoad) { + if (canReload || clipLoad) { if (stack.is(ModTags.Items.OPEN_BOLT)) { if (stack.getItem() == ModItems.M_60.get() || stack.getItem() == ModItems.ABEKIRI.get()) { if (tag.getInt("ammo") < tag.getDouble("mag")) { @@ -94,7 +94,7 @@ public class ReloadMessage { return; } - if (can_single_reload) { + if (canSingleReload) { if (tag.getInt("ammo") < tag.getDouble("mag")) { tag.putBoolean("start_single_reload", true); } diff --git a/src/main/java/net/mcreator/superbwarfare/network/message/VehicleFireMessage.java b/src/main/java/net/mcreator/superbwarfare/network/message/VehicleFireMessage.java index 53375644a..40e293114 100644 --- a/src/main/java/net/mcreator/superbwarfare/network/message/VehicleFireMessage.java +++ b/src/main/java/net/mcreator/superbwarfare/network/message/VehicleFireMessage.java @@ -19,7 +19,7 @@ public class VehicleFireMessage { this.type = buffer.readInt(); } - public static void buffer(VehicleFireMessage message, FriendlyByteBuf buffer) { + public static void encode(VehicleFireMessage message, FriendlyByteBuf buffer) { buffer.writeInt(message.type); } diff --git a/src/main/java/net/mcreator/superbwarfare/network/message/ZoomMessage.java b/src/main/java/net/mcreator/superbwarfare/network/message/ZoomMessage.java index a672bf27f..22287c6af 100644 --- a/src/main/java/net/mcreator/superbwarfare/network/message/ZoomMessage.java +++ b/src/main/java/net/mcreator/superbwarfare/network/message/ZoomMessage.java @@ -6,7 +6,6 @@ import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.tools.SoundTool; import net.minecraft.network.FriendlyByteBuf; import net.minecraft.server.level.ServerPlayer; -import net.minecraft.world.entity.player.Player; import net.minecraft.world.level.Level; import net.minecraftforge.network.NetworkEvent; @@ -19,60 +18,53 @@ public class ZoomMessage { this.type = type; } - public ZoomMessage(FriendlyByteBuf buffer) { - this.type = buffer.readInt(); + public static ZoomMessage decode(FriendlyByteBuf buffer) { + return new ZoomMessage(buffer.readInt()); } - public static void buffer(ZoomMessage message, FriendlyByteBuf buffer) { + public static void encode(ZoomMessage message, FriendlyByteBuf buffer) { buffer.writeInt(message.type); } public static void handler(ZoomMessage message, Supplier contextSupplier) { NetworkEvent.Context context = contextSupplier.get(); context.enqueueWork(() -> { - if (context.getSender() != null) { - pressAction(context.getSender(), message.type); + ServerPlayer player = context.getSender(); + + if (player != null) { + Level level = player.level(); + + if (!level.isLoaded(player.blockPosition())) { + return; + } + + if (message.type == 0) { + player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { + capability.zoom = true; + capability.syncPlayerVariables(player); + }); + + if (player.isPassenger() && player.getVehicle() instanceof ICannonEntity) { + SoundTool.playLocalSound(player, ModSounds.CANNON_ZOOM_IN.get(), 2, 1); + } + } + + if (message.type == 1) { + player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { + capability.zoom = false; + capability.syncPlayerVariables(player); + }); + player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { + capability.zooming = false; + capability.syncPlayerVariables(player); + }); + + if (player.isPassenger() && player.getVehicle() instanceof ICannonEntity) { + SoundTool.playLocalSound(player, ModSounds.CANNON_ZOOM_OUT.get(), 2, 1); + } + } } }); context.setPacketHandled(true); } - - public static void pressAction(Player entity, int type) { - Level world = entity.level(); - - if (!world.isLoaded(entity.blockPosition())) { - return; - } - - if (type == 0) { - entity.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { - capability.zoom = true; - capability.syncPlayerVariables(entity); - }); - - if (entity.isPassenger() && entity.getVehicle() instanceof ICannonEntity) { - if (entity instanceof ServerPlayer serverPlayer) { - SoundTool.playLocalSound(serverPlayer, ModSounds.CANNON_ZOOM_IN.get(), 2, 1); - } - } - } - - if (type == 1) { - entity.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { - capability.zoom = false; - capability.syncPlayerVariables(entity); - }); - entity.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> { - capability.zooming = false; - capability.syncPlayerVariables(entity); - }); - - if (entity.isPassenger() && entity.getVehicle() instanceof ICannonEntity) { - if (entity instanceof ServerPlayer serverPlayer) { - SoundTool.playLocalSound(serverPlayer, ModSounds.CANNON_ZOOM_OUT.get(), 2, 1); - } - } - - } - } } diff --git a/src/main/java/net/mcreator/superbwarfare/tools/GunsTool.java b/src/main/java/net/mcreator/superbwarfare/tools/GunsTool.java index a2340956b..b430ca855 100644 --- a/src/main/java/net/mcreator/superbwarfare/tools/GunsTool.java +++ b/src/main/java/net/mcreator/superbwarfare/tools/GunsTool.java @@ -4,15 +4,10 @@ import com.google.gson.stream.JsonReader; import net.mcreator.superbwarfare.ModUtils; import net.mcreator.superbwarfare.network.ModVariables; import net.mcreator.superbwarfare.network.message.GunsDataMessage; -import net.minecraft.client.model.HumanoidModel; import net.minecraft.nbt.CompoundTag; import net.minecraft.server.level.ServerPlayer; import net.minecraft.server.packs.resources.ResourceManager; -import net.minecraft.util.Mth; -import net.minecraft.world.InteractionHand; -import net.minecraft.world.effect.MobEffects; import net.minecraft.world.entity.Entity; -import net.minecraft.world.entity.HumanoidArm; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.Level; @@ -143,45 +138,4 @@ public class GunsTool { tag.putBoolean("is_empty_reloading", false); } - public static HumanoidModel.ArmPose pose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { - if (stack.getOrCreateTag().getBoolean("is_empty_reloading") - || stack.getOrCreateTag().getBoolean("is_normal_reloading") - || stack.getOrCreateTag().getBoolean("reloading") - || stack.getOrCreateTag().getBoolean("sentinel_is_charging")) { - return ReloadPose; - } else if (entityLiving.isSprinting() && entityLiving.onGround() && entityLiving.getPersistentData().getDouble("noRun") == 0) { - if (entityLiving.hasEffect(MobEffects.MOVEMENT_SPEED)) { - return TacticalSprintPose; - } else { - return SprintPose; - } - } else { - return HumanoidModel.ArmPose.BOW_AND_ARROW; - } - } - - private static final HumanoidModel.ArmPose ReloadPose = HumanoidModel.ArmPose.create("ReloadPose", false, (model, entity, arm) -> { - if (arm == HumanoidArm.RIGHT) { - model.rightArm.xRot = -45F * Mth.DEG_TO_RAD; - model.rightArm.yRot = model.head.yRot - 22.5F * Mth.DEG_TO_RAD; - model.leftArm.xRot = -60F * Mth.DEG_TO_RAD; - model.leftArm.yRot = model.head.yRot + 22.5F * Mth.DEG_TO_RAD; - } - }); - - private static final HumanoidModel.ArmPose SprintPose = HumanoidModel.ArmPose.create("SprintPose", false, (model, entity, arm) -> { - if (arm == HumanoidArm.RIGHT) { - model.rightArm.xRot = -45F * Mth.DEG_TO_RAD; - model.rightArm.yRot = model.head.yRot - 50F * Mth.DEG_TO_RAD; - model.leftArm.xRot = -45F * Mth.DEG_TO_RAD; - model.leftArm.yRot = model.head.yRot + 22.5F * Mth.DEG_TO_RAD; - } - }); - - private static final HumanoidModel.ArmPose TacticalSprintPose = HumanoidModel.ArmPose.create("TacticalSprintPose", false, (model, entity, arm) -> { - if (arm == HumanoidArm.RIGHT) { - model.rightArm.xRot = 0.2f * model.rightArm.xRot -155F * Mth.DEG_TO_RAD; - model.rightArm.zRot = -5F * Mth.DEG_TO_RAD; - } - }); } diff --git a/src/main/java/net/mcreator/superbwarfare/tools/PoseTool.java b/src/main/java/net/mcreator/superbwarfare/tools/PoseTool.java new file mode 100644 index 000000000..2a3e4637f --- /dev/null +++ b/src/main/java/net/mcreator/superbwarfare/tools/PoseTool.java @@ -0,0 +1,57 @@ +package net.mcreator.superbwarfare.tools; + +import net.minecraft.client.model.HumanoidModel; +import net.minecraft.util.Mth; +import net.minecraft.world.InteractionHand; +import net.minecraft.world.effect.MobEffects; +import net.minecraft.world.entity.HumanoidArm; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.item.ItemStack; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; + +@OnlyIn(Dist.CLIENT) +public class PoseTool { + + private static final HumanoidModel.ArmPose ReloadPose = HumanoidModel.ArmPose.create("ReloadPose", false, (model, entity, arm) -> { + if (arm == HumanoidArm.RIGHT) { + model.rightArm.xRot = -45F * Mth.DEG_TO_RAD; + model.rightArm.yRot = model.head.yRot - 22.5F * Mth.DEG_TO_RAD; + model.leftArm.xRot = -60F * Mth.DEG_TO_RAD; + model.leftArm.yRot = model.head.yRot + 22.5F * Mth.DEG_TO_RAD; + } + }); + + private static final HumanoidModel.ArmPose SprintPose = HumanoidModel.ArmPose.create("SprintPose", false, (model, entity, arm) -> { + if (arm == HumanoidArm.RIGHT) { + model.rightArm.xRot = -45F * Mth.DEG_TO_RAD; + model.rightArm.yRot = model.head.yRot - 50F * Mth.DEG_TO_RAD; + model.leftArm.xRot = -45F * Mth.DEG_TO_RAD; + model.leftArm.yRot = model.head.yRot + 22.5F * Mth.DEG_TO_RAD; + } + }); + + private static final HumanoidModel.ArmPose TacticalSprintPose = HumanoidModel.ArmPose.create("TacticalSprintPose", false, (model, entity, arm) -> { + if (arm == HumanoidArm.RIGHT) { + model.rightArm.xRot = 0.2f * model.rightArm.xRot - 155F * Mth.DEG_TO_RAD; + model.rightArm.zRot = -5F * Mth.DEG_TO_RAD; + } + }); + + public static HumanoidModel.ArmPose pose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) { + if (stack.getOrCreateTag().getBoolean("is_empty_reloading") + || stack.getOrCreateTag().getBoolean("is_normal_reloading") + || stack.getOrCreateTag().getBoolean("reloading") + || stack.getOrCreateTag().getBoolean("sentinel_is_charging")) { + return ReloadPose; + } else if (entityLiving.isSprinting() && entityLiving.onGround() && entityLiving.getPersistentData().getDouble("noRun") == 0) { + if (entityLiving.hasEffect(MobEffects.MOVEMENT_SPEED)) { + return TacticalSprintPose; + } else { + return SprintPose; + } + } else { + return HumanoidModel.ArmPose.BOW_AND_ARROW; + } + } +}