添加GLOCK17
|
@ -0,0 +1,27 @@
|
||||||
|
package net.mcreator.superbwarfare.client.layer;
|
||||||
|
|
||||||
|
import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
|
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||||
|
import net.mcreator.superbwarfare.ModUtils;
|
||||||
|
import net.mcreator.superbwarfare.item.gun.Glock17Item;
|
||||||
|
import net.minecraft.client.renderer.MultiBufferSource;
|
||||||
|
import net.minecraft.client.renderer.RenderType;
|
||||||
|
import net.minecraft.client.renderer.texture.OverlayTexture;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
||||||
|
import software.bernie.geckolib.renderer.GeoRenderer;
|
||||||
|
import software.bernie.geckolib.renderer.layer.GeoRenderLayer;
|
||||||
|
|
||||||
|
public class Glock17Layer extends GeoRenderLayer<Glock17Item> {
|
||||||
|
private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/item/glock17_e.png");
|
||||||
|
|
||||||
|
public Glock17Layer(GeoRenderer<Glock17Item> entityRenderer) {
|
||||||
|
super(entityRenderer);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void render(PoseStack poseStack, Glock17Item animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
|
||||||
|
RenderType glowRenderType = RenderType.eyes(LAYER);
|
||||||
|
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, 1);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,142 @@
|
||||||
|
package net.mcreator.superbwarfare.client.model.item;
|
||||||
|
|
||||||
|
import net.mcreator.superbwarfare.ModUtils;
|
||||||
|
import net.mcreator.superbwarfare.init.ModTags;
|
||||||
|
import net.mcreator.superbwarfare.item.gun.Glock17Item;
|
||||||
|
import net.mcreator.superbwarfare.network.ModVariables;
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.util.Mth;
|
||||||
|
import net.minecraft.world.entity.player.Player;
|
||||||
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
import software.bernie.geckolib.core.animatable.model.CoreGeoBone;
|
||||||
|
import software.bernie.geckolib.core.animation.AnimationState;
|
||||||
|
import software.bernie.geckolib.model.GeoModel;
|
||||||
|
|
||||||
|
public class Glock17ItemModel extends GeoModel<Glock17Item> {
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getAnimationResource(Glock17Item animatable) {
|
||||||
|
return new ResourceLocation(ModUtils.MODID, "animations/glock17.animation.json");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getModelResource(Glock17Item animatable) {
|
||||||
|
return new ResourceLocation(ModUtils.MODID, "geo/glock17.geo.json");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getTextureResource(Glock17Item animatable) {
|
||||||
|
return new ResourceLocation(ModUtils.MODID, "textures/item/glock17.png");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setCustomAnimations(Glock17Item animatable, long instanceId, AnimationState animationState) {
|
||||||
|
CoreGeoBone gun = getAnimationProcessor().getBone("bone");
|
||||||
|
CoreGeoBone shen = getAnimationProcessor().getBone("shen");
|
||||||
|
CoreGeoBone slide = getAnimationProcessor().getBone("huatao");
|
||||||
|
CoreGeoBone bullet = getAnimationProcessor().getBone("bullet");
|
||||||
|
|
||||||
|
Player player = Minecraft.getInstance().player;
|
||||||
|
if (player == null) return;
|
||||||
|
ItemStack stack = player.getMainHandItem();
|
||||||
|
if (!stack.is(ModTags.Items.GUN)) return;
|
||||||
|
|
||||||
|
double p = player.getPersistentData().getDouble("zoom_pos");
|
||||||
|
double zp = player.getPersistentData().getDouble("zoom_pos_z");
|
||||||
|
|
||||||
|
gun.setPosX(-1.34f * (float) p);
|
||||||
|
|
||||||
|
gun.setPosY(5.05f * (float) p - (float) (0.2f * zp));
|
||||||
|
|
||||||
|
gun.setPosZ(5f * (float) p + (float) (0.3f * zp));
|
||||||
|
|
||||||
|
gun.setScaleZ(1f - (0.5f * (float) p));
|
||||||
|
|
||||||
|
gun.setRotZ(-11 * Mth.DEG_TO_RAD * (float) p + (float) (0.05f * zp));
|
||||||
|
|
||||||
|
double fp = player.getPersistentData().getDouble("fire_pos");
|
||||||
|
double fr = player.getPersistentData().getDouble("fire_rot");
|
||||||
|
|
||||||
|
if ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).zooming) {
|
||||||
|
shen.setPosY(0.05f * (float) (fp + 2 * fr));
|
||||||
|
shen.setPosZ(0.3f * (float) (fp + 0.54f * fr));
|
||||||
|
shen.setRotX(0.05f * (float) (fp + fr));
|
||||||
|
} else {
|
||||||
|
shen.setPosY(0.08f * (float) (fp + 2 * fr));
|
||||||
|
shen.setPosZ(0.9f * (float) (fp + 0.54f * fr));
|
||||||
|
shen.setRotX(0.17f * (float) (0.18f * fp + fr));
|
||||||
|
shen.setRotZ(-0.01f * (float) (fp + 1.3 * fr));
|
||||||
|
}
|
||||||
|
shen.setPosX(0.5f * (float) fr * (float) ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).recoilHorizon * fp));
|
||||||
|
|
||||||
|
slide.setPosZ(1.5f * (float) fp);
|
||||||
|
|
||||||
|
if (stack.getOrCreateTag().getBoolean("HoldOpen")) {
|
||||||
|
slide.setPosZ(1.5f);
|
||||||
|
bullet.setHidden(true);
|
||||||
|
} else {
|
||||||
|
bullet.setHidden(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
CoreGeoBone root = getAnimationProcessor().getBone("root");
|
||||||
|
|
||||||
|
float PosX = (float) player.getPersistentData().getDouble("gun_move_posX");
|
||||||
|
float PosY = (float) player.getPersistentData().getDouble("gun_move_posY");
|
||||||
|
|
||||||
|
double y = player.getPersistentData().getDouble("y");
|
||||||
|
double x = player.getPersistentData().getDouble("x");
|
||||||
|
|
||||||
|
CoreGeoBone flare = getAnimationProcessor().getBone("flare");
|
||||||
|
|
||||||
|
if (stack.getOrCreateTag().getDouble("flash_time") > 0) {
|
||||||
|
flare.setHidden(false);
|
||||||
|
flare.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5)));
|
||||||
|
flare.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5)));
|
||||||
|
flare.setRotZ((float) (0.5 * (Math.random() - 0.5)));
|
||||||
|
} else {
|
||||||
|
flare.setHidden(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
root.setPosX(PosX);
|
||||||
|
|
||||||
|
root.setPosY((float) y + PosY);
|
||||||
|
|
||||||
|
root.setRotX((float) x);
|
||||||
|
|
||||||
|
float RotZ = (float) player.getPersistentData().getDouble("gun_move_rotZ");
|
||||||
|
|
||||||
|
root.setRotY(0.2f * PosX);
|
||||||
|
|
||||||
|
root.setRotZ(0.2f * PosX + RotZ);
|
||||||
|
|
||||||
|
CoreGeoBone move = getAnimationProcessor().getBone("move");
|
||||||
|
|
||||||
|
double m = player.getPersistentData().getDouble("move");
|
||||||
|
|
||||||
|
double vy = player.getPersistentData().getDouble("vy");
|
||||||
|
|
||||||
|
move.setPosX(9.3f * (float) m);
|
||||||
|
|
||||||
|
move.setPosY(-2f * (float) vy);
|
||||||
|
|
||||||
|
double xRot = player.getPersistentData().getDouble("xRot");
|
||||||
|
|
||||||
|
double yRot = player.getPersistentData().getDouble("yRot");
|
||||||
|
|
||||||
|
double zRot = player.getPersistentData().getDouble("zRot");
|
||||||
|
|
||||||
|
move.setRotX(0.7f * Mth.DEG_TO_RAD * (float) xRot - 0.15f * (float) vy);
|
||||||
|
|
||||||
|
move.setRotY(0.7f * Mth.DEG_TO_RAD * (float) yRot);
|
||||||
|
|
||||||
|
move.setRotZ(2.7f * (float) m + Mth.DEG_TO_RAD * (float) zRot);
|
||||||
|
|
||||||
|
CoreGeoBone camera = getAnimationProcessor().getBone("camera");
|
||||||
|
|
||||||
|
player.getPersistentData().putDouble("camera_rot_x", Mth.RAD_TO_DEG * camera.getRotX());
|
||||||
|
|
||||||
|
player.getPersistentData().putDouble("camera_rot_y", Mth.RAD_TO_DEG * camera.getRotY());
|
||||||
|
|
||||||
|
player.getPersistentData().putDouble("camera_rot_z", Mth.RAD_TO_DEG * camera.getRotZ());
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,19 @@
|
||||||
|
package net.mcreator.superbwarfare.client.renderer.item;
|
||||||
|
|
||||||
|
import net.mcreator.superbwarfare.client.layer.Glock17Layer;
|
||||||
|
import net.mcreator.superbwarfare.client.model.item.Glock17ItemModel;
|
||||||
|
import net.mcreator.superbwarfare.item.gun.Glock17Item;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import software.bernie.geckolib.renderer.GeoItemRenderer;
|
||||||
|
|
||||||
|
public class Glock17ItemRenderer extends GeoItemRenderer<Glock17Item> {
|
||||||
|
public Glock17ItemRenderer() {
|
||||||
|
super(new Glock17ItemModel());
|
||||||
|
this.addRenderLayer(new Glock17Layer(this));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getTextureLocation(Glock17Item instance) {
|
||||||
|
return super.getTextureLocation(instance);
|
||||||
|
}
|
||||||
|
}
|
|
@ -2,6 +2,7 @@ package net.mcreator.superbwarfare.entity.model;
|
||||||
|
|
||||||
import net.mcreator.superbwarfare.ModUtils;
|
import net.mcreator.superbwarfare.ModUtils;
|
||||||
import net.mcreator.superbwarfare.entity.ProjectileEntity;
|
import net.mcreator.superbwarfare.entity.ProjectileEntity;
|
||||||
|
import net.mcreator.superbwarfare.init.ModItems;
|
||||||
import net.mcreator.superbwarfare.network.ModVariables;
|
import net.mcreator.superbwarfare.network.ModVariables;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -19,7 +20,7 @@ public class ProjectileEntityModel extends GeoModel<ProjectileEntity> {
|
||||||
@Override
|
@Override
|
||||||
public ResourceLocation getModelResource(ProjectileEntity entity) {
|
public ResourceLocation getModelResource(ProjectileEntity entity) {
|
||||||
Player player = Minecraft.getInstance().player;
|
Player player = Minecraft.getInstance().player;
|
||||||
if ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).zooming) {
|
if ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).zooming || player.getMainHandItem().is(ModItems.GLOCK_17.get())) {
|
||||||
return new ResourceLocation(ModUtils.MODID, "geo/projectile_entity.geo.json");
|
return new ResourceLocation(ModUtils.MODID, "geo/projectile_entity.geo.json");
|
||||||
} else {
|
} else {
|
||||||
return new ResourceLocation(ModUtils.MODID, "geo/projectile_entity2.geo.json");
|
return new ResourceLocation(ModUtils.MODID, "geo/projectile_entity2.geo.json");
|
||||||
|
|
|
@ -426,6 +426,12 @@ public class GunEventHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (stack.getItem() == ModItems.GLOCK_17.get()) {
|
||||||
|
if (tag.getInt("gun_reloading_time") == 5) {
|
||||||
|
tag.putBoolean("HoldOpen", false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (tag.getInt("gun_reloading_time") == 1) {
|
if (tag.getInt("gun_reloading_time") == 1) {
|
||||||
if (stack.is(ModTags.Items.OPEN_BOLT)) {
|
if (stack.is(ModTags.Items.OPEN_BOLT)) {
|
||||||
if (tag.getInt("ammo") == 0) {
|
if (tag.getInt("ammo") == 0) {
|
||||||
|
|
|
@ -26,6 +26,7 @@ public class ModItems {
|
||||||
public static final DeferredRegister<Item> GUNS = DeferredRegister.create(ForgeRegistries.ITEMS, ModUtils.MODID);
|
public static final DeferredRegister<Item> GUNS = DeferredRegister.create(ForgeRegistries.ITEMS, ModUtils.MODID);
|
||||||
|
|
||||||
public static final RegistryObject<Item> TASER = GUNS.register("taser", Taser::new);
|
public static final RegistryObject<Item> TASER = GUNS.register("taser", Taser::new);
|
||||||
|
public static final RegistryObject<Item> GLOCK_17 = GUNS.register("glock_17", Glock17Item::new);
|
||||||
public static final RegistryObject<Item> ABEKIRI = GUNS.register("abekiri", Abekiri::new);
|
public static final RegistryObject<Item> ABEKIRI = GUNS.register("abekiri", Abekiri::new);
|
||||||
public static final RegistryObject<Item> TRACHELIUM = GUNS.register("trachelium", Trachelium::new);
|
public static final RegistryObject<Item> TRACHELIUM = GUNS.register("trachelium", Trachelium::new);
|
||||||
public static final RegistryObject<Item> VECTOR = GUNS.register("vector", VectorItem::new);
|
public static final RegistryObject<Item> VECTOR = GUNS.register("vector", VectorItem::new);
|
||||||
|
@ -147,6 +148,7 @@ public class ModItems {
|
||||||
public static final RegistryObject<Item> SPECIAL_MATERIAL_PACK = ITEMS.register("special_material_pack", () -> new MaterialPack(RarityTool.SPECIAL));
|
public static final RegistryObject<Item> SPECIAL_MATERIAL_PACK = ITEMS.register("special_material_pack", () -> new MaterialPack(RarityTool.SPECIAL));
|
||||||
|
|
||||||
public static final RegistryObject<Item> TRACHELIUM_BLUEPRINT = ITEMS.register("trachelium_blueprint", () -> new BlueprintItem(RarityTool.LEGENDARY));
|
public static final RegistryObject<Item> TRACHELIUM_BLUEPRINT = ITEMS.register("trachelium_blueprint", () -> new BlueprintItem(RarityTool.LEGENDARY));
|
||||||
|
public static final RegistryObject<Item> GLOCK_17_BLUEPRINT = ITEMS.register("glock_17_blueprint", () -> new BlueprintItem(Rarity.COMMON));
|
||||||
public static final RegistryObject<Item> HUNTING_RIFLE_BLUEPRINT = ITEMS.register("hunting_rifle_blueprint", () -> new BlueprintItem(Rarity.EPIC));
|
public static final RegistryObject<Item> HUNTING_RIFLE_BLUEPRINT = ITEMS.register("hunting_rifle_blueprint", () -> new BlueprintItem(Rarity.EPIC));
|
||||||
public static final RegistryObject<Item> M_79_BLUEPRINT = ITEMS.register("m_79_blueprint", () -> new BlueprintItem(Rarity.RARE));
|
public static final RegistryObject<Item> M_79_BLUEPRINT = ITEMS.register("m_79_blueprint", () -> new BlueprintItem(Rarity.RARE));
|
||||||
public static final RegistryObject<Item> RPG_BLUEPRINT = ITEMS.register("rpg_blueprint", () -> new BlueprintItem(Rarity.EPIC));
|
public static final RegistryObject<Item> RPG_BLUEPRINT = ITEMS.register("rpg_blueprint", () -> new BlueprintItem(Rarity.EPIC));
|
||||||
|
|
|
@ -181,6 +181,13 @@ public class ModSounds {
|
||||||
public static final RegistryObject<SoundEvent> M_870_PREPARE_LOAD = REGISTRY.register("m_870_prepare_load", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "m_870_prepare_load")));
|
public static final RegistryObject<SoundEvent> M_870_PREPARE_LOAD = REGISTRY.register("m_870_prepare_load", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "m_870_prepare_load")));
|
||||||
public static final RegistryObject<SoundEvent> M_870_LOOP = REGISTRY.register("m_870_loop", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "m_870_loop")));
|
public static final RegistryObject<SoundEvent> M_870_LOOP = REGISTRY.register("m_870_loop", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "m_870_loop")));
|
||||||
|
|
||||||
|
public static final RegistryObject<SoundEvent> GLOCK_17_FIRE_1P = REGISTRY.register("glock_17_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "glock_17_fire_1p")));
|
||||||
|
public static final RegistryObject<SoundEvent> GLOCK_17_FIRE_3P = REGISTRY.register("glock_17_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "glock_17_fire_3p")));
|
||||||
|
public static final RegistryObject<SoundEvent> GLOCK_17_FAR = REGISTRY.register("glock_17_far", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "glock_17_far")));
|
||||||
|
public static final RegistryObject<SoundEvent> GLOCK_17_VERYFAR = REGISTRY.register("glock_17_veryfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "glock_17_veryfar")));
|
||||||
|
public static final RegistryObject<SoundEvent> GLOCK_17_RELOAD_NORMAL = REGISTRY.register("glock_17_reload_normal", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "glock_17_reload_normal")));
|
||||||
|
public static final RegistryObject<SoundEvent> GLOCK_17_RELOAD_EMPTY = REGISTRY.register("glock_17_reload_empty", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "glock_17_reload_empty")));
|
||||||
|
|
||||||
public static final RegistryObject<SoundEvent> MK_42_FIRE_1P = REGISTRY.register("mk_42_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "mk_42_fire_1p")));
|
public static final RegistryObject<SoundEvent> MK_42_FIRE_1P = REGISTRY.register("mk_42_fire_1p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "mk_42_fire_1p")));
|
||||||
public static final RegistryObject<SoundEvent> MK_42_FIRE_3P = REGISTRY.register("mk_42_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "mk_42_fire_3p")));
|
public static final RegistryObject<SoundEvent> MK_42_FIRE_3P = REGISTRY.register("mk_42_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "mk_42_fire_3p")));
|
||||||
public static final RegistryObject<SoundEvent> MK_42_FAR = REGISTRY.register("mk_42_far", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "mk_42_far")));
|
public static final RegistryObject<SoundEvent> MK_42_FAR = REGISTRY.register("mk_42_far", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation("superbwarfare", "mk_42_far")));
|
||||||
|
|
|
@ -24,6 +24,7 @@ public class ModTabs {
|
||||||
.displayItems(
|
.displayItems(
|
||||||
(param, output) -> {
|
(param, output) -> {
|
||||||
output.accept(Taser.getGunInstance());
|
output.accept(Taser.getGunInstance());
|
||||||
|
output.accept(Glock17Item.getGunInstance());
|
||||||
output.accept(Abekiri.getGunInstance());
|
output.accept(Abekiri.getGunInstance());
|
||||||
output.accept(Trachelium.getGunInstance());
|
output.accept(Trachelium.getGunInstance());
|
||||||
output.accept(VectorItem.getGunInstance());
|
output.accept(VectorItem.getGunInstance());
|
||||||
|
|
|
@ -0,0 +1,189 @@
|
||||||
|
package net.mcreator.superbwarfare.item.gun;
|
||||||
|
|
||||||
|
import com.google.common.collect.HashMultimap;
|
||||||
|
import com.google.common.collect.Multimap;
|
||||||
|
import net.mcreator.superbwarfare.ModUtils;
|
||||||
|
import net.mcreator.superbwarfare.client.renderer.item.Glock17ItemRenderer;
|
||||||
|
import net.mcreator.superbwarfare.init.ModItems;
|
||||||
|
import net.mcreator.superbwarfare.init.ModSounds;
|
||||||
|
import net.mcreator.superbwarfare.init.ModTags;
|
||||||
|
import net.mcreator.superbwarfare.item.AnimatedItem;
|
||||||
|
import net.mcreator.superbwarfare.tools.GunsTool;
|
||||||
|
import net.mcreator.superbwarfare.tools.TooltipTool;
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.client.model.HumanoidModel;
|
||||||
|
import net.minecraft.client.player.LocalPlayer;
|
||||||
|
import net.minecraft.client.renderer.BlockEntityWithoutLevelRenderer;
|
||||||
|
import net.minecraft.network.chat.Component;
|
||||||
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.sounds.SoundEvent;
|
||||||
|
import net.minecraft.world.InteractionHand;
|
||||||
|
import net.minecraft.world.effect.MobEffects;
|
||||||
|
import net.minecraft.world.entity.EquipmentSlot;
|
||||||
|
import net.minecraft.world.entity.LivingEntity;
|
||||||
|
import net.minecraft.world.entity.ai.attributes.Attribute;
|
||||||
|
import net.minecraft.world.entity.ai.attributes.AttributeModifier;
|
||||||
|
import net.minecraft.world.entity.ai.attributes.Attributes;
|
||||||
|
import net.minecraft.world.item.ItemDisplayContext;
|
||||||
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
import net.minecraft.world.item.Rarity;
|
||||||
|
import net.minecraft.world.item.TooltipFlag;
|
||||||
|
import net.minecraft.world.level.Level;
|
||||||
|
import net.minecraftforge.client.extensions.common.IClientItemExtensions;
|
||||||
|
import software.bernie.geckolib.animatable.GeoItem;
|
||||||
|
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
|
||||||
|
import software.bernie.geckolib.core.animation.AnimatableManager;
|
||||||
|
import software.bernie.geckolib.core.animation.AnimationController;
|
||||||
|
import software.bernie.geckolib.core.animation.AnimationState;
|
||||||
|
import software.bernie.geckolib.core.animation.RawAnimation;
|
||||||
|
import software.bernie.geckolib.core.object.PlayState;
|
||||||
|
import software.bernie.geckolib.util.GeckoLibUtil;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.UUID;
|
||||||
|
import java.util.function.Consumer;
|
||||||
|
|
||||||
|
public class Glock17Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
|
||||||
|
public String animationProcedure = "empty";
|
||||||
|
public static ItemDisplayContext transformType;
|
||||||
|
|
||||||
|
public Glock17Item() {
|
||||||
|
super(new Properties().stacksTo(1).rarity(Rarity.COMMON));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void initializeClient(Consumer<IClientItemExtensions> consumer) {
|
||||||
|
super.initializeClient(consumer);
|
||||||
|
consumer.accept(new IClientItemExtensions() {
|
||||||
|
private final BlockEntityWithoutLevelRenderer renderer = new Glock17ItemRenderer();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public BlockEntityWithoutLevelRenderer getCustomRenderer() {
|
||||||
|
return renderer;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HumanoidModel.ArmPose getArmPose(LivingEntity entityLiving, InteractionHand hand, ItemStack itemStack) {
|
||||||
|
return HumanoidModel.ArmPose.BOW_AND_ARROW;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void getTransformType(ItemDisplayContext type) {
|
||||||
|
transformType = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
private PlayState fireAnimPredicate(AnimationState event) {
|
||||||
|
LocalPlayer player = Minecraft.getInstance().player;
|
||||||
|
if (player == null) return PlayState.STOP;
|
||||||
|
ItemStack stack = player.getMainHandItem();
|
||||||
|
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
|
||||||
|
|
||||||
|
if (this.animationProcedure.equals("empty")) {
|
||||||
|
if (stack.getOrCreateTag().getInt("fire_animation") > 0) {
|
||||||
|
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.glock.fire"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stack.getOrCreateTag().getBoolean("is_empty_reloading")) {
|
||||||
|
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.glock.reload_empty"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stack.getOrCreateTag().getBoolean("is_normal_reloading")) {
|
||||||
|
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.glock.reload_normal"));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.idle"));
|
||||||
|
}
|
||||||
|
return PlayState.STOP;
|
||||||
|
}
|
||||||
|
|
||||||
|
private PlayState idlePredicate(AnimationState<Glock17Item> event) {
|
||||||
|
LocalPlayer player = Minecraft.getInstance().player;
|
||||||
|
if (player == null) return PlayState.STOP;
|
||||||
|
ItemStack stack = player.getMainHandItem();
|
||||||
|
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
|
||||||
|
|
||||||
|
if (this.animationProcedure.equals("empty")) {
|
||||||
|
|
||||||
|
if (stack.getOrCreateTag().getInt("draw_time") < 10) {
|
||||||
|
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.draw"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (player.isSprinting() && player.onGround()
|
||||||
|
&& player.getPersistentData().getDouble("noRun") == 0
|
||||||
|
&& !(stack.getOrCreateTag().getBoolean("is_normal_reloading") || stack.getOrCreateTag().getBoolean("is_empty_reloading"))) {
|
||||||
|
if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) {
|
||||||
|
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.run_fast"));
|
||||||
|
} else {
|
||||||
|
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.run"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.idle"));
|
||||||
|
}
|
||||||
|
return PlayState.STOP;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
|
||||||
|
var fireAnimController = new AnimationController<>(this, "fireAnimController", 1, this::fireAnimPredicate);
|
||||||
|
data.add(fireAnimController);
|
||||||
|
var idleController = new AnimationController<>(this, "idleController", 4, this::idlePredicate);
|
||||||
|
data.add(idleController);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AnimatableInstanceCache getAnimatableInstanceCache() {
|
||||||
|
return this.cache;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void appendHoverText(ItemStack stack, Level world, List<Component> list, TooltipFlag flag) {
|
||||||
|
TooltipTool.addGunTips(list, stack);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlot slot, ItemStack stack) {
|
||||||
|
Multimap<Attribute, AttributeModifier> map = super.getAttributeModifiers(slot, stack);
|
||||||
|
UUID uuid = new UUID(slot.toString().hashCode(), 0);
|
||||||
|
if (slot == EquipmentSlot.MAINHAND) {
|
||||||
|
map = HashMultimap.create(map);
|
||||||
|
map.put(Attributes.MOVEMENT_SPEED,
|
||||||
|
new AttributeModifier(uuid, ModUtils.ATTRIBUTE_MODIFIER, -0.01f, AttributeModifier.Operation.MULTIPLY_BASE));
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Set<SoundEvent> getReloadSound() {
|
||||||
|
return Set.of(
|
||||||
|
ModSounds.GLOCK_17_RELOAD_EMPTY.get(),
|
||||||
|
ModSounds.GLOCK_17_RELOAD_NORMAL.get()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static ItemStack getGunInstance() {
|
||||||
|
ItemStack stack = new ItemStack(ModItems.GLOCK_17.get());
|
||||||
|
GunsTool.initCreativeGun(stack, ModItems.GLOCK_17.getId().getPath());
|
||||||
|
return stack;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setAnimationProcedure(String procedure) {
|
||||||
|
this.animationProcedure = procedure;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ResourceLocation getGunIcon() {
|
||||||
|
return new ResourceLocation(ModUtils.MODID, "textures/gun_icon/glock_icon.png");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getGunDisplayName() {
|
||||||
|
return " GLOCK-17";
|
||||||
|
}
|
||||||
|
}
|
|
@ -1626,6 +1626,995 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"animation.glock.reload_normal": {
|
||||||
|
"loop": "hold_on_last_frame",
|
||||||
|
"animation_length": 1.4,
|
||||||
|
"bones": {
|
||||||
|
"0": {
|
||||||
|
"rotation": {
|
||||||
|
"0.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.075": {
|
||||||
|
"vector": [-9.91615, -1.29876, -7.38733]
|
||||||
|
},
|
||||||
|
"0.225": {
|
||||||
|
"vector": [-9.905, -0.18197, -24.3992]
|
||||||
|
},
|
||||||
|
"0.45": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.575": {
|
||||||
|
"vector": [0, 0, -20],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
|
},
|
||||||
|
"0.95": {
|
||||||
|
"vector": [-2.13733, 4.36681, -32.14213],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
|
},
|
||||||
|
"1.05": {
|
||||||
|
"vector": [-11, 0, -7.59]
|
||||||
|
},
|
||||||
|
"1.2": {
|
||||||
|
"vector": [0, 0, 11]
|
||||||
|
},
|
||||||
|
"1.3": {
|
||||||
|
"vector": [0, 0, 0],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"position": {
|
||||||
|
"0.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.225": {
|
||||||
|
"vector": [1.05142, 4.26654, 0.62687]
|
||||||
|
},
|
||||||
|
"0.45": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.575": {
|
||||||
|
"vector": [-0.18863, 2.27254, 0],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
|
},
|
||||||
|
"0.8": {
|
||||||
|
"vector": [-2.09488, 5.29738, -0.68123]
|
||||||
|
},
|
||||||
|
"0.9": {
|
||||||
|
"vector": [-2.54838, 4.40163, -0.94985]
|
||||||
|
},
|
||||||
|
"0.95": {
|
||||||
|
"vector": [-1.1451, 3.34429, -1.15779],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
|
},
|
||||||
|
"1.025": {
|
||||||
|
"vector": [-1.21556, 3.52975, -0.6553]
|
||||||
|
},
|
||||||
|
"1.075": {
|
||||||
|
"vector": [-0.7894, 1.92782, -0.35804]
|
||||||
|
},
|
||||||
|
"1.15": {
|
||||||
|
"vector": [0.16272, 2.04257, 1.76535]
|
||||||
|
},
|
||||||
|
"1.2": {
|
||||||
|
"vector": [0.12347, 0.9124, 2.31886]
|
||||||
|
},
|
||||||
|
"1.3": {
|
||||||
|
"vector": [0, 0, 0],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"camera": {
|
||||||
|
"rotation": {
|
||||||
|
"0.05": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.175": {
|
||||||
|
"vector": [2, -2, 1],
|
||||||
|
"easing": "easeInSine"
|
||||||
|
},
|
||||||
|
"0.25": {
|
||||||
|
"vector": [2.5, 3, -2],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
},
|
||||||
|
"0.3": {
|
||||||
|
"vector": [-1, -2, 1],
|
||||||
|
"easing": "easeInSine"
|
||||||
|
},
|
||||||
|
"0.375": {
|
||||||
|
"vector": [0, 2, -0.8]
|
||||||
|
},
|
||||||
|
"0.475": {
|
||||||
|
"vector": [-0.67, -0.67, 0.4]
|
||||||
|
},
|
||||||
|
"0.75": {
|
||||||
|
"vector": [0.5, 0, 1.2],
|
||||||
|
"easing": "easeOutSine"
|
||||||
|
},
|
||||||
|
"0.875": {
|
||||||
|
"vector": [-0.1, 0, 2]
|
||||||
|
},
|
||||||
|
"0.975": {
|
||||||
|
"vector": [0, 0, 1.5],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
},
|
||||||
|
"1.025": {
|
||||||
|
"vector": [1, 1, -2.5],
|
||||||
|
"easing": "easeInSine"
|
||||||
|
},
|
||||||
|
"1.1": {
|
||||||
|
"vector": [-0.5, -0.5, 1.5]
|
||||||
|
},
|
||||||
|
"1.2": {
|
||||||
|
"vector": [0.5, 0.5, -1.17]
|
||||||
|
},
|
||||||
|
"1.3": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Righthand": {
|
||||||
|
"rotation": {
|
||||||
|
"0.125": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.25": {
|
||||||
|
"vector": [0, 6, -9]
|
||||||
|
},
|
||||||
|
"0.375": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"position": {
|
||||||
|
"0.125": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.25": {
|
||||||
|
"vector": [3.00321, -0.61688, -0.10106]
|
||||||
|
},
|
||||||
|
"0.375": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Lefthand": {
|
||||||
|
"rotation": {
|
||||||
|
"0.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.075": {
|
||||||
|
"vector": [133.30702, -9.72565, -30.6365]
|
||||||
|
},
|
||||||
|
"0.65": {
|
||||||
|
"vector": [25.46719, -22.2363, 78.12621]
|
||||||
|
},
|
||||||
|
"0.725": {
|
||||||
|
"vector": [23.34788, -25.26118, 70.86152]
|
||||||
|
},
|
||||||
|
"0.8": {
|
||||||
|
"vector": [15.35593, 5.20698, 63.75845]
|
||||||
|
},
|
||||||
|
"0.925": {
|
||||||
|
"vector": [15.35593, 5.20698, 63.75845]
|
||||||
|
},
|
||||||
|
"0.975": {
|
||||||
|
"vector": [15.35593, 5.20698, 63.75845]
|
||||||
|
},
|
||||||
|
"1.0": {
|
||||||
|
"vector": [13.04381, 11.88065, 62.82106]
|
||||||
|
},
|
||||||
|
"1.025": {
|
||||||
|
"vector": [15.35593, 5.20698, 63.75845]
|
||||||
|
},
|
||||||
|
"1.05": {
|
||||||
|
"vector": [5.64016, 8.63483, 66.98444]
|
||||||
|
},
|
||||||
|
"1.125": {
|
||||||
|
"vector": [0, 0, 8]
|
||||||
|
},
|
||||||
|
"1.225": {
|
||||||
|
"vector": [0, 0, 0],
|
||||||
|
"easing": "easeInBounce"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"position": {
|
||||||
|
"0.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.65": {
|
||||||
|
"vector": [0.72628, -10.24946, 6.73057]
|
||||||
|
},
|
||||||
|
"0.725": {
|
||||||
|
"vector": [-0.56676, -7.78513, 7.50953]
|
||||||
|
},
|
||||||
|
"0.775": {
|
||||||
|
"vector": [-0.72986, -7.69452, 4.29183]
|
||||||
|
},
|
||||||
|
"0.8": {
|
||||||
|
"vector": [-1.52007, -6.19301, 2.97592]
|
||||||
|
},
|
||||||
|
"0.85": {
|
||||||
|
"vector": [-1.50644, -6.628, 4.31341]
|
||||||
|
},
|
||||||
|
"0.9": {
|
||||||
|
"vector": [-1.77543, -6.29446, 5.06677]
|
||||||
|
},
|
||||||
|
"0.925": {
|
||||||
|
"vector": [-2.17152, -5.6814, 5.79795]
|
||||||
|
},
|
||||||
|
"0.95": {
|
||||||
|
"vector": [-2.33022, -5.39513, 5.92379]
|
||||||
|
},
|
||||||
|
"0.975": {
|
||||||
|
"vector": [-2.35753, -4.95022, 4.69759]
|
||||||
|
},
|
||||||
|
"1.0": {
|
||||||
|
"vector": [-3.25277, -2.91075, 4.22029]
|
||||||
|
},
|
||||||
|
"1.1": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"1.225": {
|
||||||
|
"vector": [0, 0, 0],
|
||||||
|
"easing": "easeInBounce"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gun": {
|
||||||
|
"rotation": {
|
||||||
|
"0.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.1": {
|
||||||
|
"vector": [9, 0, -20.64],
|
||||||
|
"easing": "easeInSine"
|
||||||
|
},
|
||||||
|
"0.25": {
|
||||||
|
"vector": [-13, 22.5, 84.5],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
},
|
||||||
|
"0.4": {
|
||||||
|
"vector": [-6, 0.5, -19.5],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
},
|
||||||
|
"0.525": {
|
||||||
|
"vector": [-17, 0.5, -27.5],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
},
|
||||||
|
"0.675": {
|
||||||
|
"vector": [-14.28, 0.42, -28.43]
|
||||||
|
},
|
||||||
|
"0.9": {
|
||||||
|
"vector": [-6.8, 0.2, -31]
|
||||||
|
},
|
||||||
|
"0.975": {
|
||||||
|
"vector": [0.24, 0.14, -24.7],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
},
|
||||||
|
"1.025": {
|
||||||
|
"vector": [-2.83, 0.1, -23.5]
|
||||||
|
},
|
||||||
|
"1.25": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"position": {
|
||||||
|
"0.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.1": {
|
||||||
|
"vector": [-1.92969, 1.12536, 0],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
|
},
|
||||||
|
"0.225": {
|
||||||
|
"vector": [-4.16, -1.54, 0]
|
||||||
|
},
|
||||||
|
"0.325": {
|
||||||
|
"vector": [-7.2, 0, 0],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
},
|
||||||
|
"0.4": {
|
||||||
|
"vector": [-4, 0.3, 0]
|
||||||
|
},
|
||||||
|
"0.525": {
|
||||||
|
"vector": [-5.3, 1.1, 1.4],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
},
|
||||||
|
"0.75": {
|
||||||
|
"vector": [-4.2604, 0.26871, 1.06417]
|
||||||
|
},
|
||||||
|
"0.9": {
|
||||||
|
"vector": [-4.60562, -0.06676, 1.19608]
|
||||||
|
},
|
||||||
|
"0.975": {
|
||||||
|
"vector": [-4.40093, 1.02209, 1.59999]
|
||||||
|
},
|
||||||
|
"1.025": {
|
||||||
|
"vector": [-3.30405, 0.16741, 2.44762]
|
||||||
|
},
|
||||||
|
"1.25": {
|
||||||
|
"vector": [0, 0, 0],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"body": {
|
||||||
|
"rotation": {
|
||||||
|
"0.15": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.25": {
|
||||||
|
"vector": [-6, -20, 0]
|
||||||
|
},
|
||||||
|
"0.5": {
|
||||||
|
"vector": [-10.27, -10.73, 0]
|
||||||
|
},
|
||||||
|
"0.8": {
|
||||||
|
"vector": [-11, -15, 0]
|
||||||
|
},
|
||||||
|
"1.025": {
|
||||||
|
"vector": [-11, -15, 0]
|
||||||
|
},
|
||||||
|
"1.225": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"position": {
|
||||||
|
"0.15": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.25": {
|
||||||
|
"vector": [0.57956, 0, 0.15529]
|
||||||
|
},
|
||||||
|
"0.8": {
|
||||||
|
"vector": [0.57956, 0, 0.15529]
|
||||||
|
},
|
||||||
|
"1.025": {
|
||||||
|
"vector": [0.57956, 0, 0.15529]
|
||||||
|
},
|
||||||
|
"1.225": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"magazine": {
|
||||||
|
"rotation": {
|
||||||
|
"0.175": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.225": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.575": {
|
||||||
|
"vector": [-15.75262, -37.73703, 456.13539],
|
||||||
|
"easing": "easeOutSine"
|
||||||
|
},
|
||||||
|
"0.625": {
|
||||||
|
"vector": [-15.75262, -37.73703, 456.13539],
|
||||||
|
"easing": "easeOutSine"
|
||||||
|
},
|
||||||
|
"0.65": {
|
||||||
|
"vector": [32.40128, 10.54474, 0.36623]
|
||||||
|
},
|
||||||
|
"0.8": {
|
||||||
|
"vector": [14.83291, 5.73814, -1.20757]
|
||||||
|
},
|
||||||
|
"0.925": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.975": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"1.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"position": {
|
||||||
|
"0.175": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.225": {
|
||||||
|
"vector": [0, -4.7, 0.9],
|
||||||
|
"easing": "easeInQuad"
|
||||||
|
},
|
||||||
|
"0.25": {
|
||||||
|
"vector": [-1.01654, -5.97646, 1.15849]
|
||||||
|
},
|
||||||
|
"0.275": {
|
||||||
|
"vector": [-6.41418, -6.62275, 1.0015]
|
||||||
|
},
|
||||||
|
"0.3": {
|
||||||
|
"vector": [-14.80325, 1.71423, 0.74022]
|
||||||
|
},
|
||||||
|
"0.325": {
|
||||||
|
"vector": [-16.00879, 13.41548, -0.24656]
|
||||||
|
},
|
||||||
|
"0.35": {
|
||||||
|
"vector": [-19.74367, 18.68347, -0.39542]
|
||||||
|
},
|
||||||
|
"0.375": {
|
||||||
|
"vector": [-26.68159, 19.19734, 0.27006]
|
||||||
|
},
|
||||||
|
"0.4": {
|
||||||
|
"vector": [-33.15559, 20.22964, 0.86581]
|
||||||
|
},
|
||||||
|
"0.425": {
|
||||||
|
"vector": [-37.30305, 21.75236, -1.08329]
|
||||||
|
},
|
||||||
|
"0.45": {
|
||||||
|
"vector": [-40.69671, 23.35227, -5.15997]
|
||||||
|
},
|
||||||
|
"0.475": {
|
||||||
|
"vector": [-44.5015, 24.56967, -7.58785]
|
||||||
|
},
|
||||||
|
"0.5": {
|
||||||
|
"vector": [-48.40692, 25.15858, -7.71781]
|
||||||
|
},
|
||||||
|
"0.575": {
|
||||||
|
"vector": [-272.2128, 80.51608, 12.36898]
|
||||||
|
},
|
||||||
|
"0.625": {
|
||||||
|
"vector": [-272.2128, 80.51608, 12.36898]
|
||||||
|
},
|
||||||
|
"0.65": {
|
||||||
|
"vector": [-0.45801, -11.75106, 8.69283],
|
||||||
|
"easing": "easeInQuad"
|
||||||
|
},
|
||||||
|
"0.8": {
|
||||||
|
"vector": [0.05474, -4.54521, 2.4771],
|
||||||
|
"easing": "easeInQuad"
|
||||||
|
},
|
||||||
|
"0.925": {
|
||||||
|
"vector": [0, -4.7, 1.9],
|
||||||
|
"easing": "easeInQuad"
|
||||||
|
},
|
||||||
|
"0.975": {
|
||||||
|
"vector": [0, -4.7, 0.9],
|
||||||
|
"easing": "easeInQuad"
|
||||||
|
},
|
||||||
|
"1.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sound_effects": {
|
||||||
|
"0.0": {
|
||||||
|
"effect": "glock_reload_normal"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"animation.glock.reload_empty": {
|
||||||
|
"loop": "hold_on_last_frame",
|
||||||
|
"animation_length": 1.7,
|
||||||
|
"bones": {
|
||||||
|
"0": {
|
||||||
|
"rotation": {
|
||||||
|
"0.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.075": {
|
||||||
|
"vector": [-9.91615, -1.29876, -7.38733]
|
||||||
|
},
|
||||||
|
"0.225": {
|
||||||
|
"vector": [-9.905, -0.18197, -24.3992]
|
||||||
|
},
|
||||||
|
"0.45": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.575": {
|
||||||
|
"vector": [0, 0, -20],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
|
},
|
||||||
|
"0.95": {
|
||||||
|
"vector": [-2.13733, 4.36681, -32.14213],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
|
},
|
||||||
|
"1.2": {
|
||||||
|
"vector": [-9.0963, 11.7554, -1.9037]
|
||||||
|
},
|
||||||
|
"1.225": {
|
||||||
|
"vector": [-14.64574, 13.27302, 4.69755],
|
||||||
|
"easing": "easeInQuart"
|
||||||
|
},
|
||||||
|
"1.35": {
|
||||||
|
"vector": [-23.75162, 11.92866, 3.66136]
|
||||||
|
},
|
||||||
|
"1.45": {
|
||||||
|
"vector": [-1.83441, 7.95244, 2.44091]
|
||||||
|
},
|
||||||
|
"1.625": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"position": {
|
||||||
|
"0.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.225": {
|
||||||
|
"vector": [1.05142, 4.26654, 0.62687]
|
||||||
|
},
|
||||||
|
"0.45": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.575": {
|
||||||
|
"vector": [-0.18863, 2.27254, 0],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
|
},
|
||||||
|
"0.8": {
|
||||||
|
"vector": [-2.09488, 5.29738, -0.68123]
|
||||||
|
},
|
||||||
|
"0.95": {
|
||||||
|
"vector": [-1.1451, 3.34429, -1.15779],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
|
},
|
||||||
|
"1.125": {
|
||||||
|
"vector": [-0.90702, 2.71908, -0.35018]
|
||||||
|
},
|
||||||
|
"1.2": {
|
||||||
|
"vector": [-1.4, 0, 0],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
},
|
||||||
|
"1.225": {
|
||||||
|
"vector": [-0.19, 0.3, 3.9],
|
||||||
|
"easing": "easeInQuart"
|
||||||
|
},
|
||||||
|
"1.35": {
|
||||||
|
"vector": [-0.38, 0.59, 2.64]
|
||||||
|
},
|
||||||
|
"1.45": {
|
||||||
|
"vector": [-0.12, 0.29, -2.04]
|
||||||
|
},
|
||||||
|
"1.55": {
|
||||||
|
"vector": [-0.04, 0.09, 1.84]
|
||||||
|
},
|
||||||
|
"1.625": {
|
||||||
|
"vector": [0, 0, 0],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Righthand": {
|
||||||
|
"rotation": {
|
||||||
|
"0.125": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.25": {
|
||||||
|
"vector": [0, 6, -9]
|
||||||
|
},
|
||||||
|
"0.375": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"position": {
|
||||||
|
"0.125": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.25": {
|
||||||
|
"vector": [3.00321, -0.61688, -0.10106]
|
||||||
|
},
|
||||||
|
"0.375": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Lefthand": {
|
||||||
|
"rotation": {
|
||||||
|
"0.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.075": {
|
||||||
|
"vector": [133.30702, -9.72565, -30.6365]
|
||||||
|
},
|
||||||
|
"0.65": {
|
||||||
|
"vector": [25.46719, -22.2363, 78.12621]
|
||||||
|
},
|
||||||
|
"0.725": {
|
||||||
|
"vector": [23.34788, -25.26118, 70.86152]
|
||||||
|
},
|
||||||
|
"0.8": {
|
||||||
|
"vector": [15.35593, 5.20698, 63.75845]
|
||||||
|
},
|
||||||
|
"0.925": {
|
||||||
|
"vector": [15.35593, 5.20698, 63.75845]
|
||||||
|
},
|
||||||
|
"0.975": {
|
||||||
|
"vector": [15.35593, 5.20698, 63.75845]
|
||||||
|
},
|
||||||
|
"1.0": {
|
||||||
|
"vector": [13.04381, 11.88065, 62.82106]
|
||||||
|
},
|
||||||
|
"1.05": {
|
||||||
|
"vector": [-4.93818, -6.6412, 30.82739]
|
||||||
|
},
|
||||||
|
"1.15": {
|
||||||
|
"vector": [-32.88924, -30.55823, -55.9374],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
|
},
|
||||||
|
"1.2": {
|
||||||
|
"vector": [-32.88924, -30.55823, -55.9374],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
|
},
|
||||||
|
"1.225": {
|
||||||
|
"vector": [-32.88924, -30.55823, -55.9374],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
|
},
|
||||||
|
"1.4": {
|
||||||
|
"vector": [-32.88924, -30.55823, -55.9374],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
|
},
|
||||||
|
"1.5": {
|
||||||
|
"vector": [3.537, -23.82754, -26.97592]
|
||||||
|
},
|
||||||
|
"1.575": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"position": {
|
||||||
|
"0.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.65": {
|
||||||
|
"vector": [0.72628, -10.24946, 6.73057]
|
||||||
|
},
|
||||||
|
"0.725": {
|
||||||
|
"vector": [-0.56676, -7.78513, 7.50953]
|
||||||
|
},
|
||||||
|
"0.775": {
|
||||||
|
"vector": [-0.72986, -7.69452, 4.29183]
|
||||||
|
},
|
||||||
|
"0.8": {
|
||||||
|
"vector": [-1.52007, -6.19301, 2.97592]
|
||||||
|
},
|
||||||
|
"0.85": {
|
||||||
|
"vector": [-1.50644, -6.628, 4.31341]
|
||||||
|
},
|
||||||
|
"0.9": {
|
||||||
|
"vector": [-1.77543, -6.29446, 5.06677]
|
||||||
|
},
|
||||||
|
"0.925": {
|
||||||
|
"vector": [-2.17152, -5.6814, 5.79795]
|
||||||
|
},
|
||||||
|
"0.95": {
|
||||||
|
"vector": [-2.33022, -5.39513, 5.92379]
|
||||||
|
},
|
||||||
|
"0.975": {
|
||||||
|
"vector": [-2.35753, -4.95022, 4.69759]
|
||||||
|
},
|
||||||
|
"1.0": {
|
||||||
|
"vector": [-3.25277, -2.91075, 4.22029]
|
||||||
|
},
|
||||||
|
"1.05": {
|
||||||
|
"vector": [-1.7943, 0.59114, 3.07913]
|
||||||
|
},
|
||||||
|
"1.1": {
|
||||||
|
"vector": [0.88646, 1.82623, 0.12722]
|
||||||
|
},
|
||||||
|
"1.15": {
|
||||||
|
"vector": [5.7, 3.6, -2.7],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
|
},
|
||||||
|
"1.2": {
|
||||||
|
"vector": [5.7, 3.6, -2.7],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
|
},
|
||||||
|
"1.225": {
|
||||||
|
"vector": [5.7, 3.6, -0.7],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
|
},
|
||||||
|
"1.4": {
|
||||||
|
"vector": [5.7, 3.6, -0.7],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
|
},
|
||||||
|
"1.5": {
|
||||||
|
"vector": [2.76, 2.16, -1.12]
|
||||||
|
},
|
||||||
|
"1.575": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gun": {
|
||||||
|
"rotation": {
|
||||||
|
"0.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.1": {
|
||||||
|
"vector": [9, 0, -20.64],
|
||||||
|
"easing": "easeInSine"
|
||||||
|
},
|
||||||
|
"0.25": {
|
||||||
|
"vector": [-13, 22.5, 84.5],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
},
|
||||||
|
"0.4": {
|
||||||
|
"vector": [-6, 0.5, -19.5],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
},
|
||||||
|
"0.525": {
|
||||||
|
"vector": [-17, 0.5, -27.5],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
},
|
||||||
|
"0.675": {
|
||||||
|
"vector": [-14.28, 0.42, -28.43]
|
||||||
|
},
|
||||||
|
"0.9": {
|
||||||
|
"vector": [-6.8, 0.2, -31]
|
||||||
|
},
|
||||||
|
"0.975": {
|
||||||
|
"vector": [0.24, 0.14, -24.7],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
},
|
||||||
|
"1.025": {
|
||||||
|
"vector": [-2.83, 0.1, -23.5]
|
||||||
|
},
|
||||||
|
"1.2": {
|
||||||
|
"vector": [0, 0, 0],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"position": {
|
||||||
|
"0.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.1": {
|
||||||
|
"vector": [-1.92969, 1.12536, 0],
|
||||||
|
"easing": "easeInOutSine"
|
||||||
|
},
|
||||||
|
"0.225": {
|
||||||
|
"vector": [-4.16, -1.54, 0]
|
||||||
|
},
|
||||||
|
"0.325": {
|
||||||
|
"vector": [-7.2, 0, 0],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
},
|
||||||
|
"0.4": {
|
||||||
|
"vector": [-4, 0.3, 0]
|
||||||
|
},
|
||||||
|
"0.525": {
|
||||||
|
"vector": [-5.3, 1.1, 1.4],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
},
|
||||||
|
"0.75": {
|
||||||
|
"vector": [-4.2604, 0.26871, 1.06417]
|
||||||
|
},
|
||||||
|
"0.9": {
|
||||||
|
"vector": [-4.60562, -0.06676, 1.19608]
|
||||||
|
},
|
||||||
|
"0.975": {
|
||||||
|
"vector": [-4.40093, 1.02209, 1.59999]
|
||||||
|
},
|
||||||
|
"1.025": {
|
||||||
|
"vector": [-3.30405, 0.16741, 2.44762]
|
||||||
|
},
|
||||||
|
"1.2": {
|
||||||
|
"vector": [0, 0, 0],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"body": {
|
||||||
|
"rotation": {
|
||||||
|
"0.15": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.25": {
|
||||||
|
"vector": [-6, -20, 0]
|
||||||
|
},
|
||||||
|
"0.5": {
|
||||||
|
"vector": [-10.27, -10.73, 0]
|
||||||
|
},
|
||||||
|
"0.8": {
|
||||||
|
"vector": [-11, -15, 0]
|
||||||
|
},
|
||||||
|
"1.025": {
|
||||||
|
"vector": [-11, -15, 0]
|
||||||
|
},
|
||||||
|
"1.225": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"position": {
|
||||||
|
"0.15": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.25": {
|
||||||
|
"vector": [0.57956, 0, 0.15529]
|
||||||
|
},
|
||||||
|
"0.8": {
|
||||||
|
"vector": [0.57956, 0, 0.15529]
|
||||||
|
},
|
||||||
|
"1.025": {
|
||||||
|
"vector": [0.57956, 0, 0.15529]
|
||||||
|
},
|
||||||
|
"1.225": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"magazine": {
|
||||||
|
"rotation": {
|
||||||
|
"0.175": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.225": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.575": {
|
||||||
|
"vector": [-15.75262, -37.73703, 456.13539],
|
||||||
|
"easing": "easeOutSine"
|
||||||
|
},
|
||||||
|
"0.625": {
|
||||||
|
"vector": [-15.75262, -37.73703, 456.13539],
|
||||||
|
"easing": "easeOutSine"
|
||||||
|
},
|
||||||
|
"0.65": {
|
||||||
|
"vector": [32.40128, 10.54474, 0.36623]
|
||||||
|
},
|
||||||
|
"0.8": {
|
||||||
|
"vector": [14.83291, 5.73814, -1.20757]
|
||||||
|
},
|
||||||
|
"0.925": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.975": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"1.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"position": {
|
||||||
|
"0.175": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.225": {
|
||||||
|
"vector": [0, -4.7, 0.9],
|
||||||
|
"easing": "easeInQuad"
|
||||||
|
},
|
||||||
|
"0.25": {
|
||||||
|
"vector": [-1.01654, -5.97646, 1.15849]
|
||||||
|
},
|
||||||
|
"0.275": {
|
||||||
|
"vector": [-6.41418, -6.62275, 1.0015]
|
||||||
|
},
|
||||||
|
"0.3": {
|
||||||
|
"vector": [-14.80325, 1.71423, 0.74022]
|
||||||
|
},
|
||||||
|
"0.325": {
|
||||||
|
"vector": [-16.00879, 13.41548, -0.24656]
|
||||||
|
},
|
||||||
|
"0.35": {
|
||||||
|
"vector": [-19.74367, 18.68347, -0.39542]
|
||||||
|
},
|
||||||
|
"0.375": {
|
||||||
|
"vector": [-26.68159, 19.19734, 0.27006]
|
||||||
|
},
|
||||||
|
"0.4": {
|
||||||
|
"vector": [-33.15559, 20.22964, 0.86581]
|
||||||
|
},
|
||||||
|
"0.425": {
|
||||||
|
"vector": [-37.30305, 21.75236, -1.08329]
|
||||||
|
},
|
||||||
|
"0.45": {
|
||||||
|
"vector": [-40.69671, 23.35227, -5.15997]
|
||||||
|
},
|
||||||
|
"0.475": {
|
||||||
|
"vector": [-44.5015, 24.56967, -7.58785]
|
||||||
|
},
|
||||||
|
"0.5": {
|
||||||
|
"vector": [-48.40692, 25.15858, -7.71781]
|
||||||
|
},
|
||||||
|
"0.575": {
|
||||||
|
"vector": [-272.2128, 80.51608, 12.36898]
|
||||||
|
},
|
||||||
|
"0.625": {
|
||||||
|
"vector": [-272.2128, 80.51608, 12.36898]
|
||||||
|
},
|
||||||
|
"0.65": {
|
||||||
|
"vector": [-0.45801, -11.75106, 8.69283],
|
||||||
|
"easing": "easeInQuad"
|
||||||
|
},
|
||||||
|
"0.8": {
|
||||||
|
"vector": [0.05474, -4.54521, 2.4771],
|
||||||
|
"easing": "easeInQuad"
|
||||||
|
},
|
||||||
|
"0.925": {
|
||||||
|
"vector": [0, -4.7, 1.9],
|
||||||
|
"easing": "easeInQuad"
|
||||||
|
},
|
||||||
|
"0.975": {
|
||||||
|
"vector": [0, -4.7, 0.9],
|
||||||
|
"easing": "easeInQuad"
|
||||||
|
},
|
||||||
|
"1.0": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"camera": {
|
||||||
|
"rotation": {
|
||||||
|
"0.05": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.175": {
|
||||||
|
"vector": [2, -2, 1],
|
||||||
|
"easing": "easeInSine"
|
||||||
|
},
|
||||||
|
"0.25": {
|
||||||
|
"vector": [2.5, 3, -2],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
},
|
||||||
|
"0.3": {
|
||||||
|
"vector": [-1, -2, 1],
|
||||||
|
"easing": "easeInSine"
|
||||||
|
},
|
||||||
|
"0.375": {
|
||||||
|
"vector": [0, 2, -0.8]
|
||||||
|
},
|
||||||
|
"0.475": {
|
||||||
|
"vector": [-0.67, -0.67, 0.4]
|
||||||
|
},
|
||||||
|
"0.75": {
|
||||||
|
"vector": [0.5, 0, 1.2],
|
||||||
|
"easing": "easeOutSine"
|
||||||
|
},
|
||||||
|
"0.875": {
|
||||||
|
"vector": [-0.1, 0, 2]
|
||||||
|
},
|
||||||
|
"0.975": {
|
||||||
|
"vector": [0, 0, 1.5],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
},
|
||||||
|
"1.025": {
|
||||||
|
"vector": [1, 1, -2.5],
|
||||||
|
"easing": "easeInSine"
|
||||||
|
},
|
||||||
|
"1.075": {
|
||||||
|
"vector": [-0.5, -0.5, 1.5]
|
||||||
|
},
|
||||||
|
"1.2": {
|
||||||
|
"vector": [0.2, 0, -1.5]
|
||||||
|
},
|
||||||
|
"1.25": {
|
||||||
|
"vector": [1, 2, 1.8]
|
||||||
|
},
|
||||||
|
"1.35": {
|
||||||
|
"vector": [-1.5, -3, -1.5]
|
||||||
|
},
|
||||||
|
"1.45": {
|
||||||
|
"vector": [0, 2, 1],
|
||||||
|
"easing": "easeInElastic"
|
||||||
|
},
|
||||||
|
"1.55": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bullet": {
|
||||||
|
"scale": {
|
||||||
|
"0.1": {
|
||||||
|
"vector": [1, 1, 1]
|
||||||
|
},
|
||||||
|
"0.125": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.6": {
|
||||||
|
"vector": [0, 0, 0]
|
||||||
|
},
|
||||||
|
"0.625": {
|
||||||
|
"vector": [1, 1, 1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sound_effects": {
|
||||||
|
"0.0": {
|
||||||
|
"effect": "glock_reload_normal"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"geckolib_format_version": 2
|
"geckolib_format_version": 2
|
||||||
|
|
2424
src/main/resources/assets/superbwarfare/geo/glock17.geo.json
Normal file
|
@ -36,6 +36,7 @@
|
||||||
"item.superbwarfare.hunting_rifle": "HUNTING RIFLE",
|
"item.superbwarfare.hunting_rifle": "HUNTING RIFLE",
|
||||||
"item.superbwarfare.svd": "SVD",
|
"item.superbwarfare.svd": "SVD",
|
||||||
"item.superbwarfare.ntw_20": "NTW-20",
|
"item.superbwarfare.ntw_20": "NTW-20",
|
||||||
|
"item.superbwarfare.glock_17": "GLOCK-17",
|
||||||
|
|
||||||
"des.superbwarfare.tips.damage": "Damage: ",
|
"des.superbwarfare.tips.damage": "Damage: ",
|
||||||
"des.superbwarfare.tips.level": "Level: ",
|
"des.superbwarfare.tips.level": "Level: ",
|
||||||
|
@ -63,6 +64,7 @@
|
||||||
"item.superbwarfare.m_4_blueprint": "M4A1 Blueprint",
|
"item.superbwarfare.m_4_blueprint": "M4A1 Blueprint",
|
||||||
"item.superbwarfare.devotion_blueprint": "DEVOTION Blueprint",
|
"item.superbwarfare.devotion_blueprint": "DEVOTION Blueprint",
|
||||||
"item.superbwarfare.taser_blueprint": "TASER Blueprint",
|
"item.superbwarfare.taser_blueprint": "TASER Blueprint",
|
||||||
|
"item.superbwarfare.glock_17_blueprint": "GLOCK-17 Blueprint",
|
||||||
|
|
||||||
"item.superbwarfare.common_material_pack": "Common Material Pack",
|
"item.superbwarfare.common_material_pack": "Common Material Pack",
|
||||||
"item.superbwarfare.rare_material_pack": "Rare Material Pack",
|
"item.superbwarfare.rare_material_pack": "Rare Material Pack",
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
"item.superbwarfare.hunting_rifle": "猎枪",
|
"item.superbwarfare.hunting_rifle": "猎枪",
|
||||||
"item.superbwarfare.svd": "SVD狙击步枪",
|
"item.superbwarfare.svd": "SVD狙击步枪",
|
||||||
"item.superbwarfare.ntw_20": "NTW-20反器材狙击步枪",
|
"item.superbwarfare.ntw_20": "NTW-20反器材狙击步枪",
|
||||||
|
"item.superbwarfare.glock_17": "格洛克17手枪",
|
||||||
|
|
||||||
"des.superbwarfare.tips.damage": "伤害: ",
|
"des.superbwarfare.tips.damage": "伤害: ",
|
||||||
"des.superbwarfare.tips.level": "等级: ",
|
"des.superbwarfare.tips.level": "等级: ",
|
||||||
|
@ -63,6 +64,7 @@
|
||||||
"item.superbwarfare.m_4_blueprint": "M4A1卡宾枪蓝图",
|
"item.superbwarfare.m_4_blueprint": "M4A1卡宾枪蓝图",
|
||||||
"item.superbwarfare.devotion_blueprint": "专注轻机枪蓝图",
|
"item.superbwarfare.devotion_blueprint": "专注轻机枪蓝图",
|
||||||
"item.superbwarfare.taser_blueprint": "泰瑟枪蓝图",
|
"item.superbwarfare.taser_blueprint": "泰瑟枪蓝图",
|
||||||
|
"item.superbwarfare.glock_17_blueprint": "格洛克17手枪蓝图",
|
||||||
|
|
||||||
"item.superbwarfare.common_material_pack": "普通材料包",
|
"item.superbwarfare.common_material_pack": "普通材料包",
|
||||||
"item.superbwarfare.rare_material_pack": "稀有材料包",
|
"item.superbwarfare.rare_material_pack": "稀有材料包",
|
||||||
|
|
|
@ -0,0 +1,107 @@
|
||||||
|
{
|
||||||
|
"credit": "Made with Blockbench",
|
||||||
|
"parent": "builtin/entity",
|
||||||
|
"texture_size": [
|
||||||
|
64,
|
||||||
|
64
|
||||||
|
],
|
||||||
|
"gui_light": "front",
|
||||||
|
"display": {
|
||||||
|
"thirdperson_righthand": {
|
||||||
|
"translation": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
-0.5
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
0.35,
|
||||||
|
0.35,
|
||||||
|
0.35
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"thirdperson_lefthand": {
|
||||||
|
"translation": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
-0.5
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
0.35,
|
||||||
|
0.35,
|
||||||
|
0.35
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"firstperson_righthand": {
|
||||||
|
"translation": [
|
||||||
|
-8.25,
|
||||||
|
1.25,
|
||||||
|
-0.75
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"firstperson_lefthand": {
|
||||||
|
"translation": [
|
||||||
|
80,
|
||||||
|
-80,
|
||||||
|
80
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ground": {
|
||||||
|
"translation": [
|
||||||
|
0,
|
||||||
|
5,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
0.35,
|
||||||
|
0.35,
|
||||||
|
0.35
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"gui": {
|
||||||
|
"rotation": [
|
||||||
|
165.69,
|
||||||
|
-39.63,
|
||||||
|
167
|
||||||
|
],
|
||||||
|
"translation": [
|
||||||
|
-0.25,
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
1.7,
|
||||||
|
1.7,
|
||||||
|
1.7
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"head": {
|
||||||
|
"translation": [
|
||||||
|
0,
|
||||||
|
10.25,
|
||||||
|
-1.25
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"fixed": {
|
||||||
|
"rotation": [
|
||||||
|
0,
|
||||||
|
90,
|
||||||
|
0
|
||||||
|
],
|
||||||
|
"translation": [
|
||||||
|
-1,
|
||||||
|
-0.5,
|
||||||
|
-1
|
||||||
|
],
|
||||||
|
"scale": [
|
||||||
|
0.7,
|
||||||
|
0.7,
|
||||||
|
0.7
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,75 @@
|
||||||
|
{
|
||||||
|
"credit": "Made with Blockbench",
|
||||||
|
"texture_size": [32, 32],
|
||||||
|
"textures": {
|
||||||
|
"0": "superbwarfare:item/glock17_3d",
|
||||||
|
"particle": "superbwarfare:item/glock17_3d"
|
||||||
|
},
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"from": [7, 6, 2],
|
||||||
|
"to": [9, 8, 15],
|
||||||
|
"rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 2]},
|
||||||
|
"faces": {
|
||||||
|
"north": {"uv": [7, 1.5, 8, 2.5], "texture": "#0"},
|
||||||
|
"east": {"uv": [0, 0, 6.5, 1], "texture": "#0"},
|
||||||
|
"south": {"uv": [7, 2.5, 8, 3.5], "texture": "#0"},
|
||||||
|
"west": {"uv": [0, 1, 6.5, 2], "texture": "#0"},
|
||||||
|
"up": {"uv": [1, 8.5, 0, 2], "texture": "#0"},
|
||||||
|
"down": {"uv": [2, 2, 1, 8.5], "texture": "#0"}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": [7, 5, 2.25],
|
||||||
|
"to": [9, 6, 14.25],
|
||||||
|
"rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 2]},
|
||||||
|
"faces": {
|
||||||
|
"north": {"uv": [7, 4.5, 8, 5], "texture": "#0"},
|
||||||
|
"east": {"uv": [6, 5.5, 12, 6], "texture": "#0"},
|
||||||
|
"south": {"uv": [7, 5, 8, 5.5], "texture": "#0"},
|
||||||
|
"west": {"uv": [6, 6, 12, 6.5], "texture": "#0"},
|
||||||
|
"up": {"uv": [3, 8, 2, 2], "texture": "#0"},
|
||||||
|
"down": {"uv": [4, 2, 3, 8], "texture": "#0"}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": [7.75, 3.25, 7.75],
|
||||||
|
"to": [8.25, 5, 8],
|
||||||
|
"rotation": {"angle": 0, "axis": "y", "origin": [7, 4, 1]},
|
||||||
|
"faces": {
|
||||||
|
"north": {"uv": [7.5, 0, 8, 1], "texture": "#0"},
|
||||||
|
"east": {"uv": [8, 0, 8.5, 1], "texture": "#0"},
|
||||||
|
"south": {"uv": [8, 1, 8.5, 2], "texture": "#0"},
|
||||||
|
"west": {"uv": [2, 8, 2.5, 9], "texture": "#0"},
|
||||||
|
"up": {"uv": [7, 2, 6.5, 1.5], "texture": "#0"},
|
||||||
|
"down": {"uv": [8, 1, 7.5, 1.5], "texture": "#0"}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": [7.75, 3.25, 8],
|
||||||
|
"to": [8.25, 3.5, 11.75],
|
||||||
|
"rotation": {"angle": 0, "axis": "x", "origin": [8, 3.375, 8.875]},
|
||||||
|
"faces": {
|
||||||
|
"north": {"uv": [8, 2, 8.5, 2.5], "texture": "#0"},
|
||||||
|
"east": {"uv": [7, 3.5, 9, 4], "texture": "#0"},
|
||||||
|
"south": {"uv": [2.5, 8, 3, 8.5], "texture": "#0"},
|
||||||
|
"west": {"uv": [7, 4, 9, 4.5], "texture": "#0"},
|
||||||
|
"up": {"uv": [7.5, 8.5, 7, 6.5], "texture": "#0"},
|
||||||
|
"down": {"uv": [8, 6.5, 7.5, 8.5], "texture": "#0"}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"from": [7.00781, -0.51537, 11.15224],
|
||||||
|
"to": [8.99219, 6.23463, 14.15224],
|
||||||
|
"rotation": {"angle": -22.5, "axis": "x", "origin": [7, 4.23463, 12.15224]},
|
||||||
|
"faces": {
|
||||||
|
"north": {"uv": [4, 5.5, 5, 9], "texture": "#0"},
|
||||||
|
"east": {"uv": [4, 2, 5.5, 5.5], "texture": "#0"},
|
||||||
|
"south": {"uv": [5, 5.5, 6, 9], "texture": "#0"},
|
||||||
|
"west": {"uv": [5.5, 2, 7, 5.5], "texture": "#0"},
|
||||||
|
"up": {"uv": [7.5, 1.5, 6.5, 0], "texture": "#0"},
|
||||||
|
"down": {"uv": [7, 6.5, 6, 8], "texture": "#0"}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "superbwarfare:item/glock17_icon"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"loader": "forge:separate_transforms",
|
||||||
|
"gui_light": "front",
|
||||||
|
"base": {
|
||||||
|
"parent": "superbwarfare:item/glock_17_base"
|
||||||
|
},
|
||||||
|
"perspectives": {
|
||||||
|
"gui": {
|
||||||
|
"parent": "superbwarfare:item/glock17_icon"
|
||||||
|
},
|
||||||
|
"thirdperson_righthand": {
|
||||||
|
"parent": "superbwarfare:item/glock17_3d"
|
||||||
|
},
|
||||||
|
"thirdperson_lefthand": {
|
||||||
|
"parent": "superbwarfare:item/glock17_3d"
|
||||||
|
},
|
||||||
|
"ground": {
|
||||||
|
"parent": "superbwarfare:item/glock17_3d"
|
||||||
|
},
|
||||||
|
"fixed": {
|
||||||
|
"parent": "superbwarfare:item/glock17_3d"
|
||||||
|
},
|
||||||
|
"head": {
|
||||||
|
"parent": "superbwarfare:item/glock17_3d"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "superbwarfare:displaysettings/glock17.item",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "superbwarfare:item/glock17"
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "superbwarfare:item/gun_blueprint"
|
||||||
|
}
|
||||||
|
}
|
|
@ -1167,6 +1167,54 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"glock_17_fire_1p": {
|
||||||
|
"sounds": [
|
||||||
|
{
|
||||||
|
"name": "superbwarfare:glock_17/glock_fire_1p",
|
||||||
|
"stream": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"glock_17_fire_3p": {
|
||||||
|
"sounds": [
|
||||||
|
{
|
||||||
|
"name": "superbwarfare:glock_17/glock_fire_3p",
|
||||||
|
"stream": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"glock_17_far": {
|
||||||
|
"sounds": [
|
||||||
|
{
|
||||||
|
"name": "superbwarfare:glock_17/glock_far",
|
||||||
|
"stream": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"glock_17_veryfar": {
|
||||||
|
"sounds": [
|
||||||
|
{
|
||||||
|
"name": "superbwarfare:glock_17/glock_veryfar",
|
||||||
|
"stream": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"glock_17_reload_normal": {
|
||||||
|
"sounds": [
|
||||||
|
{
|
||||||
|
"name": "superbwarfare:glock_17/glock_reload_normal",
|
||||||
|
"stream": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"glock_17_reload_empty": {
|
||||||
|
"sounds": [
|
||||||
|
{
|
||||||
|
"name": "superbwarfare:glock_17/glock_reload_empty",
|
||||||
|
"stream": false
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"lightsaber": {
|
"lightsaber": {
|
||||||
"sounds": [
|
"sounds": [
|
||||||
{
|
{
|
||||||
|
|
After Width: | Height: | Size: 5.5 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 337 B |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 124 KiB |
Before Width: | Height: | Size: 289 B After Width: | Height: | Size: 311 B |
21
src/main/resources/data/superbwarfare/guns/glock_17.json
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"zoom_speed": 1.9,
|
||||||
|
"zoom": 1.25,
|
||||||
|
"dev": 2.5,
|
||||||
|
"recoil_x": 0.003,
|
||||||
|
"recoil_y": 0.013,
|
||||||
|
"damage": 5.5,
|
||||||
|
"headshot": 1.5,
|
||||||
|
"velocity": 16,
|
||||||
|
"mag": 17,
|
||||||
|
"projectile_amount": 1,
|
||||||
|
"fire_interval": 3,
|
||||||
|
"weight": 0,
|
||||||
|
"fire_mode": 0,
|
||||||
|
"semi": 1,
|
||||||
|
"burst": 0,
|
||||||
|
"auto": 0,
|
||||||
|
"burst_size": 1,
|
||||||
|
"normal_reload_time": 30,
|
||||||
|
"empty_reload_time": 35
|
||||||
|
}
|
|
@ -18,6 +18,20 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "superbwarfare:glock_17_blueprint",
|
||||||
|
"weight": 50,
|
||||||
|
"functions": [
|
||||||
|
{
|
||||||
|
"function": "set_count",
|
||||||
|
"count": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "minecraft:item",
|
"type": "minecraft:item",
|
||||||
"name": "superbwarfare:m_79_blueprint",
|
"name": "superbwarfare:m_79_blueprint",
|
||||||
|
|
|
@ -4,6 +4,20 @@
|
||||||
{
|
{
|
||||||
"rolls": 1,
|
"rolls": 1,
|
||||||
"entries": [
|
"entries": [
|
||||||
|
{
|
||||||
|
"type": "minecraft:item",
|
||||||
|
"name": "superbwarfare:glock_17_blueprint",
|
||||||
|
"weight": 9,
|
||||||
|
"functions": [
|
||||||
|
{
|
||||||
|
"function": "set_count",
|
||||||
|
"count": {
|
||||||
|
"min": 1,
|
||||||
|
"max": 1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "minecraft:item",
|
"type": "minecraft:item",
|
||||||
"name": "superbwarfare:m_79_blueprint",
|
"name": "superbwarfare:m_79_blueprint",
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "misc",
|
||||||
|
"pattern": [
|
||||||
|
"aba",
|
||||||
|
"aca",
|
||||||
|
"aaa"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"a": {
|
||||||
|
"item": "minecraft:diamond"
|
||||||
|
},
|
||||||
|
"b": {
|
||||||
|
"item": "superbwarfare:glock_17_blueprint"
|
||||||
|
},
|
||||||
|
"c": {
|
||||||
|
"item": "minecraft:lapis_lazuli"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "superbwarfare:glock_17_blueprint",
|
||||||
|
"count": 2
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
{
|
||||||
|
"type": "minecraft:smithing_transform",
|
||||||
|
"template": {
|
||||||
|
"item": "superbwarfare:glock_17_blueprint"
|
||||||
|
},
|
||||||
|
"base": {
|
||||||
|
"item": "superbwarfare:common_material_pack"
|
||||||
|
},
|
||||||
|
"addition": {
|
||||||
|
"item": "minecraft:iron_ingot"
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "superbwarfare:glock_17"
|
||||||
|
}
|
||||||
|
}
|
|
@ -21,6 +21,7 @@
|
||||||
"superbwarfare:m_870",
|
"superbwarfare:m_870",
|
||||||
"superbwarfare:m_98b",
|
"superbwarfare:m_98b",
|
||||||
"superbwarfare:ak_47",
|
"superbwarfare:ak_47",
|
||||||
"superbwarfare:rpg"
|
"superbwarfare:rpg",
|
||||||
|
"superbwarfare:glock_17"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -20,6 +20,7 @@
|
||||||
"superbwarfare:marlin",
|
"superbwarfare:marlin",
|
||||||
"superbwarfare:m_870",
|
"superbwarfare:m_870",
|
||||||
"superbwarfare:m_98b",
|
"superbwarfare:m_98b",
|
||||||
"superbwarfare:ak_47"
|
"superbwarfare:ak_47",
|
||||||
|
"superbwarfare:glock_17"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -24,6 +24,7 @@
|
||||||
"superbwarfare:m_870",
|
"superbwarfare:m_870",
|
||||||
"superbwarfare:m_98b",
|
"superbwarfare:m_98b",
|
||||||
"superbwarfare:ak_47",
|
"superbwarfare:ak_47",
|
||||||
"superbwarfare:rpg"
|
"superbwarfare:rpg",
|
||||||
|
"superbwarfare:glock_17"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -1,6 +1,7 @@
|
||||||
{
|
{
|
||||||
"replace": false,
|
"replace": false,
|
||||||
"values": [
|
"values": [
|
||||||
"superbwarfare:trachelium"
|
"superbwarfare:trachelium",
|
||||||
|
"superbwarfare:glock_17"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -19,6 +19,7 @@
|
||||||
"superbwarfare:m_98b",
|
"superbwarfare:m_98b",
|
||||||
"superbwarfare:sentinel",
|
"superbwarfare:sentinel",
|
||||||
"superbwarfare:m_870",
|
"superbwarfare:m_870",
|
||||||
"superbwarfare:marlin"
|
"superbwarfare:marlin",
|
||||||
|
"superbwarfare:glock_17"
|
||||||
]
|
]
|
||||||
}
|
}
|
|
@ -15,6 +15,7 @@
|
||||||
"superbwarfare:devotion",
|
"superbwarfare:devotion",
|
||||||
"superbwarfare:ntw_20",
|
"superbwarfare:ntw_20",
|
||||||
"superbwarfare:m_98b",
|
"superbwarfare:m_98b",
|
||||||
"superbwarfare:sentinel"
|
"superbwarfare:sentinel",
|
||||||
|
"superbwarfare:glock_17"
|
||||||
]
|
]
|
||||||
}
|
}
|