添加MK14的配件
This commit is contained in:
parent
cf4e60e5a3
commit
913a7b8f22
35 changed files with 19898 additions and 11793 deletions
|
@ -13,5 +13,5 @@ mod_description=A Warfare Mod
|
|||
minecraft_version=1.20.1
|
||||
jei_version=15.2.0.27
|
||||
cloth_config_version=11.1.106
|
||||
mod_version=0.2.8
|
||||
mod_version=0.2.9
|
||||
mod_authors=Atsuishio, Roki27, Light_Quanta
|
|
@ -1,4 +1,4 @@
|
|||
// 1.20.1 2024-11-23T23:05:38.8366049 Tags for minecraft:item mod id superbwarfare
|
||||
// 1.20.1 2024-11-27T01:38:22.7956251 Tags for minecraft:item mod id superbwarfare
|
||||
cf8d49a8d2872286d1a9c3d4a7e1c2b7690db0b8 data/forge/tags/items/dusts.json
|
||||
0fa06c2ff83bf09797e3ddff90f62d1124e645b4 data/forge/tags/items/dusts/coal_coke.json
|
||||
295ddf906b7133a0558d03e9a60eea18281fe430 data/forge/tags/items/dusts/iron.json
|
||||
|
@ -27,12 +27,12 @@ af6fd64b4a685c353f243763db268f7b2304c009 data/forge/tags/items/storage_blocks/le
|
|||
3743c2790deca7e779d3e4b82f092de39b446988 data/forge/tags/items/storage_blocks/steel.json
|
||||
144e54d908121dee498b2ebba3b24b09fd6f18d9 data/forge/tags/items/storage_blocks/tungsten.json
|
||||
4d4dfd25a2a749e000e1bb742c2f984d4e094e5d data/superbwarfare/tags/items/cannot_reload.json
|
||||
61eb85190c6bd4373fe3f033dfdf4659a1c70744 data/superbwarfare/tags/items/can_apply_barrel.json
|
||||
d2176acdd2d0337c17bd99b71f6afc812d21afdd data/superbwarfare/tags/items/can_apply_grip.json
|
||||
785859aa510afdd9153a306eda6acfac71eefa9f data/superbwarfare/tags/items/can_apply_magazine.json
|
||||
61eb85190c6bd4373fe3f033dfdf4659a1c70744 data/superbwarfare/tags/items/can_apply_scope.json
|
||||
d6eaee42f107abb373a5c30759232b218a25635d data/superbwarfare/tags/items/can_apply_stock.json
|
||||
61eb85190c6bd4373fe3f033dfdf4659a1c70744 data/superbwarfare/tags/items/can_custom_gun.json
|
||||
cedce5ff7bbc95b40cbfced0f03a3da712118049 data/superbwarfare/tags/items/can_apply_barrel.json
|
||||
4b0864ba4b2bb2ca3b30bdc2fefe3077f5020466 data/superbwarfare/tags/items/can_apply_grip.json
|
||||
41a5f975239ec6e000229dfc212b9d886496cccc data/superbwarfare/tags/items/can_apply_magazine.json
|
||||
cedce5ff7bbc95b40cbfced0f03a3da712118049 data/superbwarfare/tags/items/can_apply_scope.json
|
||||
29af1d9a8f837510bc039feb578330f1a053543f data/superbwarfare/tags/items/can_apply_stock.json
|
||||
cedce5ff7bbc95b40cbfced0f03a3da712118049 data/superbwarfare/tags/items/can_custom_gun.json
|
||||
dff9ff6d6637951191906cb55a210ae5a3ad5cd6 data/superbwarfare/tags/items/extra_one_ammo.json
|
||||
52598e22974c8da0d2852defe4c9005e1d67744b data/superbwarfare/tags/items/gun.json
|
||||
62eb408544731ce4cfcd119d8a6cc74731189ac0 data/superbwarfare/tags/items/handgun.json
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
"superbwarfare:hk_416",
|
||||
"superbwarfare:qbz_95",
|
||||
"superbwarfare:vector",
|
||||
"superbwarfare:trachelium"
|
||||
"superbwarfare:trachelium",
|
||||
"superbwarfare:mk_14"
|
||||
]
|
||||
}
|
|
@ -6,6 +6,7 @@
|
|||
"superbwarfare:qbz_95",
|
||||
"superbwarfare:ak_47",
|
||||
"superbwarfare:vector",
|
||||
"superbwarfare:trachelium"
|
||||
"superbwarfare:trachelium",
|
||||
"superbwarfare:mk_14"
|
||||
]
|
||||
}
|
|
@ -5,6 +5,7 @@
|
|||
"superbwarfare:m_4",
|
||||
"superbwarfare:hk_416",
|
||||
"superbwarfare:qbz_95",
|
||||
"superbwarfare:vector"
|
||||
"superbwarfare:vector",
|
||||
"superbwarfare:mk_14"
|
||||
]
|
||||
}
|
|
@ -6,6 +6,7 @@
|
|||
"superbwarfare:hk_416",
|
||||
"superbwarfare:qbz_95",
|
||||
"superbwarfare:vector",
|
||||
"superbwarfare:trachelium"
|
||||
"superbwarfare:trachelium",
|
||||
"superbwarfare:mk_14"
|
||||
]
|
||||
}
|
|
@ -5,6 +5,7 @@
|
|||
"superbwarfare:m_4",
|
||||
"superbwarfare:hk_416",
|
||||
"superbwarfare:vector",
|
||||
"superbwarfare:trachelium"
|
||||
"superbwarfare:trachelium",
|
||||
"superbwarfare:mk_14"
|
||||
]
|
||||
}
|
|
@ -6,6 +6,7 @@
|
|||
"superbwarfare:hk_416",
|
||||
"superbwarfare:qbz_95",
|
||||
"superbwarfare:vector",
|
||||
"superbwarfare:trachelium"
|
||||
"superbwarfare:trachelium",
|
||||
"superbwarfare:mk_14"
|
||||
]
|
||||
}
|
|
@ -1,11 +1,12 @@
|
|||
package com.atsuishio.superbwarfare.client.model.item;
|
||||
|
||||
import com.atsuishio.superbwarfare.ModUtils;
|
||||
import com.atsuishio.superbwarfare.event.PlayerEventHandler;
|
||||
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||
import com.atsuishio.superbwarfare.event.PlayerEventHandler;
|
||||
import com.atsuishio.superbwarfare.init.ModTags;
|
||||
import com.atsuishio.superbwarfare.item.gun.rifle.Mk14Item;
|
||||
import com.atsuishio.superbwarfare.tools.GunsTool;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.util.Mth;
|
||||
|
@ -17,6 +18,10 @@ import software.bernie.geckolib.model.GeoModel;
|
|||
|
||||
public class Mk14ItemModel extends GeoModel<Mk14Item> {
|
||||
|
||||
public static float fireRotY = 0f;
|
||||
public static float fireRotZ = 0f;
|
||||
public static float rotXBipod = 0f;
|
||||
|
||||
@Override
|
||||
public ResourceLocation getAnimationResource(Mk14Item animatable) {
|
||||
return ModUtils.loc("animations/mk14ebr.animation.json");
|
||||
|
@ -35,23 +40,15 @@ public class Mk14ItemModel extends GeoModel<Mk14Item> {
|
|||
@Override
|
||||
public void setCustomAnimations(Mk14Item animatable, long instanceId, AnimationState animationState) {
|
||||
CoreGeoBone gun = getAnimationProcessor().getBone("bones");
|
||||
CoreGeoBone scope = getAnimationProcessor().getBone("scope");
|
||||
CoreGeoBone rex = getAnimationProcessor().getBone("rex");
|
||||
CoreGeoBone l = getAnimationProcessor().getBone("l");
|
||||
CoreGeoBone r = getAnimationProcessor().getBone("r");
|
||||
CoreGeoBone yugu = getAnimationProcessor().getBone("yugu");
|
||||
CoreGeoBone action = getAnimationProcessor().getBone("action");
|
||||
CoreGeoBone scope2 = getAnimationProcessor().getBone("Scope2");
|
||||
CoreGeoBone scope3 = getAnimationProcessor().getBone("Scope3");
|
||||
|
||||
Player player = Minecraft.getInstance().player;
|
||||
if (player == null) return;
|
||||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return;
|
||||
|
||||
if (PlayerEventHandler.isProne(player)) {
|
||||
l.setRotX(-1.5f);
|
||||
r.setRotX(-1.5f);
|
||||
}
|
||||
|
||||
float times = 0.6f * (float) Math.min(Minecraft.getInstance().getDeltaFrameTime(), 0.8);
|
||||
double zt = ClientEventHandler.zoomTime;
|
||||
double zp = ClientEventHandler.zoomPos;
|
||||
|
@ -70,40 +67,75 @@ public class Mk14ItemModel extends GeoModel<Mk14Item> {
|
|||
double fp = ClientEventHandler.firePos;
|
||||
double fr = ClientEventHandler.fireRot;
|
||||
|
||||
gun.setPosX(3.105f * (float) zp);
|
||||
gun.setPosY(0.53f * (float) zp - (float) (0.2f * zpz));
|
||||
gun.setPosZ(3.7f * (float) zp + (float) (0.2f * zpz));
|
||||
int type = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.SCOPE);
|
||||
int stockType = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.STOCK);
|
||||
int barrelType = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.BARREL);
|
||||
int gripType = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.GRIP);
|
||||
|
||||
float posY = switch (type) {
|
||||
case 0 -> 1.68f;
|
||||
case 1 -> 0.23f;
|
||||
case 2 -> -0.05f;
|
||||
case 3 -> -0.07f;
|
||||
default -> 0f;
|
||||
};
|
||||
float scaleZ = switch (type) {
|
||||
case 0 -> 0.4f;
|
||||
case 1 -> 0.5f;
|
||||
case 2 -> 0.8f;
|
||||
case 3 -> 0.84f;
|
||||
default -> 0f;
|
||||
};
|
||||
float posZ = switch (type) {
|
||||
case 0 -> 2f;
|
||||
case 1 -> 3f;
|
||||
case 2 -> 5f;
|
||||
case 3 -> 5.2f;
|
||||
default -> 0f;
|
||||
};
|
||||
|
||||
gun.setPosX(2.714f * (float) zp);
|
||||
gun.setPosY(posY * (float) zp - (float) (0.2f * zpz));
|
||||
gun.setPosZ(posZ * (float) zp + (float) (0.3f * zpz));
|
||||
gun.setRotZ((float) (0.05f * zpz));
|
||||
gun.setScaleZ(1f - (scaleZ * (float) zp));
|
||||
scope2.setScaleZ(1f - (0.8f * (float) zp));
|
||||
scope3.setScaleZ(1f - (0.55f * (float) zp));
|
||||
|
||||
gun.setScaleZ(1f - (0.7f * (float) zp));
|
||||
scope.setScaleZ(1f - (0.7f * (float) zp));
|
||||
yugu.setScaleZ(1f - (0.7f * (float) zp));
|
||||
CoreGeoBone shen;
|
||||
if (zt < 0.5) {
|
||||
shen = getAnimationProcessor().getBone("fireRootNormal");
|
||||
} else {
|
||||
shen = switch (type) {
|
||||
case 0 -> getAnimationProcessor().getBone("fireRoot0");
|
||||
case 1 -> getAnimationProcessor().getBone("fireRoot1");
|
||||
case 2 -> getAnimationProcessor().getBone("fireRoot2");
|
||||
case 3 -> getAnimationProcessor().getBone("fireRoot3");
|
||||
default -> getAnimationProcessor().getBone("fireRootNormal");
|
||||
};
|
||||
}
|
||||
|
||||
CoreGeoBone shen = getAnimationProcessor().getBone("shen");
|
||||
fireRotY = (float) Mth.lerp(0.3f * times, fireRotY, 0.2f * ClientEventHandler.recoilHorizon * fpz);
|
||||
fireRotZ = (float) Mth.lerp(2f * times, fireRotZ, (0.4f + 0.5 * fpz) * ClientEventHandler.recoilHorizon);
|
||||
|
||||
shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
|
||||
shen.setPosX(-0.4f * (float) (ClientEventHandler.recoilHorizon * (0.5 + 0.4 * ClientEventHandler.fireSpread)));
|
||||
shen.setPosY((float) (0.15f * fp + 0.18f * fr));
|
||||
shen.setPosZ((float) (0.275 * fp + 0.34f * fr + 0.65 * fpz));
|
||||
shen.setRotX((float) (0.01f * fp + 0.05f * fr + 0.01f * fpz));
|
||||
shen.setRotY((float) (0.1f * ClientEventHandler.recoilHorizon * fpz));
|
||||
shen.setRotZ((float) ((0.08f + 0.1 * fr) * ClientEventHandler.recoilHorizon));
|
||||
shen.setPosZ((float) (1.935 * fp + 0.13f * fr + 0.725 * fpz));
|
||||
shen.setRotX((float) ((0.015f * fp + 0.12f * fr + 0.015f * fpz)));
|
||||
shen.setRotY(fireRotY);
|
||||
shen.setRotZ(fireRotZ);
|
||||
|
||||
shen.setPosX((float) (shen.getPosX() * (1 - 0.5 * zt)));
|
||||
shen.setPosY((float) (shen.getPosY() * (-1 + 0.4 * zt)));
|
||||
shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt)));
|
||||
shen.setRotX((float) (shen.getRotX() * (1 - 0.9 * zt)));
|
||||
shen.setRotY((float) (shen.getRotY() * (1 - 0.9 * zt)));
|
||||
shen.setRotZ((float) (shen.getRotZ() * (1 - 0.9 * zt)));
|
||||
|
||||
rex.setRotZ(0.01f * (float) (ClientEventHandler.recoilHorizon * fp));
|
||||
rex.setPosY(-0.23f * (float) (fp + 2.3 * fr));
|
||||
shen.setPosX((float) (shen.getPosX() * (1 - 0.4 * zt)));
|
||||
shen.setPosY((float) (shen.getPosY() * (-1 + 0.8 * zt)));
|
||||
shen.setPosZ((float) (shen.getPosZ() * (1 - 0.6 * zt) * (barrelType == 1 ? 0.8 : 1.0) * (stockType == 2 ? 0.9 : 1.0) * (gripType == 1 ? 0.9 : 1.0) * (PlayerEventHandler.isProne(player) && gripType == 3 ? 0.9 : 1.0)));
|
||||
shen.setRotX((float) (shen.getRotX() * (1 - 0.8 * zt) * (barrelType == 1 ? 0.4 : 1.0) * (stockType == 2 ? 0.6 : 1.0) * (gripType == 1 ? 0.7 : 1.0) * (PlayerEventHandler.isProne(player) && gripType == 3 ? 0.1 : 1.0)));
|
||||
shen.setRotY((float) (shen.getRotY() * (1 - 0.85 * zt)));
|
||||
shen.setRotZ((float) (shen.getRotZ() * (1 - 0.4 * zt)));
|
||||
|
||||
action.setPosZ(2.5f * (float) fp);
|
||||
|
||||
stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 2.5));
|
||||
|
||||
CoreGeoBone bolt = getAnimationProcessor().getBone("bolt");
|
||||
|
||||
CoreGeoBone root = getAnimationProcessor().getBone("root");
|
||||
root.setPosX((float) (movePosX + 20 * ClientEventHandler.drawTime + 9.3f * mph));
|
||||
root.setPosY((float) (swayY + movePosY - 40 * ClientEventHandler.drawTime - 2f * vY));
|
||||
|
@ -114,17 +146,23 @@ public class Mk14ItemModel extends GeoModel<Mk14Item> {
|
|||
CoreGeoBone camera = getAnimationProcessor().getBone("camera");
|
||||
CoreGeoBone main = getAnimationProcessor().getBone("0");
|
||||
|
||||
float numR = (float) (1 - 0.95 * zt);
|
||||
float numP = (float) (1 - 0.94 * zt);
|
||||
float numR = (float) (1 - 0.98 * zt);
|
||||
float numP = (float) (1 - 0.97 * zt);
|
||||
|
||||
CoreGeoBone l = getAnimationProcessor().getBone("l");
|
||||
CoreGeoBone r = getAnimationProcessor().getBone("r");
|
||||
rotXBipod = Mth.lerp(1.5f * times, rotXBipod, PlayerEventHandler.isProne(player) ? -90 : 0);
|
||||
l.setRotX(rotXBipod * Mth.DEG_TO_RAD);
|
||||
r.setRotX(rotXBipod * Mth.DEG_TO_RAD);
|
||||
|
||||
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
|
||||
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
|
||||
AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 0.9f, 0.95f);
|
||||
AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 1.2f, 0.55f);
|
||||
|
||||
CoreGeoBone shell = getAnimationProcessor().getBone("shell");
|
||||
|
||||
if (stack.getOrCreateTag().getBoolean("HoldOpen")) {
|
||||
bolt.setPosZ(2.5f);
|
||||
action.setPosZ(2.5f);
|
||||
shell.setScaleX(0);
|
||||
shell.setScaleY(0);
|
||||
shell.setScaleZ(0);
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
package com.atsuishio.superbwarfare.client.model.item;
|
||||
|
||||
import com.atsuishio.superbwarfare.ModUtils;
|
||||
import com.atsuishio.superbwarfare.event.PlayerEventHandler;
|
||||
import com.atsuishio.superbwarfare.tools.GunsTool;
|
||||
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||
import com.atsuishio.superbwarfare.event.PlayerEventHandler;
|
||||
import com.atsuishio.superbwarfare.init.ModTags;
|
||||
import com.atsuishio.superbwarfare.item.gun.handgun.Trachelium;
|
||||
import com.atsuishio.superbwarfare.tools.GunsTool;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
import net.minecraft.util.Mth;
|
||||
|
@ -52,14 +52,13 @@ public class TracheliumItemModel extends GeoModel<Trachelium> {
|
|||
CoreGeoBone camera = getAnimationProcessor().getBone("camera");
|
||||
CoreGeoBone main = getAnimationProcessor().getBone("0");
|
||||
CoreGeoBone scope2 = getAnimationProcessor().getBone("Scope2");
|
||||
// CoreGeoBone scope3 = getAnimationProcessor().getBone("Scope3");
|
||||
|
||||
Player player = Minecraft.getInstance().player;
|
||||
if (player == null) return;
|
||||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return;
|
||||
|
||||
float times = 0.6f * (float) Math.min(Minecraft.getInstance().getDeltaFrameTime(), 0.8);
|
||||
float times = 0.4f * (float) Math.min(Minecraft.getInstance().getDeltaFrameTime(), 0.8);
|
||||
double zt = ClientEventHandler.zoomTime;
|
||||
double zp = ClientEventHandler.zoomPos;
|
||||
double zpz = ClientEventHandler.zoomPosZ;
|
||||
|
@ -73,7 +72,7 @@ public class TracheliumItemModel extends GeoModel<Trachelium> {
|
|||
double turnRotX = ClientEventHandler.turnRot[0];
|
||||
double turnRotY = ClientEventHandler.turnRot[1];
|
||||
double turnRotZ = ClientEventHandler.turnRot[2];
|
||||
double fpz = ClientEventHandler.firePosZ * 13 * times;
|
||||
double fpz = ClientEventHandler.firePosZ * 8 * times;
|
||||
double fp = ClientEventHandler.firePos;
|
||||
double fr = ClientEventHandler.fireRot;
|
||||
|
||||
|
@ -131,20 +130,20 @@ public class TracheliumItemModel extends GeoModel<Trachelium> {
|
|||
};
|
||||
}
|
||||
|
||||
fireRotY = (float) Mth.lerp(0.3f * times, fireRotY, 0.2f * ClientEventHandler.recoilHorizon * fpz);
|
||||
fireRotY = (float) Mth.lerp(0.2f * times, fireRotY, 0.2f * ClientEventHandler.recoilHorizon * fpz);
|
||||
fireRotZ = (float) Mth.lerp(2f * times, fireRotZ, (0.4f + 0.5 * fpz) * ClientEventHandler.recoilHorizon);
|
||||
|
||||
shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
|
||||
shen.setPosY((float) (0.2f * fp + 0.24f * fr));
|
||||
shen.setPosZ((float) (1.225 * fp + 0.1f * fr + 0.55 * fpz));
|
||||
shen.setRotX((float) (0.2f * fp + 0.2f * fr + 0.2f * fpz));
|
||||
shen.setRotX((float) (0.14f * fp + 0.14f * fr + 0.14f * fpz));
|
||||
shen.setRotY(fireRotY);
|
||||
shen.setRotZ(fireRotZ);
|
||||
|
||||
shen.setPosX((float) (shen.getPosX() * (1 - 0.4 * zt)));
|
||||
shen.setPosY((float) (shen.getPosY() * (1 - 0.5 * zt) * (PlayerEventHandler.isProne(player) ? 0.03 : 1)));
|
||||
shen.setPosZ((float) (shen.getPosZ() * (1 - 0.7 * zt) * (PlayerEventHandler.isProne(player) ? 0.4 : 1)));
|
||||
shen.setRotX((float) (shen.getRotX() * (1 - 0.27 * zt) * (barrelType == 1 ? 0.4 : 1) * (stockType == 1 ? 0.6 : 1) * (gripType == 1 ? 0.8 : 1) * (PlayerEventHandler.isProne(player) ? 0.03 : 1)));
|
||||
shen.setRotX((float) (shen.getRotX() * (1 - 0.27 * zt) * (barrelType == 1 ? 0.4 : 1.2) * (stockType == 2 ? 0.6 : 1.2) * (gripType == 1 ? 0.8 : 1.2) * (PlayerEventHandler.isProne(player) && gripType == 3 ? 0.03 : 1.2)));
|
||||
shen.setRotY((float) (shen.getRotY() * (1 - 0.7 * zt)));
|
||||
shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt)));
|
||||
|
||||
|
@ -157,6 +156,12 @@ public class TracheliumItemModel extends GeoModel<Trachelium> {
|
|||
ammo.setRotZ(60 * Mth.DEG_TO_RAD * (float) ClientEventHandler.revolverWheelPreTime);
|
||||
ammohole.setRotZ(-60 * Mth.DEG_TO_RAD * (float) ClientEventHandler.revolverWheelPreTime);
|
||||
|
||||
if (stack.getOrCreateTag().getBoolean("is_empty_reloading")) {
|
||||
lun.setRotZ(0);
|
||||
ammo.setRotZ(0);
|
||||
ammohole.setRotZ(0);
|
||||
}
|
||||
|
||||
CoreGeoBone root = getAnimationProcessor().getBone("root");
|
||||
root.setPosX((float) (movePosX + 20 * ClientEventHandler.drawTime + 9.3f * mph));
|
||||
root.setPosY((float) (swayY + movePosY - 40 * ClientEventHandler.drawTime - 2f * vY));
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
package com.atsuishio.superbwarfare.client.renderer.item;
|
||||
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
||||
import com.atsuishio.superbwarfare.client.ItemModelHelper;
|
||||
import com.atsuishio.superbwarfare.client.layer.Mk14Layer;
|
||||
import com.atsuishio.superbwarfare.client.model.item.Mk14ItemModel;
|
||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||
import com.atsuishio.superbwarfare.item.gun.rifle.Mk14Item;
|
||||
import com.atsuishio.superbwarfare.tools.GunsTool;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.model.PlayerModel;
|
||||
import net.minecraft.client.player.AbstractClientPlayer;
|
||||
|
@ -83,16 +85,40 @@ public class Mk14ItemRenderer extends GeoItemRenderer<Mk14Item> {
|
|||
if (player != null) {
|
||||
ItemStack itemStack = player.getMainHandItem();
|
||||
|
||||
if (name.equals("rex")) {
|
||||
bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !ClientEventHandler.zoom);
|
||||
if (name.equals("qiaojia")) {
|
||||
bone.setHidden(GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 0);
|
||||
}
|
||||
|
||||
if (name.equals("jing") || name.equals("qiangguan")) {
|
||||
if (name.equals("Cross1")) {
|
||||
bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1);
|
||||
}
|
||||
|
||||
if (name.equals("Cross2")) {
|
||||
bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2);
|
||||
}
|
||||
|
||||
if (name.equals("Cross3")) {
|
||||
bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 3);
|
||||
}
|
||||
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2
|
||||
&& (name.equals("hidden"))) {
|
||||
bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 3
|
||||
&& (name.equals("jing") || name.equals("yugu") || name.equals("qiangguan") || name.equals("Barrel"))) {
|
||||
bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (name.equals("flare")) {
|
||||
if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5) {
|
||||
if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5 || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.BARREL) == 2) {
|
||||
bone.setHidden(true);
|
||||
} else {
|
||||
bone.setHidden(false);
|
||||
|
@ -101,6 +127,9 @@ public class Mk14ItemRenderer extends GeoItemRenderer<Mk14Item> {
|
|||
bone.setRotZ((float) (0.5 * (Math.random() - 0.5)));
|
||||
}
|
||||
}
|
||||
|
||||
ItemModelHelper.handleGunAttachments(bone, itemStack, name);
|
||||
|
||||
}
|
||||
|
||||
if (this.transformType.firstPerson() && renderingArms) {
|
||||
|
|
|
@ -118,17 +118,23 @@ public class ModItemTagProvider extends ItemTagsProvider {
|
|||
|
||||
this.tag(ModTags.Items.MILITARY_ARMOR).add(ModItems.RU_CHEST_6B43.get(), ModItems.US_CHEST_IOTV.get());
|
||||
|
||||
this.tag(ModTags.Items.CAN_CUSTOM_GUN).add(ModItems.AK_12.get(), ModItems.AK_47.get(), ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.QBZ_95.get(), ModItems.VECTOR.get(), ModItems.TRACHELIUM.get());
|
||||
this.tag(ModTags.Items.CAN_CUSTOM_GUN).add(ModItems.AK_12.get(), ModItems.AK_47.get(), ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.QBZ_95.get(), ModItems.VECTOR.get(), ModItems.TRACHELIUM.get(),
|
||||
ModItems.MK_14.get());
|
||||
|
||||
this.tag(ModTags.Items.CAN_APPLY_BARREL).add(ModItems.AK_12.get(), ModItems.AK_47.get(), ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.QBZ_95.get(), ModItems.VECTOR.get(), ModItems.TRACHELIUM.get());
|
||||
this.tag(ModTags.Items.CAN_APPLY_BARREL).add(ModItems.AK_12.get(), ModItems.AK_47.get(), ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.QBZ_95.get(), ModItems.VECTOR.get(), ModItems.TRACHELIUM.get(),
|
||||
ModItems.MK_14.get());
|
||||
|
||||
this.tag(ModTags.Items.CAN_APPLY_GRIP).add(ModItems.AK_12.get(), ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.QBZ_95.get(), ModItems.AK_47.get(), ModItems.VECTOR.get(), ModItems.TRACHELIUM.get());
|
||||
this.tag(ModTags.Items.CAN_APPLY_GRIP).add(ModItems.AK_12.get(), ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.QBZ_95.get(), ModItems.AK_47.get(), ModItems.VECTOR.get(), ModItems.TRACHELIUM.get(),
|
||||
ModItems.MK_14.get());
|
||||
|
||||
this.tag(ModTags.Items.CAN_APPLY_SCOPE).add(ModItems.AK_12.get(), ModItems.AK_47.get(), ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.QBZ_95.get(), ModItems.VECTOR.get(), ModItems.TRACHELIUM.get());
|
||||
this.tag(ModTags.Items.CAN_APPLY_SCOPE).add(ModItems.AK_12.get(), ModItems.AK_47.get(), ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.QBZ_95.get(), ModItems.VECTOR.get(), ModItems.TRACHELIUM.get(),
|
||||
ModItems.MK_14.get());
|
||||
|
||||
this.tag(ModTags.Items.CAN_APPLY_MAGAZINE).add(ModItems.AK_12.get(), ModItems.AK_47.get(), ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.QBZ_95.get(), ModItems.VECTOR.get());
|
||||
this.tag(ModTags.Items.CAN_APPLY_MAGAZINE).add(ModItems.AK_12.get(), ModItems.AK_47.get(), ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.QBZ_95.get(), ModItems.VECTOR.get(),
|
||||
ModItems.MK_14.get());
|
||||
|
||||
this.tag(ModTags.Items.CAN_APPLY_STOCK).add(ModItems.AK_12.get(), ModItems.AK_47.get(), ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.VECTOR.get(), ModItems.TRACHELIUM.get());
|
||||
this.tag(ModTags.Items.CAN_APPLY_STOCK).add(ModItems.AK_12.get(), ModItems.AK_47.get(), ModItems.M_4.get(), ModItems.HK_416.get(), ModItems.VECTOR.get(), ModItems.TRACHELIUM.get(),
|
||||
ModItems.MK_14.get());
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
package com.atsuishio.superbwarfare.entity.projectile;
|
||||
|
||||
import com.atsuishio.superbwarfare.init.ModEntities;
|
||||
import com.atsuishio.superbwarfare.tools.ParticleTool;
|
||||
import com.atsuishio.superbwarfare.tools.ProjectileTool;
|
||||
import com.atsuishio.superbwarfare.ModUtils;
|
||||
import com.atsuishio.superbwarfare.entity.AnimatedEntity;
|
||||
import com.atsuishio.superbwarfare.init.ModDamageTypes;
|
||||
import com.atsuishio.superbwarfare.init.ModEntities;
|
||||
import com.atsuishio.superbwarfare.init.ModItems;
|
||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||
import com.atsuishio.superbwarfare.network.message.ClientIndicatorMessage;
|
||||
import com.atsuishio.superbwarfare.tools.EntityFindUtil;
|
||||
import com.atsuishio.superbwarfare.tools.ParticleTool;
|
||||
import com.atsuishio.superbwarfare.tools.ProjectileTool;
|
||||
import net.minecraft.commands.arguments.EntityAnchorArgument;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.particles.ParticleTypes;
|
||||
|
@ -48,12 +48,12 @@ import software.bernie.geckolib.core.object.PlayState;
|
|||
import software.bernie.geckolib.util.GeckoLibUtil;
|
||||
|
||||
public class JavelinMissileEntity extends ThrowableItemProjectile implements GeoEntity, AnimatedEntity {
|
||||
public static final EntityDataAccessor<String> ANIMATION = SynchedEntityData.defineId(JavelinMissileEntity.class, EntityDataSerializers.STRING);
|
||||
public static final EntityDataAccessor<String> TARGET_UUID = SynchedEntityData.defineId(JavelinMissileEntity.class, EntityDataSerializers.STRING);
|
||||
public static final EntityDataAccessor<Boolean> TOP = SynchedEntityData.defineId(JavelinMissileEntity.class, EntityDataSerializers.BOOLEAN);
|
||||
public static final EntityDataAccessor<Float> TARGET_X = SynchedEntityData.defineId(JavelinMissileEntity.class, EntityDataSerializers.FLOAT);
|
||||
public static final EntityDataAccessor<Float> TARGET_Y = SynchedEntityData.defineId(JavelinMissileEntity.class, EntityDataSerializers.FLOAT);
|
||||
public static final EntityDataAccessor<Float> TARGET_Z = SynchedEntityData.defineId(JavelinMissileEntity.class, EntityDataSerializers.FLOAT);
|
||||
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
|
||||
|
||||
public String animationprocedure = "empty";
|
||||
private float monsterMultiplier = 0.0f;
|
||||
private float damage = 700.0f;
|
||||
|
||||
|
@ -88,6 +88,12 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo
|
|||
this.entityData.set(TARGET_UUID, uuid);
|
||||
}
|
||||
|
||||
public void setTargetPosition(Float targetX, Float targetY, Float targetZ) {
|
||||
this.entityData.set(TARGET_X, targetX);
|
||||
this.entityData.set(TARGET_Y, targetY);
|
||||
this.entityData.set(TARGET_Z, targetZ);
|
||||
}
|
||||
|
||||
public void setAttackMode(boolean mode) {
|
||||
this.entityData.set(TOP, mode);
|
||||
}
|
||||
|
@ -96,6 +102,9 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo
|
|||
protected void defineSynchedData() {
|
||||
this.entityData.define(TARGET_UUID, "none");
|
||||
this.entityData.define(TOP, false);
|
||||
this.entityData.define(TARGET_X, 0f);
|
||||
this.entityData.define(TARGET_Y, 0f);
|
||||
this.entityData.define(TARGET_Z, 0f);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -116,9 +125,9 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo
|
|||
}
|
||||
|
||||
if (entity instanceof Monster monster) {
|
||||
monster.hurt(ModDamageTypes.causeCannonFireDamage(this.level().registryAccess(), this, this.getOwner()), this.damage * damageMultiplier);
|
||||
monster.hurt(ModDamageTypes.causeCannonFireDamage(this.level().registryAccess(), this, this.getOwner()), (entityData.get(TOP) ? 1 : 0.7f) * this.damage * damageMultiplier);
|
||||
} else {
|
||||
entity.hurt(ModDamageTypes.causeCannonFireDamage(this.level().registryAccess(), this, this.getOwner()), this.damage);
|
||||
entity.hurt(ModDamageTypes.causeCannonFireDamage(this.level().registryAccess(), this, this.getOwner()), (entityData.get(TOP) ? 1 : 0.7f) * this.damage);
|
||||
}
|
||||
|
||||
if (entity instanceof LivingEntity) {
|
||||
|
@ -129,7 +138,7 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo
|
|||
if (this.level() instanceof ServerLevel) {
|
||||
ProjectileTool.causeCustomExplode(this,
|
||||
ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(), this, this.getOwner()),
|
||||
entity, this.damage, 6.0f, this.monsterMultiplier);
|
||||
entity, 0.2f * this.damage, 4.0f, this.monsterMultiplier);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -155,7 +164,7 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo
|
|||
if (this.level() instanceof ServerLevel) {
|
||||
ProjectileTool.causeCustomExplode(this,
|
||||
ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(), this, this.getOwner()),
|
||||
this, this.damage, 6.0f, this.monsterMultiplier);
|
||||
this, 0.2f * this.damage, 4.0f, this.monsterMultiplier);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -165,8 +174,15 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo
|
|||
@Override
|
||||
public void tick() {
|
||||
super.tick();
|
||||
|
||||
Entity entity = EntityFindUtil.findEntity(this.level(), entityData.get(TARGET_UUID));
|
||||
|
||||
if (entity != null && entity.level() instanceof ServerLevel) {
|
||||
this.entityData.set(TARGET_X, (float) entity.getX());
|
||||
this.entityData.set(TARGET_Y, (float) entity.getEyeY());
|
||||
this.entityData.set(TARGET_Z, (float) entity.getZ());
|
||||
}
|
||||
|
||||
if (this.tickCount == 4) {
|
||||
if (!this.level().isClientSide() && this.level() instanceof ServerLevel serverLevel) {
|
||||
ParticleTool.sendParticle(serverLevel, ParticleTypes.CLOUD, this.xo, this.yo, this.zo, 15, 0.8, 0.8, 0.8, 0.01, true);
|
||||
|
@ -175,21 +191,19 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo
|
|||
}
|
||||
|
||||
if (this.tickCount > 3) {
|
||||
if (entity != null) {
|
||||
if (entityData.get(TOP)) {
|
||||
double px = this.getX();
|
||||
double ex = entity.getX();
|
||||
double ex = this.entityData.get(TARGET_X);
|
||||
double pz = this.getZ();
|
||||
double ez = entity.getZ();
|
||||
double ez = this.entityData.get(TARGET_Z);
|
||||
|
||||
if (Math.sqrt(Math.pow(px - ex, 2) + Math.pow(pz - ez, 2)) > 10) {
|
||||
this.look(EntityAnchorArgument.Anchor.EYES, new Vec3(entity.getX(), entity.getY() + Mth.clamp(4 * this.tickCount, 0, 90), entity.getZ()));
|
||||
this.look(EntityAnchorArgument.Anchor.EYES, new Vec3(this.entityData.get(TARGET_X), this.entityData.get(TARGET_Y) + Mth.clamp(4 * this.tickCount, 0, 90), this.entityData.get(TARGET_Z)));
|
||||
} else {
|
||||
this.look(EntityAnchorArgument.Anchor.EYES, new Vec3(entity.getX(), entity.getEyeY() + (entity instanceof EnderDragon ? -3 : 0), entity.getZ()));
|
||||
this.look(EntityAnchorArgument.Anchor.EYES, new Vec3(this.entityData.get(TARGET_X), this.entityData.get(TARGET_Y) + (entity instanceof EnderDragon ? -3 : 0), this.entityData.get(TARGET_Z)));
|
||||
}
|
||||
} else {
|
||||
this.look(EntityAnchorArgument.Anchor.EYES, new Vec3(entity.getX(), entity.getEyeY() + (entity instanceof EnderDragon ? -3 : 0), entity.getZ()));
|
||||
}
|
||||
this.look(EntityAnchorArgument.Anchor.EYES, new Vec3(this.entityData.get(TARGET_X), this.entityData.get(TARGET_Y) + (entity instanceof EnderDragon ? -3 : 0), this.entityData.get(TARGET_Z)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -208,7 +222,7 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo
|
|||
if (this.level() instanceof ServerLevel) {
|
||||
ProjectileTool.causeCustomExplode(this,
|
||||
ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(), this, this.getOwner()),
|
||||
this, this.damage, 8.0f, this.monsterMultiplier);
|
||||
this, 0.2f * this.damage, 4.0f, this.monsterMultiplier);
|
||||
}
|
||||
this.discard();
|
||||
}
|
||||
|
@ -228,24 +242,8 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo
|
|||
}
|
||||
|
||||
private PlayState movementPredicate(AnimationState<JavelinMissileEntity> event) {
|
||||
if (this.animationprocedure.equals("empty")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.jvm.idle"));
|
||||
}
|
||||
return PlayState.STOP;
|
||||
}
|
||||
|
||||
private PlayState procedurePredicate(AnimationState<JavelinMissileEntity> event) {
|
||||
if (!animationprocedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
|
||||
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationprocedure));
|
||||
if (event.getController().getAnimationState() == AnimationController.State.STOPPED) {
|
||||
this.animationprocedure = "empty";
|
||||
event.getController().forceAnimationReset();
|
||||
}
|
||||
} else if (animationprocedure.equals("empty")) {
|
||||
return PlayState.STOP;
|
||||
}
|
||||
return PlayState.CONTINUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected float getGravity() {
|
||||
|
@ -253,22 +251,19 @@ public class JavelinMissileEntity extends ThrowableItemProjectile implements Geo
|
|||
}
|
||||
|
||||
public String getSyncedAnimation() {
|
||||
return this.entityData.get(ANIMATION);
|
||||
return null;
|
||||
}
|
||||
|
||||
public void setAnimation(String animation) {
|
||||
this.entityData.set(ANIMATION, animation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAnimationProcedure(String procedure) {
|
||||
this.animationprocedure = procedure;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
|
||||
data.add(new AnimationController<>(this, "movement", 0, this::movementPredicate));
|
||||
data.add(new AnimationController<>(this, "procedure", 0, this::procedurePredicate));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -1,21 +1,17 @@
|
|||
package com.atsuishio.superbwarfare.entity.projectile;
|
||||
|
||||
import com.atsuishio.superbwarfare.ModUtils;
|
||||
import com.atsuishio.superbwarfare.entity.DroneEntity;
|
||||
import com.atsuishio.superbwarfare.init.ModEntities;
|
||||
import com.atsuishio.superbwarfare.init.ModItems;
|
||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||
import com.atsuishio.superbwarfare.network.message.ClientIndicatorMessage;
|
||||
import com.atsuishio.superbwarfare.tools.ParticleTool;
|
||||
import com.atsuishio.superbwarfare.tools.ProjectileTool;
|
||||
import com.atsuishio.superbwarfare.ModUtils;
|
||||
import com.atsuishio.superbwarfare.entity.AnimatedEntity;
|
||||
import com.atsuishio.superbwarfare.entity.DroneEntity;
|
||||
import com.atsuishio.superbwarfare.init.ModItems;
|
||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.particles.ParticleTypes;
|
||||
import net.minecraft.network.protocol.Packet;
|
||||
import net.minecraft.network.protocol.game.ClientGamePacketListener;
|
||||
import net.minecraft.network.syncher.EntityDataAccessor;
|
||||
import net.minecraft.network.syncher.EntityDataSerializers;
|
||||
import net.minecraft.network.syncher.SynchedEntityData;
|
||||
import net.minecraft.server.level.ServerLevel;
|
||||
import net.minecraft.server.level.ServerPlayer;
|
||||
import net.minecraft.sounds.SoundSource;
|
||||
|
@ -40,12 +36,9 @@ import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache
|
|||
import software.bernie.geckolib.core.animation.AnimatableManager;
|
||||
import software.bernie.geckolib.util.GeckoLibUtil;
|
||||
|
||||
public class RgoGrenadeEntity extends ThrowableItemProjectile implements GeoEntity, AnimatedEntity {
|
||||
public static final EntityDataAccessor<String> ANIMATION = SynchedEntityData.defineId(RgoGrenadeEntity.class, EntityDataSerializers.STRING);
|
||||
public class RgoGrenadeEntity extends ThrowableItemProjectile implements GeoEntity {
|
||||
private int fuse = 80;
|
||||
|
||||
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
|
||||
public String animationProcedure = "empty";
|
||||
|
||||
public RgoGrenadeEntity(EntityType<? extends RgoGrenadeEntity> type, Level world) {
|
||||
super(type, world);
|
||||
|
@ -134,19 +127,6 @@ public class RgoGrenadeEntity extends ThrowableItemProjectile implements GeoEnti
|
|||
return 0.07F;
|
||||
}
|
||||
|
||||
public String getSyncedAnimation() {
|
||||
return this.entityData.get(ANIMATION);
|
||||
}
|
||||
|
||||
public void setAnimation(String animation) {
|
||||
this.entityData.set(ANIMATION, animation);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAnimationProcedure(String procedure) {
|
||||
this.animationProcedure = procedure;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
|
||||
}
|
||||
|
|
|
@ -2,20 +2,19 @@ package com.atsuishio.superbwarfare.event;
|
|||
|
||||
import com.atsuishio.superbwarfare.ModUtils;
|
||||
import com.atsuishio.superbwarfare.client.ClickHandler;
|
||||
import com.atsuishio.superbwarfare.entity.ICannonEntity;
|
||||
import com.atsuishio.superbwarfare.init.*;
|
||||
import com.atsuishio.superbwarfare.network.ModVariables;
|
||||
import com.atsuishio.superbwarfare.tools.EntityFindUtil;
|
||||
import com.atsuishio.superbwarfare.tools.GunsTool;
|
||||
import com.atsuishio.superbwarfare.tools.MillisTimer;
|
||||
import com.atsuishio.superbwarfare.config.client.DisplayConfig;
|
||||
import com.atsuishio.superbwarfare.entity.DroneEntity;
|
||||
import com.atsuishio.superbwarfare.entity.ICannonEntity;
|
||||
import com.atsuishio.superbwarfare.init.*;
|
||||
import com.atsuishio.superbwarfare.item.common.ammo.CannonShellItem;
|
||||
import com.atsuishio.superbwarfare.network.ModVariables;
|
||||
import com.atsuishio.superbwarfare.network.message.ShootMessage;
|
||||
import com.atsuishio.superbwarfare.perk.AmmoPerk;
|
||||
import com.atsuishio.superbwarfare.perk.Perk;
|
||||
import com.atsuishio.superbwarfare.perk.PerkHelper;
|
||||
import com.atsuishio.superbwarfare.tools.EntityFindUtil;
|
||||
import com.atsuishio.superbwarfare.tools.GunsTool;
|
||||
import com.atsuishio.superbwarfare.tools.MillisTimer;
|
||||
import com.atsuishio.superbwarfare.tools.SeekTool;
|
||||
import net.minecraft.client.CameraType;
|
||||
import net.minecraft.client.Minecraft;
|
||||
|
@ -275,8 +274,8 @@ public class ClientEventHandler {
|
|||
//左轮类
|
||||
|
||||
if (clientTimer.getProgress() == 0 && stack.is(ModTags.Items.REVOLVER) && ((holdFire && !stack.getOrCreateTag().getBoolean("DA")) || (stack.getOrCreateTag().getInt("bolt_action_anim") < 7 && stack.getOrCreateTag().getInt("bolt_action_anim") > 2) || stack.getOrCreateTag().getBoolean("canImmediatelyShoot"))) {
|
||||
revolverPreTime = Mth.clamp(revolverPreTime + 0.21 * times, 0, 1);
|
||||
revolverWheelPreTime = Mth.clamp(revolverWheelPreTime + 0.23 * times, 0, revolverPreTime > 0.7 ? 1 : 0.55);
|
||||
revolverPreTime = Mth.clamp(revolverPreTime + 0.3 * times, 0, 1);
|
||||
revolverWheelPreTime = Mth.clamp(revolverWheelPreTime + 0.32 * times, 0, revolverPreTime > 0.7 ? 1 : 0.55);
|
||||
} else if (!stack.getOrCreateTag().getBoolean("DA") && !stack.getOrCreateTag().getBoolean("canImmediatelyShoot")) {
|
||||
revolverPreTime = Mth.clamp(revolverPreTime - 1.2 * times, 0, 1);
|
||||
}
|
||||
|
|
|
@ -192,6 +192,9 @@ public class ModSounds {
|
|||
public static final RegistryObject<SoundEvent> MK_14_FIRE_3P = REGISTRY.register("mk_14_fire_3p", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation(ModUtils.MODID, "mk_14_fire_3p")));
|
||||
public static final RegistryObject<SoundEvent> MK_14_FAR = REGISTRY.register("mk_14_far", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation(ModUtils.MODID, "mk_14_far")));
|
||||
public static final RegistryObject<SoundEvent> MK_14_VERYFAR = REGISTRY.register("mk_14_veryfar", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation(ModUtils.MODID, "mk_14_veryfar")));
|
||||
public static final RegistryObject<SoundEvent> MK_14_FIRE_1P_S = REGISTRY.register("mk_14_fire_1p_s", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation(ModUtils.MODID, "mk_14_fire_1p_s")));
|
||||
public static final RegistryObject<SoundEvent> MK_14_FIRE_3P_S = REGISTRY.register("mk_14_fire_3p_s", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation(ModUtils.MODID, "mk_14_fire_3p_s")));
|
||||
public static final RegistryObject<SoundEvent> MK_14_FAR_S = REGISTRY.register("mk_14_far_s", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation(ModUtils.MODID, "mk_14_far_s")));
|
||||
public static final RegistryObject<SoundEvent> MK_14_RELOAD_NORMAL = REGISTRY.register("mk_14_reload_normal", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation(ModUtils.MODID, "mk_14_reload_normal")));
|
||||
public static final RegistryObject<SoundEvent> MK_14_RELOAD_EMPTY = REGISTRY.register("mk_14_reload_empty", () -> SoundEvent.createVariableRangeEvent(new ResourceLocation(ModUtils.MODID, "mk_14_reload_empty")));
|
||||
|
||||
|
|
|
@ -1,17 +1,18 @@
|
|||
package com.atsuishio.superbwarfare.item.gun.rifle;
|
||||
|
||||
import com.atsuishio.superbwarfare.ModUtils;
|
||||
import com.atsuishio.superbwarfare.client.PoseTool;
|
||||
import com.atsuishio.superbwarfare.client.renderer.item.Mk14ItemRenderer;
|
||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||
import com.atsuishio.superbwarfare.perk.Perk;
|
||||
import com.atsuishio.superbwarfare.perk.PerkHelper;
|
||||
import com.atsuishio.superbwarfare.tools.GunsTool;
|
||||
import com.atsuishio.superbwarfare.client.PoseTool;
|
||||
import com.atsuishio.superbwarfare.init.ModItems;
|
||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||
import com.atsuishio.superbwarfare.init.ModTags;
|
||||
import com.atsuishio.superbwarfare.item.AnimatedItem;
|
||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||
import com.atsuishio.superbwarfare.network.ModVariables;
|
||||
import com.atsuishio.superbwarfare.perk.Perk;
|
||||
import com.atsuishio.superbwarfare.perk.PerkHelper;
|
||||
import com.atsuishio.superbwarfare.tools.GunsTool;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.model.HumanoidModel;
|
||||
import net.minecraft.client.player.LocalPlayer;
|
||||
|
@ -20,11 +21,13 @@ 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.Entity;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import net.minecraft.world.item.Item;
|
||||
import net.minecraft.world.item.ItemDisplayContext;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.Rarity;
|
||||
import net.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;
|
||||
|
@ -75,29 +78,79 @@ public class Mk14Item extends GunItem implements GeoItem, AnimatedItem {
|
|||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
|
||||
|
||||
boolean drum = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.MAGAZINE) == 2;
|
||||
boolean grip = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.GRIP) == 1 || GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.GRIP) == 2;
|
||||
|
||||
if (stack.getOrCreateTag().getBoolean("is_empty_reloading")) {
|
||||
if (drum) {
|
||||
if (grip) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m14.reload_empty_drum_grip"));
|
||||
} else {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m14.reload_empty_drum"));
|
||||
}
|
||||
} else {
|
||||
if (grip) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m14.reload_empty_grip"));
|
||||
} else {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m14.reload_empty"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (stack.getOrCreateTag().getBoolean("is_normal_reloading")) {
|
||||
if (drum) {
|
||||
if (grip) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m14.reload_normal_drum_grip"));
|
||||
} else {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m14.reload_normal_drum"));
|
||||
}
|
||||
} else {
|
||||
if (grip) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m14.reload_normal_grip"));
|
||||
} else {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m14.reload_normal"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (player.isSprinting() && player.onGround() && player.getPersistentData().getDouble("noRun") == 0 && ClientEventHandler.drawTime < 0.01) {
|
||||
if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m14.run_fast"));
|
||||
} else {
|
||||
if (grip) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m14.run_grip"));
|
||||
} else {
|
||||
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m14.run"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (grip) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m14.idle_grip"));
|
||||
} else {
|
||||
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m14.idle"));
|
||||
}
|
||||
}
|
||||
|
||||
private PlayState editPredicate(AnimationState<Mk14Item> 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 (player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).edit) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m14.edit"));
|
||||
}
|
||||
|
||||
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m14.idle"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
|
||||
var idleController = new AnimationController<>(this, "idleController", 4, this::idlePredicate);
|
||||
var idleController = new AnimationController<>(this, "idleController", 3, this::idlePredicate);
|
||||
data.add(idleController);
|
||||
var editController = new AnimationController<>(this, "editController", 1, this::editPredicate);
|
||||
data.add(editController);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -105,6 +158,34 @@ public class Mk14Item extends GunItem implements GeoItem, AnimatedItem {
|
|||
return this.cache;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void inventoryTick(ItemStack stack, Level world, Entity entity, int slot, boolean selected) {
|
||||
super.inventoryTick(stack, world, entity, slot, selected);
|
||||
|
||||
int scopeType = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.SCOPE);
|
||||
int barrelType = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.BARREL);
|
||||
int magType = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.MAGAZINE);
|
||||
int stockType = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.STOCK);
|
||||
|
||||
int customMag = switch (magType) {
|
||||
case 1 -> 10;
|
||||
case 2 -> 30;
|
||||
default -> 0;
|
||||
};
|
||||
|
||||
double customZoom = switch (scopeType) {
|
||||
case 0, 1 -> 0;
|
||||
case 2 -> 2.25;
|
||||
default -> stack.getOrCreateTag().getDouble("CustomZoom");
|
||||
};
|
||||
|
||||
stack.getOrCreateTag().putBoolean("CanAdjustZoomFov", scopeType == 3);
|
||||
|
||||
stack.getOrCreateTag().putDouble("CustomZoom", customZoom);
|
||||
|
||||
stack.getOrCreateTag().putInt("customMag", customMag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<SoundEvent> getReloadSound() {
|
||||
return Set.of(ModSounds.MK_14_RELOAD_EMPTY.get(), ModSounds.MK_14_RELOAD_NORMAL.get());
|
||||
|
|
|
@ -1,17 +1,18 @@
|
|||
package com.atsuishio.superbwarfare.network.message;
|
||||
|
||||
import com.atsuishio.superbwarfare.entity.projectile.*;
|
||||
import com.atsuishio.superbwarfare.network.ModVariables;
|
||||
import com.atsuishio.superbwarfare.tools.ParticleTool;
|
||||
import com.atsuishio.superbwarfare.ModUtils;
|
||||
import com.atsuishio.superbwarfare.entity.projectile.*;
|
||||
import com.atsuishio.superbwarfare.event.GunEventHandler;
|
||||
import com.atsuishio.superbwarfare.init.ModItems;
|
||||
import com.atsuishio.superbwarfare.init.ModPerks;
|
||||
import com.atsuishio.superbwarfare.init.ModSounds;
|
||||
import com.atsuishio.superbwarfare.init.ModTags;
|
||||
import com.atsuishio.superbwarfare.network.ModVariables;
|
||||
import com.atsuishio.superbwarfare.perk.AmmoPerk;
|
||||
import com.atsuishio.superbwarfare.perk.Perk;
|
||||
import com.atsuishio.superbwarfare.perk.PerkHelper;
|
||||
import com.atsuishio.superbwarfare.tools.EntityFindUtil;
|
||||
import com.atsuishio.superbwarfare.tools.ParticleTool;
|
||||
import com.atsuishio.superbwarfare.tools.SeekTool;
|
||||
import com.atsuishio.superbwarfare.tools.SoundTool;
|
||||
import net.minecraft.core.particles.ParticleTypes;
|
||||
|
@ -490,10 +491,15 @@ public class FireMessage {
|
|||
missileEntity.setMonsterMultiplier(0.1f + 0.1f * perkLevel);
|
||||
}
|
||||
|
||||
Entity targetEntity = EntityFindUtil.findEntity(player.level(), tag.getString("TargetEntity"));
|
||||
|
||||
missileEntity.setPos(player.getX() + firePos.x, player.getEyeY() + firePos.y, player.getZ() + firePos.z);
|
||||
missileEntity.shoot(player.getLookAngle().x, player.getLookAngle().y + 0.3, player.getLookAngle().z, 3f, 1);
|
||||
missileEntity.setTargetUuid(tag.getString("TargetEntity"));
|
||||
missileEntity.setAttackMode(tag.getBoolean("TopMode"));
|
||||
if (targetEntity != null) {
|
||||
missileEntity.setTargetPosition((float) targetEntity.getX(), (float) targetEntity.getEyeY(), (float) targetEntity.getZ());
|
||||
}
|
||||
level.addFreshEntity(missileEntity);
|
||||
}
|
||||
|
||||
|
|
|
@ -53,9 +53,9 @@ public class ParticleTool {
|
|||
if ((level.getBlockState(BlockPos.containing(x, y, z))).getBlock() == Blocks.WATER) {
|
||||
level.playSound(null, BlockPos.containing(x, y + 1, z), ModSounds.EXPLOSION_WATER.get(), SoundSource.BLOCKS, 3, 1);
|
||||
}
|
||||
level.playSound(null, BlockPos.containing(x, y + 1, z), ModSounds.EXPLOSION_CLOSE.get(), SoundSource.BLOCKS, 4, 1);
|
||||
level.playSound(null, BlockPos.containing(x, y + 1, z), ModSounds.EXPLOSION_FAR.get(), SoundSource.BLOCKS, 8, 1);
|
||||
level.playSound(null, BlockPos.containing(x, y + 1, z), ModSounds.EXPLOSION_VERY_FAR.get(), SoundSource.BLOCKS, 16, 1);
|
||||
level.playSound(null, BlockPos.containing(x, y + 1, z), ModSounds.EXPLOSION_CLOSE.get(), SoundSource.BLOCKS, 6, 1);
|
||||
level.playSound(null, BlockPos.containing(x, y + 1, z), ModSounds.EXPLOSION_FAR.get(), SoundSource.BLOCKS, 12, 1);
|
||||
level.playSound(null, BlockPos.containing(x, y + 1, z), ModSounds.EXPLOSION_VERY_FAR.get(), SoundSource.BLOCKS, 32, 1);
|
||||
} else {
|
||||
if ((level.getBlockState(BlockPos.containing(x, y, z))).getBlock() == Blocks.WATER) {
|
||||
level.playLocalSound(x, (y + 1), z, ModSounds.EXPLOSION_WATER.get(), SoundSource.BLOCKS, 1, 1, false);
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -7,8 +7,8 @@
|
|||
"texture_width": 256,
|
||||
"texture_height": 256,
|
||||
"visible_bounds_width": 35,
|
||||
"visible_bounds_height": 7,
|
||||
"visible_bounds_offset": [0, 0.5, 0]
|
||||
"visible_bounds_height": 6,
|
||||
"visible_bounds_offset": [0, 0, 0]
|
||||
},
|
||||
"bones": [
|
||||
{
|
||||
|
@ -831,7 +831,6 @@
|
|||
"east": {"uv": [0.25, 230.75], "uv_size": [1, 2.5]},
|
||||
"south": {"uv": [0.25, 233.75], "uv_size": [0.75, 2.5]},
|
||||
"west": {"uv": [1.25, 230.75], "uv_size": [1, 2.5]},
|
||||
"up": {"uv": [5.25, 231.75], "uv_size": [0.75, 1]},
|
||||
"down": {"uv": [5.25, 233.75], "uv_size": [0.75, -1]}
|
||||
}
|
||||
},
|
||||
|
@ -9016,6 +9015,8 @@
|
|||
{
|
||||
"origin": [-0.0188, 3.61146, -1.22054],
|
||||
"size": [0.0474, 0.37867, 0.15601],
|
||||
"pivot": [0.00489, 3.80181, -1.14254],
|
||||
"rotation": [0, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [64, 33], "uv_size": [0.25, 0.5]},
|
||||
"east": {"uv": [34, 64], "uv_size": [0.25, 0.5]},
|
||||
|
@ -10386,6 +10387,8 @@
|
|||
{
|
||||
"origin": [0.45777, 3.8101, 1.79196],
|
||||
"size": [0.28451, 1.4288, 0.88295],
|
||||
"pivot": [0.60003, 4.5245, 2.23344],
|
||||
"rotation": [0, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [16.25, 125.25], "uv_size": [0.25, 1.5]},
|
||||
"south": {"uv": [17.25, 125.25], "uv_size": [0.25, 1.5]},
|
||||
|
@ -10679,6 +10682,8 @@
|
|||
{
|
||||
"origin": [0.47298, 3.88486, 1.5308],
|
||||
"size": [0.25466, 1.27928, 1.81199],
|
||||
"pivot": [0.60031, 4.5245, 1.7118],
|
||||
"rotation": [0, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [27.25, 126.25], "uv_size": [0.25, 1.25]},
|
||||
"south": {"uv": [28.25, 126.25], "uv_size": [0.25, 1.25]},
|
||||
|
@ -10790,6 +10795,8 @@
|
|||
{
|
||||
"origin": [0.4869, 3.95351, 3.30571],
|
||||
"size": [0.22726, 1.14197, 0.7817],
|
||||
"pivot": [0.60053, 4.5245, 3.69656],
|
||||
"rotation": [0, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [29.25, 108.25], "uv_size": [0.25, 1.25]},
|
||||
"east": {"uv": [16.25, 118.25], "uv_size": [0.75, 1.25]},
|
||||
|
@ -13852,6 +13859,8 @@
|
|||
{
|
||||
"origin": [0.43845, -3.65413, -87.3082],
|
||||
"size": [0.11201, 3.3456, 0],
|
||||
"pivot": [0.49609, 4.55547, -87.3082],
|
||||
"rotation": [0, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [20.25, 150.125], "uv_size": [0.375, 0.375]},
|
||||
"east": {"uv": [20.25, 150.125], "uv_size": [0.375, 0.375]},
|
||||
|
@ -15328,6 +15337,8 @@
|
|||
{
|
||||
"origin": [0.0722, -0.48597, 7.72413],
|
||||
"size": [0.85147, 0.2205, 2.90145],
|
||||
"pivot": [0.49793, -0.2261, 8.58059],
|
||||
"rotation": [0, 0, 0],
|
||||
"uv": {
|
||||
"east": {"uv": [9, 86.25], "uv_size": [2.25, 0.25]},
|
||||
"west": {"uv": [10.5, 85.75], "uv_size": [2.25, 0.25]},
|
||||
|
@ -15348,6 +15359,8 @@
|
|||
{
|
||||
"origin": [-0.0853, -0.32847, 7.78713],
|
||||
"size": [1.16647, 0.819, 2.772],
|
||||
"pivot": [0.49793, -0.2261, 8.58059],
|
||||
"rotation": [0, 0, 0],
|
||||
"uv": {
|
||||
"east": {"uv": [7, 77.75], "uv_size": [2.25, 0.75]},
|
||||
"west": {"uv": [7, 78.75], "uv_size": [2.25, 0.75]}
|
||||
|
@ -15356,6 +15369,8 @@
|
|||
{
|
||||
"origin": [-0.08899, -0.01347, 8.22813],
|
||||
"size": [1.17386, 0.567, 2.0475],
|
||||
"pivot": [0.49424, -0.2261, 8.39159],
|
||||
"rotation": [0, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [5, 86.25], "uv_size": [1, 0.5]},
|
||||
"east": {"uv": [9, 85.25], "uv_size": [1.75, 0.5]},
|
||||
|
@ -15454,6 +15469,8 @@
|
|||
{
|
||||
"origin": [0.0722, -1.4784, 10.05362],
|
||||
"size": [0.85147, 0.2205, 1.13745],
|
||||
"pivot": [0.49793, -1.21852, 10.97652],
|
||||
"rotation": [0, 0, 0],
|
||||
"uv": {
|
||||
"east": {"uv": [12.5, 85.25], "uv_size": [1, 0.25]},
|
||||
"west": {"uv": [10, 88.25], "uv_size": [1, 0.25]},
|
||||
|
@ -15473,6 +15490,8 @@
|
|||
{
|
||||
"origin": [-0.0853, -1.3209, 10.12006],
|
||||
"size": [1.16647, 2.205, 1.071],
|
||||
"pivot": [0.49793, -1.21852, 10.97652],
|
||||
"rotation": [0, 0, 0],
|
||||
"uv": {
|
||||
"east": {"uv": [6.5, 83.75], "uv_size": [0.75, 1.75]},
|
||||
"west": {"uv": [8.5, 81.75], "uv_size": [0.75, 1.75]}
|
||||
|
@ -18975,12 +18994,10 @@
|
|||
"origin": [0.11712, 2.45071, -4.80216],
|
||||
"size": [0.76468, 0.67618, 0.8085],
|
||||
"uv": {
|
||||
"north": {"uv": [47, 27], "uv_size": [0.75, 0.75]},
|
||||
"east": {"uv": [47, 28], "uv_size": [0.75, 0.75]},
|
||||
"south": {"uv": [47, 29], "uv_size": [0.75, 0.75]},
|
||||
"west": {"uv": [47, 30], "uv_size": [0.75, 0.75]},
|
||||
"up": {"uv": [47, 32], "uv_size": [0.75, 0.75]},
|
||||
"down": {"uv": [47, 33.75], "uv_size": [0.75, -0.75]}
|
||||
"up": {"uv": [47, 32], "uv_size": [0.75, 0.75]}
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -19050,9 +19067,7 @@
|
|||
"origin": [0.02884, 1.7803, -3.99208],
|
||||
"size": [0.93734, 0.64297, 1.83125],
|
||||
"uv": {
|
||||
"north": {"uv": [43, 7], "uv_size": [1, 0.75]},
|
||||
"east": {"uv": [17, 35], "uv_size": [1.75, 0.75]},
|
||||
"south": {"uv": [43, 12], "uv_size": [1, 0.75]},
|
||||
"west": {"uv": [21, 35], "uv_size": [1.75, 0.75]},
|
||||
"up": {"uv": [16, 31], "uv_size": [1, 1.75]},
|
||||
"down": {"uv": [31, 17.75], "uv_size": [1, -1.75]}
|
||||
|
@ -19076,7 +19091,6 @@
|
|||
"uv": {
|
||||
"north": {"uv": [54, 35], "uv_size": [1, 0.25]},
|
||||
"east": {"uv": [29, 26], "uv_size": [8.5, 0.25]},
|
||||
"south": {"uv": [36, 54], "uv_size": [1, 0.25]},
|
||||
"west": {"uv": [29, 27], "uv_size": [8.5, 0.25]},
|
||||
"up": {"uv": [1, 4], "uv_size": [1, 8.5]},
|
||||
"down": {"uv": [2, 12.5], "uv_size": [1, -8.5]}
|
||||
|
@ -19088,12 +19102,10 @@
|
|||
"pivot": [0.4936, 2.58224, -1.17326],
|
||||
"rotation": [-4, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [32, 38], "uv_size": [1, 1.25]},
|
||||
"east": {"uv": [52, 20], "uv_size": [0.25, 1.25]},
|
||||
"south": {"uv": [38, 34], "uv_size": [1, 1.25]},
|
||||
"west": {"uv": [21, 52], "uv_size": [0.25, 1.25]},
|
||||
"up": {"uv": [54, 36], "uv_size": [1, 0.25]},
|
||||
"down": {"uv": [37, 54.25], "uv_size": [1, -0.25]}
|
||||
"up": {"uv": [54, 36], "uv_size": [1, 0.25]}
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -19104,9 +19116,7 @@
|
|||
"uv": {
|
||||
"north": {"uv": [54, 37], "uv_size": [1, 0.25]},
|
||||
"east": {"uv": [34, 33], "uv_size": [5.75, 0.25]},
|
||||
"south": {"uv": [38, 54], "uv_size": [1, 0.25]},
|
||||
"west": {"uv": [35, 12], "uv_size": [5.75, 0.25]},
|
||||
"up": {"uv": [8, 4], "uv_size": [1, 5.75]},
|
||||
"down": {"uv": [9, 9.75], "uv_size": [1, -5.75]}
|
||||
}
|
||||
},
|
||||
|
@ -19130,21 +19140,15 @@
|
|||
"uv": {
|
||||
"north": {"uv": [49, 3], "uv_size": [1, 0.5]},
|
||||
"east": {"uv": [19, 4], "uv_size": [5.75, 0.5]},
|
||||
"south": {"uv": [49, 4], "uv_size": [1, 0.5]},
|
||||
"west": {"uv": [19, 5], "uv_size": [5.75, 0.5]},
|
||||
"up": {"uv": [10, 0], "uv_size": [1, 5.75]},
|
||||
"down": {"uv": [6, 15.75], "uv_size": [1, -5.75]}
|
||||
"west": {"uv": [19, 5], "uv_size": [5.75, 0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.02884, 1.7803, -2.16083],
|
||||
"size": [0.93734, 0.34297, 6.1],
|
||||
"uv": {
|
||||
"north": {"uv": [54, 39], "uv_size": [1, 0.25]},
|
||||
"east": {"uv": [33, 2], "uv_size": [6, 0.25]},
|
||||
"south": {"uv": [40, 54], "uv_size": [1, 0.25]},
|
||||
"west": {"uv": [33, 8], "uv_size": [6, 0.25]},
|
||||
"up": {"uv": [6, 4], "uv_size": [1, 6]},
|
||||
"down": {"uv": [7, 10], "uv_size": [1, -6]}
|
||||
}
|
||||
},
|
||||
|
@ -19183,9 +19187,7 @@
|
|||
"origin": [0.02103, 2.12327, -2.41083],
|
||||
"size": [0.95296, 0.30078, 6.19453],
|
||||
"uv": {
|
||||
"north": {"uv": [54, 42], "uv_size": [1, 0.25]},
|
||||
"east": {"uv": [32, 28], "uv_size": [6.25, 0.25]},
|
||||
"south": {"uv": [43, 54], "uv_size": [1, 0.25]},
|
||||
"west": {"uv": [32, 29], "uv_size": [6.25, 0.25]},
|
||||
"up": {"uv": [4, 4], "uv_size": [1, 6.25]},
|
||||
"down": {"uv": [5, 10.25], "uv_size": [1, -6.25]}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1890,460 +1890,577 @@
|
|||
{
|
||||
"name": "jing2",
|
||||
"parent": "Scope2",
|
||||
"pivot": [-0.00476, 5.33316, -7.62807],
|
||||
"pivot": [-0.00004, 5.78399, -6.6193],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [-0.44245, 5.43837, -6.35758],
|
||||
"size": [0.87684, 0.28927, 0.45085],
|
||||
"origin": [-0.43683, 5.44024, -6.31836],
|
||||
"size": [0.87365, 0.28822, 0.44921],
|
||||
"uv": {
|
||||
"north": {"uv": [42.5, 182.5], "uv_size": [1.5, 0.5]},
|
||||
"east": {"uv": [14.5, 222.5], "uv_size": [1, 0.5]},
|
||||
"south": {"uv": [12.5, 214.5], "uv_size": [1.5, 0.5]},
|
||||
"west": {"uv": [50.5, 186.5], "uv_size": [1, 0.5]},
|
||||
"up": {"uv": [6.5, 212.5], "uv_size": [1.5, 1]},
|
||||
"down": {"uv": [8.5, 213.5], "uv_size": [1.5, -1]}
|
||||
"north": {"uv": [73, 23], "uv_size": [1, 0.5]},
|
||||
"east": {"uv": [76, 21], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [70, 27], "uv_size": [1, 0.5]},
|
||||
"west": {"uv": [68, 30], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [71, 27], "uv_size": [1, 0.5]},
|
||||
"down": {"uv": [72, 27.5], "uv_size": [1, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.39823, 5.43837, -7.08075],
|
||||
"size": [0.03616, 0.28927, 0.72317],
|
||||
"origin": [0.4008, 5.44024, -7.0389],
|
||||
"size": [0.03603, 0.28822, 0.72054],
|
||||
"uv": {
|
||||
"north": {"uv": [56.5, 222.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [42.5, 184.5], "uv_size": [1.5, 0.5]},
|
||||
"south": {"uv": [52.5, 228.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [14.5, 214.5], "uv_size": [1.5, 0.5]},
|
||||
"up": {"uv": [42.5, 186.5], "uv_size": [0.5, 1.5]},
|
||||
"down": {"uv": [42.5, 190], "uv_size": [0.5, -1.5]}
|
||||
"north": {"uv": [78, 27], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [74, 27], "uv_size": [1, 0.5]},
|
||||
"south": {"uv": [74, 32], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [74, 28], "uv_size": [1, 0.5]},
|
||||
"up": {"uv": [67, 29], "uv_size": [0.5, 1]},
|
||||
"down": {"uv": [75, 22], "uv_size": [0.5, -1]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.39823, 5.43837, -7.15307],
|
||||
"size": [0.03616, 0.17291, 0.07232],
|
||||
"origin": [0.4008, 5.44024, -7.11095],
|
||||
"size": [0.03603, 0.17228, 0.07205],
|
||||
"uv": {
|
||||
"north": {"uv": [56.5, 224.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [54.5, 228.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [56.5, 226.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [56.5, 228.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [0.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [58.5, 173], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [78, 31], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [78, 32], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [67, 33], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [79, 21], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [68, 33], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [79, 22.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.44245, 5.43837, -7.08075],
|
||||
"size": [0.03616, 0.28927, 0.72317],
|
||||
"origin": [-0.43683, 5.44024, -7.0389],
|
||||
"size": [0.03603, 0.28822, 0.72054],
|
||||
"uv": {
|
||||
"north": {"uv": [2.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [18.5, 214.5], "uv_size": [1.5, 0.5]},
|
||||
"south": {"uv": [58.5, 174.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [42.5, 190.5], "uv_size": [1.5, 0.5]},
|
||||
"up": {"uv": [20.5, 214.5], "uv_size": [0.5, 1.5]},
|
||||
"down": {"uv": [42.5, 194], "uv_size": [0.5, -1.5]}
|
||||
"north": {"uv": [69, 35], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [72, 29], "uv_size": [1, 0.5]},
|
||||
"south": {"uv": [81, 23], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [75, 26], "uv_size": [1, 0.5]},
|
||||
"up": {"uv": [73, 29], "uv_size": [0.5, 1]},
|
||||
"down": {"uv": [75, 28], "uv_size": [0.5, -1]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.44245, 5.43837, -7.15307],
|
||||
"size": [0.03616, 0.17291, 0.07232],
|
||||
"origin": [-0.43683, 5.44024, -7.11095],
|
||||
"size": [0.03603, 0.17228, 0.07205],
|
||||
"uv": {
|
||||
"north": {"uv": [4.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [58.5, 176.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [6.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [58.5, 178.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [8.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [58.5, 181], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [80, 33], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [80, 34], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [67, 35], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [81, 21], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [68, 35], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [81, 22.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.39823, 5.65532, -7.08075],
|
||||
"size": [0.03616, 0.50622, 0.28927],
|
||||
"origin": [0.4008, 5.6564, -7.0389],
|
||||
"size": [0.03603, 0.50438, 0.28822],
|
||||
"uv": {
|
||||
"north": {"uv": [16.5, 222.5], "uv_size": [0.5, 1]},
|
||||
"east": {"uv": [50.5, 188.5], "uv_size": [0.5, 1]},
|
||||
"south": {"uv": [18.5, 222.5], "uv_size": [0.5, 1]},
|
||||
"west": {"uv": [50.5, 190.5], "uv_size": [0.5, 1]},
|
||||
"up": {"uv": [10.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [58.5, 183], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [78, 28], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [75, 32], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [78, 29], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [76, 32], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [78, 30], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [77, 32.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.27761, 6.18474, -7.08075],
|
||||
"size": [0.03616, 0.14463, 0.28927],
|
||||
"pivot": [0.29569, 6.25705, -6.93612],
|
||||
"origin": [0.28061, 6.18389, -7.0389],
|
||||
"size": [0.03603, 0.14411, 0.28822],
|
||||
"pivot": [0.29863, 6.25595, -6.89479],
|
||||
"rotation": [0, 0, -67.5],
|
||||
"uv": {
|
||||
"north": {"uv": [12.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [58.5, 184.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [14.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [58.5, 186.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [16.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [58.5, 189], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [70, 35], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [81, 24], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [71, 35], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [81, 25], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [72, 35], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [81, 26.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.38969, 6.18216, -7.08075],
|
||||
"size": [0.03616, 0.07232, 0.28927],
|
||||
"pivot": [0.40777, 6.18216, -6.93612],
|
||||
"origin": [0.39229, 6.18133, -7.0389],
|
||||
"size": [0.03603, 0.07205, 0.28822],
|
||||
"pivot": [0.4103, 6.18133, -6.89479],
|
||||
"rotation": [0, 0, -45],
|
||||
"uv": {
|
||||
"north": {"uv": [18.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [58.5, 190.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [20.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [58.5, 192.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [22.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [58.5, 195], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [76, 35], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [81, 30], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [77, 35], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [81, 31], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [78, 35], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [81, 32.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.41344, 6.15737, -7.08075],
|
||||
"size": [0.03616, 0.03616, 0.28927],
|
||||
"pivot": [0.43152, 6.12121, -6.93612],
|
||||
"origin": [0.41596, 6.15663, -7.0389],
|
||||
"size": [0.03603, 0.03603, 0.28822],
|
||||
"pivot": [0.43397, 6.1206, -6.89479],
|
||||
"rotation": [0, 0, -22.5],
|
||||
"uv": {
|
||||
"north": {"uv": [24.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [58.5, 196.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [26.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [58.5, 198.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [28.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [58.5, 201], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [79, 35], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [81, 33], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [80, 35], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [81, 34], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [81, 35], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [67, 36.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.14443, 6.21548, -7.08075],
|
||||
"size": [0.03616, 0.24124, 0.28927],
|
||||
"pivot": [0.16251, 6.2878, -6.93612],
|
||||
"origin": [0.14792, 6.21453, -7.0389],
|
||||
"size": [0.03603, 0.24037, 0.28822],
|
||||
"pivot": [0.16593, 6.28658, -6.89479],
|
||||
"rotation": [0, 0, -86.5],
|
||||
"uv": {
|
||||
"north": {"uv": [30.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [58.5, 202.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [32.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [58.5, 204.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [34.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [58.5, 207], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [73, 35], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [81, 27], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [74, 35], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [81, 28], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [75, 35], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [81, 29.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.32183, 6.18474, -7.08075],
|
||||
"size": [0.03616, 0.14463, 0.28927],
|
||||
"pivot": [-0.30375, 6.25705, -6.93612],
|
||||
"origin": [-0.31664, 6.18389, -7.0389],
|
||||
"size": [0.03603, 0.14411, 0.28822],
|
||||
"pivot": [-0.29863, 6.25595, -6.89479],
|
||||
"rotation": [0, 0, 67.5],
|
||||
"uv": {
|
||||
"north": {"uv": [36.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [58.5, 208.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [38.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [58.5, 210.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [40.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [58.5, 213], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [82, 30], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [77, 36], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [82, 31], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [78, 36], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [82, 32], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [79, 36.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.18865, 6.21548, -7.08075],
|
||||
"size": [0.03616, 0.24124, 0.28927],
|
||||
"pivot": [-0.17057, 6.2878, -6.93612],
|
||||
"origin": [-0.18395, 6.21453, -7.0389],
|
||||
"size": [0.03603, 0.24037, 0.28822],
|
||||
"pivot": [-0.16593, 6.28658, -6.89479],
|
||||
"rotation": [0, 0, 86.5],
|
||||
"uv": {
|
||||
"north": {"uv": [42.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [58.5, 214.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [44.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [58.5, 216.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [46.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [58.5, 219], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [82, 27], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [74, 36], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [82, 28], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [75, 36], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [82, 29], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [76, 36.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.43391, 6.18216, -7.08075],
|
||||
"size": [0.03616, 0.07232, 0.28927],
|
||||
"pivot": [-0.41583, 6.18216, -6.93612],
|
||||
"origin": [-0.42832, 6.18133, -7.0389],
|
||||
"size": [0.03603, 0.07205, 0.28822],
|
||||
"pivot": [-0.4103, 6.18133, -6.89479],
|
||||
"rotation": [0, 0, 45],
|
||||
"uv": {
|
||||
"north": {"uv": [48.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [58.5, 220.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [50.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [58.5, 222.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [52.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [58.5, 225], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [82, 24], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [71, 36], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [82, 25], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [72, 36], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [82, 26], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [73, 36.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.45767, 6.15737, -7.08075],
|
||||
"size": [0.03616, 0.03616, 0.28927],
|
||||
"pivot": [-0.43959, 6.12121, -6.93612],
|
||||
"origin": [-0.45199, 6.15663, -7.0389],
|
||||
"size": [0.03603, 0.03603, 0.28822],
|
||||
"pivot": [-0.43397, 6.1206, -6.89479],
|
||||
"rotation": [0, 0, 22.5],
|
||||
"uv": {
|
||||
"north": {"uv": [54.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [58.5, 226.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [56.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [58.5, 228.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [58.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [0.5, 233], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [82, 21], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [68, 36], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [82, 22], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [69, 36], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [82, 23], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [70, 36.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.39823, 5.88064, -6.7093],
|
||||
"size": [0.03616, 0.31356, 0.10226],
|
||||
"pivot": [0.39823, 5.45296, -6.57088],
|
||||
"origin": [0.4008, 5.8809, -6.6688],
|
||||
"size": [0.03603, 0.31242, 0.10189],
|
||||
"pivot": [0.4008, 5.45477, -6.53088],
|
||||
"rotation": [14.5, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [60.5, 172.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [2.5, 232.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [60.5, 174.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [4.5, 232.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [60.5, 176.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [6.5, 233], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [70, 33], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [79, 24], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [71, 33], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [79, 25], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [72, 33], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [79, 26.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.39823, 5.70239, -6.83452],
|
||||
"size": [0.03616, 0.20339, 0.2],
|
||||
"pivot": [-0.00403, 5.80409, -6.74582],
|
||||
"origin": [0.4008, 5.7033, -6.79356],
|
||||
"size": [0.03603, 0.20265, 0.19927],
|
||||
"pivot": [0, 5.80463, -6.70518],
|
||||
"rotation": [46, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [60.5, 178.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [8.5, 232.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [60.5, 180.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [10.5, 232.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [60.5, 182.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [12.5, 233], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [73, 33], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [79, 27], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [74, 33], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [79, 28], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [75, 33], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [79, 29.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.39823, 5.57733, -6.54625],
|
||||
"size": [0.03616, 0.30791, 0.12203],
|
||||
"pivot": [0.39823, 5.70728, -6.49653],
|
||||
"origin": [0.4008, 5.5787, -6.50634],
|
||||
"size": [0.03603, 0.30679, 0.12159],
|
||||
"pivot": [0.4008, 5.70817, -6.4568],
|
||||
"rotation": [68.75, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [60.5, 184.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [14.5, 232.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [60.5, 186.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [16.5, 232.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [60.5, 188.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [18.5, 233], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [76, 33], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [79, 30], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [77, 33], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [79, 31], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [78, 33], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [79, 32.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.39823, 5.6037, -7.11631],
|
||||
"size": [0.03616, 0.55029, 0.07514],
|
||||
"pivot": [-0.00403, 5.87884, -7.07874],
|
||||
"origin": [0.4008, 5.60497, -7.07433],
|
||||
"size": [0.03603, 0.54829, 0.07487],
|
||||
"pivot": [0, 5.87911, -7.03689],
|
||||
"rotation": [-7.75, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [20.5, 222.5], "uv_size": [0.5, 1]},
|
||||
"east": {"uv": [50.5, 192.5], "uv_size": [0.5, 1]},
|
||||
"south": {"uv": [22.5, 222.5], "uv_size": [0.5, 1]},
|
||||
"west": {"uv": [50.5, 194.5], "uv_size": [0.5, 1]},
|
||||
"up": {"uv": [60.5, 190.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [20.5, 233], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [68, 29], "uv_size": [0.5, 1]},
|
||||
"east": {"uv": [75, 22], "uv_size": [0.5, 1]},
|
||||
"south": {"uv": [69, 29], "uv_size": [0.5, 1]},
|
||||
"west": {"uv": [75, 23], "uv_size": [0.5, 1]},
|
||||
"up": {"uv": [69, 33], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [79, 23.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.44245, 5.88064, -6.7093],
|
||||
"size": [0.03616, 0.31356, 0.10226],
|
||||
"pivot": [-0.40629, 5.45296, -6.57088],
|
||||
"origin": [-0.43683, 5.8809, -6.6688],
|
||||
"size": [0.03603, 0.31242, 0.10189],
|
||||
"pivot": [-0.4008, 5.45477, -6.53088],
|
||||
"rotation": [14.5, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [60.5, 192.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [22.5, 232.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [60.5, 194.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [24.5, 232.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [60.5, 196.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [26.5, 233], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [80, 30], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [77, 34], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [80, 31], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [78, 34], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [80, 32], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [79, 34.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.44245, 5.57733, -6.54625],
|
||||
"size": [0.03616, 0.30791, 0.12203],
|
||||
"pivot": [-0.40629, 5.70728, -6.49653],
|
||||
"origin": [-0.43683, 5.5787, -6.50634],
|
||||
"size": [0.03603, 0.30679, 0.12159],
|
||||
"pivot": [-0.4008, 5.70817, -6.4568],
|
||||
"rotation": [68.75, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [60.5, 198.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [28.5, 232.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [60.5, 200.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [30.5, 232.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [60.5, 202.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [32.5, 233], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [80, 27], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [74, 34], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [80, 28], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [75, 34], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [80, 29], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [76, 34.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.44245, 5.70239, -6.83452],
|
||||
"size": [0.03616, 0.20339, 0.2],
|
||||
"pivot": [-0.00403, 5.80409, -6.74582],
|
||||
"origin": [-0.43683, 5.7033, -6.79356],
|
||||
"size": [0.03603, 0.20265, 0.19927],
|
||||
"pivot": [0, 5.80463, -6.70518],
|
||||
"rotation": [46, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [60.5, 204.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [34.5, 232.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [60.5, 206.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [36.5, 232.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [60.5, 208.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [38.5, 233], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [80, 24], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [71, 34], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [80, 25], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [72, 34], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [80, 26], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [73, 34.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.44245, 5.65532, -7.08075],
|
||||
"size": [0.03616, 0.50622, 0.28927],
|
||||
"origin": [-0.43683, 5.6564, -7.0389],
|
||||
"size": [0.03603, 0.50438, 0.28822],
|
||||
"uv": {
|
||||
"north": {"uv": [24.5, 222.5], "uv_size": [0.5, 1]},
|
||||
"east": {"uv": [50.5, 196.5], "uv_size": [0.5, 1]},
|
||||
"south": {"uv": [26.5, 222.5], "uv_size": [0.5, 1]},
|
||||
"west": {"uv": [50.5, 198.5], "uv_size": [0.5, 1]},
|
||||
"up": {"uv": [60.5, 210.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [40.5, 233], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [80, 21], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [68, 34], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [80, 22], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [69, 34], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [80, 23], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [70, 34.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.44245, 5.6037, -7.11631],
|
||||
"size": [0.03616, 0.55029, 0.07514],
|
||||
"pivot": [-0.00403, 5.87884, -7.07874],
|
||||
"origin": [-0.43683, 5.60497, -7.07433],
|
||||
"size": [0.03603, 0.54829, 0.07487],
|
||||
"pivot": [0, 5.87911, -7.03689],
|
||||
"rotation": [-7.75, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [28.5, 222.5], "uv_size": [0.5, 1]},
|
||||
"east": {"uv": [50.5, 200.5], "uv_size": [0.5, 1]},
|
||||
"south": {"uv": [30.5, 222.5], "uv_size": [0.5, 1]},
|
||||
"west": {"uv": [50.5, 202.5], "uv_size": [0.5, 1]},
|
||||
"up": {"uv": [60.5, 212.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [42.5, 233], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [70, 29], "uv_size": [0.5, 1]},
|
||||
"east": {"uv": [75, 24], "uv_size": [0.5, 1]},
|
||||
"south": {"uv": [71, 29], "uv_size": [0.5, 1]},
|
||||
"west": {"uv": [75, 25], "uv_size": [0.5, 1]},
|
||||
"up": {"uv": [79, 33], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [67, 34.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.40629, 5.43837, -7.15307],
|
||||
"size": [0.80452, 0.17288, 0.79548],
|
||||
"origin": [-0.4008, 5.44024, -7.11095],
|
||||
"size": [0.8016, 0.17225, 0.79259],
|
||||
"uv": {
|
||||
"north": {"uv": [42.5, 194.5], "uv_size": [1.5, 0.5]},
|
||||
"east": {"uv": [42.5, 196.5], "uv_size": [1.5, 0.5]},
|
||||
"south": {"uv": [42.5, 198.5], "uv_size": [1.5, 0.5]},
|
||||
"west": {"uv": [42.5, 200.5], "uv_size": [1.5, 0.5]},
|
||||
"up": {"uv": [22.5, 206.5], "uv_size": [1.5, 1.5]},
|
||||
"down": {"uv": [24.5, 208], "uv_size": [1.5, -1.5]}
|
||||
"north": {"uv": [73, 27], "uv_size": [1, 0.5]},
|
||||
"east": {"uv": [67, 28], "uv_size": [1, 0.5]},
|
||||
"south": {"uv": [68, 28], "uv_size": [1, 0.5]},
|
||||
"west": {"uv": [69, 28], "uv_size": [1, 0.5]},
|
||||
"up": {"uv": [67, 23], "uv_size": [1, 1]},
|
||||
"down": {"uv": [69, 22], "uv_size": [1, -1]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.05635, 5.43837, -7.26138],
|
||||
"size": [0.25141, 0.17288, 0.07232],
|
||||
"pivot": [-0.05834, 5.50673, -6.86363],
|
||||
"origin": [0.06016, 5.44024, -7.21887],
|
||||
"size": [0.2505, 0.17225, 0.07205],
|
||||
"pivot": [-0.05411, 5.50835, -6.82257],
|
||||
"rotation": [0, -15, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [60.5, 214.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [44.5, 232.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [60.5, 216.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [46.5, 232.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [60.5, 218.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [48.5, 233], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [75, 31], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [77, 29], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [76, 31], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [77, 30], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [77, 31], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [67, 32.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.16552, 5.43837, -7.21814],
|
||||
"size": [0.32091, 0.17288, 0.07232],
|
||||
"origin": [-0.1609, 5.44024, -7.17579],
|
||||
"size": [0.31974, 0.17225, 0.07205],
|
||||
"uv": {
|
||||
"north": {"uv": [60.5, 220.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [50.5, 232.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [60.5, 222.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [52.5, 232.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [60.5, 224.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [54.5, 233], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [78, 24], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [71, 32], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [78, 25], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [72, 32], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [78, 26], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [73, 32.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.31582, 5.43837, -7.26138],
|
||||
"size": [0.25141, 0.17288, 0.07232],
|
||||
"pivot": [0.05028, 5.50673, -6.86363],
|
||||
"origin": [-0.31066, 5.44024, -7.21887],
|
||||
"size": [0.2505, 0.17225, 0.07205],
|
||||
"pivot": [0.05411, 5.50835, -6.82257],
|
||||
"rotation": [0, 15, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [60.5, 226.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [56.5, 232.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [60.5, 228.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [58.5, 232.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [60.5, 230.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [60.5, 233], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [78, 21], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [68, 32], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [78, 22], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [69, 32], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [78, 23], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [70, 32.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.40629, 5.61125, -7.01408],
|
||||
"size": [0.80452, 0.03955, 0.6565],
|
||||
"origin": [-0.4008, 5.6125, -6.97247],
|
||||
"size": [0.8016, 0.0394, 0.65412],
|
||||
"uv": {
|
||||
"north": {"uv": [42.5, 202.5], "uv_size": [1.5, 0.5]},
|
||||
"east": {"uv": [32.5, 222.5], "uv_size": [1, 0.5]},
|
||||
"south": {"uv": [32.5, 214.5], "uv_size": [1.5, 0.5]},
|
||||
"west": {"uv": [50.5, 204.5], "uv_size": [1, 0.5]},
|
||||
"up": {"uv": [40.5, 180.5], "uv_size": [1.5, 1]},
|
||||
"down": {"uv": [10.5, 213.5], "uv_size": [1.5, -1]}
|
||||
"north": {"uv": [74, 23], "uv_size": [1, 0.5]},
|
||||
"east": {"uv": [70, 28], "uv_size": [1, 0.5]},
|
||||
"south": {"uv": [74, 24], "uv_size": [1, 0.5]},
|
||||
"west": {"uv": [71, 28], "uv_size": [1, 0.5]},
|
||||
"up": {"uv": [68, 23], "uv_size": [1, 1]},
|
||||
"down": {"uv": [69, 23], "uv_size": [1, -1]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.40629, 4.88749, -5.82209],
|
||||
"size": [0.80452, 0.0565, 0.11356],
|
||||
"pivot": [0.06756, 4.55233, -6.97901],
|
||||
"origin": [-0.4008, 4.89136, -5.78481],
|
||||
"size": [0.8016, 0.05629, 0.11315],
|
||||
"pivot": [0.07133, 4.55742, -6.93753],
|
||||
"rotation": [45, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [42.5, 204.5], "uv_size": [1.5, 0.5]},
|
||||
"east": {"uv": [0.5, 234.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [34.5, 214.5], "uv_size": [1.5, 0.5]},
|
||||
"west": {"uv": [62.5, 172.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [42.5, 206.5], "uv_size": [1.5, 0.5]},
|
||||
"down": {"uv": [36.5, 215], "uv_size": [1.5, -0.5]}
|
||||
"north": {"uv": [74, 25], "uv_size": [1, 0.5]},
|
||||
"east": {"uv": [68, 31], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [72, 28], "uv_size": [1, 0.5]},
|
||||
"west": {"uv": [77, 22], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [74, 26], "uv_size": [1, 0.5]},
|
||||
"down": {"uv": [73, 28.5], "uv_size": [1, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.11703, 4.93551, -5.83621],
|
||||
"size": [0.22599, 0.0226, 0.13333],
|
||||
"pivot": [0.06756, 4.55233, -6.97901],
|
||||
"origin": [-0.11258, 4.93921, -5.79888],
|
||||
"size": [0.22517, 0.02252, 0.13285],
|
||||
"pivot": [0.07133, 4.55742, -6.93753],
|
||||
"rotation": [45, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [2.5, 234.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [62.5, 174.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [4.5, 234.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [62.5, 176.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [6.5, 234.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [62.5, 179], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [69, 31], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [77, 23], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [70, 31], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [77, 24], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [71, 31], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [77, 25.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.11703, 5.71902, -6.36358],
|
||||
"size": [0.22599, 0.0226, 0.20565],
|
||||
"pivot": [-0.00403, 5.73032, -6.29691],
|
||||
"origin": [-0.11258, 5.71987, -6.32433],
|
||||
"size": [0.22517, 0.02252, 0.2049],
|
||||
"pivot": [0, 5.73113, -6.2579],
|
||||
"rotation": [0, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [8.5, 234.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [62.5, 180.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [10.5, 234.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [62.5, 182.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [12.5, 234.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [62.5, 185], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [72, 31], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [77, 26], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [73, 31], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [77, 27], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [74, 31], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [77, 28.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.09457, 5.43837, -5.88324],
|
||||
"size": [0.29831, 0.28927, 0.08927],
|
||||
"pivot": [-0.04554, 5.56493, -6.0194],
|
||||
"origin": [0.09824, 5.44024, -5.84574],
|
||||
"size": [0.29722, 0.28822, 0.08894],
|
||||
"pivot": [-0.04136, 5.56634, -5.9814],
|
||||
"rotation": [0, 14, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [14.5, 234.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [62.5, 186.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [16.5, 234.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [62.5, 188.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [18.5, 234.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [62.5, 191], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [76, 22], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [69, 30], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [76, 23], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [70, 30], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [76, 24], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [71, 30.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.15336, 5.43837, -5.92383],
|
||||
"size": [0.29831, 0.28927, 0.08927],
|
||||
"origin": [-0.14879, 5.44024, -5.88618],
|
||||
"size": [0.29722, 0.28822, 0.08894],
|
||||
"uv": {
|
||||
"north": {"uv": [20.5, 234.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [62.5, 192.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [22.5, 234.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [62.5, 194.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [24.5, 234.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [62.5, 197], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [76, 28], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [75, 30], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [76, 29], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [76, 30], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [67, 31], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [77, 21.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.40094, 5.43837, -5.88324],
|
||||
"size": [0.29831, 0.28927, 0.08927],
|
||||
"pivot": [0.03748, 5.56493, -6.0194],
|
||||
"origin": [-0.39547, 5.44024, -5.84574],
|
||||
"size": [0.29722, 0.28822, 0.08894],
|
||||
"pivot": [0.04136, 5.56634, -5.9814],
|
||||
"rotation": [0, -14, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [26.5, 234.5], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [62.5, 198.5], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [28.5, 234.5], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [62.5, 200.5], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [30.5, 234.5], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [62.5, 203], "uv_size": [0.5, -0.5]}
|
||||
"north": {"uv": [76, 25], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [72, 30], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [76, 26], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [73, 30], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [76, 27], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [74, 30.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "scope4",
|
||||
"parent": "jing2",
|
||||
"pivot": [0, 2.61725, -8.73476]
|
||||
},
|
||||
{
|
||||
"name": "bone93",
|
||||
"parent": "scope4",
|
||||
"pivot": [0.42996, 5.9755, -6.84252],
|
||||
"rotation": [-22.5, 0, 0],
|
||||
"cubes": [
|
||||
{
|
||||
"origin": [0.41636, 5.87008, -6.95248],
|
||||
"size": [0.03282, 0.10808, 0.10808],
|
||||
"pivot": [0.43277, 5.95417, -6.81752],
|
||||
"rotation": [-22.5, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [76, 37], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [83, 30], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [77, 37], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [83, 31], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [78, 37.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.41636, 5.58186, -6.52015],
|
||||
"size": [0.03282, 0.10808, 0.10808],
|
||||
"pivot": [0.43277, 5.66596, -6.38519],
|
||||
"rotation": [-22.5, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [83, 32], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [79, 37], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [83, 33], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [80, 37], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [83, 34.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.41636, 5.83912, -6.04279],
|
||||
"size": [0.03282, 0.10808, 0.10808],
|
||||
"pivot": [0.43277, 5.92321, -5.90784],
|
||||
"rotation": [-22.5, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [81, 37], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [83, 35], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [82, 37], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [83, 36], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [83, 37.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.44918, 5.83912, -6.04279],
|
||||
"size": [0.03282, 0.10808, 0.10808],
|
||||
"pivot": [-0.43277, 5.92321, -5.90784],
|
||||
"rotation": [-22.5, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [72, 38], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [84, 26], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [73, 38], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [84, 27], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [74, 38.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.17602, 5.94592, -5.75023],
|
||||
"size": [0.03282, 0.10808, 0.10808],
|
||||
"pivot": [-0.23575, 5.98795, -5.65734],
|
||||
"rotation": [14.71289, 63.69353, 56.91473],
|
||||
"uv": {
|
||||
"north": {"uv": [84, 28], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [75, 38], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [84, 29], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [76, 38], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [84, 30.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [0.1432, 5.94592, -5.75023],
|
||||
"size": [0.03282, 0.10808, 0.10808],
|
||||
"pivot": [0.23575, 5.98795, -5.65734],
|
||||
"rotation": [14.71289, -63.69353, -56.91473],
|
||||
"uv": {
|
||||
"north": {"uv": [77, 38], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [84, 31], "uv_size": [0.5, 0.5]},
|
||||
"west": {"uv": [78, 38], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [84, 32], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [79, 38.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.44918, 5.58186, -6.52015],
|
||||
"size": [0.03282, 0.10808, 0.10808],
|
||||
"pivot": [-0.43277, 5.66596, -6.38519],
|
||||
"rotation": [-22.5, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [84, 23], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [70, 38], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [84, 24], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [71, 38], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [84, 25.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
},
|
||||
{
|
||||
"origin": [-0.44918, 5.87008, -6.95248],
|
||||
"size": [0.03282, 0.10808, 0.10808],
|
||||
"pivot": [-0.43277, 5.95417, -6.81752],
|
||||
"rotation": [-22.5, 0, 0],
|
||||
"uv": {
|
||||
"north": {"uv": [67, 38], "uv_size": [0.5, 0.5]},
|
||||
"east": {"uv": [84, 21], "uv_size": [0.5, 0.5]},
|
||||
"south": {"uv": [68, 38], "uv_size": [0.5, 0.5]},
|
||||
"up": {"uv": [84, 22], "uv_size": [0.5, 0.5]},
|
||||
"down": {"uv": [69, 38.5], "uv_size": [0.5, -0.5]}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -8598,6 +8715,11 @@
|
|||
{
|
||||
"name": "ammo1",
|
||||
"parent": "ammohole",
|
||||
"pivot": [0, 2.06197, -0.42963]
|
||||
},
|
||||
{
|
||||
"name": "bone87",
|
||||
"parent": "ammo1",
|
||||
"pivot": [0, 2.06197, -0.42963],
|
||||
"cubes": [
|
||||
{
|
||||
|
@ -8693,6 +8815,11 @@
|
|||
{
|
||||
"name": "ammo2",
|
||||
"parent": "ammohole",
|
||||
"pivot": [0.61563, 1.71431, -0.52463]
|
||||
},
|
||||
{
|
||||
"name": "bone88",
|
||||
"parent": "ammo2",
|
||||
"pivot": [0.61563, 1.71431, -0.52463],
|
||||
"cubes": [
|
||||
{
|
||||
|
@ -8792,6 +8919,11 @@
|
|||
{
|
||||
"name": "ammo3",
|
||||
"parent": "ammohole",
|
||||
"pivot": [0.62344, 0.99869, -0.52463]
|
||||
},
|
||||
{
|
||||
"name": "bone89",
|
||||
"parent": "ammo3",
|
||||
"pivot": [0.62344, 0.99869, -0.52463],
|
||||
"cubes": [
|
||||
{
|
||||
|
@ -8891,6 +9023,11 @@
|
|||
{
|
||||
"name": "ammo4",
|
||||
"parent": "ammohole",
|
||||
"pivot": [0, 0.64009, -0.52463]
|
||||
},
|
||||
{
|
||||
"name": "bone90",
|
||||
"parent": "ammo4",
|
||||
"pivot": [0, 0.64009, -0.52463],
|
||||
"cubes": [
|
||||
{
|
||||
|
@ -8986,6 +9123,11 @@
|
|||
{
|
||||
"name": "ammo5",
|
||||
"parent": "ammohole",
|
||||
"pivot": [-0.60785, 1.71431, -0.52463]
|
||||
},
|
||||
{
|
||||
"name": "bone91",
|
||||
"parent": "ammo5",
|
||||
"pivot": [-0.60785, 1.71431, -0.52463],
|
||||
"cubes": [
|
||||
{
|
||||
|
@ -9085,6 +9227,11 @@
|
|||
{
|
||||
"name": "ammo6",
|
||||
"parent": "ammohole",
|
||||
"pivot": [-0.62344, 0.99869, -0.52463]
|
||||
},
|
||||
{
|
||||
"name": "bone92",
|
||||
"parent": "ammo6",
|
||||
"pivot": [-0.62344, 0.99869, -0.52463],
|
||||
"cubes": [
|
||||
{
|
||||
|
|
|
@ -32,14 +32,9 @@
|
|||
},
|
||||
"firstperson_righthand": {
|
||||
"translation": [
|
||||
-2.75,
|
||||
-3.75,
|
||||
1.5
|
||||
],
|
||||
"scale": [
|
||||
2,
|
||||
2,
|
||||
2
|
||||
-6.25,
|
||||
2.85,
|
||||
5.25
|
||||
]
|
||||
},
|
||||
"firstperson_lefthand": {
|
||||
|
|
|
@ -903,6 +903,30 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"mk_14_fire_1p_s": {
|
||||
"sounds": [
|
||||
{
|
||||
"name": "superbwarfare:mk_14/mk_14_fire_1p_s",
|
||||
"stream": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"mk_14_fire_3p_s": {
|
||||
"sounds": [
|
||||
{
|
||||
"name": "superbwarfare:mk_14/mk_14_fire_3p_s",
|
||||
"stream": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"mk_14_far_s": {
|
||||
"sounds": [
|
||||
{
|
||||
"name": "superbwarfare:mk_14/mk_14_far_s",
|
||||
"stream": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"mk_14_reload_normal": {
|
||||
"sounds": [
|
||||
{
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 34 KiB After Width: | Height: | Size: 70 KiB |
Binary file not shown.
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 16 KiB |
Binary file not shown.
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 52 KiB |
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"CustomZoom": 3.75,
|
||||
"MinZoom": 1.25,
|
||||
"MaxZoom": 6,
|
||||
"spread": 5,
|
||||
"recoil_x": 0.006,
|
||||
"recoil_y": 0.014,
|
||||
|
@ -14,8 +15,8 @@
|
|||
"burst": 0,
|
||||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 58,
|
||||
"EmptyReloadTime": 81,
|
||||
"normal_reload_time": 54,
|
||||
"EmptyReloadTime": 71,
|
||||
"BypassesArmor": 0.4,
|
||||
"SoundRadius": 16,
|
||||
"rpm": 700
|
||||
|
|
Loading…
Add table
Reference in a new issue