修改70mm火箭弹和实体注册名

This commit is contained in:
Atsuishio 2025-07-12 13:40:35 +08:00 committed by Light_Quanta
parent 23ce0d352d
commit 987cf8779f
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
32 changed files with 130 additions and 129 deletions

View file

@ -1,6 +1,6 @@
{ {
"parent": "minecraft:item/generated", "parent": "minecraft:item/generated",
"textures": { "textures": {
"layer0": "superbwarfare:item/rocket_70" "layer0": "superbwarfare:item/small_rocket"
} }
} }

View file

@ -1,7 +1,7 @@
package com.atsuishio.superbwarfare.client.layer.projectile; package com.atsuishio.superbwarfare.client.layer.projectile;
import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.entity.projectile.HeliRocketEntity; import com.atsuishio.superbwarfare.entity.projectile.SmallRocketEntity;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
@ -12,15 +12,15 @@ import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.renderer.GeoRenderer; import software.bernie.geckolib.renderer.GeoRenderer;
import software.bernie.geckolib.renderer.layer.GeoRenderLayer; import software.bernie.geckolib.renderer.layer.GeoRenderLayer;
public class HeliRocketLayer extends GeoRenderLayer<HeliRocketEntity> { public class SmallRocketLayer extends GeoRenderLayer<SmallRocketEntity> {
private static final ResourceLocation LAYER = Mod.loc("textures/entity/rpg_rocket_e.png"); private static final ResourceLocation LAYER = Mod.loc("textures/entity/rpg_rocket_e.png");
public HeliRocketLayer(GeoRenderer<HeliRocketEntity> entityRenderer) { public SmallRocketLayer(GeoRenderer<SmallRocketEntity> entityRenderer) {
super(entityRenderer); super(entityRenderer);
} }
@Override @Override
public void render(PoseStack poseStack, HeliRocketEntity animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) { public void render(PoseStack poseStack, SmallRocketEntity animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
RenderType glowRenderType = RenderType.eyes(LAYER); RenderType glowRenderType = RenderType.eyes(LAYER);
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 0xFFFFFFFF); getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 0xFFFFFFFF);
} }

View file

@ -1,24 +0,0 @@
package com.atsuishio.superbwarfare.client.model.entity;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.entity.projectile.HeliRocketEntity;
import net.minecraft.resources.ResourceLocation;
import software.bernie.geckolib.model.GeoModel;
public class HeliRocketModel extends GeoModel<HeliRocketEntity> {
@Override
public ResourceLocation getAnimationResource(HeliRocketEntity entity) {
return Mod.loc("animations/rpg_rocket.animation.json");
}
@Override
public ResourceLocation getModelResource(HeliRocketEntity entity) {
return Mod.loc("geo/heli_rocket.geo.json");
}
@Override
public ResourceLocation getTextureResource(HeliRocketEntity entity) {
return Mod.loc("textures/entity/heli_rocket.png");
}
}

View file

@ -0,0 +1,24 @@
package com.atsuishio.superbwarfare.client.model.entity;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.entity.projectile.SmallRocketEntity;
import net.minecraft.resources.ResourceLocation;
import software.bernie.geckolib.model.GeoModel;
public class SmallRocketModel extends GeoModel<SmallRocketEntity> {
@Override
public ResourceLocation getAnimationResource(SmallRocketEntity entity) {
return Mod.loc("animations/rpg_rocket.animation.json");
}
@Override
public ResourceLocation getModelResource(SmallRocketEntity entity) {
return Mod.loc("geo/small_rocket.geo.json");
}
@Override
public ResourceLocation getTextureResource(SmallRocketEntity entity) {
return Mod.loc("textures/entity/small_rocket.png");
}
}

View file

@ -4,8 +4,8 @@ import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.config.client.DisplayConfig; import com.atsuishio.superbwarfare.config.client.DisplayConfig;
import com.atsuishio.superbwarfare.entity.vehicle.SpeedboatEntity; import com.atsuishio.superbwarfare.entity.vehicle.SpeedboatEntity;
import com.atsuishio.superbwarfare.entity.vehicle.base.*; import com.atsuishio.superbwarfare.entity.vehicle.base.*;
import com.atsuishio.superbwarfare.entity.vehicle.weapon.HeliRocketWeapon;
import com.atsuishio.superbwarfare.entity.vehicle.weapon.LaserWeapon; import com.atsuishio.superbwarfare.entity.vehicle.weapon.LaserWeapon;
import com.atsuishio.superbwarfare.entity.vehicle.weapon.SmallRocketWeapon;
import com.atsuishio.superbwarfare.entity.vehicle.weapon.SwarmDroneWeapon; import com.atsuishio.superbwarfare.entity.vehicle.weapon.SwarmDroneWeapon;
import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModItems;
@ -513,7 +513,7 @@ public class VehicleHudOverlay implements LayeredDraw.Layer {
); );
preciseBlit(guiGraphics, SELECTED, w - 95, startY, 100, 0, 0, 8, 8, 8, 8); preciseBlit(guiGraphics, SELECTED, w - 95, startY, 100, 0, 0, 8, 8, 8, 8);
if (InventoryTool.hasCreativeAmmoBox(player) && !(weapon instanceof LaserWeapon) && !(weapon instanceof HeliRocketWeapon) && !(weapon instanceof SwarmDroneWeapon)) { if (InventoryTool.hasCreativeAmmoBox(player) && !(weapon instanceof LaserWeapon) && !(weapon instanceof SmallRocketWeapon) && !(weapon instanceof SwarmDroneWeapon)) {
preciseBlit(guiGraphics, NUMBER, w - 28 + xOffset, h - frameIndex * 18 - 15, 100, 58, 0, 10, 7.5f, 75, 7.5f); preciseBlit(guiGraphics, NUMBER, w - 28 + xOffset, h - frameIndex * 18 - 15, 100, 58, 0, 10, 7.5f, 75, 7.5f);
} else { } else {
renderNumber(guiGraphics, weaponVehicle.getAmmoCount(player), weapon instanceof LaserWeapon, renderNumber(guiGraphics, weaponVehicle.getAmmoCount(player), weapon instanceof LaserWeapon,

View file

@ -1,8 +1,8 @@
package com.atsuishio.superbwarfare.client.renderer.entity; package com.atsuishio.superbwarfare.client.renderer.entity;
import com.atsuishio.superbwarfare.client.layer.projectile.HeliRocketLayer; import com.atsuishio.superbwarfare.client.layer.projectile.SmallRocketLayer;
import com.atsuishio.superbwarfare.client.model.entity.HeliRocketModel; import com.atsuishio.superbwarfare.client.model.entity.SmallRocketModel;
import com.atsuishio.superbwarfare.entity.projectile.HeliRocketEntity; import com.atsuishio.superbwarfare.entity.projectile.SmallRocketEntity;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.math.Axis; import com.mojang.math.Axis;
@ -11,22 +11,23 @@ import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.EntityRendererProvider; import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth; import net.minecraft.util.Mth;
import org.jetbrains.annotations.NotNull;
import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.renderer.GeoEntityRenderer; import software.bernie.geckolib.renderer.GeoEntityRenderer;
public class HeliRocketRenderer extends GeoEntityRenderer<HeliRocketEntity> { public class SmallRocketRenderer extends GeoEntityRenderer<SmallRocketEntity> {
public HeliRocketRenderer(EntityRendererProvider.Context renderManager) { public SmallRocketRenderer(EntityRendererProvider.Context renderManager) {
super(renderManager, new HeliRocketModel()); super(renderManager, new SmallRocketModel());
this.addRenderLayer(new HeliRocketLayer(this)); this.addRenderLayer(new SmallRocketLayer(this));
} }
@Override @Override
public RenderType getRenderType(HeliRocketEntity animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { public RenderType getRenderType(SmallRocketEntity animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable)); return RenderType.entityTranslucent(getTextureLocation(animatable));
} }
@Override @Override
public void preRender(PoseStack poseStack, HeliRocketEntity entity, BakedGeoModel model, MultiBufferSource bufferSource, VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, int color) { public void preRender(PoseStack poseStack, SmallRocketEntity entity, BakedGeoModel model, MultiBufferSource bufferSource, VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, int color) {
float scale = 1f; float scale = 1f;
this.scaleHeight = scale; this.scaleHeight = scale;
this.scaleWidth = scale; this.scaleWidth = scale;
@ -34,7 +35,7 @@ public class HeliRocketRenderer extends GeoEntityRenderer<HeliRocketEntity> {
} }
@Override @Override
public void render(HeliRocketEntity entityIn, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource bufferIn, int packedLightIn) { public void render(SmallRocketEntity entityIn, float entityYaw, float partialTicks, PoseStack poseStack, @NotNull MultiBufferSource bufferIn, int packedLightIn) {
poseStack.pushPose(); poseStack.pushPose();
poseStack.mulPose(Axis.YP.rotationDegrees(Mth.lerp(partialTicks, entityIn.yRotO, entityIn.getYRot()) - 90)); poseStack.mulPose(Axis.YP.rotationDegrees(Mth.lerp(partialTicks, entityIn.yRotO, entityIn.getYRot()) - 90));
poseStack.mulPose(Axis.ZP.rotationDegrees(90 + Mth.lerp(partialTicks, entityIn.xRotO, entityIn.getXRot()))); poseStack.mulPose(Axis.ZP.rotationDegrees(90 + Mth.lerp(partialTicks, entityIn.xRotO, entityIn.getXRot())));
@ -43,7 +44,7 @@ public class HeliRocketRenderer extends GeoEntityRenderer<HeliRocketEntity> {
} }
@Override @Override
protected float getDeathMaxRotation(HeliRocketEntity entityLivingBaseIn) { protected float getDeathMaxRotation(SmallRocketEntity entityLivingBaseIn) {
return 0.0F; return 0.0F;
} }
} }

View file

@ -126,7 +126,7 @@ public class ModItemModelProvider extends ItemModelProvider {
simpleItem(ModItems.SNIPER_AMMO); simpleItem(ModItems.SNIPER_AMMO);
simpleItem(ModItems.SHOTGUN_AMMO); simpleItem(ModItems.SHOTGUN_AMMO);
simpleItem(ModItems.HEAVY_AMMO); simpleItem(ModItems.HEAVY_AMMO);
simpleItem(ModItems.ROCKET_70); simpleItem(ModItems.SMALL_ROCKET);
simpleItem(ModItems.WIRE_GUIDE_MISSILE); simpleItem(ModItems.WIRE_GUIDE_MISSILE);
simpleItem(ModItems.AGM); simpleItem(ModItems.AGM);
simpleItem(ModItems.SMALL_SHELL); simpleItem(ModItems.SMALL_SHELL);

View file

@ -37,27 +37,27 @@ import software.bernie.geckolib.util.GeckoLibUtil;
import javax.annotation.Nullable; import javax.annotation.Nullable;
public class HeliRocketEntity extends FastThrowableProjectile implements GeoEntity, ExplosiveProjectile { public class SmallRocketEntity extends FastThrowableProjectile implements GeoEntity, ExplosiveProjectile {
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this); private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
private float damage = 140f; private float damage = 140f;
private float explosionDamage = 60f; private float explosionDamage = 60f;
private float explosionRadius = 5f; private float explosionRadius = 5f;
public HeliRocketEntity(EntityType<? extends HeliRocketEntity> type, Level world) { public SmallRocketEntity(EntityType<? extends SmallRocketEntity> type, Level world) {
super(type, world); super(type, world);
this.noCulling = true; this.noCulling = true;
} }
public HeliRocketEntity(EntityType<? extends ThrowableItemProjectile> pEntityType, double pX, double pY, double pZ, Level pLevel) { public SmallRocketEntity(EntityType<? extends ThrowableItemProjectile> pEntityType, double pX, double pY, double pZ, Level pLevel) {
super(pEntityType, pX, pY, pZ, pLevel); super(pEntityType, pX, pY, pZ, pLevel);
this.noCulling = true; this.noCulling = true;
this.durability = 20; this.durability = 20;
} }
public HeliRocketEntity(LivingEntity entity, Level level, float damage, float explosionDamage, float explosionRadius) { public SmallRocketEntity(LivingEntity entity, Level level, float damage, float explosionDamage, float explosionRadius) {
super(ModEntities.HELI_ROCKET.get(), entity, level); super(ModEntities.SMALL_ROCKET.get(), entity, level);
this.damage = damage; this.damage = damage;
this.explosionDamage = explosionDamage; this.explosionDamage = explosionDamage;
this.explosionRadius = explosionRadius; this.explosionRadius = explosionRadius;
@ -206,7 +206,7 @@ public class HeliRocketEntity extends FastThrowableProjectile implements GeoEnti
projectile.discard(); projectile.discard();
} }
private PlayState movementPredicate(AnimationState<HeliRocketEntity> event) { private PlayState movementPredicate(AnimationState<SmallRocketEntity> event) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.rpg.idle")); return event.setAndContinue(RawAnimation.begin().thenLoop("animation.rpg.idle"));
} }

View file

@ -127,7 +127,7 @@ public class A10Entity extends ContainerMobileVehicleEntity implements GeoEntity
.explosionRadius(VehicleConfig.A_10_CANNON_EXPLOSION_RADIUS.get().floatValue()) .explosionRadius(VehicleConfig.A_10_CANNON_EXPLOSION_RADIUS.get().floatValue())
.sound(ModSounds.INTO_CANNON.get()) .sound(ModSounds.INTO_CANNON.get())
.icon(Mod.loc("textures/screens/vehicle_weapon/cannon_30mm.png")), .icon(Mod.loc("textures/screens/vehicle_weapon/cannon_30mm.png")),
new HeliRocketWeapon() new SmallRocketWeapon()
.damage(VehicleConfig.A_10_ROCKET_DAMAGE.get()) .damage(VehicleConfig.A_10_ROCKET_DAMAGE.get())
.explosionDamage(VehicleConfig.A_10_ROCKET_EXPLOSION_DAMAGE.get()) .explosionDamage(VehicleConfig.A_10_ROCKET_EXPLOSION_DAMAGE.get())
.explosionRadius(VehicleConfig.A_10_ROCKET_EXPLOSION_RADIUS.get().floatValue()) .explosionRadius(VehicleConfig.A_10_ROCKET_EXPLOSION_RADIUS.get().floatValue())
@ -190,7 +190,7 @@ public class A10Entity extends ContainerMobileVehicleEntity implements GeoEntity
@Override @Override
public @NotNull InteractionResult interact(Player player, @NotNull InteractionHand hand) { public @NotNull InteractionResult interact(Player player, @NotNull InteractionHand hand) {
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (stack.getItem() == ModItems.ROCKET_70.get() && this.entityData.get(LOADED_ROCKET) < 28) { if (stack.getItem() == ModItems.SMALL_ROCKET.get() && this.entityData.get(LOADED_ROCKET) < 28) {
// 装载火箭 // 装载火箭
this.entityData.set(LOADED_ROCKET, this.entityData.get(LOADED_ROCKET) + 1); this.entityData.set(LOADED_ROCKET, this.entityData.get(LOADED_ROCKET) + 1);
if (!player.isCreative()) { if (!player.isCreative()) {
@ -361,11 +361,11 @@ public class A10Entity extends ContainerMobileVehicleEntity implements GeoEntity
int ammoCount = countItem(ModItems.SMALL_SHELL.get()); int ammoCount = countItem(ModItems.SMALL_SHELL.get());
if ((hasItem(ModItems.ROCKET_70.get()) || hasCreativeAmmoBox) && reloadCoolDown == 0 && this.getEntityData().get(LOADED_ROCKET) < 28) { if ((hasItem(ModItems.SMALL_ROCKET.get()) || hasCreativeAmmoBox) && reloadCoolDown == 0 && this.getEntityData().get(LOADED_ROCKET) < 28) {
this.entityData.set(LOADED_ROCKET, this.getEntityData().get(LOADED_ROCKET) + 1); this.entityData.set(LOADED_ROCKET, this.getEntityData().get(LOADED_ROCKET) + 1);
reloadCoolDown = 15; reloadCoolDown = 15;
if (!hasCreativeAmmoBox) { if (!hasCreativeAmmoBox) {
this.getItemStacks().stream().filter(stack -> stack.is(ModItems.ROCKET_70.get())).findFirst().ifPresent(stack -> stack.shrink(1)); this.getItemStacks().stream().filter(stack -> stack.is(ModItems.SMALL_ROCKET.get())).findFirst().ifPresent(stack -> stack.shrink(1));
} }
this.level().playSound(null, this, ModSounds.MISSILE_RELOAD.get(), this.getSoundSource(), 2, 1); this.level().playSound(null, this, ModSounds.MISSILE_RELOAD.get(), this.getSoundSource(), 2, 1);
} }
@ -816,7 +816,7 @@ public class A10Entity extends ContainerMobileVehicleEntity implements GeoEntity
this.entityData.set(HEAT, this.entityData.get(HEAT) + 2); this.entityData.set(HEAT, this.entityData.get(HEAT) + 2);
} else if (getWeaponIndex(0) == 1 && this.getEntityData().get(LOADED_ROCKET) > 0) { } else if (getWeaponIndex(0) == 1 && this.getEntityData().get(LOADED_ROCKET) > 0) {
var heliRocketEntity = ((HeliRocketWeapon) getWeapon(0)).create(player); var heliRocketEntity = ((SmallRocketWeapon) getWeapon(0)).create(player);
Vector4f worldPosition; Vector4f worldPosition;
Vector4f worldPosition2; Vector4f worldPosition2;
@ -847,7 +847,7 @@ public class A10Entity extends ContainerMobileVehicleEntity implements GeoEntity
BlockPos pos = BlockPos.containing(new Vec3(worldPosition.x, worldPosition.y, worldPosition.z)); BlockPos pos = BlockPos.containing(new Vec3(worldPosition.x, worldPosition.y, worldPosition.z));
this.level().playSound(null, pos, ModSounds.HELICOPTER_ROCKET_FIRE_3P.get(), SoundSource.PLAYERS, 4, 1); this.level().playSound(null, pos, ModSounds.SMALL_ROCKET_FIRE_3P.get(), SoundSource.PLAYERS, 4, 1);
this.entityData.set(LOADED_ROCKET, this.getEntityData().get(LOADED_ROCKET) - 1); this.entityData.set(LOADED_ROCKET, this.getEntityData().get(LOADED_ROCKET) - 1);

View file

@ -9,8 +9,8 @@ import com.atsuishio.superbwarfare.entity.vehicle.base.HelicopterEntity;
import com.atsuishio.superbwarfare.entity.vehicle.base.ThirdPersonCameraPosition; import com.atsuishio.superbwarfare.entity.vehicle.base.ThirdPersonCameraPosition;
import com.atsuishio.superbwarfare.entity.vehicle.base.WeaponVehicleEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.WeaponVehicleEntity;
import com.atsuishio.superbwarfare.entity.vehicle.damage.DamageModifier; import com.atsuishio.superbwarfare.entity.vehicle.damage.DamageModifier;
import com.atsuishio.superbwarfare.entity.vehicle.weapon.HeliRocketWeapon;
import com.atsuishio.superbwarfare.entity.vehicle.weapon.SmallCannonShellWeapon; import com.atsuishio.superbwarfare.entity.vehicle.weapon.SmallCannonShellWeapon;
import com.atsuishio.superbwarfare.entity.vehicle.weapon.SmallRocketWeapon;
import com.atsuishio.superbwarfare.entity.vehicle.weapon.VehicleWeapon; import com.atsuishio.superbwarfare.entity.vehicle.weapon.VehicleWeapon;
import com.atsuishio.superbwarfare.event.ClientMouseHandler; import com.atsuishio.superbwarfare.event.ClientMouseHandler;
import com.atsuishio.superbwarfare.init.ModDamageTypes; import com.atsuishio.superbwarfare.init.ModDamageTypes;
@ -44,8 +44,8 @@ import net.neoforged.api.distmarker.OnlyIn;
import net.neoforged.neoforge.event.EventHooks; import net.neoforged.neoforge.event.EventHooks;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.joml.Math;
import org.joml.*; import org.joml.*;
import org.joml.Math;
import software.bernie.geckolib.animatable.GeoEntity; import software.bernie.geckolib.animatable.GeoEntity;
import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache; import software.bernie.geckolib.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.animation.AnimatableManager; import software.bernie.geckolib.animation.AnimatableManager;
@ -107,13 +107,13 @@ public class Ah6Entity extends ContainerMobileVehicleEntity implements GeoEntity
.sound3p(ModSounds.HELICOPTER_CANNON_FIRE_3P.get()) .sound3p(ModSounds.HELICOPTER_CANNON_FIRE_3P.get())
.sound3pFar(ModSounds.HELICOPTER_CANNON_FAR.get()) .sound3pFar(ModSounds.HELICOPTER_CANNON_FAR.get())
.sound3pVeryFar(ModSounds.HELICOPTER_CANNON_VERYFAR.get()), .sound3pVeryFar(ModSounds.HELICOPTER_CANNON_VERYFAR.get()),
new HeliRocketWeapon() new SmallRocketWeapon()
.damage(VehicleConfig.AH_6_ROCKET_DAMAGE.get().floatValue()) .damage(VehicleConfig.AH_6_ROCKET_DAMAGE.get().floatValue())
.explosionDamage(VehicleConfig.AH_6_ROCKET_EXPLOSION_DAMAGE.get().floatValue()) .explosionDamage(VehicleConfig.AH_6_ROCKET_EXPLOSION_DAMAGE.get().floatValue())
.explosionRadius(VehicleConfig.AH_6_ROCKET_EXPLOSION_RADIUS.get().floatValue()) .explosionRadius(VehicleConfig.AH_6_ROCKET_EXPLOSION_RADIUS.get().floatValue())
.sound(ModSounds.INTO_MISSILE.get()) .sound(ModSounds.INTO_MISSILE.get())
.sound1p(ModSounds.HELICOPTER_ROCKET_FIRE_1P.get()) .sound1p(ModSounds.SMALL_ROCKET_FIRE_1P.get())
.sound3p(ModSounds.HELICOPTER_ROCKET_FIRE_3P.get()), .sound3p(ModSounds.SMALL_ROCKET_FIRE_3P.get()),
} }
}; };
} }
@ -160,7 +160,7 @@ public class Ah6Entity extends ContainerMobileVehicleEntity implements GeoEntity
@Override @Override
public @NotNull InteractionResult interact(Player player, @NotNull InteractionHand hand) { public @NotNull InteractionResult interact(Player player, @NotNull InteractionHand hand) {
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (stack.getItem() == ModItems.ROCKET_70.get() && this.entityData.get(LOADED_ROCKET) < 14) { if (stack.getItem() == ModItems.SMALL_ROCKET.get() && this.entityData.get(LOADED_ROCKET) < 14) {
// 装载火箭 // 装载火箭
this.entityData.set(LOADED_ROCKET, this.entityData.get(LOADED_ROCKET) + 1); this.entityData.set(LOADED_ROCKET, this.entityData.get(LOADED_ROCKET) + 1);
if (!player.isCreative()) { if (!player.isCreative()) {
@ -215,11 +215,11 @@ public class Ah6Entity extends ContainerMobileVehicleEntity implements GeoEntity
return false; return false;
}).mapToInt(Ammo.HEAVY::get).sum() + countItem(ModItems.SMALL_SHELL.get()); }).mapToInt(Ammo.HEAVY::get).sum() + countItem(ModItems.SMALL_SHELL.get());
if ((hasItem(ModItems.ROCKET_70.get()) || InventoryTool.hasCreativeAmmoBox(player)) && reloadCoolDown == 0 && this.getEntityData().get(LOADED_ROCKET) < 14) { if ((hasItem(ModItems.SMALL_ROCKET.get()) || InventoryTool.hasCreativeAmmoBox(player)) && reloadCoolDown == 0 && this.getEntityData().get(LOADED_ROCKET) < 14) {
this.entityData.set(LOADED_ROCKET, this.getEntityData().get(LOADED_ROCKET) + 1); this.entityData.set(LOADED_ROCKET, this.getEntityData().get(LOADED_ROCKET) + 1);
reloadCoolDown = 25; reloadCoolDown = 25;
if (!InventoryTool.hasCreativeAmmoBox(player)) { if (!InventoryTool.hasCreativeAmmoBox(player)) {
this.getItemStacks().stream().filter(stack -> stack.is(ModItems.ROCKET_70.get())).findFirst().ifPresent(stack -> stack.shrink(1)); this.getItemStacks().stream().filter(stack -> stack.is(ModItems.SMALL_ROCKET.get())).findFirst().ifPresent(stack -> stack.shrink(1));
} }
this.level().playSound(null, this, ModSounds.MISSILE_RELOAD.get(), this.getSoundSource(), 1, 1); this.level().playSound(null, this, ModSounds.MISSILE_RELOAD.get(), this.getSoundSource(), 1, 1);
} }
@ -604,7 +604,7 @@ public class Ah6Entity extends ContainerMobileVehicleEntity implements GeoEntity
} else if (getWeaponIndex(0) == 1 && this.getEntityData().get(LOADED_ROCKET) > 0) { } else if (getWeaponIndex(0) == 1 && this.getEntityData().get(LOADED_ROCKET) > 0) {
var heliRocketEntity = ((HeliRocketWeapon) getWeapon(0)).create(player); var heliRocketEntity = ((SmallRocketWeapon) getWeapon(0)).create(player);
Vector4f worldPosition; Vector4f worldPosition;
Vector4f worldPosition2; Vector4f worldPosition2;

View file

@ -1,33 +0,0 @@
package com.atsuishio.superbwarfare.entity.vehicle.weapon;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.entity.projectile.HeliRocketEntity;
import net.minecraft.world.entity.LivingEntity;
public class HeliRocketWeapon extends VehicleWeapon {
public float damage = 140, explosionDamage = 60, explosionRadius = 5;
public HeliRocketWeapon() {
this.icon = Mod.loc("textures/screens/vehicle_weapon/rocket_70mm.png");
}
public HeliRocketWeapon damage(float damage) {
this.damage = damage;
return this;
}
public HeliRocketWeapon explosionDamage(float explosionDamage) {
this.explosionDamage = explosionDamage;
return this;
}
public HeliRocketWeapon explosionRadius(float explosionRadius) {
this.explosionRadius = explosionRadius;
return this;
}
public HeliRocketEntity create(LivingEntity entity) {
return new HeliRocketEntity(entity, entity.level(), damage, explosionDamage, explosionRadius);
}
}

View file

@ -0,0 +1,33 @@
package com.atsuishio.superbwarfare.entity.vehicle.weapon;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.entity.projectile.SmallRocketEntity;
import net.minecraft.world.entity.LivingEntity;
public class SmallRocketWeapon extends VehicleWeapon {
public float damage = 140, explosionDamage = 60, explosionRadius = 5;
public SmallRocketWeapon() {
this.icon = Mod.loc("textures/screens/vehicle_weapon/small_rocket.png");
}
public SmallRocketWeapon damage(float damage) {
this.damage = damage;
return this;
}
public SmallRocketWeapon explosionDamage(float explosionDamage) {
this.explosionDamage = explosionDamage;
return this;
}
public SmallRocketWeapon explosionRadius(float explosionRadius) {
this.explosionRadius = explosionRadius;
return this;
}
public SmallRocketEntity create(LivingEntity entity) {
return new SmallRocketEntity(entity, entity.level(), damage, explosionDamage, explosionRadius);
}
}

View file

@ -82,8 +82,8 @@ public class ModEntities {
EntityType.Builder.<JavelinMissileEntity>of(JavelinMissileEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).noSave().setTrackingRange(64).setUpdateInterval(1).sized(0.5f, 0.5f)); EntityType.Builder.<JavelinMissileEntity>of(JavelinMissileEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).noSave().setTrackingRange(64).setUpdateInterval(1).sized(0.5f, 0.5f));
public static final DeferredHolder<EntityType<?>, EntityType<Agm65Entity>> AGM_65 = register("agm_65", public static final DeferredHolder<EntityType<?>, EntityType<Agm65Entity>> AGM_65 = register("agm_65",
EntityType.Builder.<Agm65Entity>of(Agm65Entity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).noSave().setTrackingRange(64).setUpdateInterval(1).sized(0.75f, 0.75f)); EntityType.Builder.<Agm65Entity>of(Agm65Entity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).noSave().setTrackingRange(64).setUpdateInterval(1).sized(0.75f, 0.75f));
public static final DeferredHolder<EntityType<?>, EntityType<HeliRocketEntity>> HELI_ROCKET = register("heli_rocket", public static final DeferredHolder<EntityType<?>, EntityType<SmallRocketEntity>> SMALL_ROCKET = register("small_rocket",
EntityType.Builder.<HeliRocketEntity>of(HeliRocketEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).noSave().setTrackingRange(64).setUpdateInterval(1).sized(0.5f, 0.5f)); EntityType.Builder.<SmallRocketEntity>of(SmallRocketEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).noSave().setTrackingRange(64).setUpdateInterval(1).sized(0.5f, 0.5f));
public static final DeferredHolder<EntityType<?>, EntityType<WgMissileEntity>> WG_MISSILE = register("wg_missile", public static final DeferredHolder<EntityType<?>, EntityType<WgMissileEntity>> WG_MISSILE = register("wg_missile",
EntityType.Builder.<WgMissileEntity>of(WgMissileEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).noSave().setTrackingRange(64).setUpdateInterval(3).fireImmune().sized(0.5f, 0.5f)); EntityType.Builder.<WgMissileEntity>of(WgMissileEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(false).noSave().setTrackingRange(64).setUpdateInterval(3).fireImmune().sized(0.5f, 0.5f));
public static final DeferredHolder<EntityType<?>, EntityType<SwarmDroneEntity>> SWARM_DRONE = register("swarm_drone", public static final DeferredHolder<EntityType<?>, EntityType<SwarmDroneEntity>> SWARM_DRONE = register("swarm_drone",

View file

@ -21,7 +21,7 @@ public class ModEntityRenderers {
event.registerEntityRenderer(ModEntities.TARGET.get(), TargetRenderer::new); event.registerEntityRenderer(ModEntities.TARGET.get(), TargetRenderer::new);
event.registerEntityRenderer(ModEntities.DPS_GENERATOR.get(), DPSGeneratorRenderer::new); event.registerEntityRenderer(ModEntities.DPS_GENERATOR.get(), DPSGeneratorRenderer::new);
event.registerEntityRenderer(ModEntities.RPG_ROCKET.get(), RpgRocketRenderer::new); event.registerEntityRenderer(ModEntities.RPG_ROCKET.get(), RpgRocketRenderer::new);
event.registerEntityRenderer(ModEntities.HELI_ROCKET.get(), HeliRocketRenderer::new); event.registerEntityRenderer(ModEntities.SMALL_ROCKET.get(), SmallRocketRenderer::new);
event.registerEntityRenderer(ModEntities.MORTAR_SHELL.get(), MortarShellRenderer::new); event.registerEntityRenderer(ModEntities.MORTAR_SHELL.get(), MortarShellRenderer::new);
event.registerEntityRenderer(ModEntities.CANNON_SHELL.get(), CannonShellRenderer::new); event.registerEntityRenderer(ModEntities.CANNON_SHELL.get(), CannonShellRenderer::new);
event.registerEntityRenderer(ModEntities.PROJECTILE.get(), ProjectileEntityRenderer::new); event.registerEntityRenderer(ModEntities.PROJECTILE.get(), ProjectileEntityRenderer::new);

View file

@ -119,7 +119,7 @@ public class ModItems {
public static final DeferredHolder<Item, C4BombItem> C4_BOMB = AMMO.register("c4_bomb", C4BombItem::new); public static final DeferredHolder<Item, C4BombItem> C4_BOMB = AMMO.register("c4_bomb", C4BombItem::new);
public static final DeferredHolder<Item, Blu43MineItem> BLU_43_MINE = AMMO.register("blu_43_mine", Blu43MineItem::new); public static final DeferredHolder<Item, Blu43MineItem> BLU_43_MINE = AMMO.register("blu_43_mine", Blu43MineItem::new);
public static final DeferredHolder<Item, Item> SMALL_SHELL = AMMO.register("small_shell", SmallShellItem::new); public static final DeferredHolder<Item, Item> SMALL_SHELL = AMMO.register("small_shell", SmallShellItem::new);
public static final DeferredHolder<Item, Rocket70Item> ROCKET_70 = AMMO.register("rocket_70", Rocket70Item::new); public static final DeferredHolder<Item, SmallRocketItem> SMALL_ROCKET = AMMO.register("small_rocket", SmallRocketItem::new);
public static final DeferredHolder<Item, WireGuideMissileItem> WIRE_GUIDE_MISSILE = AMMO.register("wire_guide_missile", WireGuideMissileItem::new); public static final DeferredHolder<Item, WireGuideMissileItem> WIRE_GUIDE_MISSILE = AMMO.register("wire_guide_missile", WireGuideMissileItem::new);
public static final DeferredHolder<Item, AgmItem> AGM = AMMO.register("agm", AgmItem::new); public static final DeferredHolder<Item, AgmItem> AGM = AMMO.register("agm", AgmItem::new);
public static final DeferredHolder<Item, SwarmDroneItem> SWARM_DRONE = AMMO.register("swarm_drone", SwarmDroneItem::new); public static final DeferredHolder<Item, SwarmDroneItem> SWARM_DRONE = AMMO.register("swarm_drone", SwarmDroneItem::new);
@ -348,7 +348,7 @@ public class ModItems {
DispenserBlock.registerBehavior(CLAYMORE_MINE.get(), new ClaymoreMine.ClaymoreDispenseBehavior()); DispenserBlock.registerBehavior(CLAYMORE_MINE.get(), new ClaymoreMine.ClaymoreDispenseBehavior());
DispenserBlock.registerBehavior(BLU_43_MINE.get(), new Blu43MineItem.Blu43MineDispenseBehavior()); DispenserBlock.registerBehavior(BLU_43_MINE.get(), new Blu43MineItem.Blu43MineDispenseBehavior());
DispenserBlock.registerBehavior(ROCKET.get(), new RocketItem.RocketDispenseBehavior()); DispenserBlock.registerBehavior(ROCKET.get(), new RocketItem.RocketDispenseBehavior());
DispenserBlock.registerBehavior(ROCKET_70.get(), new Rocket70Item.Rocket70DispenseBehavior()); DispenserBlock.registerBehavior(SMALL_ROCKET.get(), new SmallRocketItem.SmallRocketDispenseBehavior());
DispenserBlock.registerBehavior(MEDIUM_AERIAL_BOMB.get(), new MediumAerialBombItem.MediumAerialBombDispenseBehavior()); DispenserBlock.registerBehavior(MEDIUM_AERIAL_BOMB.get(), new MediumAerialBombItem.MediumAerialBombDispenseBehavior());
DispenserBlock.registerBehavior(RGO_GRENADE.get(), new RgoGrenade.RgoGrenadeDispenserBehavior()); DispenserBlock.registerBehavior(RGO_GRENADE.get(), new RgoGrenade.RgoGrenadeDispenserBehavior());
DispenserBlock.registerBehavior(M18_SMOKE_GRENADE.get(), new M18SmokeGrenade.SmokeGrenadeDispenserBehavior()); DispenserBlock.registerBehavior(M18_SMOKE_GRENADE.get(), new M18SmokeGrenade.SmokeGrenadeDispenserBehavior());

View file

@ -413,8 +413,8 @@ public class ModSounds {
public static final DeferredHolder<SoundEvent, SoundEvent> HELICOPTER_CANNON_FIRE_3P = REGISTRY.register("heli_cannon_fire_3p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("heli_cannon_fire_3p"))); public static final DeferredHolder<SoundEvent, SoundEvent> HELICOPTER_CANNON_FIRE_3P = REGISTRY.register("heli_cannon_fire_3p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("heli_cannon_fire_3p")));
public static final DeferredHolder<SoundEvent, SoundEvent> HELICOPTER_CANNON_FAR = REGISTRY.register("heli_cannon_far", () -> SoundEvent.createVariableRangeEvent(Mod.loc("heli_cannon_far"))); public static final DeferredHolder<SoundEvent, SoundEvent> HELICOPTER_CANNON_FAR = REGISTRY.register("heli_cannon_far", () -> SoundEvent.createVariableRangeEvent(Mod.loc("heli_cannon_far")));
public static final DeferredHolder<SoundEvent, SoundEvent> HELICOPTER_CANNON_VERYFAR = REGISTRY.register("heli_cannon_veryfar", () -> SoundEvent.createVariableRangeEvent(Mod.loc("heli_cannon_veryfar"))); public static final DeferredHolder<SoundEvent, SoundEvent> HELICOPTER_CANNON_VERYFAR = REGISTRY.register("heli_cannon_veryfar", () -> SoundEvent.createVariableRangeEvent(Mod.loc("heli_cannon_veryfar")));
public static final DeferredHolder<SoundEvent, SoundEvent> HELICOPTER_ROCKET_FIRE_1P = REGISTRY.register("heli_rocket_fire_1p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("heli_rocket_fire_1p"))); public static final DeferredHolder<SoundEvent, SoundEvent> SMALL_ROCKET_FIRE_1P = REGISTRY.register("small_rocket_fire_1p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("small_rocket_fire_1p")));
public static final DeferredHolder<SoundEvent, SoundEvent> HELICOPTER_ROCKET_FIRE_3P = REGISTRY.register("heli_rocket_fire_3p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("heli_rocket_fire_3p"))); public static final DeferredHolder<SoundEvent, SoundEvent> SMALL_ROCKET_FIRE_3P = REGISTRY.register("small_rocket_fire_3p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("small_rocket_fire_3p")));
public static final DeferredHolder<SoundEvent, SoundEvent> INTO_CANNON = REGISTRY.register("into_cannon", () -> SoundEvent.createVariableRangeEvent(Mod.loc("into_cannon"))); public static final DeferredHolder<SoundEvent, SoundEvent> INTO_CANNON = REGISTRY.register("into_cannon", () -> SoundEvent.createVariableRangeEvent(Mod.loc("into_cannon")));
public static final DeferredHolder<SoundEvent, SoundEvent> INTO_MISSILE = REGISTRY.register("into_missile", () -> SoundEvent.createVariableRangeEvent(Mod.loc("into_missile"))); public static final DeferredHolder<SoundEvent, SoundEvent> INTO_MISSILE = REGISTRY.register("into_missile", () -> SoundEvent.createVariableRangeEvent(Mod.loc("into_missile")));

View file

@ -1,6 +1,6 @@
package com.atsuishio.superbwarfare.item.common.ammo; package com.atsuishio.superbwarfare.item.common.ammo;
import com.atsuishio.superbwarfare.entity.projectile.HeliRocketEntity; import com.atsuishio.superbwarfare.entity.projectile.SmallRocketEntity;
import com.atsuishio.superbwarfare.init.ModEntities; import com.atsuishio.superbwarfare.init.ModEntities;
import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModItems;
import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.init.ModSounds;
@ -18,27 +18,27 @@ import org.jetbrains.annotations.NotNull;
import javax.annotation.ParametersAreNonnullByDefault; import javax.annotation.ParametersAreNonnullByDefault;
public class Rocket70Item extends Item implements ProjectileItem { public class SmallRocketItem extends Item implements ProjectileItem {
public Rocket70Item() { public SmallRocketItem() {
super(new Properties()); super(new Properties());
} }
public static class Rocket70DispenseBehavior extends ProjectileDispenseBehavior { public static class SmallRocketDispenseBehavior extends ProjectileDispenseBehavior {
public Rocket70DispenseBehavior() { public SmallRocketDispenseBehavior() {
super(ModItems.ROCKET_70.get()); super(ModItems.SMALL_ROCKET.get());
} }
@Override @Override
protected void playSound(BlockSource blockSource) { protected void playSound(BlockSource blockSource) {
blockSource.level().playSound(null, blockSource.pos(), ModSounds.HELICOPTER_ROCKET_FIRE_3P.get(), SoundSource.BLOCKS, 2.0F, 1.0F); blockSource.level().playSound(null, blockSource.pos(), ModSounds.SMALL_ROCKET_FIRE_3P.get(), SoundSource.BLOCKS, 2.0F, 1.0F);
} }
} }
@Override @Override
@ParametersAreNonnullByDefault @ParametersAreNonnullByDefault
public @NotNull Projectile asProjectile(Level level, Position pos, ItemStack stack, Direction direction) { public @NotNull Projectile asProjectile(Level level, Position pos, ItemStack stack, Direction direction) {
return new HeliRocketEntity(ModEntities.HELI_ROCKET.get(), pos.x(), pos.y(), pos.z(), level); return new SmallRocketEntity(ModEntities.SMALL_ROCKET.get(), pos.x(), pos.y(), pos.z(), level);
} }
@Override @Override

View file

@ -176,7 +176,7 @@
"item.superbwarfare.lunge_mine": "Lunge Mine", "item.superbwarfare.lunge_mine": "Lunge Mine",
"item.superbwarfare.blu_43_mine": "BLU-43B DragonTooth", "item.superbwarfare.blu_43_mine": "BLU-43B DragonTooth",
"item.superbwarfare.tm_62": "TM-62 Anti-tank Mine", "item.superbwarfare.tm_62": "TM-62 Anti-tank Mine",
"item.superbwarfare.rocket_70": "70mm Rocket", "item.superbwarfare.small_rocket": "Small Caliber Rocket",
"item.superbwarfare.small_shell": "Small Caliber Shells", "item.superbwarfare.small_shell": "Small Caliber Shells",
"des.superbwarfare.small_shell": "Suitable for 20mm ~ 40mm caliber weapons", "des.superbwarfare.small_shell": "Suitable for 20mm ~ 40mm caliber weapons",
"item.superbwarfare.wire_guide_missile": "Wire Guide Missile", "item.superbwarfare.wire_guide_missile": "Wire Guide Missile",
@ -474,7 +474,7 @@
"entity.superbwarfare.cannon_shell": "Cannon Shell", "entity.superbwarfare.cannon_shell": "Cannon Shell",
"entity.superbwarfare.javelin_missile": "Javelin Missile", "entity.superbwarfare.javelin_missile": "Javelin Missile",
"entity.superbwarfare.small_cannon_shell": "Small Cannon Shell", "entity.superbwarfare.small_cannon_shell": "Small Cannon Shell",
"entity.superbwarfare.heli_rocket": "Heli Rocket", "entity.superbwarfare.small_rocket": "Small Caliber Rocket",
"entity.superbwarfare.flare_decoy": "Flare Decoy", "entity.superbwarfare.flare_decoy": "Flare Decoy",
"entity.superbwarfare.mortar": "Mortar", "entity.superbwarfare.mortar": "Mortar",
"entity.superbwarfare.target": "Target", "entity.superbwarfare.target": "Target",

View file

@ -159,7 +159,7 @@
"item.superbwarfare.ap_5_inches": "oBÚS AP", "item.superbwarfare.ap_5_inches": "oBÚS AP",
"item.superbwarfare.javelin_missile": "Misíl Javelin", "item.superbwarfare.javelin_missile": "Misíl Javelin",
"item.superbwarfare.lunge_mine": "Mina de Estocada", "item.superbwarfare.lunge_mine": "Mina de Estocada",
"item.superbwarfare.rocket_70": "Cohete de 70mm", "item.superbwarfare.small_rocket": "Cohete de bajo Calibre",
"item.superbwarfare.small_shell": "Munición de bajo Calibre", "item.superbwarfare.small_shell": "Munición de bajo Calibre",
"item.superbwarfare.wire_guide_missile": "Misil guiado por Hilos", "item.superbwarfare.wire_guide_missile": "Misil guiado por Hilos",
@ -410,7 +410,7 @@
"entity.superbwarfare.cannon_shell": "Casquillo de cañón", "entity.superbwarfare.cannon_shell": "Casquillo de cañón",
"entity.superbwarfare.javelin_missile": "Misil Javelin", "entity.superbwarfare.javelin_missile": "Misil Javelin",
"entity.superbwarfare.small_cannon_shell": "Casquillo de cañón pequeño", "entity.superbwarfare.small_cannon_shell": "Casquillo de cañón pequeño",
"entity.superbwarfare.heli_rocket": "Cohete Heli", "entity.superbwarfare.small_rocket": "Cohete de bajo Calibre",
"entity.superbwarfare.flare_decoy": "Señuelo de bengala", "entity.superbwarfare.flare_decoy": "Señuelo de bengala",
"entity.superbwarfare.mortar": "Morteri", "entity.superbwarfare.mortar": "Morteri",
"entity.superbwarfare.target": "Objetivo", "entity.superbwarfare.target": "Objetivo",

View file

@ -159,7 +159,7 @@
"item.superbwarfare.ap_5_inches": "Obus AP", "item.superbwarfare.ap_5_inches": "Obus AP",
"item.superbwarfare.javelin_missile": "Missile javelin", "item.superbwarfare.javelin_missile": "Missile javelin",
"item.superbwarfare.lunge_mine": "Mine à propulsion", "item.superbwarfare.lunge_mine": "Mine à propulsion",
"item.superbwarfare.rocket_70": "Rocket 70mm", "item.superbwarfare.small_rocket": "Rocket de petit calibre",
"item.superbwarfare.small_shell": "Obus de petit calibre", "item.superbwarfare.small_shell": "Obus de petit calibre",
"item.superbwarfare.wire_guide_missile": "Missile téléguidé", "item.superbwarfare.wire_guide_missile": "Missile téléguidé",
@ -404,7 +404,7 @@
"entity.superbwarfare.cannon_shell": "Coquille de canon", "entity.superbwarfare.cannon_shell": "Coquille de canon",
"entity.superbwarfare.javelin_missile": "Missile Javelin", "entity.superbwarfare.javelin_missile": "Missile Javelin",
"entity.superbwarfare.small_cannon_shell": "Petit obus de canon", "entity.superbwarfare.small_cannon_shell": "Petit obus de canon",
"entity.superbwarfare.heli_rocket": "Roquette Heli", "entity.superbwarfare.small_rocket": "Rocket de petit calibre",
"entity.superbwarfare.flare_decoy": "Leurre de fusée éclairante", "entity.superbwarfare.flare_decoy": "Leurre de fusée éclairante",
"entity.superbwarfare.mortar": "Mortier", "entity.superbwarfare.mortar": "Mortier",
"entity.superbwarfare.target": "Cible", "entity.superbwarfare.target": "Cible",

View file

@ -160,7 +160,7 @@
"item.superbwarfare.ap_5_inches": "AP砲弾", "item.superbwarfare.ap_5_inches": "AP砲弾",
"item.superbwarfare.javelin_missile": "ジャベリンミサイル", "item.superbwarfare.javelin_missile": "ジャベリンミサイル",
"item.superbwarfare.lunge_mine": "突進地雷", "item.superbwarfare.lunge_mine": "突進地雷",
"item.superbwarfare.rocket_70": "70mm ロケット弾", "item.superbwarfare.small_rocket": "小口径ロケット弾",
"item.superbwarfare.small_shell": "小口径砲弾", "item.superbwarfare.small_shell": "小口径砲弾",
"item.superbwarfare.wire_guide_missile": "ワイヤー誘導ミサイル", "item.superbwarfare.wire_guide_missile": "ワイヤー誘導ミサイル",
"item.superbwarfare.swarm_drone": "スウォームドローン", "item.superbwarfare.swarm_drone": "スウォームドローン",
@ -417,7 +417,7 @@
"entity.superbwarfare.cannon_shell": "砲弾", "entity.superbwarfare.cannon_shell": "砲弾",
"entity.superbwarfare.javelin_missile": "ジャベリンミサイル", "entity.superbwarfare.javelin_missile": "ジャベリンミサイル",
"entity.superbwarfare.small_cannon_shell": "小型砲弾", "entity.superbwarfare.small_cannon_shell": "小型砲弾",
"entity.superbwarfare.heli_rocket": "ヘリロケット", "entity.superbwarfare.small_rocket": "小口径ロケット弾",
"entity.superbwarfare.flare_decoy": "フレアデコイ", "entity.superbwarfare.flare_decoy": "フレアデコイ",
"entity.superbwarfare.mortar": "迫撃砲", "entity.superbwarfare.mortar": "迫撃砲",
"entity.superbwarfare.target": "的", "entity.superbwarfare.target": "的",

View file

@ -153,7 +153,7 @@
"item.superbwarfare.ap_5_inches": "Бронебойный снаряд", "item.superbwarfare.ap_5_inches": "Бронебойный снаряд",
"item.superbwarfare.javelin_missile": "Ракета Javelin", "item.superbwarfare.javelin_missile": "Ракета Javelin",
"item.superbwarfare.lunge_mine": "Ударная мина", "item.superbwarfare.lunge_mine": "Ударная мина",
"item.superbwarfare.rocket_70": "70мм ракета", "item.superbwarfare.small_rocket": "Мелкокалиберные ракета",
"item.superbwarfare.small_shell": "Мелкокалиберные снаряды", "item.superbwarfare.small_shell": "Мелкокалиберные снаряды",
"item.superbwarfare.wire_guide_missile": "Управляемая ракета", "item.superbwarfare.wire_guide_missile": "Управляемая ракета",
"block.superbwarfare.container": "Контейнер", "block.superbwarfare.container": "Контейнер",
@ -385,7 +385,7 @@
"entity.superbwarfare.cannon_shell": "Пушечный снаряд", "entity.superbwarfare.cannon_shell": "Пушечный снаряд",
"entity.superbwarfare.javelin_missile": "Ракета Javelin", "entity.superbwarfare.javelin_missile": "Ракета Javelin",
"entity.superbwarfare.small_cannon_shell": "Снаряд маленькой пушки", "entity.superbwarfare.small_cannon_shell": "Снаряд маленькой пушки",
"entity.superbwarfare.heli_rocket": "Ракета вертолёта", "entity.superbwarfare.small_rocket": "Мелкокалиберные ракета",
"entity.superbwarfare.flare_decoy": "Ложная цель", "entity.superbwarfare.flare_decoy": "Ложная цель",
"entity.superbwarfare.mortar": "Миномёт", "entity.superbwarfare.mortar": "Миномёт",
"entity.superbwarfare.target": "Мишень", "entity.superbwarfare.target": "Мишень",

View file

@ -176,7 +176,7 @@
"item.superbwarfare.lunge_mine": "突刺爆雷", "item.superbwarfare.lunge_mine": "突刺爆雷",
"item.superbwarfare.blu_43_mine": "BLU-43蝴蝶雷", "item.superbwarfare.blu_43_mine": "BLU-43蝴蝶雷",
"item.superbwarfare.tm_62": "TM-62反坦克地雷", "item.superbwarfare.tm_62": "TM-62反坦克地雷",
"item.superbwarfare.rocket_70": "70mm火箭弹", "item.superbwarfare.small_rocket": "小口径火箭弹",
"item.superbwarfare.small_shell": "小口径炮弹", "item.superbwarfare.small_shell": "小口径炮弹",
"des.superbwarfare.small_shell": "适配20mm ~ 40mm口径武器", "des.superbwarfare.small_shell": "适配20mm ~ 40mm口径武器",
"item.superbwarfare.wire_guide_missile": "线控导弹", "item.superbwarfare.wire_guide_missile": "线控导弹",
@ -473,7 +473,7 @@
"entity.superbwarfare.cannon_shell": "炮弹", "entity.superbwarfare.cannon_shell": "炮弹",
"entity.superbwarfare.javelin_missile": "标枪导弹", "entity.superbwarfare.javelin_missile": "标枪导弹",
"entity.superbwarfare.small_cannon_shell": "小口径炮弹", "entity.superbwarfare.small_cannon_shell": "小口径炮弹",
"entity.superbwarfare.heli_rocket": "小鸟火箭弹", "entity.superbwarfare.small_rocket": "小口径火箭弹",
"entity.superbwarfare.flare_decoy": "热诱弹", "entity.superbwarfare.flare_decoy": "热诱弹",
"entity.superbwarfare.mortar": "迫击炮", "entity.superbwarfare.mortar": "迫击炮",
"entity.superbwarfare.target": "标靶", "entity.superbwarfare.target": "标靶",

View file

@ -2590,18 +2590,18 @@
} }
] ]
}, },
"heli_rocket_fire_1p": { "small_rocket_fire_1p": {
"sounds": [ "sounds": [
{ {
"name": "superbwarfare:helicopter/heli_rocket_fire_1p", "name": "superbwarfare:helicopter/small_rocket_fire_1p",
"stream": false "stream": false
} }
] ]
}, },
"heli_rocket_fire_3p": { "small_rocket_fire_3p": {
"sounds": [ "sounds": [
{ {
"name": "superbwarfare:helicopter/heli_rocket_fire_3p", "name": "superbwarfare:helicopter/small_rocket_fire_3p",
"stream": false "stream": false
} }
] ]

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View file

@ -21,7 +21,7 @@
} }
}, },
"result": { "result": {
"id": "superbwarfare:rocket_70", "id": "superbwarfare:small_rocket",
"count": 4 "count": 4
} }
} }