修改m2命名

This commit is contained in:
17146 2025-06-27 19:10:01 +08:00 committed by Light_Quanta
parent 0fb8a642e2
commit e75f083f02
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
44 changed files with 8405 additions and 41801 deletions

View file

@ -1,6 +0,0 @@
{
"parent": "superbwarfare:displaysettings/m_2.item",
"textures": {
"layer0": "superbwarfare:item/m_2"
}
}

View file

@ -1,12 +1,12 @@
{
"base": {
"parent": "superbwarfare:item/m_2_base"
"parent": "superbwarfare:item/m_2_hb_base"
},
"gui_light": "front",
"loader": "neoforge:separate_transforms",
"perspectives": {
"gui": {
"parent": "superbwarfare:item/m_2_icon"
"parent": "superbwarfare:item/m_2_hb_icon"
}
}
}

View file

@ -0,0 +1,6 @@
{
"parent": "superbwarfare:displaysettings/m_2_hb.item",
"textures": {
"layer0": "superbwarfare:item/m_2_hb"
}
}

View file

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

View file

@ -1,11 +1,11 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_m2hb_blueprint": {
"has_m_2_hb_blueprint": {
"conditions": {
"items": [
{
"items": "superbwarfare:m2hb_blueprint"
"items": "superbwarfare:m_2_hb_blueprint"
}
]
},
@ -13,7 +13,7 @@
},
"has_the_recipe": {
"conditions": {
"recipe": "superbwarfare:m2hb_blueprint"
"recipe": "superbwarfare:m_2_hb_smithing"
},
"trigger": "minecraft:recipe_unlocked"
}
@ -21,12 +21,12 @@
"requirements": [
[
"has_the_recipe",
"has_m2hb_blueprint"
"has_m_2_hb_blueprint"
]
],
"rewards": {
"recipes": [
"superbwarfare:m2hb_blueprint"
"superbwarfare:m_2_hb_smithing"
]
}
}

View file

@ -1,11 +1,11 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_m2hb_blueprint": {
"has_m_2_hb_blueprint": {
"conditions": {
"items": [
{
"items": "superbwarfare:m2hb_blueprint"
"items": "superbwarfare:m_2_hb_blueprint"
}
]
},
@ -13,7 +13,7 @@
},
"has_the_recipe": {
"conditions": {
"recipe": "superbwarfare:m_2_smithing"
"recipe": "superbwarfare:m_2_hb_blueprint"
},
"trigger": "minecraft:recipe_unlocked"
}
@ -21,12 +21,12 @@
"requirements": [
[
"has_the_recipe",
"has_m2hb_blueprint"
"has_m_2_hb_blueprint"
]
],
"rewards": {
"recipes": [
"superbwarfare:m_2_smithing"
"superbwarfare:m_2_hb_blueprint"
]
}
}

View file

@ -91,7 +91,7 @@
},
{
"type": "minecraft:item",
"name": "superbwarfare:m2hb_blueprint",
"name": "superbwarfare:m_2_hb_blueprint",
"weight": 15
},
{

View file

@ -91,7 +91,7 @@
},
{
"type": "minecraft:item",
"name": "superbwarfare:m2hb_blueprint",
"name": "superbwarfare:m_2_hb_blueprint",
"weight": 30
},
{

View file

@ -9,7 +9,7 @@
"item": "minecraft:lapis_lazuli"
},
"S": {
"item": "superbwarfare:m2hb_blueprint"
"item": "superbwarfare:m_2_hb_blueprint"
}
},
"pattern": [
@ -19,6 +19,6 @@
],
"result": {
"count": 2,
"id": "superbwarfare:m2hb_blueprint"
"id": "superbwarfare:m_2_hb_blueprint"
}
}

View file

@ -8,9 +8,9 @@
},
"result": {
"count": 1,
"id": "superbwarfare:m_2"
"id": "superbwarfare:m_2_hb"
},
"template": {
"item": "superbwarfare:m2hb_blueprint"
"item": "superbwarfare:m_2_hb_blueprint"
}
}

View file

@ -8,7 +8,7 @@
"superbwarfare:ak_47_blueprint",
"superbwarfare:k_98_blueprint",
"superbwarfare:mosin_nagant_blueprint",
"superbwarfare:m2hb_blueprint",
"superbwarfare:m_2_hb_blueprint",
"superbwarfare:hk_416_blueprint",
"superbwarfare:ak_12_blueprint",
"superbwarfare:qbz_95_blueprint",

View file

@ -30,7 +30,7 @@
"superbwarfare:devotion",
"superbwarfare:rpk",
"superbwarfare:m_60",
"superbwarfare:m_2",
"superbwarfare:m_2_hb",
"superbwarfare:minigun",
"superbwarfare:m_79",
"superbwarfare:secondary_cataclysm",

View file

@ -1,6 +1,6 @@
{
"values": [
"superbwarfare:ntw_20",
"superbwarfare:m_2"
"superbwarfare:m_2_hb"
]
}

View file

@ -35,6 +35,6 @@
"superbwarfare:taser",
"superbwarfare:minigun",
"superbwarfare:mp_5",
"superbwarfare:m_2"
"superbwarfare:m_2_hb"
]
}

View file

@ -5,7 +5,7 @@ import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.overlay.CrossHairOverlay;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.item.gun.machinegun.M2Item;
import com.atsuishio.superbwarfare.item.gun.machinegun.M2HBItem;
import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
@ -14,38 +14,38 @@ import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animation.AnimationState;
import software.bernie.geckolib.cache.object.GeoBone;
public class M2ItemModel extends CustomGunModel<M2Item> {
public class M2ItemModel extends CustomGunModel<M2HBItem> {
public static float fireRotY = 0f;
public static float fireRotZ = 0f;
@Override
public ResourceLocation getAnimationResource(M2Item animatable) {
public ResourceLocation getAnimationResource(M2HBItem animatable) {
return Mod.loc("animations/m_2.animation.json");
}
@Override
public ResourceLocation getModelResource(M2Item animatable) {
return Mod.loc("geo/m_2.geo.json");
public ResourceLocation getModelResource(M2HBItem animatable) {
return Mod.loc("geo/m_2_hb.geo.json");
}
@Override
public ResourceLocation getTextureResource(M2Item animatable) {
return Mod.loc("textures/item/m_2.png");
public ResourceLocation getTextureResource(M2HBItem animatable) {
return Mod.loc("textures/item/m_2_hb.png");
}
@Override
public ResourceLocation getLODModelResource(M2Item animatable) {
return Mod.loc("geo/lod/m_2.geo.json");
public ResourceLocation getLODModelResource(M2HBItem animatable) {
return Mod.loc("geo/lod/m_2_hb.geo.json");
}
@Override
public ResourceLocation getLODTextureResource(M2Item animatable) {
return Mod.loc("textures/item/lod/m_2.png");
public ResourceLocation getLODTextureResource(M2HBItem animatable) {
return Mod.loc("textures/item/lod/m_2_hb.png");
}
@Override
public void setCustomAnimations(M2Item animatable, long instanceId, AnimationState<M2Item> animationState) {
public void setCustomAnimations(M2HBItem animatable, long instanceId, AnimationState<M2HBItem> animationState) {
Player player = Minecraft.getInstance().player;
if (player == null) return;
ItemStack stack = player.getMainHandItem();

View file

@ -95,7 +95,7 @@ public class CrossHairOverlay implements LayeredDraw.Layer {
float finPosX = ((w - finLength) / 2) + moveX;
float finPosY = ((h - finLength) / 2) + moveY;
if (shouldRenderCrossHair(player) || (Minecraft.getInstance().options.getCameraType() == CameraType.FIRST_PERSON && (stack.is(ModItems.MINIGUN.get()) || stack.is(ModItems.AURELIA_SCEPTRE.get()) || stack.is(ModItems.M_2.get()))) || (Minecraft.getInstance().options.getCameraType() == CameraType.THIRD_PERSON_BACK && (ClientEventHandler.zoomTime > 0 || ClientEventHandler.bowPullPos > 0))) {
if (shouldRenderCrossHair(player) || (Minecraft.getInstance().options.getCameraType() == CameraType.FIRST_PERSON && (stack.is(ModItems.MINIGUN.get()) || stack.is(ModItems.AURELIA_SCEPTRE.get()) || stack.is(ModItems.M_2_HB.get()))) || (Minecraft.getInstance().options.getCameraType() == CameraType.THIRD_PERSON_BACK && (ClientEventHandler.zoomTime > 0 || ClientEventHandler.bowPullPos > 0))) {
preciseBlit(guiGraphics, Mod.loc("textures/screens/point.png"), w / 2f - 7.5f + moveX, h / 2f - 7.5f + moveY, 0, 0, 16, 16, 16, 16);
if (!player.isSprinting() || ClientEventHandler.cantSprint > 0) {
if (data.projectileAmount() > 1) {

View file

@ -4,7 +4,7 @@ import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.model.item.M2ItemModel;
import com.atsuishio.superbwarfare.client.renderer.CustomGunRenderer;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.machinegun.M2Item;
import com.atsuishio.superbwarfare.item.gun.machinegun.M2HBItem;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft;
@ -15,14 +15,14 @@ import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.animatable.GeoItem;
import software.bernie.geckolib.cache.object.GeoBone;
public class M2ItemRenderer extends CustomGunRenderer<M2Item> {
public class M2HBItemRenderer extends CustomGunRenderer<M2HBItem> {
public M2ItemRenderer() {
public M2HBItemRenderer() {
super(new M2ItemModel());
}
@Override
public void renderRecursively(PoseStack stack, M2Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
public void renderRecursively(PoseStack stack, M2HBItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;

View file

@ -64,7 +64,7 @@ public class ModItemModelProvider extends ItemModelProvider {
gunItem(ModItems.TRACHELIUM);
gunItem(ModItems.VECTOR);
gunItem(ModItems.MP_5);
gunItem(ModItems.M_2);
gunItem(ModItems.M_2_HB);
simpleItem(ModItems.EMPTY_PERK, "perk/");

View file

@ -86,7 +86,7 @@ public class ModItemTagProvider extends ItemTagsProvider {
this.tag(ModTags.Items.SNIPER_RIFLE).add(ModItems.HUNTING_RIFLE.get(), ModItems.SENTINEL.get(),
ModItems.SVD.get(), ModItems.M_98B.get(), ModItems.K_98.get(), ModItems.MOSIN_NAGANT.get());
this.tag(ModTags.Items.HEAVY_WEAPON).add(ModItems.NTW_20.get(), ModItems.M_2.get());
this.tag(ModTags.Items.HEAVY_WEAPON).add(ModItems.NTW_20.get(),ModItems.M_2_HB.get());
this.tag(ModTags.Items.SHOTGUN).add(ModItems.HOMEMADE_SHOTGUN.get(), ModItems.M_870.get(), ModItems.AA_12.get());
@ -94,7 +94,7 @@ public class ModItemTagProvider extends ItemTagsProvider {
ModItems.SKS.get(), ModItems.RPK.get(), ModItems.HK_416.get(), ModItems.AA_12.get(), ModItems.M_4.get(), ModItems.DEVOTION.get(), ModItems.TRACHELIUM.get(), ModItems.M_79.get(),
ModItems.HUNTING_RIFLE.get(), ModItems.NTW_20.get(), ModItems.M_98B.get(), ModItems.SENTINEL.get(), ModItems.M_870.get(), ModItems.MARLIN.get(), ModItems.GLOCK_17.get(), ModItems.RPG.get(),
ModItems.GLOCK_18.get(), ModItems.M_1911.get(), ModItems.AURELIA_SCEPTRE.get(), ModItems.QBZ_95.get(), ModItems.K_98.get(), ModItems.MOSIN_NAGANT.get(), ModItems.MP_443.get(), ModItems.INSIDIOUS.get(), ModItems.SECONDARY_CATACLYSM.get(),
ModItems.TASER.get(), ModItems.MINIGUN.get(), ModItems.MP_5.get(), ModItems.M_2.get());
ModItems.TASER.get(), ModItems.MINIGUN.get(), ModItems.MP_5.get(), ModItems.M_2_HB.get());
this.tag(ModTags.Items.LAUNCHER).add(ModItems.RPG.get(), ModItems.JAVELIN.get())
.addTag(ModTags.Items.LAUNCHER_GRENADE);

View file

@ -131,7 +131,7 @@ public class ModRecipeProvider extends RecipeProvider {
gunSmithing(writer, ModItems.K_98_BLUEPRINT.get(), GunRarity.RARE, ItemTags.LOGS, ModItems.K_98.get());
gunSmithing(writer, ModItems.MOSIN_NAGANT_BLUEPRINT.get(), GunRarity.RARE, ItemTags.LOGS, ModItems.MOSIN_NAGANT.get());
gunSmithing(writer, ModItems.JAVELIN_BLUEPRINT.get(), GunRarity.LEGENDARY, ModItems.ANCIENT_CPU.get(), ModItems.JAVELIN.get());
gunSmithing(writer, ModItems.M_2_HB_BLUEPRINT.get(), GunRarity.RARE, ModTags.Items.STORAGE_BLOCK_STEEL, ModItems.M_2.get());
gunSmithing(writer, ModItems.M_2_HB_BLUEPRINT.get(), GunRarity.RARE, ModTags.Items.STORAGE_BLOCK_STEEL, ModItems.M_2_HB.get());
gunSmithing(writer, ModItems.SECONDARY_CATACLYSM_BLUEPRINT.get(), GunRarity.LEGENDARY, ModItems.KNIFE.get(), ModItems.SECONDARY_CATACLYSM.get());
gunSmithing(writer, ModItems.INSIDIOUS_BLUEPRINT.get(), GunRarity.EPIC, ModTags.Items.INGOTS_CEMENTED_CARBIDE, ModItems.INSIDIOUS.get());
gunSmithing(writer, ModItems.AURELIA_SCEPTRE_BLUEPRINT.get(), GunRarity.LEGENDARY, Items.END_CRYSTAL, ModItems.AURELIA_SCEPTRE.get());

View file

@ -69,10 +69,10 @@ public class SpeedboatEntity extends ContainerMobileVehicleEntity implements Geo
.headShot(2)
.zoom(false)
.icon(Mod.loc("textures/screens/vehicle_weapon/gun_12_7mm.png"))
.sound1p(ModSounds.M_2_FIRE_1P.get())
.sound3p(ModSounds.M_2_FIRE_3P.get())
.sound3pFar(ModSounds.M_2_FAR.get())
.sound3pVeryFar(ModSounds.M_2_VERYFAR.get())
.sound1p(ModSounds.M_2_HB_FIRE_1P.get())
.sound3p(ModSounds.M_2_HB_FIRE_3P.get())
.sound3pFar(ModSounds.M_2_HB_FAR.get())
.sound3pVeryFar(ModSounds.M_2_HB_VERYFAR.get())
}
};
}

View file

@ -151,10 +151,10 @@ public class Yx100Entity extends ContainerMobileVehicleEntity implements GeoEnti
.ammo(ModItems.HEAVY_AMMO.get())
.sound(ModSounds.INTO_CANNON.get())
.icon(Mod.loc("textures/screens/vehicle_weapon/gun_12_7mm.png"))
.sound1p(ModSounds.M_2_FIRE_1P.get())
.sound3p(ModSounds.M_2_FIRE_3P.get())
.sound3pFar(ModSounds.M_2_FAR.get())
.sound3pVeryFar(ModSounds.M_2_VERYFAR.get()),
.sound1p(ModSounds.M_2_HB_FIRE_1P.get())
.sound3p(ModSounds.M_2_HB_FIRE_3P.get())
.sound3pFar(ModSounds.M_2_HB_FAR.get())
.sound3pVeryFar(ModSounds.M_2_HB_VERYFAR.get()),
},
new VehicleWeapon[]{
// 机枪
@ -165,10 +165,10 @@ public class Yx100Entity extends ContainerMobileVehicleEntity implements GeoEnti
.bypassArmorRate(0.4f)
.ammo(ModItems.HEAVY_AMMO.get())
.icon(Mod.loc("textures/screens/vehicle_weapon/gun_12_7mm.png"))
.sound1p(ModSounds.M_2_FIRE_1P.get())
.sound3p(ModSounds.M_2_FIRE_3P.get())
.sound3pFar(ModSounds.M_2_FAR.get())
.sound3pVeryFar(ModSounds.M_2_VERYFAR.get()),
.sound1p(ModSounds.M_2_HB_FIRE_1P.get())
.sound3p(ModSounds.M_2_HB_FIRE_3P.get())
.sound3pFar(ModSounds.M_2_HB_FAR.get())
.sound3pVeryFar(ModSounds.M_2_HB_VERYFAR.get()),
},
new VehicleWeapon[]{
// 蜂群无人机

View file

@ -76,7 +76,7 @@ public class ModItems {
public static final DeferredHolder<Item, DevotionItem> DEVOTION = GUNS.register("devotion", DevotionItem::new);
public static final DeferredHolder<Item, RpkItem> RPK = GUNS.register("rpk", RpkItem::new);
public static final DeferredHolder<Item, M60Item> M_60 = GUNS.register("m_60", M60Item::new);
public static final DeferredHolder<Item, M2Item> M_2 = GUNS.register("m_2", M2Item::new);
public static final DeferredHolder<Item, M2HBItem> M_2_HB = GUNS.register("m_2_hb", M2HBItem::new);
public static final DeferredHolder<Item, MinigunItem> MINIGUN = GUNS.register("minigun", MinigunItem::new);
public static final DeferredHolder<Item, M79Item> M_79 = GUNS.register("m_79", M79Item::new);
public static final DeferredHolder<Item, SecondaryCataclysm> SECONDARY_CATACLYSM = GUNS.register("secondary_cataclysm", SecondaryCataclysm::new);
@ -243,7 +243,7 @@ public class ModItems {
public static final DeferredHolder<Item, BlueprintItem> K_98_BLUEPRINT = ITEMS.register("k_98_blueprint", () -> new BlueprintItem(Rarity.RARE));
public static final DeferredHolder<Item, BlueprintItem> MOSIN_NAGANT_BLUEPRINT = ITEMS.register("mosin_nagant_blueprint", () -> new BlueprintItem(Rarity.RARE));
public static final DeferredHolder<Item, BlueprintItem> JAVELIN_BLUEPRINT = ITEMS.register("javelin_blueprint", () -> new BlueprintItem(ModEnumExtensions.getLegendary()));
public static final DeferredHolder<Item, BlueprintItem> M_2_HB_BLUEPRINT = ITEMS.register("m2hb_blueprint", () -> new BlueprintItem(Rarity.RARE));
public static final DeferredHolder<Item, BlueprintItem> M_2_HB_BLUEPRINT = ITEMS.register("m_2_hb_blueprint", () -> new BlueprintItem(Rarity.RARE));
public static final DeferredHolder<Item, BlueprintItem> SECONDARY_CATACLYSM_BLUEPRINT = ITEMS.register("secondary_cataclysm_blueprint", () -> new BlueprintItem(ModEnumExtensions.getLegendary()));
public static final DeferredHolder<Item, BlueprintItem> INSIDIOUS_BLUEPRINT = ITEMS.register("insidious_blueprint", () -> new BlueprintItem(Rarity.EPIC));
public static final DeferredHolder<Item, BlueprintItem> AURELIA_SCEPTRE_BLUEPRINT = ITEMS.register("aurelia_sceptre_blueprint", () -> new BlueprintItem(ModEnumExtensions.getLegendary()));

View file

@ -347,12 +347,12 @@ public class ModSounds {
public static final DeferredHolder<SoundEvent, SoundEvent> MP_5_FIRE_1P_S = REGISTRY.register("mp_5_fire_1p_s", () -> SoundEvent.createVariableRangeEvent(Mod.loc("mp_5_fire_1p_s")));
public static final DeferredHolder<SoundEvent, SoundEvent> MP_5_FIRE_3P_S = REGISTRY.register("mp_5_fire_3p_s", () -> SoundEvent.createVariableRangeEvent(Mod.loc("mp_5_fire_3p_s")));
public static final DeferredHolder<SoundEvent, SoundEvent> M_2_FIRE_1P = REGISTRY.register("m2_fire_1p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("m2_fire_1p")));
public static final DeferredHolder<SoundEvent, SoundEvent> M_2_FIRE_3P = REGISTRY.register("m2_fire_3p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("m2_fire_3p")));
public static final DeferredHolder<SoundEvent, SoundEvent> M_2_FAR = REGISTRY.register("m2_far", () -> SoundEvent.createVariableRangeEvent(Mod.loc("m2_far")));
public static final DeferredHolder<SoundEvent, SoundEvent> M_2_VERYFAR = REGISTRY.register("m2_veryfar", () -> SoundEvent.createVariableRangeEvent(Mod.loc("m2_veryfar")));
public static final DeferredHolder<SoundEvent, SoundEvent> M_2_RELOAD_NORMAL = REGISTRY.register("m_2_reload_normal", () -> SoundEvent.createVariableRangeEvent(Mod.loc("m2_reload_normal")));
public static final DeferredHolder<SoundEvent, SoundEvent> M_2_RELOAD_EMPTY = REGISTRY.register("m_2_reload_empty", () -> SoundEvent.createVariableRangeEvent(Mod.loc("m_2_reload_empty")));
public static final DeferredHolder<SoundEvent, SoundEvent> M_2_HB_FIRE_1P = REGISTRY.register("m_2_hb_fire_1p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("m_2_hb_fire_1p")));
public static final DeferredHolder<SoundEvent, SoundEvent> M_2_HB_FIRE_3P = REGISTRY.register("m_2_hb_fire_3p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("m_2_hb_fire_3p")));
public static final DeferredHolder<SoundEvent, SoundEvent> M_2_HB_FAR = REGISTRY.register("m_2_hb_far", () -> SoundEvent.createVariableRangeEvent(Mod.loc("m_2_hb_far")));
public static final DeferredHolder<SoundEvent, SoundEvent> M_2_HB_VERYFAR = REGISTRY.register("m_2_hb_veryfar", () -> SoundEvent.createVariableRangeEvent(Mod.loc("m_2_hb_veryfar")));
public static final DeferredHolder<SoundEvent, SoundEvent> M_2_HB_RELOAD_NORMAL = REGISTRY.register("m_2_hb_reload_normal", () -> SoundEvent.createVariableRangeEvent(Mod.loc("m_2_hb_reload_normal")));
public static final DeferredHolder<SoundEvent, SoundEvent> M_2_HB_RELOAD_EMPTY = REGISTRY.register("m_2_hb_reload_empty", () -> SoundEvent.createVariableRangeEvent(Mod.loc("m_2_hb_reload_empty")));
public static final DeferredHolder<SoundEvent, SoundEvent> MK_42_FIRE_1P = REGISTRY.register("mk_42_fire_1p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("mk_42_fire_1p")));
public static final DeferredHolder<SoundEvent, SoundEvent> MK_42_FIRE_3P = REGISTRY.register("mk_42_fire_3p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("mk_42_fire_3p")));

View file

@ -1,7 +1,7 @@
package com.atsuishio.superbwarfare.item.gun.machinegun;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.renderer.gun.M2ItemRenderer;
import com.atsuishio.superbwarfare.client.renderer.gun.M2HBItemRenderer;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.init.ModEnumExtensions;
@ -31,15 +31,15 @@ import java.util.Set;
import java.util.function.Consumer;
import java.util.function.Supplier;
public class M2Item extends GunItem {
public class M2HBItem extends GunItem {
public M2Item() {
public M2HBItem() {
super(new Properties().stacksTo(1).rarity(Rarity.RARE));
}
@Override
public Supplier<GeoItemRenderer<? extends Item>> getRenderer() {
return M2ItemRenderer::new;
return M2HBItemRenderer::new;
}
@Override
@ -52,46 +52,46 @@ public class M2Item extends GunItem {
return HumanoidModel.ArmPose.EMPTY;
}
private PlayState fireAnimPredicate(AnimationState<M2Item> event) {
private PlayState fireAnimPredicate(AnimationState<M2HBItem> event) {
LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP;
ItemStack stack = player.getMainHandItem();
if (!(stack.getItem() instanceof GunItem)) return PlayState.STOP;
if (event.getData(DataTickets.ITEM_RENDER_PERSPECTIVE) != ItemDisplayContext.FIRST_PERSON_RIGHT_HAND)
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m_2.idle"));
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m2hb.idle"));
if (ClientEventHandler.firePosTimer > 0 && ClientEventHandler.firePosTimer < 0.45) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m_2.fire"));
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m2hb.fire"));
}
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m_2.idle"));
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m2hb.idle"));
}
private PlayState idlePredicate(AnimationState<M2Item> event) {
private PlayState idlePredicate(AnimationState<M2HBItem> event) {
LocalPlayer player = Minecraft.getInstance().player;
if (player == null) return PlayState.STOP;
ItemStack stack = player.getMainHandItem();
if (!(stack.getItem() instanceof GunItem)) return PlayState.STOP;
if (event.getData(DataTickets.ITEM_RENDER_PERSPECTIVE) != ItemDisplayContext.FIRST_PERSON_RIGHT_HAND)
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m_2.idle"));
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m2hb.idle"));
if (GunData.from(stack).reload.empty()) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m_2.reload_empty"));
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m2hb.reload_empty"));
}
if (GunData.from(stack).reload.normal()) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m_2.reload_normal"));
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m2hb.reload_normal"));
}
if (player.isSprinting() && player.onGround() && ClientEventHandler.cantSprint == 0 && ClientEventHandler.drawTime < 0.01) {
if (ClientEventHandler.tacticalSprint) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m_2.run_fast"));
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m2hb.run_fast"));
} else {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m_2.run"));
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m2hb.run"));
}
}
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m_2.idle"));
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m2hb.idle"));
}
@Override
@ -104,7 +104,7 @@ public class M2Item extends GunItem {
@Override
public Set<SoundEvent> getReloadSound() {
return Set.of(ModSounds.M_2_RELOAD_EMPTY.get(), ModSounds.M_2_RELOAD_NORMAL.get());
return Set.of(ModSounds.M_2_HB_RELOAD_EMPTY.get(), ModSounds.M_2_HB_RELOAD_NORMAL.get());
}
@Override
@ -122,7 +122,7 @@ public class M2Item extends GunItem {
@Override
public ResourceLocation getGunIcon() {
return Mod.loc("textures/gun_icon/m2_icon.png");
return Mod.loc("textures/gun_icon/m_2_hb_icon.png");
}
@Override

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,678 @@
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.m_2_hb",
"texture_width": 64,
"texture_height": 64,
"visible_bounds_width": 5,
"visible_bounds_height": 3,
"visible_bounds_offset": [0, 0.5, 0]
},
"bones": [
{
"name": "gun2",
"pivot": [0, 3.09144, 4.26768],
"cubes": [
{
"origin": [-1.932, 0.67644, -8.61232],
"size": [3.864, 4.83, 21.735],
"uv": {
"north": {"uv": [13, 24], "uv_size": [4, 5]},
"east": {"uv": [0, 0], "uv_size": [21.5, 5]},
"south": {"uv": [26, 10], "uv_size": [4, 5]},
"west": {"uv": [0, 5], "uv_size": [21.5, 5]},
"up": {"uv": [0, 10], "uv_size": [4, 21.5]},
"down": {"uv": [4, 31.5], "uv_size": [4, -21.5]}
}
},
{
"origin": [-0.75, 2.25644, 13.12268],
"size": [1.5, 1.5, 3.5],
"pivot": [0, 3.00644, 14.87268],
"rotation": [0, 0, -45],
"uv": {
"north": {"uv": [39, 18], "uv_size": [1.5, 1.5]},
"east": {"uv": [28, 5], "uv_size": [3.5, 1.5]},
"south": {"uv": [39, 20], "uv_size": [1.5, 1.5]},
"west": {"uv": [0, 32], "uv_size": [3.5, 1.5]},
"up": {"uv": [32, 0], "uv_size": [1.5, 3.5]},
"down": {"uv": [4, 35.5], "uv_size": [1.5, -3.5]}
}
},
{
"origin": [-2.182, 1.67644, 2.63768],
"size": [0.25, 2.58, 9.985],
"uv": {
"north": {"uv": [40, 39], "uv_size": [0.5, 2.5]},
"east": {"uv": [22, 7], "uv_size": [10, 2.5]},
"south": {"uv": [41, 1], "uv_size": [0.5, 2.5]},
"up": {"uv": [32, 16], "uv_size": [0.5, 10]},
"down": {"uv": [32, 36], "uv_size": [0.5, -10]}
}
},
{
"origin": [-5.182, 3.25644, 3.62268],
"size": [3, 1, 1],
"uv": {
"north": {"uv": [38, 24], "uv_size": [3, 1]},
"east": {"uv": [27, 41], "uv_size": [1, 1]},
"south": {"uv": [25, 38], "uv_size": [3, 1]},
"up": {"uv": [38, 25], "uv_size": [3, 1]},
"down": {"uv": [38, 27], "uv_size": [3, -1]}
}
},
{
"origin": [-0.7245, 5.50644, 9.09768],
"size": [1.449, 0.5635, 2.415],
"uv": {
"north": {"uv": [41, 40], "uv_size": [1.5, 0.5]},
"east": {"uv": [39, 29], "uv_size": [2.5, 0.5]},
"south": {"uv": [41, 41], "uv_size": [1.5, 0.5]},
"west": {"uv": [39, 36], "uv_size": [2.5, 0.5]},
"up": {"uv": [34, 18], "uv_size": [1.5, 2.5]},
"down": {"uv": [34, 23.5], "uv_size": [1.5, -2.5]}
}
},
{
"origin": [-0.52325, 4.98319, -8.37082],
"size": [1.0465, 1.0465, 0.805],
"pivot": [0, 5.50644, -7.96832],
"rotation": [0, 0, 45],
"uv": {
"north": {"uv": [25, 41], "uv_size": [1, 1]},
"east": {"uv": [41, 25], "uv_size": [1, 1]},
"south": {"uv": [26, 41], "uv_size": [1, 1]},
"up": {"uv": [41, 26], "uv_size": [1, 1]}
}
},
{
"origin": [1.61, -2.48856, -7.40482],
"size": [8.855, 6.385, 5.635],
"uv": {
"north": {"uv": [8, 10], "uv_size": [9, 6.5]},
"east": {"uv": [22, 0], "uv_size": [5.5, 6.5]},
"south": {"uv": [8, 17], "uv_size": [9, 6.5]},
"west": {"uv": [17, 22], "uv_size": [5.5, 6.5]},
"up": {"uv": [17, 10], "uv_size": [9, 5.5]},
"down": {"uv": [17, 21.5], "uv_size": [9, -5.5]}
}
},
{
"origin": [1.61, 1.96444, -7.00232],
"size": [4.83, 0.966, 4.83],
"pivot": [9.66, 3.97694, 1.85268],
"rotation": [0, 0, 15.5],
"uv": {
"north": {"uv": [32, 4], "uv_size": [5, 1]},
"south": {"uv": [32, 5], "uv_size": [5, 1]},
"up": {"uv": [23, 22], "uv_size": [5, 5]},
"down": {"uv": [8, 29], "uv_size": [5, -5]}
}
},
{
"origin": [2.8651, 0.68824, 17.19258],
"size": [1.5456, 4.8182, 1.5456],
"uv": {
"north": {"uv": [26, 15], "uv_size": [1.5, 5]},
"east": {"uv": [28, 0], "uv_size": [1.5, 5]},
"south": {"uv": [30, 0], "uv_size": [1.5, 5]},
"west": {"uv": [30, 10], "uv_size": [1.5, 5]},
"up": {"uv": [26, 20], "uv_size": [1.5, 1.5]},
"down": {"uv": [10, 40.5], "uv_size": [1.5, -1.5]}
}
},
{
"origin": [-0.5796, 5.09724, 11.15668],
"size": [1.1592, 0.4092, 5.0912],
"pivot": [0, 3.09144, 13.70228],
"rotation": [0, -90, 0],
"uv": {
"east": {"uv": [38, 30], "uv_size": [5, 0.5]},
"west": {"uv": [38, 31], "uv_size": [5, 0.5]},
"up": {"uv": [6, 32], "uv_size": [1, 5]},
"down": {"uv": [32, 11], "uv_size": [1, -5]}
}
},
{
"origin": [-0.5796, 0.67644, 11.15668],
"size": [1.1592, 0.4092, 5.0912],
"pivot": [0, 3.09144, 13.70228],
"rotation": [0, -90, 0],
"uv": {
"east": {"uv": [37, 38], "uv_size": [5, 0.5]},
"west": {"uv": [39, 0], "uv_size": [5, 0.5]},
"up": {"uv": [7, 32], "uv_size": [1, 5]},
"down": {"uv": [32, 16], "uv_size": [1, -5]}
}
},
{
"origin": [3.35617, 5.09724, 15.78693],
"size": [1.1592, 0.4092, 2.0912],
"pivot": [3.93577, 3.09144, 15.33253],
"rotation": [0, -135, 0],
"uv": {
"east": {"uv": [30, 41], "uv_size": [2, 0.5]},
"west": {"uv": [41, 32], "uv_size": [2, 0.5]},
"up": {"uv": [38, 39], "uv_size": [1, 2]},
"down": {"uv": [39, 41], "uv_size": [1, -2]}
}
},
{
"origin": [3.35617, 0.67644, 15.78693],
"size": [1.1592, 0.4092, 2.0912],
"pivot": [3.93577, 3.09144, 15.33253],
"rotation": [0, -135, 0],
"uv": {
"east": {"uv": [41, 27], "uv_size": [2, 0.5]},
"west": {"uv": [41, 28], "uv_size": [2, 0.5]},
"up": {"uv": [39, 34], "uv_size": [1, 2]},
"down": {"uv": [37, 41], "uv_size": [1, -2]}
}
},
{
"origin": [-4.51537, 0.67644, 15.78693],
"size": [1.1592, 0.4092, 2.0912],
"pivot": [-3.93577, 3.09144, 15.33253],
"rotation": [0, 135, 0],
"uv": {
"east": {"uv": [37, 41], "uv_size": [2, 0.5]},
"west": {"uv": [41, 39], "uv_size": [2, 0.5]},
"up": {"uv": [5, 40], "uv_size": [1, 2]},
"down": {"uv": [40, 8], "uv_size": [1, -2]}
}
},
{
"origin": [-4.51537, 5.09724, 15.78693],
"size": [1.1592, 0.4092, 2.0912],
"pivot": [-3.93577, 3.09144, 15.33253],
"rotation": [0, 135, 0],
"uv": {
"east": {"uv": [41, 33], "uv_size": [2, 0.5]},
"west": {"uv": [35, 41], "uv_size": [2, 0.5]},
"up": {"uv": [40, 1], "uv_size": [1, 2]},
"down": {"uv": [4, 42], "uv_size": [1, -2]}
}
},
{
"origin": [-4.0243, 5.09724, 14.60138],
"size": [1.1592, 0.4092, 2.5912],
"pivot": [-3.4447, 3.09144, 15.89698],
"rotation": [0, 180, 0],
"uv": {
"east": {"uv": [40, 37], "uv_size": [2.5, 0.5]},
"west": {"uv": [41, 4], "uv_size": [2.5, 0.5]},
"up": {"uv": [39, 1], "uv_size": [1, 2.5]},
"down": {"uv": [2, 41.5], "uv_size": [1, -2.5]}
}
},
{
"origin": [-4.0243, 0.67644, 14.60138],
"size": [1.1592, 0.4092, 2.5912],
"pivot": [-3.4447, 3.09144, 15.89698],
"rotation": [0, 180, 0],
"uv": {
"east": {"uv": [40, 34], "uv_size": [2.5, 0.5]},
"west": {"uv": [40, 35], "uv_size": [2.5, 0.5]},
"up": {"uv": [0, 39], "uv_size": [1, 2.5]},
"down": {"uv": [1, 41.5], "uv_size": [1, -2.5]}
}
},
{
"origin": [2.8651, 5.09724, 14.60138],
"size": [1.1592, 0.4092, 2.5912],
"pivot": [3.4447, 3.09144, 15.89698],
"rotation": [0, -180, 0],
"uv": {
"east": {"uv": [41, 7], "uv_size": [2.5, 0.5]},
"west": {"uv": [41, 8], "uv_size": [2.5, 0.5]},
"up": {"uv": [9, 39], "uv_size": [1, 2.5]},
"down": {"uv": [39, 11.5], "uv_size": [1, -2.5]}
}
},
{
"origin": [2.8651, 0.67644, 14.60138],
"size": [1.1592, 0.4092, 2.5912],
"pivot": [3.4447, 3.09144, 15.89698],
"rotation": [0, -180, 0],
"uv": {
"east": {"uv": [41, 5], "uv_size": [2.5, 0.5]},
"west": {"uv": [41, 6], "uv_size": [2.5, 0.5]},
"up": {"uv": [3, 39], "uv_size": [1, 2.5]},
"down": {"uv": [8, 41.5], "uv_size": [1, -2.5]}
}
},
{
"origin": [-4.4107, 0.68824, 17.19258],
"size": [1.5456, 4.8182, 1.5456],
"uv": {
"north": {"uv": [30, 15], "uv_size": [1.5, 5]},
"east": {"uv": [30, 20], "uv_size": [1.5, 5]},
"south": {"uv": [30, 25], "uv_size": [1.5, 5]},
"west": {"uv": [30, 30], "uv_size": [1.5, 5]},
"up": {"uv": [12, 39], "uv_size": [1.5, 1.5]},
"down": {"uv": [14, 40.5], "uv_size": [1.5, -1.5]}
}
}
]
},
{
"name": "barrel2",
"parent": "gun2",
"pivot": [-1.57813, 148.15302, 43.52547]
},
{
"name": "action2",
"parent": "barrel2",
"pivot": [0, 3.11673, -31.35518],
"cubes": [
{
"origin": [-0.35889, 2.25448, -42.97381],
"size": [0.71778, 1.72448, 23.23727],
"pivot": [0, 3.11673, -32.30315],
"rotation": [0, 0, 22.5],
"uv": {
"up": {"uv": [16, 29], "uv_size": [0.5, 23]},
"down": {"uv": [17, 52], "uv_size": [0.5, -23]}
}
},
{
"origin": [-0.35889, 2.25448, -42.97381],
"size": [0.71778, 1.72448, 23.23727],
"pivot": [0, 3.11673, -32.30315],
"rotation": [0, 0, 67.5],
"uv": {
"up": {"uv": [18, 29], "uv_size": [0.5, 23]},
"down": {"uv": [19, 52], "uv_size": [0.5, -23]}
}
},
{
"origin": [-0.35889, 2.25448, -42.97381],
"size": [0.71778, 1.72448, 23.23727],
"pivot": [0, 3.11673, -32.30315],
"rotation": [0, 0, 112.5],
"uv": {
"up": {"uv": [20, 29], "uv_size": [0.5, 23]},
"down": {"uv": [21, 52], "uv_size": [0.5, -23]}
}
},
{
"origin": [-0.35889, 2.25448, -42.97381],
"size": [0.71778, 1.72448, 23.23727],
"pivot": [0, 3.11673, -32.30315],
"rotation": [0, 0, 157.5],
"uv": {
"up": {"uv": [22, 29], "uv_size": [0.5, 23]},
"down": {"uv": [29, 48], "uv_size": [0.5, -23]}
}
}
]
},
{
"name": "bone33",
"parent": "action2",
"pivot": [0, 3.11673, -11.63089],
"rotation": [0, 180, 0],
"cubes": [
{
"origin": [-0.50078, 1.9136, -5.19089],
"size": [1.00155, 2.40625, 1.61],
"pivot": [0, 3.11673, 2.9439],
"rotation": [0, 0, 22.5],
"uv": {
"south": {"uv": [38, 27], "uv_size": [1, 2.5]},
"up": {"uv": [40, 9], "uv_size": [1, 1.5]},
"down": {"uv": [40, 12.5], "uv_size": [1, -1.5]}
}
},
{
"origin": [-0.50078, 1.9136, -5.19089],
"size": [1.00155, 2.40625, 1.61],
"pivot": [0, 3.11673, 2.9439],
"rotation": [0, 0, 67.5],
"uv": {
"south": {"uv": [28, 38], "uv_size": [1, 2.5]},
"up": {"uv": [40, 16], "uv_size": [1, 1.5]},
"down": {"uv": [40, 23.5], "uv_size": [1, -1.5]}
}
},
{
"origin": [-0.50078, 1.9136, -5.19089],
"size": [1.00155, 2.40625, 1.61],
"pivot": [0, 3.11673, 2.9439],
"rotation": [0, 0, 112.5],
"uv": {
"south": {"uv": [33, 38], "uv_size": [1, 2.5]},
"up": {"uv": [40, 27], "uv_size": [1, 1.5]},
"down": {"uv": [32, 41.5], "uv_size": [1, -1.5]}
}
},
{
"origin": [-0.50078, 1.9136, -5.19089],
"size": [1.00155, 2.40625, 1.61],
"pivot": [0, 3.11673, 2.9439],
"rotation": [0, 0, 157.5],
"uv": {
"south": {"uv": [36, 38], "uv_size": [1, 2.5]},
"up": {"uv": [40, 32], "uv_size": [1, 1.5]},
"down": {"uv": [34, 41.5], "uv_size": [1, -1.5]}
}
}
]
},
{
"name": "bone34",
"parent": "action2",
"pivot": [0, 3.11673, -51.07589],
"rotation": [0, 180, 0],
"cubes": [
{
"origin": [-0.41064, 2.13016, -59.15809],
"size": [0.82127, 1.97313, 3.9606],
"pivot": [0, 3.11673, -57.17779],
"rotation": [0, 0, 22.5],
"uv": {
"north": {"uv": [28, 25], "uv_size": [1, 2]},
"south": {"uv": [25, 39], "uv_size": [1, 2]},
"up": {"uv": [33, 18], "uv_size": [1, 4]},
"down": {"uv": [33, 26], "uv_size": [1, -4]}
}
},
{
"origin": [-0.41064, 2.13016, -59.15809],
"size": [0.82127, 1.97313, 3.9606],
"pivot": [0, 3.11673, -57.17779],
"rotation": [0, 0, 67.5],
"uv": {
"north": {"uv": [26, 39], "uv_size": [1, 2]},
"south": {"uv": [27, 39], "uv_size": [1, 2]},
"up": {"uv": [33, 26], "uv_size": [1, 4]},
"down": {"uv": [33, 34], "uv_size": [1, -4]}
}
},
{
"origin": [-0.41064, 2.13016, -59.15809],
"size": [0.82127, 1.97313, 3.9606],
"pivot": [0, 3.11673, -57.17779],
"rotation": [0, 0, 112.5],
"uv": {
"north": {"uv": [39, 27], "uv_size": [1, 2]},
"south": {"uv": [30, 39], "uv_size": [1, 2]},
"up": {"uv": [0, 34], "uv_size": [1, 4]},
"down": {"uv": [34, 4], "uv_size": [1, -4]}
}
},
{
"origin": [-0.41064, 2.13016, -59.15809],
"size": [0.82127, 1.97313, 3.9606],
"pivot": [0, 3.11673, -57.17779],
"rotation": [0, 0, 157.5],
"uv": {
"north": {"uv": [31, 39], "uv_size": [1, 2]},
"south": {"uv": [39, 32], "uv_size": [1, 2]},
"up": {"uv": [1, 34], "uv_size": [1, 4]},
"down": {"uv": [2, 38], "uv_size": [1, -4]}
}
}
]
},
{
"name": "bone35",
"parent": "barrel2",
"pivot": [0, 3.09144, 4.26768],
"cubes": [
{
"origin": [-1.80329, 4.15224, -15.20527],
"size": [0.76048, 0.805, 3.5259],
"pivot": [0, 3.13169, -13.44232],
"rotation": [90, -45, -180],
"uv": {
"north": {"uv": [39, 12], "uv_size": [1, 1]},
"east": {"uv": [34, 24], "uv_size": [3.5, 1]},
"south": {"uv": [40, 3], "uv_size": [1, 1]},
"west": {"uv": [34, 25], "uv_size": [3.5, 1]},
"up": {"uv": [3, 34], "uv_size": [1, 3.5]},
"down": {"uv": [34, 29.5], "uv_size": [1, -3.5]}
}
},
{
"origin": [-0.38024, 2.72919, -15.20527],
"size": [0.76048, 0.805, 3.5259],
"pivot": [0, 3.13169, -13.44232],
"rotation": [90, -45, -180],
"uv": {
"north": {"uv": [6, 41], "uv_size": [1, 1]},
"east": {"uv": [34, 30], "uv_size": [3.5, 1]},
"south": {"uv": [7, 41], "uv_size": [1, 1]},
"west": {"uv": [34, 31], "uv_size": [3.5, 1]},
"up": {"uv": [34, 32], "uv_size": [1, 3.5]},
"down": {"uv": [33, 37.5], "uv_size": [1, -3.5]}
}
},
{
"origin": [1.04281, 1.30614, -15.20527],
"size": [0.76048, 0.805, 3.5259],
"pivot": [0, 3.13169, -13.44232],
"rotation": [90, -45, -180],
"uv": {
"north": {"uv": [41, 9], "uv_size": [1, 1]},
"east": {"uv": [35, 0], "uv_size": [3.5, 1]},
"south": {"uv": [10, 41], "uv_size": [1, 1]},
"west": {"uv": [35, 1], "uv_size": [3.5, 1]},
"up": {"uv": [35, 6], "uv_size": [1, 3.5]},
"down": {"uv": [35, 13.5], "uv_size": [1, -3.5]}
}
},
{
"origin": [-1.80329, 4.15224, -15.20527],
"size": [0.76048, 0.805, 3.5259],
"pivot": [0, 3.13169, -13.44232],
"rotation": [90, -45, -90],
"uv": {
"north": {"uv": [41, 10], "uv_size": [1, 1]},
"east": {"uv": [35, 2], "uv_size": [3.5, 1]},
"south": {"uv": [11, 41], "uv_size": [1, 1]},
"west": {"uv": [35, 3], "uv_size": [3.5, 1]},
"up": {"uv": [35, 14], "uv_size": [1, 3.5]},
"down": {"uv": [35, 29.5], "uv_size": [1, -3.5]}
}
},
{
"origin": [-0.38024, 2.72919, -15.20527],
"size": [0.76048, 0.805, 3.5259],
"pivot": [0, 3.13169, -13.44232],
"rotation": [90, -45, -90],
"uv": {
"north": {"uv": [41, 11], "uv_size": [1, 1]},
"east": {"uv": [35, 32], "uv_size": [3.5, 1]},
"south": {"uv": [12, 41], "uv_size": [1, 1]},
"west": {"uv": [35, 33], "uv_size": [3.5, 1]},
"up": {"uv": [30, 35], "uv_size": [1, 3.5]},
"down": {"uv": [31, 38.5], "uv_size": [1, -3.5]}
}
},
{
"origin": [1.04281, 1.30614, -15.20527],
"size": [0.76048, 0.805, 3.5259],
"pivot": [0, 3.13169, -13.44232],
"rotation": [90, -45, -90],
"uv": {
"north": {"uv": [41, 12], "uv_size": [1, 1]},
"east": {"uv": [35, 34], "uv_size": [3.5, 1]},
"south": {"uv": [13, 41], "uv_size": [1, 1]},
"west": {"uv": [35, 35], "uv_size": [3.5, 1]},
"up": {"uv": [4, 36], "uv_size": [1, 3.5]},
"down": {"uv": [5, 39.5], "uv_size": [1, -3.5]}
}
},
{
"origin": [-1.80329, 4.15224, -16.11492],
"size": [0.76048, 0.805, 3.5259],
"pivot": [0, 3.13169, -14.35197],
"rotation": [90, -45, -135],
"uv": {
"north": {"uv": [41, 13], "uv_size": [1, 1]},
"east": {"uv": [36, 6], "uv_size": [3.5, 1]},
"south": {"uv": [14, 41], "uv_size": [1, 1]},
"west": {"uv": [36, 7], "uv_size": [3.5, 1]},
"up": {"uv": [36, 8], "uv_size": [1, 3.5]},
"down": {"uv": [36, 15.5], "uv_size": [1, -3.5]}
}
},
{
"origin": [-0.38024, 2.72919, -16.11492],
"size": [0.76048, 0.805, 3.5259],
"pivot": [0, 3.13169, -14.35197],
"rotation": [90, -45, -135],
"uv": {
"north": {"uv": [41, 14], "uv_size": [1, 1]},
"east": {"uv": [36, 16], "uv_size": [3.5, 1]},
"south": {"uv": [15, 41], "uv_size": [1, 1]},
"west": {"uv": [36, 17], "uv_size": [3.5, 1]},
"up": {"uv": [36, 18], "uv_size": [1, 3.5]},
"down": {"uv": [36, 29.5], "uv_size": [1, -3.5]}
}
},
{
"origin": [1.04281, 1.30614, -16.11492],
"size": [0.76048, 0.805, 3.5259],
"pivot": [0, 3.13169, -14.35197],
"rotation": [90, -45, -135],
"uv": {
"north": {"uv": [41, 15], "uv_size": [1, 1]},
"east": {"uv": [36, 22], "uv_size": [3.5, 1]},
"south": {"uv": [41, 16], "uv_size": [1, 1]},
"west": {"uv": [36, 23], "uv_size": [3.5, 1]},
"up": {"uv": [32, 36], "uv_size": [1, 3.5]},
"down": {"uv": [34, 39.5], "uv_size": [1, -3.5]}
}
},
{
"origin": [1.04281, 1.30614, -14.10242],
"size": [0.76048, 0.805, 3.5259],
"pivot": [0, 3.13169, -12.33947],
"rotation": [90, -45, -135],
"uv": {
"north": {"uv": [41, 17], "uv_size": [1, 1]},
"east": {"uv": [35, 36], "uv_size": [3.5, 1]},
"south": {"uv": [41, 18], "uv_size": [1, 1]},
"west": {"uv": [37, 4], "uv_size": [3.5, 1]},
"up": {"uv": [6, 37], "uv_size": [1, 3.5]},
"down": {"uv": [7, 40.5], "uv_size": [1, -3.5]}
}
},
{
"origin": [1.04281, 1.30614, -14.10242],
"size": [0.76048, 0.805, 3.5259],
"pivot": [0, 3.13169, -12.33947],
"rotation": [90, -45, -45],
"uv": {
"north": {"uv": [41, 19], "uv_size": [1, 1]},
"east": {"uv": [37, 5], "uv_size": [3.5, 1]},
"south": {"uv": [41, 20], "uv_size": [1, 1]},
"west": {"uv": [37, 8], "uv_size": [3.5, 1]},
"up": {"uv": [37, 9], "uv_size": [1, 3.5]},
"down": {"uv": [37, 21.5], "uv_size": [1, -3.5]}
}
},
{
"origin": [1.04281, 1.30614, -16.11492],
"size": [0.76048, 0.805, 3.5259],
"pivot": [0, 3.13169, -14.35197],
"rotation": [90, -45, -45],
"uv": {
"north": {"uv": [41, 21], "uv_size": [1, 1]},
"east": {"uv": [37, 13], "uv_size": [3.5, 1]},
"south": {"uv": [41, 22], "uv_size": [1, 1]},
"west": {"uv": [37, 14], "uv_size": [3.5, 1]},
"up": {"uv": [23, 37], "uv_size": [1, 3.5]},
"down": {"uv": [24, 40.5], "uv_size": [1, -3.5]}
}
},
{
"origin": [-0.38024, 2.72919, -16.11492],
"size": [0.76048, 0.805, 3.5259],
"pivot": [0, 3.13169, -14.35197],
"rotation": [90, -45, -45],
"uv": {
"north": {"uv": [23, 41], "uv_size": [1, 1]},
"east": {"uv": [37, 15], "uv_size": [3.5, 1]},
"south": {"uv": [41, 23], "uv_size": [1, 1]},
"west": {"uv": [25, 37], "uv_size": [3.5, 1]},
"up": {"uv": [37, 26], "uv_size": [1, 3.5]},
"down": {"uv": [35, 40.5], "uv_size": [1, -3.5]}
}
},
{
"origin": [-1.80329, 4.15224, -16.11492],
"size": [0.76048, 0.805, 3.5259],
"pivot": [0, 3.13169, -14.35197],
"rotation": [90, -45, -45],
"uv": {
"north": {"uv": [24, 41], "uv_size": [1, 1]},
"east": {"uv": [36, 37], "uv_size": [3.5, 1]},
"south": {"uv": [41, 24], "uv_size": [1, 1]},
"west": {"uv": [0, 38], "uv_size": [3.5, 1]},
"up": {"uv": [38, 9], "uv_size": [1, 3.5]},
"down": {"uv": [38, 21.5], "uv_size": [1, -3.5]}
}
}
]
},
{
"name": "bone36",
"parent": "barrel2",
"pivot": [0, 3.11673, -11.63089],
"rotation": [0, 180, 0],
"cubes": [
{
"origin": [-0.67104, 1.50454, -14.85089],
"size": [1.34208, 3.22438, 9.66],
"pivot": [0, 3.11673, -5.19089],
"rotation": [0, 0, 22.5],
"uv": {
"south": {"uv": [33, 6], "uv_size": [1.5, 3]},
"up": {"uv": [23, 27], "uv_size": [1.5, 9.5]},
"down": {"uv": [25, 36.5], "uv_size": [1.5, -9.5]}
}
},
{
"origin": [-0.67104, 1.50454, -14.85089],
"size": [1.34208, 3.22438, 9.66],
"pivot": [0, 3.11673, -5.19089],
"rotation": [0, 0, 67.5],
"uv": {
"south": {"uv": [33, 9], "uv_size": [1.5, 3]},
"up": {"uv": [27, 27], "uv_size": [1.5, 9.5]},
"down": {"uv": [28, 24.5], "uv_size": [1.5, -9.5]}
}
},
{
"origin": [-0.67104, 1.50454, -14.85089],
"size": [1.34208, 3.22438, 9.66],
"pivot": [0, 3.11673, -5.19089],
"rotation": [0, 0, 112.5],
"uv": {
"south": {"uv": [33, 12], "uv_size": [1.5, 3]},
"up": {"uv": [8, 29], "uv_size": [1.5, 9.5]},
"down": {"uv": [10, 38.5], "uv_size": [1.5, -9.5]}
}
},
{
"origin": [-0.67104, 1.50454, -14.85089],
"size": [1.34208, 3.22438, 9.66],
"pivot": [0, 3.11673, -5.19089],
"rotation": [0, 0, 157.5],
"uv": {
"south": {"uv": [33, 15], "uv_size": [1.5, 3]},
"up": {"uv": [12, 29], "uv_size": [1.5, 9.5]},
"down": {"uv": [14, 38.5], "uv_size": [1.5, -9.5]}
}
}
]
}
]
}
]
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -16,7 +16,7 @@
"item.superbwarfare.rpg": "RPG-7",
"item.superbwarfare.m_98b": "M98B",
"item.superbwarfare.m_60": "M60",
"item.superbwarfare.m_2": "M2HB",
"item.superbwarfare.m_2_hb": "M2HB",
"item.superbwarfare.mk_14": "MK-14EBR",
"item.superbwarfare.m_79": "M79",
"item.superbwarfare.mp_5": "MP5",

View file

@ -16,7 +16,7 @@
"item.superbwarfare.rpg": "RPG-7火箭筒",
"item.superbwarfare.m_98b": "M98B狙击步枪",
"item.superbwarfare.m_60": "M60通用机枪",
"item.superbwarfare.m_2": "M2HB重机枪",
"item.superbwarfare.m_2_hb": "M2HB重机枪",
"item.superbwarfare.mk_14": "MK-14EBR射手步枪",
"item.superbwarfare.m_79": "M79榴弹发射器",
"item.superbwarfare.vector": "短剑冲锋枪",

View file

@ -2457,50 +2457,50 @@
}
]
},
"m2_fire_1p": {
"m_2_hb_fire_1p": {
"sounds": [
{
"name": "superbwarfare:m2/m2_fire_1p",
"name": "superbwarfare:m_2_hb/m_2_hb_fire_1p",
"stream": false
}
]
},
"m2_fire_3p": {
"m_2_hb_fire_3p": {
"sounds": [
{
"name": "superbwarfare:m2/m2_fire_3p",
"name": "superbwarfare:m_2_hb/m_2_hb_fire_3p",
"stream": false
}
]
},
"m2_far": {
"m_2_hb_far": {
"sounds": [
{
"name": "superbwarfare:m2/m2_far",
"name": "superbwarfare:m_2_hb/m_2_hb_far",
"stream": false
}
]
},
"m2_veryfar": {
"m_2_hb_veryfar": {
"sounds": [
{
"name": "superbwarfare:m2/m2_veryfar",
"name": "superbwarfare:m_2_hb/m_2_hb_veryfar",
"stream": false
}
]
},
"m2_reload_normal": {
"m_2_hb_reload_normal": {
"sounds": [
{
"name": "superbwarfare:m2/m2_reload_normal",
"name": "superbwarfare:m_2_hb/m_2_hb_reload_normal",
"stream": false
}
]
},
"m2_reload_empty": {
"m_2_hb_reload_empty": {
"sounds": [
{
"name": "superbwarfare:m2/m2_reload_empty",
"name": "superbwarfare:m_2_hb/m_2_hb_reload_empty",
"stream": false
}
]

View file

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View file

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View file

Before

Width:  |  Height:  |  Size: 6.3 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

View file

@ -1,5 +1,5 @@
{
"ID": "superbwarfare:m_2",
"ID": "superbwarfare:m2hb",
"Spread": 5,
"RecoilX": 0.012,
"RecoilY": 0.02,