diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/entity/TaserBulletProjectileModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/entity/TaserBulletProjectileModel.java index 6c4f17127..4cbe34bf6 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/entity/TaserBulletProjectileModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/entity/TaserBulletProjectileModel.java @@ -1,24 +1,24 @@ package com.atsuishio.superbwarfare.client.model.entity; import com.atsuishio.superbwarfare.ModUtils; -import com.atsuishio.superbwarfare.entity.projectile.TaserBulletProjectileEntity; +import com.atsuishio.superbwarfare.entity.projectile.TaserBulletEntity; import net.minecraft.resources.ResourceLocation; import software.bernie.geckolib.model.GeoModel; -public class TaserBulletProjectileModel extends GeoModel { +public class TaserBulletProjectileModel extends GeoModel { @Override - public ResourceLocation getAnimationResource(TaserBulletProjectileEntity entity) { + public ResourceLocation getAnimationResource(TaserBulletEntity entity) { return null; } @Override - public ResourceLocation getModelResource(TaserBulletProjectileEntity entity) { + public ResourceLocation getModelResource(TaserBulletEntity entity) { return ModUtils.loc("geo/taser_rod.geo.json"); } @Override - public ResourceLocation getTextureResource(TaserBulletProjectileEntity entity) { + public ResourceLocation getTextureResource(TaserBulletEntity entity) { return ModUtils.loc("textures/entity/taser_rod.png"); } } diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/TaserBulletProjectileRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/TaserBulletProjectileRenderer.java index f9603dab8..5c8d932d6 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/TaserBulletProjectileRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/entity/TaserBulletProjectileRenderer.java @@ -1,7 +1,7 @@ package com.atsuishio.superbwarfare.client.renderer.entity; import com.atsuishio.superbwarfare.client.model.entity.TaserBulletProjectileModel; -import com.atsuishio.superbwarfare.entity.projectile.TaserBulletProjectileEntity; +import com.atsuishio.superbwarfare.entity.projectile.TaserBulletEntity; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.math.Axis; @@ -13,18 +13,18 @@ import net.minecraft.util.Mth; import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.renderer.GeoEntityRenderer; -public class TaserBulletProjectileRenderer extends GeoEntityRenderer { +public class TaserBulletProjectileRenderer extends GeoEntityRenderer { public TaserBulletProjectileRenderer(EntityRendererProvider.Context renderManager) { super(renderManager, new TaserBulletProjectileModel()); } @Override - public RenderType getRenderType(TaserBulletProjectileEntity animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { + public RenderType getRenderType(TaserBulletEntity animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { return RenderType.entityTranslucent(getTextureLocation(animatable)); } @Override - public void preRender(PoseStack poseStack, TaserBulletProjectileEntity entity, BakedGeoModel model, MultiBufferSource bufferSource, VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, float red, float green, + public void preRender(PoseStack poseStack, TaserBulletEntity entity, BakedGeoModel model, MultiBufferSource bufferSource, VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) { float scale = 1f; this.scaleHeight = scale; @@ -33,7 +33,7 @@ public class TaserBulletProjectileRenderer extends GeoEntityRenderer type, Level world) { super(type, world); this.noCulling = true; } - public HeliRocketEntity(LivingEntity entity, Level level, float damage, float explosion_damage, float explosion_radius) { + public HeliRocketEntity(LivingEntity entity, Level level, float damage, float explosionDamage, float explosionRadius) { super(ModEntities.HELI_ROCKET.get(), entity, level); this.damage = damage; - this.explosion_damage = explosion_damage; - this.explosion_radius = explosion_radius; + this.explosionDamage = explosionDamage; + this.explosionRadius = explosionRadius; } public HeliRocketEntity(PlayMessages.SpawnEntity spawnEntity, Level level) { @@ -78,7 +79,6 @@ public class HeliRocketEntity extends ThrowableItemProjectile implements GeoEnti @Override protected void onHitEntity(EntityHitResult result) { - Entity entity = result.getEntity(); if (entity == this.getOwner() || entity == this.getVehicle()) return; if (this.getOwner() instanceof LivingEntity living) { @@ -99,7 +99,7 @@ public class HeliRocketEntity extends ThrowableItemProjectile implements GeoEnti if (this.level() instanceof ServerLevel) { causeRocketExplode(this, ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(), this, this.getOwner()), - entity, this.explosion_damage, this.explosion_radius, 1); + entity, this.explosionDamage, this.explosionRadius, 1); } } @@ -113,7 +113,7 @@ public class HeliRocketEntity extends ThrowableItemProjectile implements GeoEnti if (this.level() instanceof ServerLevel) { causeRocketExplode(this, ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(), this, this.getOwner()), - this, this.explosion_damage, this.explosion_radius, 1); + this, this.explosionDamage, this.explosionRadius, 1); } } @@ -141,7 +141,7 @@ public class HeliRocketEntity extends ThrowableItemProjectile implements GeoEnti if (this.level() instanceof ServerLevel) { causeRocketExplode(this, ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(), this, this.getOwner()), - this, this.explosion_damage, this.explosion_radius, 1); + this, this.explosionDamage, this.explosionRadius, 1); } this.discard(); } @@ -166,13 +166,6 @@ public class HeliRocketEntity extends ThrowableItemProjectile implements GeoEnti return 0.002f; } - public String getSyncedAnimation() { - return null; - } - - public void setAnimation(String animation) { - } - @Override public void registerControllers(AnimatableManager.ControllerRegistrar data) { data.add(new AnimationController<>(this, "movement", 0, this::movementPredicate)); diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/projectile/JavelinMissileEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/projectile/JavelinMissileEntity.java index ff13c4666..cbc3626f5 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/projectile/JavelinMissileEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/projectile/JavelinMissileEntity.java @@ -27,7 +27,6 @@ import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.entity.animal.Pig; import net.minecraft.world.entity.boss.enderdragon.EnderDragon; import net.minecraft.world.entity.monster.Monster; -import net.minecraft.world.entity.projectile.ThrowableItemProjectile; import net.minecraft.world.item.Item; import net.minecraft.world.level.Explosion; import net.minecraft.world.level.Level; @@ -51,7 +50,8 @@ import software.bernie.geckolib.util.GeckoLibUtil; import java.util.List; -public class JavelinMissileEntity extends ThrowableItemProjectile implements GeoEntity { +public class JavelinMissileEntity extends FastThrowableProjectile implements GeoEntity { + public static final EntityDataAccessor TARGET_UUID = SynchedEntityData.defineId(JavelinMissileEntity.class, EntityDataSerializers.STRING); public static final EntityDataAccessor TOP = SynchedEntityData.defineId(JavelinMissileEntity.class, EntityDataSerializers.BOOLEAN); public static final EntityDataAccessor TARGET_X = SynchedEntityData.defineId(JavelinMissileEntity.class, EntityDataSerializers.FLOAT); @@ -181,7 +181,7 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo public void tick() { super.tick(); Entity entity = EntityFindUtil.findEntity(this.level(), entityData.get(TARGET_UUID)); - List decoy = SeekTool.seekLivingEntities(this, this.level(), 48 , 160); + List decoy = SeekTool.seekLivingEntities(this, this.level(), 48, 160); for (var e : decoy) { if (e instanceof FlareDecoyEntity flareDecoy && !distracted) { @@ -196,7 +196,7 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo this.entityData.set(TARGET_X, (float) entity.getX()); this.entityData.set(TARGET_Y, (float) entity.getY() + 0.5f * entity.getBbHeight()); this.entityData.set(TARGET_Z, (float) entity.getZ()); - if ((!entity.getPassengers().isEmpty() || entity instanceof VehicleEntity) && entity.tickCount %((int)Math.max(0.04 * this.distanceTo(entity),2)) == 0) { + if ((!entity.getPassengers().isEmpty() || entity instanceof VehicleEntity) && entity.tickCount % ((int) Math.max(0.04 * this.distanceTo(entity), 2)) == 0) { entity.level().playSound(null, entity.getOnPos(), entity instanceof Pig ? SoundEvents.PIG_HURT : ModSounds.MISSILE_WARNING.get(), SoundSource.PLAYERS, 2, 1f); } } @@ -232,7 +232,6 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo } } } else if (guide_type == 1) { - double px = this.getX(); double ex = this.entityData.get(TARGET_X); double pz = this.getZ(); diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/projectile/RgoGrenadeEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/projectile/RgoGrenadeEntity.java index 0288e3da6..a92be2f73 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/projectile/RgoGrenadeEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/projectile/RgoGrenadeEntity.java @@ -20,7 +20,6 @@ import net.minecraft.util.Mth; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; -import net.minecraft.world.entity.projectile.ThrowableItemProjectile; import net.minecraft.world.item.Item; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.BellBlock; @@ -37,7 +36,8 @@ import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache import software.bernie.geckolib.core.animation.AnimatableManager; import software.bernie.geckolib.util.GeckoLibUtil; -public class RgoGrenadeEntity extends ThrowableItemProjectile implements GeoEntity { +public class RgoGrenadeEntity extends FastThrowableProjectile implements GeoEntity { + private int fuse = 80; private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/projectile/TaserBulletProjectileEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/projectile/TaserBulletEntity.java similarity index 90% rename from src/main/java/com/atsuishio/superbwarfare/entity/projectile/TaserBulletProjectileEntity.java rename to src/main/java/com/atsuishio/superbwarfare/entity/projectile/TaserBulletEntity.java index 3c2392fdd..2cd503fba 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/projectile/TaserBulletProjectileEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/projectile/TaserBulletEntity.java @@ -40,7 +40,7 @@ import software.bernie.geckolib.core.animation.AnimatableManager; import software.bernie.geckolib.util.GeckoLibUtil; @OnlyIn(value = Dist.CLIENT, _interface = ItemSupplier.class) -public class TaserBulletProjectileEntity extends AbstractArrow implements GeoEntity { +public class TaserBulletEntity extends AbstractArrow implements GeoEntity { private float damage = 1f; private int volt = 0; @@ -49,19 +49,19 @@ public class TaserBulletProjectileEntity extends AbstractArrow implements GeoEnt public static final ItemStack PROJECTILE_ITEM = new ItemStack(Items.AIR); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); - public TaserBulletProjectileEntity(PlayMessages.SpawnEntity packet, Level world) { - super(ModEntities.TASER_BULLET_PROJECTILE.get(), world); + public TaserBulletEntity(PlayMessages.SpawnEntity packet, Level world) { + super(ModEntities.TASER_BULLET.get(), world); this.pickup = AbstractArrow.Pickup.DISALLOWED; } - public TaserBulletProjectileEntity(LivingEntity entity, Level level, float damage, int volt, int wireLength) { - super(ModEntities.TASER_BULLET_PROJECTILE.get(), entity, level); + public TaserBulletEntity(LivingEntity entity, Level level, float damage, int volt, int wireLength) { + super(ModEntities.TASER_BULLET.get(), entity, level); this.damage = damage; this.volt = volt; this.wireLength = wireLength; } - public TaserBulletProjectileEntity(EntityType type, Level world) { + public TaserBulletEntity(EntityType type, Level world) { super(type, world); this.noCulling = true; } diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/projectile/WgMissileEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/projectile/WgMissileEntity.java index 1c90462d8..5d8b694fe 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/projectile/WgMissileEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/projectile/WgMissileEntity.java @@ -42,7 +42,7 @@ import software.bernie.geckolib.util.GeckoLibUtil; import javax.annotation.Nullable; -public class WgMissileEntity extends ThrowableItemProjectile implements GeoEntity { +public class WgMissileEntity extends FastThrowableProjectile implements GeoEntity { private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); @@ -187,9 +187,6 @@ public class WgMissileEntity extends ThrowableItemProjectile implements GeoEntit return 0; } - public void setAnimation(String animation) { - } - @Override public void registerControllers(AnimatableManager.ControllerRegistrar data) { data.add(new AnimationController<>(this, "movement", 0, this::movementPredicate)); diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModEntities.java b/src/main/java/com/atsuishio/superbwarfare/init/ModEntities.java index 894c2dcd0..bdb4cbd3a 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModEntities.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModEntities.java @@ -21,7 +21,7 @@ import net.minecraftforge.registries.RegistryObject; public class ModEntities { public static final DeferredRegister> REGISTRY = DeferredRegister.create(ForgeRegistries.ENTITY_TYPES, ModUtils.MODID); - // TODO 重构实体命名 + // Living Entities public static final RegistryObject> TARGET = register("target", EntityType.Builder.of(TargetEntity::new, MobCategory.CREATURE).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(TargetEntity::new).fireImmune().sized(0.875f, 2f)); @@ -32,47 +32,45 @@ public class ModEntities { // Misc Entities public static final RegistryObject> MORTAR = register("mortar", EntityType.Builder.of(MortarEntity::new, MobCategory.MISC).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(MortarEntity::new).fireImmune().sized(0.8f, 1.4f)); + public static final RegistryObject> LASER = register("laser", + EntityType.Builder.of(LaserEntity::new, MobCategory.MISC).sized(0.1f, 0.1f).fireImmune().setUpdateInterval(1)); + public static final RegistryObject> FLARE_DECOY = register("flare_decoy", + EntityType.Builder.of(FlareDecoyEntity::new, MobCategory.MISC).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(FlareDecoyEntity::new).sized(0.5f, 0.5f)); // Projectiles public static final RegistryObject> CLAYMORE = register("claymore", EntityType.Builder.of(ClaymoreEntity::new, MobCategory.MISC).setTrackingRange(64).setUpdateInterval(1).sized(0.5f, 0.5f)); public static final RegistryObject> C_4 = register("c4", EntityType.Builder.of(C4Entity::new, MobCategory.MISC).setTrackingRange(64).setUpdateInterval(1).sized(0.5f, 0.5f)); - public static final RegistryObject> TASER_BULLET_PROJECTILE = register("projectile_taser_bullet_projectile", - EntityType.Builder.of(TaserBulletProjectileEntity::new, MobCategory.MISC).setCustomClientFactory(TaserBulletProjectileEntity::new).setShouldReceiveVelocityUpdates(true).setTrackingRange(64) + public static final RegistryObject> TASER_BULLET = register("taser_bullet", + EntityType.Builder.of(TaserBulletEntity::new, MobCategory.MISC).setCustomClientFactory(TaserBulletEntity::new).setTrackingRange(64) .setUpdateInterval(1).sized(0.5f, 0.5f)); - public static final RegistryObject> GUN_GRENADE = register("projectile_gun_grenade", - EntityType.Builder.of(GunGrenadeEntity::new, MobCategory.MISC).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(GunGrenadeEntity::new).sized(0.5f, 0.5f)); // Fast Projectiles - public static final RegistryObject> SMALL_CANNON_SHELL = register("projectile_small_cannon_shell", + public static final RegistryObject> SMALL_CANNON_SHELL = register("small_cannon_shell", EntityType.Builder.of(SmallCannonShellEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(SmallCannonShellEntity::new).sized(0.5f, 0.5f)); - public static final RegistryObject> RPG_ROCKET = register("projectile_rpg_rocket", + public static final RegistryObject> RPG_ROCKET = register("rpg_rocket", EntityType.Builder.of(RpgRocketEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(RpgRocketEntity::new).sized(0.5f, 0.5f)); - public static final RegistryObject> MORTAR_SHELL = register("projectile_mortar_shell", + public static final RegistryObject> MORTAR_SHELL = register("mortar_shell", EntityType.Builder.of(MortarShellEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(MortarShellEntity::new).sized(0.5f, 0.5f)); public static final RegistryObject> PROJECTILE = register("projectile", EntityType.Builder.of(ProjectileEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).setCustomClientFactory(ProjectileEntity::new).setTrackingRange(64).noSave().noSummon().sized(0.25f, 0.25f)); - public static final RegistryObject> CANNON_SHELL = register("projectile_cannon_shell", + public static final RegistryObject> CANNON_SHELL = register("cannon_shell", EntityType.Builder.of(CannonShellEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(CannonShellEntity::new).sized(0.5f, 0.5f)); - - public static final RegistryObject> HAND_GRENADE_ENTITY = register("projectile_hand_grenade_entity", - EntityType.Builder.of(HandGrenadeEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(HandGrenadeEntity::new).sized(0.3f, 0.3f)); - public static final RegistryObject> RGO_GRENADE = register("projectile_rgo_grenade", - EntityType.Builder.of(RgoGrenadeEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(RgoGrenadeEntity::new).sized(0.3f, 0.3f)); - public static final RegistryObject> JAVELIN_MISSILE = register("projectile_javelin_missile", - EntityType.Builder.of(JavelinMissileEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(JavelinMissileEntity::new).sized(0.5f, 0.5f)); - - public static final RegistryObject> LASER = register("laser", - EntityType.Builder.of(LaserEntity::new, MobCategory.MISC).sized(0.1f, 0.1f).fireImmune().setUpdateInterval(1)); - public static final RegistryObject> HELI_ROCKET = register("projectile_heli_rocket", - EntityType.Builder.of(HeliRocketEntity::new, MobCategory.MISC).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(HeliRocketEntity::new).sized(0.5f, 0.5f)); - public static final RegistryObject> FLARE_DECOY = register("flare_decoy_entity", - EntityType.Builder.of(FlareDecoyEntity::new, MobCategory.MISC).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(FlareDecoyEntity::new).sized(0.5f, 0.5f)); + public static final RegistryObject> GUN_GRENADE = register("gun_grenade", + EntityType.Builder.of(GunGrenadeEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(GunGrenadeEntity::new).sized(0.5f, 0.5f)); public static final RegistryObject> MELON_BOMB = register("melon_bomb", - EntityType.Builder.of(MelonBombEntity::new, MobCategory.MISC).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(MelonBombEntity::new).sized(1f, 1f)); + EntityType.Builder.of(MelonBombEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(MelonBombEntity::new).sized(1f, 1f)); + public static final RegistryObject> HAND_GRENADE = register("hand_grenade", + EntityType.Builder.of(HandGrenadeEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(HandGrenadeEntity::new).sized(0.3f, 0.3f)); + public static final RegistryObject> RGO_GRENADE = register("rgo_grenade", + EntityType.Builder.of(RgoGrenadeEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(RgoGrenadeEntity::new).sized(0.3f, 0.3f)); + public static final RegistryObject> JAVELIN_MISSILE = register("javelin_missile", + EntityType.Builder.of(JavelinMissileEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(JavelinMissileEntity::new).sized(0.5f, 0.5f)); + public static final RegistryObject> HELI_ROCKET = register("heli_rocket", + EntityType.Builder.of(HeliRocketEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(HeliRocketEntity::new).sized(0.5f, 0.5f)); public static final RegistryObject> WG_MISSILE = register("wg_missile", - EntityType.Builder.of(WgMissileEntity::new, MobCategory.MISC).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(WgMissileEntity::new).fireImmune().sized(0.5f, 0.5f)); + EntityType.Builder.of(WgMissileEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(WgMissileEntity::new).fireImmune().sized(0.5f, 0.5f)); // Vehicles public static final RegistryObject> MK_42 = register("mk_42", @@ -95,12 +93,12 @@ public class ModEntities { public static final RegistryObject> BMP_2 = register("bmp_2", EntityType.Builder.of(Bmp2Entity::new, MobCategory.MISC).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(Bmp2Entity::new).fireImmune().sized(4f, 3f)); public static final RegistryObject> YX_100 = register("yx_100", - EntityType.Builder.of(Yx100Entity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(Yx100Entity::new).fireImmune().sized(5.5f, 3.25f)); + EntityType.Builder.of(Yx100Entity::new, MobCategory.MISC).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(Yx100Entity::new).fireImmune().sized(5.5f, 3.25f)); public static final RegistryObject> DRONE = register("drone", EntityType.Builder.of(DroneEntity::new, MobCategory.MISC).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(DroneEntity::new).sized(0.6f, 0.2f)); public static final RegistryObject> LASER_TOWER = register("laser_tower", - EntityType.Builder.of(LaserTowerEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(LaserTowerEntity::new).fireImmune().sized(0.9f, 1.65f)); + EntityType.Builder.of(LaserTowerEntity::new, MobCategory.MISC).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(LaserTowerEntity::new).fireImmune().sized(0.9f, 1.65f)); private static RegistryObject> register(String name, EntityType.Builder entityTypeBuilder) { return REGISTRY.register(name, () -> entityTypeBuilder.build(name)); diff --git a/src/main/java/com/atsuishio/superbwarfare/init/ModEntityRenderers.java b/src/main/java/com/atsuishio/superbwarfare/init/ModEntityRenderers.java index 6a8bd017d..381c8e898 100644 --- a/src/main/java/com/atsuishio/superbwarfare/init/ModEntityRenderers.java +++ b/src/main/java/com/atsuishio/superbwarfare/init/ModEntityRenderers.java @@ -15,7 +15,7 @@ public class ModEntityRenderers { event.registerEntityRenderer(ModEntities.SENPAI.get(), SenpaiRenderer::new); event.registerEntityRenderer(ModEntities.CLAYMORE.get(), ClaymoreRenderer::new); event.registerEntityRenderer(ModEntities.C_4.get(), C4Renderer::new); - event.registerEntityRenderer(ModEntities.TASER_BULLET_PROJECTILE.get(), TaserBulletProjectileRenderer::new); + event.registerEntityRenderer(ModEntities.TASER_BULLET.get(), TaserBulletProjectileRenderer::new); event.registerEntityRenderer(ModEntities.GUN_GRENADE.get(), GunGrenadeRenderer::new); event.registerEntityRenderer(ModEntities.TARGET.get(), TargetRenderer::new); event.registerEntityRenderer(ModEntities.RPG_ROCKET.get(), RpgRocketRenderer::new); @@ -25,7 +25,7 @@ public class ModEntityRenderers { event.registerEntityRenderer(ModEntities.PROJECTILE.get(), ProjectileEntityRenderer::new); event.registerEntityRenderer(ModEntities.MK_42.get(), Mk42Renderer::new); event.registerEntityRenderer(ModEntities.DRONE.get(), DroneRenderer::new); - event.registerEntityRenderer(ModEntities.HAND_GRENADE_ENTITY.get(), HandGrenadeRenderer::new); + event.registerEntityRenderer(ModEntities.HAND_GRENADE.get(), HandGrenadeRenderer::new); event.registerEntityRenderer(ModEntities.RGO_GRENADE.get(), RgoGrenadeRenderer::new); event.registerEntityRenderer(ModEntities.MLE_1934.get(), Mle1934Renderer::new); event.registerEntityRenderer(ModEntities.JAVELIN_MISSILE.get(), JavelinMissileRenderer::new); diff --git a/src/main/java/com/atsuishio/superbwarfare/item/gun/special/TaserItem.java b/src/main/java/com/atsuishio/superbwarfare/item/gun/special/TaserItem.java index dacba62f0..eb15c37ba 100644 --- a/src/main/java/com/atsuishio/superbwarfare/item/gun/special/TaserItem.java +++ b/src/main/java/com/atsuishio/superbwarfare/item/gun/special/TaserItem.java @@ -5,7 +5,7 @@ import com.atsuishio.superbwarfare.capability.energy.ItemEnergyProvider; import com.atsuishio.superbwarfare.client.PoseTool; import com.atsuishio.superbwarfare.client.renderer.item.TaserItemRenderer; import com.atsuishio.superbwarfare.client.tooltip.component.EnergyImageComponent; -import com.atsuishio.superbwarfare.entity.projectile.TaserBulletProjectileEntity; +import com.atsuishio.superbwarfare.entity.projectile.TaserBulletEntity; import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModPerks; @@ -295,7 +295,7 @@ public class TaserItem extends GunItem implements GeoItem, SpecialFireWeapon { serverPlayer.level().playSound(null, serverPlayer.getOnPos(), ModSounds.TASER_FIRE_3P.get(), SoundSource.PLAYERS, 1, 1); var level = serverPlayer.level(); - TaserBulletProjectileEntity taserBulletProjectile = new TaserBulletProjectileEntity(player, level, + TaserBulletEntity taserBulletProjectile = new TaserBulletEntity(player, level, (float) GunsTool.getGunDoubleTag(stack, "Damage", 0), volt, wireLength); taserBulletProjectile.setPos(player.getX(), player.getEyeY() - 0.1, player.getZ()); diff --git a/src/main/resources/assets/superbwarfare/lang/en_us.json b/src/main/resources/assets/superbwarfare/lang/en_us.json index bff97f79d..73d12e810 100644 --- a/src/main/resources/assets/superbwarfare/lang/en_us.json +++ b/src/main/resources/assets/superbwarfare/lang/en_us.json @@ -391,15 +391,17 @@ "death.attack.vehicle_explosion.item": "%1$s's vehicle was destroyed by %2$s using %3$s", "entity.superbwarfare.projectile": "Bullet", - "entity.superbwarfare.projectile_mortar_shell": "Mortar Shell", - "entity.superbwarfare.projectile_gun_grenade": "Gun Grenade", - "entity.superbwarfare.projectile_rpg_rocket": "RPG Rocket", - "entity.superbwarfare.projectile_taser_bullet_projectile": "Taser Electrode", - "entity.superbwarfare.projectile_hand_grenade_entity": "Exploding M67 Grenade", - "entity.superbwarfare.projectile_rgo_grenade": "Exploding RGO Grenade", - "entity.superbwarfare.projectile_cannon_shell": "Cannon Shell", - "entity.superbwarfare.projectile_javelin_missile": "Javelin Missile", - "entity.superbwarfare.projectile_small_cannon_shell": "Small Cannon Shell", + "entity.superbwarfare.mortar_shell": "Mortar Shell", + "entity.superbwarfare.gun_grenade": "Gun Grenade", + "entity.superbwarfare.rpg_rocket": "RPG Rocket", + "entity.superbwarfare.taser_bullet": "Taser Electrode", + "entity.superbwarfare.hand_grenade": "Exploding M67 Grenade", + "entity.superbwarfare.rgo_grenade": "Exploding RGO Grenade", + "entity.superbwarfare.cannon_shell": "Cannon Shell", + "entity.superbwarfare.javelin_missile": "Javelin Missile", + "entity.superbwarfare.small_cannon_shell": "Small Cannon Shell", + "entity.superbwarfare.heli_rocket": "Heli Rocket", + "entity.superbwarfare.flare_decoy": "Flare Decoy", "entity.superbwarfare.mortar": "Mortar", "entity.superbwarfare.target": "Target", "entity.superbwarfare.claymore": "Claymore", diff --git a/src/main/resources/assets/superbwarfare/lang/zh_cn.json b/src/main/resources/assets/superbwarfare/lang/zh_cn.json index 1ffaa2810..2d3190cfb 100644 --- a/src/main/resources/assets/superbwarfare/lang/zh_cn.json +++ b/src/main/resources/assets/superbwarfare/lang/zh_cn.json @@ -389,15 +389,17 @@ "death.attack.vehicle_explosion.item": "%1$s的载具被%2$s用%3$s击毁了", "entity.superbwarfare.projectile": "子弹", - "entity.superbwarfare.projectile_mortar_shell": "迫击炮弹", - "entity.superbwarfare.projectile_gun_grenade": "枪榴弹", - "entity.superbwarfare.projectile_rpg_rocket": "RPG火箭弹", - "entity.superbwarfare.projectile_taser_bullet_projectile": "电极", - "entity.superbwarfare.projectile_hand_grenade_entity": "快爆炸的M67手榴弹", - "entity.superbwarfare.projectile_rgo_grenade": "快爆炸的RGO手榴弹", - "entity.superbwarfare.projectile_cannon_shell": "炮弹", - "entity.superbwarfare.projectile_javelin_missile": "标枪导弹", - "entity.superbwarfare.projectile_small_cannon_shell": "小口径炮弹", + "entity.superbwarfare.mortar_shell": "迫击炮弹", + "entity.superbwarfare.gun_grenade": "枪榴弹", + "entity.superbwarfare.rpg_rocket": "RPG火箭弹", + "entity.superbwarfare.taser_bullet": "泰瑟枪电极", + "entity.superbwarfare.hand_grenade": "快爆炸的M67手榴弹", + "entity.superbwarfare.rgo_grenade": "快爆炸的RGO手榴弹", + "entity.superbwarfare.cannon_shell": "炮弹", + "entity.superbwarfare.javelin_missile": "标枪导弹", + "entity.superbwarfare.small_cannon_shell": "小口径炮弹", + "entity.superbwarfare.heli_rocket": "小鸟火箭弹", + "entity.superbwarfare.flare_decoy": "热诱弹", "entity.superbwarfare.mortar": "迫击炮", "entity.superbwarfare.target": "标靶", "entity.superbwarfare.claymore": "阔剑地雷",