完成剩余的手臂替换

This commit is contained in:
Atsuihsio 2024-08-17 06:10:51 +08:00
parent b2fa32297c
commit 6282d72d5d
40 changed files with 1774 additions and 983 deletions

View file

@ -39,11 +39,8 @@ public class MarlinItemModel extends GeoModel<MarlinItem> {
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (!stack.is(ModTags.Items.GUN)) return; if (!stack.is(ModTags.Items.GUN)) return;
double p = 0; double p = player.getPersistentData().getDouble("zoom_pos");
p = player.getPersistentData().getDouble("zoom_pos"); double zp = player.getPersistentData().getDouble("zoom_pos_z");
double zp = 0;
zp = player.getPersistentData().getDouble("zoom_pos_z");
gun.setPosX(1.712f * (float) p); gun.setPosX(1.712f * (float) p);
@ -65,30 +62,18 @@ public class MarlinItemModel extends GeoModel<MarlinItem> {
shen.setRotZ(-0.03f * (float) (fp + 1.3 * fr)); shen.setRotZ(-0.03f * (float) (fp + 1.3 * fr));
shen.setRotY(-0.05f * (float) fr); shen.setRotY(-0.05f * (float) fr);
CoreGeoBone flare = getAnimationProcessor().getBone("flare");
if (stack.getOrCreateTag().getInt("fire_animation") > 0) { if (stack.getOrCreateTag().getInt("fire_animation") > 0) {
jichui.setRotX(-0.52f); jichui.setRotX(-0.52f);
} }
if (stack.getOrCreateTag().getDouble("flash_time") > 0) {
flare.setHidden(false);
flare.setScaleX((float) (1 + 0.5 * (Math.random() - 0.5)));
flare.setScaleY((float) (1 + 0.5 * (Math.random() - 0.5)));
flare.setRotZ((float) (0.5 * (Math.random() - 0.5)));
} else {
flare.setHidden(true);
}
CoreGeoBone root = getAnimationProcessor().getBone("root"); CoreGeoBone root = getAnimationProcessor().getBone("root");
float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosX = (float)player.getPersistentData().getDouble("gun_move_posX");
float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY");
double y = 0; double y = player.getPersistentData().getDouble("y");
double x = 0; double x = player.getPersistentData().getDouble("x");
y = player.getPersistentData().getDouble("y");
x = player.getPersistentData().getDouble("x");
root.setPosX(PosX); root.setPosX(PosX);

View file

@ -33,13 +33,10 @@ public class Mk14ItemModel extends GeoModel<Mk14Item> {
public void setCustomAnimations(Mk14Item animatable, long instanceId, AnimationState animationState) { public void setCustomAnimations(Mk14Item animatable, long instanceId, AnimationState animationState) {
CoreGeoBone gun = getAnimationProcessor().getBone("bones"); CoreGeoBone gun = getAnimationProcessor().getBone("bones");
CoreGeoBone scope = getAnimationProcessor().getBone("scope"); CoreGeoBone scope = getAnimationProcessor().getBone("scope");
CoreGeoBone flare = getAnimationProcessor().getBone("flare");
CoreGeoBone rex = getAnimationProcessor().getBone("rex"); CoreGeoBone rex = getAnimationProcessor().getBone("rex");
CoreGeoBone l = getAnimationProcessor().getBone("l"); CoreGeoBone l = getAnimationProcessor().getBone("l");
CoreGeoBone r = getAnimationProcessor().getBone("r"); CoreGeoBone r = getAnimationProcessor().getBone("r");
CoreGeoBone yugu = getAnimationProcessor().getBone("yugu"); CoreGeoBone yugu = getAnimationProcessor().getBone("yugu");
CoreGeoBone jing = getAnimationProcessor().getBone("jing");
CoreGeoBone qiangguan = getAnimationProcessor().getBone("qiangguan");
CoreGeoBone action = getAnimationProcessor().getBone("action"); CoreGeoBone action = getAnimationProcessor().getBone("action");
Player player = Minecraft.getInstance().player; Player player = Minecraft.getInstance().player;
@ -52,11 +49,8 @@ public class Mk14ItemModel extends GeoModel<Mk14Item> {
r.setRotX(-1.5f); r.setRotX(-1.5f);
} }
double p = 0; double p = player.getPersistentData().getDouble("zoom_pos");
p = player.getPersistentData().getDouble("zoom_pos"); double zp = player.getPersistentData().getDouble("zoom_pos_z");
double zp = 0;
zp = player.getPersistentData().getDouble("zoom_pos_z");
gun.setPosX(3.105f * (float) p); gun.setPosX(3.105f * (float) p);
@ -97,15 +91,7 @@ public class Mk14ItemModel extends GeoModel<Mk14Item> {
action.setPosZ(2.5f * (float) fp); action.setPosZ(2.5f * (float) fp);
if (gun.getPosX() > 2.5f) { stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 2.5));
rex.setHidden(false);
jing.setHidden(true);
qiangguan.setHidden(true);
} else {
rex.setHidden(true);
jing.setHidden(false);
qiangguan.setHidden(false);
}
CoreGeoBone bolt = getAnimationProcessor().getBone("bolt"); CoreGeoBone bolt = getAnimationProcessor().getBone("bolt");
@ -113,29 +99,13 @@ public class Mk14ItemModel extends GeoModel<Mk14Item> {
bolt.setPosZ(2.5f); bolt.setPosZ(2.5f);
} }
if (stack.getOrCreateTag().getDouble("flash_time") > 0) {
flare.setHidden(false);
flare.setScaleX((float) (0.5 + 0.5 * (Math.random() - 0.5)));
flare.setScaleY((float) (0.5 + 0.5 * (Math.random() - 0.5)));
flare.setRotZ((float) (0.5 * (Math.random() - 0.5)));
if ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).zooming) {
flare.setPosY(-3.5f);
} else {
flare.setPosY(0);
}
} else {
flare.setHidden(true);
}
CoreGeoBone root = getAnimationProcessor().getBone("root"); CoreGeoBone root = getAnimationProcessor().getBone("root");
float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosX = (float)player.getPersistentData().getDouble("gun_move_posX");
float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY");
double y = 0; double y = player.getPersistentData().getDouble("y");
double x = 0; double x = player.getPersistentData().getDouble("x");
y = player.getPersistentData().getDouble("y");
x = player.getPersistentData().getDouble("x");
root.setPosX(PosX); root.setPosX(PosX);

View file

@ -34,14 +34,8 @@ public class Ntw20Model extends GeoModel<Ntw20> {
CoreGeoBone gun = getAnimationProcessor().getBone("bone"); CoreGeoBone gun = getAnimationProcessor().getBone("bone");
CoreGeoBone shen = getAnimationProcessor().getBone("shen"); CoreGeoBone shen = getAnimationProcessor().getBone("shen");
CoreGeoBone scope = getAnimationProcessor().getBone("scope"); CoreGeoBone scope = getAnimationProcessor().getBone("scope");
CoreGeoBone flare = getAnimationProcessor().getBone("flare");
CoreGeoBone l = getAnimationProcessor().getBone("l"); CoreGeoBone l = getAnimationProcessor().getBone("l");
CoreGeoBone r = getAnimationProcessor().getBone("r"); CoreGeoBone r = getAnimationProcessor().getBone("r");
CoreGeoBone action = getAnimationProcessor().getBone("action");
CoreGeoBone body = getAnimationProcessor().getBone("body");
CoreGeoBone jing = getAnimationProcessor().getBone("jing");
CoreGeoBone base = getAnimationProcessor().getBone("base");
CoreGeoBone rex = getAnimationProcessor().getBone("rex");
Player player = Minecraft.getInstance().player; Player player = Minecraft.getInstance().player;
if (player == null) return; if (player == null) return;
@ -85,38 +79,15 @@ public class Ntw20Model extends GeoModel<Ntw20> {
scope.setScaleZ(1f - (0.85f * (float) p)); scope.setScaleZ(1f - (0.85f * (float) p));
if (gun.getPosX() > 4.3f) { stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 4.3));
rex.setHidden(false);
action.setHidden(true);
body.setHidden(true);
jing.setHidden(true);
base.setHidden(true);
} else {
rex.setHidden(true);
action.setHidden(false);
body.setHidden(false);
jing.setHidden(false);
base.setHidden(false);
}
if (stack.getOrCreateTag().getDouble("flash_time") > 0) {
flare.setHidden(false);
flare.setScaleX((float) (1 + 0.5 * (Math.random() - 0.5)));
flare.setScaleY((float) (1 + 0.5 * (Math.random() - 0.5)));
flare.setRotZ((float) (0.5 * (Math.random() - 0.5)));
} else {
flare.setHidden(true);
}
CoreGeoBone root = getAnimationProcessor().getBone("root"); CoreGeoBone root = getAnimationProcessor().getBone("root");
float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosX = (float)player.getPersistentData().getDouble("gun_move_posX");
float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY");
double y = 0; double y = player.getPersistentData().getDouble("y");
double x = 0; double x = player.getPersistentData().getDouble("x");
y = player.getPersistentData().getDouble("y");
x = player.getPersistentData().getDouble("x");
root.setPosX(PosX); root.setPosX(PosX);

View file

@ -32,7 +32,6 @@ public class RpgItemModel extends GeoModel<RpgItem> {
@Override @Override
public void setCustomAnimations(RpgItem animatable, long instanceId, AnimationState animationState) { public void setCustomAnimations(RpgItem animatable, long instanceId, AnimationState animationState) {
CoreGeoBone gun = getAnimationProcessor().getBone("bone"); CoreGeoBone gun = getAnimationProcessor().getBone("bone");
CoreGeoBone rocket = getAnimationProcessor().getBone("Rockets");
CoreGeoBone shen = getAnimationProcessor().getBone("rpg"); CoreGeoBone shen = getAnimationProcessor().getBone("rpg");
CoreGeoBone hammer = getAnimationProcessor().getBone("hammer"); CoreGeoBone hammer = getAnimationProcessor().getBone("hammer");
@ -41,8 +40,6 @@ public class RpgItemModel extends GeoModel<RpgItem> {
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (!stack.is(ModTags.Items.GUN)) return; if (!stack.is(ModTags.Items.GUN)) return;
rocket.setHidden(stack.getOrCreateTag().getBoolean("empty"));
if (stack.getOrCreateTag().getBoolean("close_hammer")) { if (stack.getOrCreateTag().getBoolean("close_hammer")) {
hammer.setRotX(-90 * Mth.DEG_TO_RAD); hammer.setRotX(-90 * Mth.DEG_TO_RAD);
} }
@ -63,11 +60,8 @@ public class RpgItemModel extends GeoModel<RpgItem> {
} }
shen.setPosX(0.5f * (float)fr * (float)((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).recoilHorizon * fp)); shen.setPosX(0.5f * (float)fr * (float)((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).recoilHorizon * fp));
double p = 0; double p = player.getPersistentData().getDouble("zoom_pos");
p = player.getPersistentData().getDouble("zoom_pos"); double zp = player.getPersistentData().getDouble("zoom_pos_z");
double zp = 0;
zp = player.getPersistentData().getDouble("zoom_pos_z");
gun.setPosX(0.91f * (float) p); gun.setPosX(0.91f * (float) p);
@ -77,26 +71,13 @@ public class RpgItemModel extends GeoModel<RpgItem> {
gun.setRotZ(0.45f * (float) p + (float) (0.02f * zp)); gun.setRotZ(0.45f * (float) p + (float) (0.02f * zp));
CoreGeoBone flare = getAnimationProcessor().getBone("flare");
if (stack.getOrCreateTag().getInt("fire_animation") > 0) {
flare.setHidden(false);
flare.setScaleX((float) (1.0 + 0.5 * (Math.random() - 0.5)));
flare.setScaleY((float) (1.0 + 0.5 * (Math.random() - 0.5)));
flare.setRotZ((float) (0.5 * (Math.random() - 0.5)));
} else {
flare.setHidden(true);
}
CoreGeoBone root = getAnimationProcessor().getBone("root"); CoreGeoBone root = getAnimationProcessor().getBone("root");
float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosX = (float)player.getPersistentData().getDouble("gun_move_posX");
float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY");
double y = 0; double y = player.getPersistentData().getDouble("y");
double x = 0; double x = player.getPersistentData().getDouble("x");
y = player.getPersistentData().getDouble("y");
x = player.getPersistentData().getDouble("x");
root.setPosX(PosX); root.setPosX(PosX);

View file

@ -35,7 +35,6 @@ public class RpkItemModel extends GeoModel<RpkItem> {
CoreGeoBone shen = getAnimationProcessor().getBone("shen"); CoreGeoBone shen = getAnimationProcessor().getBone("shen");
CoreGeoBone scope = getAnimationProcessor().getBone("pka"); CoreGeoBone scope = getAnimationProcessor().getBone("pka");
CoreGeoBone flare = getAnimationProcessor().getBone("flare"); CoreGeoBone flare = getAnimationProcessor().getBone("flare");
CoreGeoBone hide = getAnimationProcessor().getBone("hide");
CoreGeoBone button = getAnimationProcessor().getBone("button"); CoreGeoBone button = getAnimationProcessor().getBone("button");
CoreGeoBone shuan = getAnimationProcessor().getBone("shuan"); CoreGeoBone shuan = getAnimationProcessor().getBone("shuan");
@ -44,11 +43,8 @@ public class RpkItemModel extends GeoModel<RpkItem> {
ItemStack stack = player.getMainHandItem(); ItemStack stack = player.getMainHandItem();
if (!stack.is(ModTags.Items.GUN)) return; if (!stack.is(ModTags.Items.GUN)) return;
double p = 0; double p = player.getPersistentData().getDouble("zoom_pos");
p = player.getPersistentData().getDouble("zoom_pos"); double zp = player.getPersistentData().getDouble("zoom_pos_z");
double zp = 0;
zp = player.getPersistentData().getDouble("zoom_pos_z");
gun.setPosX(1.69f * (float) p); gun.setPosX(1.69f * (float) p);
@ -69,24 +65,19 @@ public class RpkItemModel extends GeoModel<RpkItem> {
button.setScaleZ(1f - (0.3f * (float) p)); button.setScaleZ(1f - (0.3f * (float) p));
CoreGeoBone holo = getAnimationProcessor().getBone("holo"); stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.65));
holo.setScaleX(0.9f);
holo.setScaleY(0.9f);
holo.setHidden(!(gun.getPosX() > 1.65));
double fp = player.getPersistentData().getDouble("fire_pos"); double fp = player.getPersistentData().getDouble("fire_pos");
double fr = player.getPersistentData().getDouble("fire_rot"); double fr = player.getPersistentData().getDouble("fire_rot");
if ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).zooming) { if ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).zooming) {
shen.setPosY(-0.01f * (float) (fp + 2 * fr)); shen.setPosY(-0.01f * (float) (fp + 2 * fr));
shen.setPosZ(0.2f * (float) (fp + 0.54f * fr)); shen.setPosZ(0.7f * (float) (fp + 0.54f * fr));
shen.setRotX(0.003f * (float) (fp + fr)); shen.setRotX(0.003f * (float) (fp + fr));
shen.setRotZ(0f); shen.setRotZ(0f);
} else { } else {
shen.setPosY(-0.03f * (float) (fp + 2 * fr)); shen.setPosY(-0.03f * (float) (fp + 2 * fr));
shen.setPosZ(0.8f * (float) (fp + 0.54f * fr)); shen.setPosZ(0.6f * (float) (fp + 0.54f * fr));
shen.setRotX(0.04f * (float) (0.18f * fp + fr)); shen.setRotX(0.04f * (float) (0.18f * fp + fr));
shen.setRotZ(-0.04f * (float) (fp + 1.3 * fr)); shen.setRotZ(-0.04f * (float) (fp + 1.3 * fr));
} }
@ -94,24 +85,12 @@ public class RpkItemModel extends GeoModel<RpkItem> {
shuan.setPosZ(2.4f * (float) fp); shuan.setPosZ(2.4f * (float) fp);
if (stack.getOrCreateTag().getDouble("flash_time") > 0) {
flare.setHidden(false);
flare.setScaleX((float) (0.7 + 0.5 * (Math.random() - 0.5)));
flare.setScaleY((float) (0.7 + 0.5 * (Math.random() - 0.5)));
flare.setRotZ((float) (0.5 * (Math.random() - 0.5)));
} else {
flare.setHidden(true);
}
CoreGeoBone root = getAnimationProcessor().getBone("root"); CoreGeoBone root = getAnimationProcessor().getBone("root");
float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosX = (float)player.getPersistentData().getDouble("gun_move_posX");
float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY");
double y = player.getPersistentData().getDouble("y");
double y = 0; double x = player.getPersistentData().getDouble("x");
double x = 0;
y = player.getPersistentData().getDouble("y");
x = player.getPersistentData().getDouble("x");
root.setPosX(PosX); root.setPosX(PosX);

View file

@ -9,13 +9,10 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth; import net.minecraft.util.Mth;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import net.minecraftforge.common.capabilities.ForgeCapabilities;
import software.bernie.geckolib.core.animatable.model.CoreGeoBone; import software.bernie.geckolib.core.animatable.model.CoreGeoBone;
import software.bernie.geckolib.core.animation.AnimationState; import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.model.GeoModel; import software.bernie.geckolib.model.GeoModel;
import java.util.concurrent.atomic.AtomicBoolean;
public class SentinelItemModel extends GeoModel<SentinelItem> { public class SentinelItemModel extends GeoModel<SentinelItem> {
@Override @Override
public ResourceLocation getAnimationResource(SentinelItem animatable) { public ResourceLocation getAnimationResource(SentinelItem animatable) {
@ -71,7 +68,6 @@ public class SentinelItemModel extends GeoModel<SentinelItem> {
CoreGeoBone holo = getAnimationProcessor().getBone("holo"); CoreGeoBone holo = getAnimationProcessor().getBone("holo");
holo.setPosY(0.09f); holo.setPosY(0.09f);
holo.setHidden(!(gun.getPosX() > 1.8));
double fp = player.getPersistentData().getDouble("fire_pos"); double fp = player.getPersistentData().getDouble("fire_pos");
double fr = player.getPersistentData().getDouble("fire_rot"); double fr = player.getPersistentData().getDouble("fire_rot");
@ -93,13 +89,6 @@ public class SentinelItemModel extends GeoModel<SentinelItem> {
charge.setRotZ(charge.getRotZ() + times * 0.05f); charge.setRotZ(charge.getRotZ() + times * 0.05f);
AtomicBoolean flag = new AtomicBoolean(false);
stack.getCapability(ForgeCapabilities.ENERGY).ifPresent(
iEnergyStorage -> flag.set(iEnergyStorage.getEnergyStored() > 0)
);
charge.setHidden(!flag.get());
CoreGeoBone root = getAnimationProcessor().getBone("root"); CoreGeoBone root = getAnimationProcessor().getBone("root");
float PosX = (float) player.getPersistentData().getDouble("gun_move_posX"); float PosX = (float) player.getPersistentData().getDouble("gun_move_posX");
@ -142,17 +131,6 @@ public class SentinelItemModel extends GeoModel<SentinelItem> {
move.setRotZ(2.7f * (float) m + Mth.DEG_TO_RAD * (float) zRot); move.setRotZ(2.7f * (float) m + Mth.DEG_TO_RAD * (float) zRot);
CoreGeoBone flare = getAnimationProcessor().getBone("flare");
if (stack.getOrCreateTag().getDouble("flash_time") > 0) {
flare.setHidden(false);
flare.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5)));
flare.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5)));
flare.setRotZ((float) (0.5 * (Math.random() - 0.5)));
} else {
flare.setHidden(true);
}
if ((stack.getOrCreateTag().getDouble("ammo") <= 5)) { if ((stack.getOrCreateTag().getDouble("ammo") <= 5)) {
ammo.setScaleX((float) (stack.getOrCreateTag().getDouble("ammo") / 5)); ammo.setScaleX((float) (stack.getOrCreateTag().getDouble("ammo") / 5));
} }

View file

@ -46,11 +46,8 @@ public class SksItemModel extends GeoModel<SksItem> {
bolt.setPosZ(2.5f); bolt.setPosZ(2.5f);
} }
double p = 0; double p = player.getPersistentData().getDouble("zoom_pos");
p = player.getPersistentData().getDouble("zoom_pos"); double zp = player.getPersistentData().getDouble("zoom_pos_z");
double zp = 0;
zp = player.getPersistentData().getDouble("zoom_pos_z");
gun.setPosX(1.53f * (float) p); gun.setPosX(1.53f * (float) p);
@ -62,7 +59,7 @@ public class SksItemModel extends GeoModel<SksItem> {
CoreGeoBone holo = getAnimationProcessor().getBone("holo"); CoreGeoBone holo = getAnimationProcessor().getBone("holo");
holo.setHidden(!(gun.getPosX() > 1.2)); stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.2));
CoreGeoBone shen = getAnimationProcessor().getBone("shen"); CoreGeoBone shen = getAnimationProcessor().getBone("shen");
@ -84,24 +81,12 @@ public class SksItemModel extends GeoModel<SksItem> {
shuan.setPosZ(2f * (float) fp); shuan.setPosZ(2f * (float) fp);
if (stack.getOrCreateTag().getDouble("flash_time") > 0) {
flare.setHidden(false);
flare.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5)));
flare.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5)));
flare.setRotZ((float) (0.5 * (Math.random() - 0.5)));
} else {
flare.setHidden(true);
}
CoreGeoBone root = getAnimationProcessor().getBone("root"); CoreGeoBone root = getAnimationProcessor().getBone("root");
float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosX = (float)player.getPersistentData().getDouble("gun_move_posX");
float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY");
double y = player.getPersistentData().getDouble("y");
double y = 0; double x = player.getPersistentData().getDouble("x");
double x = 0;
y = player.getPersistentData().getDouble("y");
x = player.getPersistentData().getDouble("x");
root.setPosX(PosX); root.setPosX(PosX);

View file

@ -32,14 +32,13 @@ public class SvdItemModel extends GeoModel<SvdItem> {
@Override @Override
public void setCustomAnimations(SvdItem animatable, long instanceId, AnimationState animationState) { public void setCustomAnimations(SvdItem animatable, long instanceId, AnimationState animationState) {
CoreGeoBone gun = getAnimationProcessor().getBone("bone"); CoreGeoBone gun = getAnimationProcessor().getBone("bone");
CoreGeoBone flare = getAnimationProcessor().getBone("flare");
CoreGeoBone bolt = getAnimationProcessor().getBone("bolt"); CoreGeoBone bolt = getAnimationProcessor().getBone("bolt");
CoreGeoBone scope = getAnimationProcessor().getBone("pso1"); CoreGeoBone scope = getAnimationProcessor().getBone("pso1");
CoreGeoBone sight = getAnimationProcessor().getBone("handguard");
CoreGeoBone bt1 = getAnimationProcessor().getBone("bullton1"); CoreGeoBone bt1 = getAnimationProcessor().getBone("bullton1");
CoreGeoBone bt2 = getAnimationProcessor().getBone("bullton2"); CoreGeoBone bt2 = getAnimationProcessor().getBone("bullton2");
CoreGeoBone shuan = getAnimationProcessor().getBone("shuan");
CoreGeoBone glass = getAnimationProcessor().getBone("glass"); CoreGeoBone glass = getAnimationProcessor().getBone("glass");
CoreGeoBone holo = getAnimationProcessor().getBone("holo");
CoreGeoBone flare = getAnimationProcessor().getBone("flare");
Player player = Minecraft.getInstance().player; Player player = Minecraft.getInstance().player;
if (player == null) return; if (player == null) return;
@ -50,11 +49,8 @@ public class SvdItemModel extends GeoModel<SvdItem> {
bolt.setPosZ(3.25f); bolt.setPosZ(3.25f);
} }
double p = 0; double p = player.getPersistentData().getDouble("zoom_pos");
p = player.getPersistentData().getDouble("zoom_pos"); double zp = player.getPersistentData().getDouble("zoom_pos_z");
double zp = 0;
zp = player.getPersistentData().getDouble("zoom_pos_z");
gun.setPosX(2.02f * (float) p); gun.setPosX(2.02f * (float) p);
@ -72,18 +68,7 @@ public class SvdItemModel extends GeoModel<SvdItem> {
bt2.setScaleX(1f - (0.5f * (float) p)); bt2.setScaleX(1f - (0.5f * (float) p));
CoreGeoBone holo = getAnimationProcessor().getBone("holo"); stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.9));
if (gun.getPosX() > 1.9) {
holo.setPosY(0.05f);
holo.setScaleX(0.45f);
holo.setScaleY(0.45f);
holo.setHidden(false);
sight.setHidden(true);
} else {
holo.setHidden(true);
sight.setHidden(false);
glass.setHidden(true);
}
CoreGeoBone shen = getAnimationProcessor().getBone("shen"); CoreGeoBone shen = getAnimationProcessor().getBone("shen");
@ -95,6 +80,7 @@ public class SvdItemModel extends GeoModel<SvdItem> {
shen.setPosZ(1.6f * (float) (fp + 0.54f * fr)); shen.setPosZ(1.6f * (float) (fp + 0.54f * fr));
shen.setRotX(0.003f * (float) (fp + fr)); shen.setRotX(0.003f * (float) (fp + fr));
shen.setRotZ(0f); shen.setRotZ(0f);
flare.setPosY(-2.5f);
} else { } else {
shen.setPosY(0.04f * (float) (fp + 2 * fr)); shen.setPosY(0.04f * (float) (fp + 2 * fr));
shen.setPosZ(1.8f * (float) (fp + 0.54f * fr)); shen.setPosZ(1.8f * (float) (fp + 0.54f * fr));
@ -103,28 +89,17 @@ public class SvdItemModel extends GeoModel<SvdItem> {
} }
shen.setPosX(0.5f * (float)fr * (float)((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).recoilHorizon * fp)); shen.setPosX(0.5f * (float)fr * (float)((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).recoilHorizon * fp));
holo.setPosY(1.1f * (float) fp); holo.setPosY(0.05f + 1.1f * (float) fp);
holo.setRotZ(-0.04f * (float) fp); holo.setRotZ(-0.04f * (float) fp);
holo.setScaleX(0.75f);
if (stack.getOrCreateTag().getDouble("flash_time") > 0) { holo.setScaleY(0.75f);
flare.setHidden(false);
flare.setScaleX((float) (0.8 + 0.5 * (Math.random() - 0.5)));
flare.setScaleY((float) (0.8 + 0.5 * (Math.random() - 0.5)));
flare.setRotZ((float) (0.5 * (Math.random() - 0.5)));
} else {
flare.setHidden(true);
}
CoreGeoBone root = getAnimationProcessor().getBone("root"); CoreGeoBone root = getAnimationProcessor().getBone("root");
float PosX = (float)player.getPersistentData().getDouble("gun_move_posX"); float PosX = (float)player.getPersistentData().getDouble("gun_move_posX");
float PosY = (float)player.getPersistentData().getDouble("gun_move_posY"); float PosY = (float)player.getPersistentData().getDouble("gun_move_posY");
double y = player.getPersistentData().getDouble("y");
double y = 0; double x = player.getPersistentData().getDouble("x");
double x = 0;
y = player.getPersistentData().getDouble("y");
x = player.getPersistentData().getDouble("x");
root.setPosX(PosX); root.setPosX(PosX);

View file

@ -48,11 +48,19 @@ public class TaserItemModel extends GeoModel<Taser> {
bar.setScaleX((float) ItemNBTTool.getInt(stack, TAG_POWER, 1200) / 1200); bar.setScaleX((float) ItemNBTTool.getInt(stack, TAG_POWER, 1200) / 1200);
if (ItemNBTTool.getInt(stack, TAG_POWER, 1200) >= 400) { if (ItemNBTTool.getInt(stack, TAG_POWER, 1200) >= 400) {
bluecover.setHidden(false); bluecover.setScaleX(1);
redcover.setHidden(true); bluecover.setScaleY(1);
bluecover.setScaleZ(1);
redcover.setScaleX(0);
redcover.setScaleY(0);
redcover.setScaleZ(0);
} else { } else {
bluecover.setHidden(true); bluecover.setScaleX(0);
redcover.setHidden(false); bluecover.setScaleY(0);
bluecover.setScaleZ(0);
redcover.setScaleX(1);
redcover.setScaleY(1);
redcover.setScaleZ(1);
} }
double fp = player.getPersistentData().getDouble("fire_pos"); double fp = player.getPersistentData().getDouble("fire_pos");

View file

@ -51,11 +51,8 @@ public class VectorItemModel extends GeoModel<VectorItem> {
kmj.setRotX(0); kmj.setRotX(0);
} }
double p = 0; double p = player.getPersistentData().getDouble("zoom_pos");
p = player.getPersistentData().getDouble("zoom_pos"); double zp = player.getPersistentData().getDouble("zoom_pos_z");
double zp = 0;
zp = player.getPersistentData().getDouble("zoom_pos_z");
gun.setPosX(2.35f * (float) p); gun.setPosX(2.35f * (float) p);
@ -68,11 +65,8 @@ public class VectorItemModel extends GeoModel<VectorItem> {
scope.setScaleZ(1f - (0.2f * (float) p)); scope.setScaleZ(1f - (0.2f * (float) p));
CoreGeoBone holo = getAnimationProcessor().getBone("holo"); CoreGeoBone holo = getAnimationProcessor().getBone("holo");
if ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).zooming && gun.getPosX() > 2) {
holo.setHidden(false); stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 2));
} else {
holo.setHidden(true);
}
double fp = player.getPersistentData().getDouble("fire_pos"); double fp = player.getPersistentData().getDouble("fire_pos");
double fr = player.getPersistentData().getDouble("fire_rot"); double fr = player.getPersistentData().getDouble("fire_rot");
@ -95,10 +89,8 @@ public class VectorItemModel extends GeoModel<VectorItem> {
float PosX = (float) player.getPersistentData().getDouble("gun_move_posX"); float PosX = (float) player.getPersistentData().getDouble("gun_move_posX");
float PosY = (float) player.getPersistentData().getDouble("gun_move_posY"); float PosY = (float) player.getPersistentData().getDouble("gun_move_posY");
double y = 0; double y = player.getPersistentData().getDouble("y");
double x = 0; double x = player.getPersistentData().getDouble("x");
y = player.getPersistentData().getDouble("y");
x = player.getPersistentData().getDouble("x");
root.setPosX(PosX); root.setPosX(PosX);

View file

@ -2,16 +2,25 @@ package net.mcreator.superbwarfare.client.renderer.item;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.item.gun.MarlinItem;
import net.mcreator.superbwarfare.client.layer.MarlinLayer; import net.mcreator.superbwarfare.client.layer.MarlinLayer;
import net.mcreator.superbwarfare.client.model.item.MarlinItemModel; import net.mcreator.superbwarfare.client.model.item.MarlinItemModel;
import net.mcreator.superbwarfare.item.gun.MarlinItem;
import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.PlayerModel;
import net.minecraft.client.player.AbstractClientPlayer;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.player.PlayerRenderer;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone;
import software.bernie.geckolib.renderer.GeoItemRenderer; import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.RenderUtils;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
@ -34,7 +43,6 @@ public class MarlinItemRenderer extends GeoItemRenderer<MarlinItem> {
public ItemDisplayContext transformType; public ItemDisplayContext transformType;
protected MarlinItem animatable; protected MarlinItem animatable;
private final Set<String> hiddenBones = new HashSet<>(); private final Set<String> hiddenBones = new HashSet<>();
private final Set<String> suppressedBones = new HashSet<>();
@Override @Override
public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) { public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) {
@ -56,6 +64,69 @@ public class MarlinItemRenderer extends GeoItemRenderer<MarlinItem> {
} }
} }
@Override
public void renderRecursively(PoseStack stack, MarlinItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red,
float green, float blue, float alpha) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
if (name.equals("flare")) {
Player player = Minecraft.getInstance().player;
ItemStack itemStack = null;
if (player != null) {
itemStack = player.getMainHandItem();
}
if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) {
bone.setHidden(false);
bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5)));
bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5)));
bone.setRotZ((float) (0.5 * (Math.random() - 0.5)));
} else {
bone.setHidden(true);
}
}
if (this.transformType.firstPerson() && renderingArms) {
AbstractClientPlayer player = mc.player;
if (player == null) {
return;
}
PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player);
PlayerModel<AbstractClientPlayer> model = playerRenderer.getModel();
stack.pushPose();
RenderUtils.translateMatrixToBone(stack, bone);
RenderUtils.translateToPivotPoint(stack, bone);
RenderUtils.rotateMatrixAroundBone(stack, bone);
RenderUtils.scaleMatrixForBone(stack, bone);
RenderUtils.translateAwayFromPivotPoint(stack, bone);
ResourceLocation loc = player.getSkinTextureLocation();
VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc));
VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc));
if (name.equals("Lefthand")) {
stack.translate(-1.0f * SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.leftArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.leftSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
} else {
stack.translate(SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.rightArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.rightSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
}
this.currentBuffer.getBuffer(this.renderType);
stack.popPose();
}
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, red, green, blue, alpha);
}
@Override @Override
public ResourceLocation getTextureLocation(MarlinItem instance) { public ResourceLocation getTextureLocation(MarlinItem instance) {
return super.getTextureLocation(instance); return super.getTextureLocation(instance);

View file

@ -2,16 +2,26 @@ package net.mcreator.superbwarfare.client.renderer.item;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.item.gun.Mk14Item;
import net.mcreator.superbwarfare.client.layer.Mk14Layer; import net.mcreator.superbwarfare.client.layer.Mk14Layer;
import net.mcreator.superbwarfare.client.model.item.Mk14ItemModel; import net.mcreator.superbwarfare.client.model.item.Mk14ItemModel;
import net.mcreator.superbwarfare.item.gun.Mk14Item;
import net.mcreator.superbwarfare.network.ModVariables;
import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.PlayerModel;
import net.minecraft.client.player.AbstractClientPlayer;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.player.PlayerRenderer;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone;
import software.bernie.geckolib.renderer.GeoItemRenderer; import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.RenderUtils;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
@ -56,6 +66,88 @@ public class Mk14ItemRenderer extends GeoItemRenderer<Mk14Item> {
} }
} }
@Override
public void renderRecursively(PoseStack stack, Mk14Item animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red,
float green, float blue, float alpha) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
Player player_ = Minecraft.getInstance().player;
ItemStack itemStack = null;
if (player_ != null) {
itemStack = player_.getMainHandItem();
}
if (name.equals("flare")) {
if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) {
bone.setHidden(false);
bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5)));
bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5)));
bone.setRotZ((float) (0.5 * (Math.random() - 0.5)));
} else {
bone.setHidden(true);
}
}
if (name.equals("rex")) {
if (player_ != null) {
bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !player_.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming);
}
}
if (name.equals("jing")) {
if (player_ != null) {
bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && player_.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming);
}
}
if (name.equals("qiangguan")) {
if (player_ != null) {
bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && player_.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming);
}
}
if (this.transformType.firstPerson() && renderingArms) {
AbstractClientPlayer player = mc.player;
if (player == null) {
return;
}
PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player);
PlayerModel<AbstractClientPlayer> model = playerRenderer.getModel();
stack.pushPose();
RenderUtils.translateMatrixToBone(stack, bone);
RenderUtils.translateToPivotPoint(stack, bone);
RenderUtils.rotateMatrixAroundBone(stack, bone);
RenderUtils.scaleMatrixForBone(stack, bone);
RenderUtils.translateAwayFromPivotPoint(stack, bone);
ResourceLocation loc = player.getSkinTextureLocation();
VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc));
VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc));
if (name.equals("Lefthand")) {
stack.translate(-1.0f * SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.leftArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.leftSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
} else {
stack.translate(SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.rightArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.rightSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
}
this.currentBuffer.getBuffer(this.renderType);
stack.popPose();
}
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, red, green, blue, alpha);
}
@Override @Override
public ResourceLocation getTextureLocation(Mk14Item instance) { public ResourceLocation getTextureLocation(Mk14Item instance) {
return super.getTextureLocation(instance); return super.getTextureLocation(instance);

View file

@ -2,16 +2,26 @@ package net.mcreator.superbwarfare.client.renderer.item;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.item.gun.Ntw20;
import net.mcreator.superbwarfare.client.layer.Ntw20Layer; import net.mcreator.superbwarfare.client.layer.Ntw20Layer;
import net.mcreator.superbwarfare.client.model.item.Ntw20Model; import net.mcreator.superbwarfare.client.model.item.Ntw20Model;
import net.mcreator.superbwarfare.item.gun.Ntw20;
import net.mcreator.superbwarfare.network.ModVariables;
import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.PlayerModel;
import net.minecraft.client.player.AbstractClientPlayer;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.player.PlayerRenderer;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone;
import software.bernie.geckolib.renderer.GeoItemRenderer; import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.RenderUtils;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
@ -56,6 +66,100 @@ public class Ntw20Renderer extends GeoItemRenderer<Ntw20> {
} }
} }
@Override
public void renderRecursively(PoseStack stack, Ntw20 animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red,
float green, float blue, float alpha) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
Player player_ = Minecraft.getInstance().player;
ItemStack itemStack = null;
if (player_ != null) {
itemStack = player_.getMainHandItem();
}
if (name.equals("flare")) {
if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) {
bone.setHidden(false);
bone.setScaleX((float) (1 + 0.5 * (Math.random() - 0.5)));
bone.setScaleY((float) (1 + 0.5 * (Math.random() - 0.5)));
bone.setRotZ((float) (0.5 * (Math.random() - 0.5)));
} else {
bone.setHidden(true);
}
}
if (name.equals("rex")) {
if (player_ != null) {
bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !player_.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming);
}
}
if (name.equals("jing")) {
if (player_ != null) {
bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && player_.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming);
}
}
if (name.equals("action")) {
if (player_ != null) {
bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && player_.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming);
}
}
if (name.equals("body")) {
if (player_ != null) {
bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && player_.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming);
}
}
if (name.equals("base")) {
if (player_ != null) {
bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && player_.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming);
}
}
if (this.transformType.firstPerson() && renderingArms) {
AbstractClientPlayer player = mc.player;
if (player == null) {
return;
}
PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player);
PlayerModel<AbstractClientPlayer> model = playerRenderer.getModel();
stack.pushPose();
RenderUtils.translateMatrixToBone(stack, bone);
RenderUtils.translateToPivotPoint(stack, bone);
RenderUtils.rotateMatrixAroundBone(stack, bone);
RenderUtils.scaleMatrixForBone(stack, bone);
RenderUtils.translateAwayFromPivotPoint(stack, bone);
ResourceLocation loc = player.getSkinTextureLocation();
VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc));
VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc));
if (name.equals("Lefthand")) {
stack.translate(-1.0f * SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.leftArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.leftSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
} else {
stack.translate(SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.rightArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.rightSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
}
this.currentBuffer.getBuffer(this.renderType);
stack.popPose();
}
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, red, green, blue, alpha);
}
@Override @Override
public ResourceLocation getTextureLocation(Ntw20 instance) { public ResourceLocation getTextureLocation(Ntw20 instance) {
return super.getTextureLocation(instance); return super.getTextureLocation(instance);

View file

@ -1,10 +1,29 @@
package net.mcreator.superbwarfare.client.renderer.item; package net.mcreator.superbwarfare.client.renderer.item;
import net.mcreator.superbwarfare.item.gun.RpgItem; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.client.layer.RpgLayer; import net.mcreator.superbwarfare.client.layer.RpgLayer;
import net.mcreator.superbwarfare.client.model.item.RpgItemModel; import net.mcreator.superbwarfare.client.model.item.RpgItemModel;
import net.mcreator.superbwarfare.item.gun.RpgItem;
import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.PlayerModel;
import net.minecraft.client.player.AbstractClientPlayer;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.player.PlayerRenderer;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone;
import software.bernie.geckolib.renderer.GeoItemRenderer; import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.RenderUtils;
import java.util.HashSet;
import java.util.Set;
public class RpgItemRenderer extends GeoItemRenderer<RpgItem> { public class RpgItemRenderer extends GeoItemRenderer<RpgItem> {
public RpgItemRenderer() { public RpgItemRenderer() {
@ -12,6 +31,107 @@ public class RpgItemRenderer extends GeoItemRenderer<RpgItem> {
this.addRenderLayer(new RpgLayer(this)); this.addRenderLayer(new RpgLayer(this));
} }
@Override
public RenderType getRenderType(RpgItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f;
protected boolean renderArms = false;
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
protected RpgItem animatable;
private final Set<String> hiddenBones = new HashSet<>();
@Override
public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) {
this.transformType = transformType;
if (this.animatable != null)
this.animatable.getTransformType(transformType);
super.renderByItem(stack, transformType, matrixStack, bufferIn, combinedLightIn, p_239207_6_);
}
@Override
public void actuallyRender(PoseStack matrixStackIn, RpgItem animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn,
int packedOverlayIn, float red, float green, float blue, float alpha) {
this.currentBuffer = renderTypeBuffer;
this.renderType = type;
this.animatable = animatable;
super.actuallyRender(matrixStackIn, animatable, model, type, renderTypeBuffer, vertexBuilder, isRenderer, partialTicks, packedLightIn, packedOverlayIn, red, green, blue, alpha);
if (this.renderArms) {
this.renderArms = false;
}
}
@Override
public void renderRecursively(PoseStack stack, RpgItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red,
float green, float blue, float alpha) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
Player player_ = Minecraft.getInstance().player;
ItemStack itemStack = null;
if (player_ != null) {
itemStack = player_.getMainHandItem();
}
if (name.equals("flare")) {
if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) {
bone.setHidden(false);
bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5)));
bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5)));
bone.setRotZ((float) (0.5 * (Math.random() - 0.5)));
} else {
bone.setHidden(true);
}
}
if (name.equals("Rockets")) {
bone.setHidden(itemStack != null && itemStack.getOrCreateTag().getBoolean("empty"));
}
if (this.transformType.firstPerson() && renderingArms) {
AbstractClientPlayer player = mc.player;
if (player == null) {
return;
}
PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player);
PlayerModel<AbstractClientPlayer> model = playerRenderer.getModel();
stack.pushPose();
RenderUtils.translateMatrixToBone(stack, bone);
RenderUtils.translateToPivotPoint(stack, bone);
RenderUtils.rotateMatrixAroundBone(stack, bone);
RenderUtils.scaleMatrixForBone(stack, bone);
RenderUtils.translateAwayFromPivotPoint(stack, bone);
ResourceLocation loc = player.getSkinTextureLocation();
VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc));
VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc));
if (name.equals("Lefthand")) {
stack.translate(-1.0f * SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.leftArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.leftSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
} else {
stack.translate(SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.rightArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.rightSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
}
this.currentBuffer.getBuffer(this.renderType);
stack.popPose();
}
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, red, green, blue, alpha);
}
@Override @Override
public ResourceLocation getTextureLocation(RpgItem instance) { public ResourceLocation getTextureLocation(RpgItem instance) {
return super.getTextureLocation(instance); return super.getTextureLocation(instance);

View file

@ -1,10 +1,30 @@
package net.mcreator.superbwarfare.client.renderer.item; package net.mcreator.superbwarfare.client.renderer.item;
import net.mcreator.superbwarfare.item.gun.RpkItem; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.client.layer.RpkLayer; import net.mcreator.superbwarfare.client.layer.RpkLayer;
import net.mcreator.superbwarfare.client.model.item.RpkItemModel; import net.mcreator.superbwarfare.client.model.item.RpkItemModel;
import net.mcreator.superbwarfare.item.gun.RpkItem;
import net.mcreator.superbwarfare.network.ModVariables;
import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.PlayerModel;
import net.minecraft.client.player.AbstractClientPlayer;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.player.PlayerRenderer;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone;
import software.bernie.geckolib.renderer.GeoItemRenderer; import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.RenderUtils;
import java.util.HashSet;
import java.util.Set;
public class RpkItemRenderer extends GeoItemRenderer<RpkItem> { public class RpkItemRenderer extends GeoItemRenderer<RpkItem> {
public RpkItemRenderer() { public RpkItemRenderer() {
@ -12,6 +32,114 @@ public class RpkItemRenderer extends GeoItemRenderer<RpkItem> {
this.addRenderLayer(new RpkLayer(this)); this.addRenderLayer(new RpkLayer(this));
} }
@Override
public RenderType getRenderType(RpkItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f;
protected boolean renderArms = false;
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
protected RpkItem animatable;
private final Set<String> hiddenBones = new HashSet<>();
@Override
public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) {
this.transformType = transformType;
if (this.animatable != null)
this.animatable.getTransformType(transformType);
super.renderByItem(stack, transformType, matrixStack, bufferIn, combinedLightIn, p_239207_6_);
}
@Override
public void actuallyRender(PoseStack matrixStackIn, RpkItem animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn,
int packedOverlayIn, float red, float green, float blue, float alpha) {
this.currentBuffer = renderTypeBuffer;
this.renderType = type;
this.animatable = animatable;
super.actuallyRender(matrixStackIn, animatable, model, type, renderTypeBuffer, vertexBuilder, isRenderer, partialTicks, packedLightIn, packedOverlayIn, red, green, blue, alpha);
if (this.renderArms) {
this.renderArms = false;
}
}
@Override
public void renderRecursively(PoseStack stack, RpkItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red,
float green, float blue, float alpha) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
if (name.equals("flare")) {
Player player = Minecraft.getInstance().player;
ItemStack itemStack = null;
if (player != null) {
itemStack = player.getMainHandItem();
}
if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) {
bone.setHidden(false);
bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5)));
bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5)));
bone.setRotZ((float) (0.5 * (Math.random() - 0.5)));
} else {
bone.setHidden(true);
}
}
if (name.equals("holo")) {
Player player = Minecraft.getInstance().player;
ItemStack itemStack = null;
if (player != null) {
itemStack = player.getMainHandItem();
}
if (player != null) {
bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming);
}
}
if (this.transformType.firstPerson() && renderingArms) {
AbstractClientPlayer player = mc.player;
if (player == null) {
return;
}
PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player);
PlayerModel<AbstractClientPlayer> model = playerRenderer.getModel();
stack.pushPose();
RenderUtils.translateMatrixToBone(stack, bone);
RenderUtils.translateToPivotPoint(stack, bone);
RenderUtils.rotateMatrixAroundBone(stack, bone);
RenderUtils.scaleMatrixForBone(stack, bone);
RenderUtils.translateAwayFromPivotPoint(stack, bone);
ResourceLocation loc = player.getSkinTextureLocation();
VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc));
VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc));
if (name.equals("Lefthand")) {
stack.translate(-1.0f * SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.leftArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.leftSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
} else {
stack.translate(SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.rightArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.rightSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
}
this.currentBuffer.getBuffer(this.renderType);
stack.popPose();
}
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, red, green, blue, alpha);
}
@Override @Override
public ResourceLocation getTextureLocation(RpkItem instance) { public ResourceLocation getTextureLocation(RpkItem instance) {
return super.getTextureLocation(instance); return super.getTextureLocation(instance);

View file

@ -1,10 +1,32 @@
package net.mcreator.superbwarfare.client.renderer.item; package net.mcreator.superbwarfare.client.renderer.item;
import net.mcreator.superbwarfare.item.gun.SentinelItem; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.client.layer.SentinelLayer; import net.mcreator.superbwarfare.client.layer.SentinelLayer;
import net.mcreator.superbwarfare.client.model.item.SentinelItemModel; import net.mcreator.superbwarfare.client.model.item.SentinelItemModel;
import net.mcreator.superbwarfare.item.gun.SentinelItem;
import net.mcreator.superbwarfare.network.ModVariables;
import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.PlayerModel;
import net.minecraft.client.player.AbstractClientPlayer;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.player.PlayerRenderer;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import net.minecraftforge.common.capabilities.ForgeCapabilities;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone;
import software.bernie.geckolib.renderer.GeoItemRenderer; import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.RenderUtils;
import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
public class SentinelItemRenderer extends GeoItemRenderer<SentinelItem> { public class SentinelItemRenderer extends GeoItemRenderer<SentinelItem> {
public SentinelItemRenderer() { public SentinelItemRenderer() {
@ -12,6 +34,122 @@ public class SentinelItemRenderer extends GeoItemRenderer<SentinelItem> {
this.addRenderLayer(new SentinelLayer(this)); this.addRenderLayer(new SentinelLayer(this));
} }
@Override
public RenderType getRenderType(SentinelItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f;
protected boolean renderArms = false;
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
protected SentinelItem animatable;
private final Set<String> hiddenBones = new HashSet<>();
@Override
public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) {
this.transformType = transformType;
if (this.animatable != null)
this.animatable.getTransformType(transformType);
super.renderByItem(stack, transformType, matrixStack, bufferIn, combinedLightIn, p_239207_6_);
}
@Override
public void actuallyRender(PoseStack matrixStackIn, SentinelItem animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn,
int packedOverlayIn, float red, float green, float blue, float alpha) {
this.currentBuffer = renderTypeBuffer;
this.renderType = type;
this.animatable = animatable;
super.actuallyRender(matrixStackIn, animatable, model, type, renderTypeBuffer, vertexBuilder, isRenderer, partialTicks, packedLightIn, packedOverlayIn, red, green, blue, alpha);
if (this.renderArms) {
this.renderArms = false;
}
}
@Override
public void renderRecursively(PoseStack stack, SentinelItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red,
float green, float blue, float alpha) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
Player player_ = Minecraft.getInstance().player;
ItemStack itemStack = null;
if (player_ != null) {
itemStack = player_.getMainHandItem();
}
if (name.equals("flare")) {
if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) {
bone.setHidden(false);
bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5)));
bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5)));
bone.setRotZ((float) (0.5 * (Math.random() - 0.5)));
} else {
bone.setHidden(true);
}
}
if (name.equals("holo")) {
if (player_ != null) {
bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !player_.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming);
}
}
AtomicBoolean flag = new AtomicBoolean(false);
if (itemStack != null) {
itemStack.getCapability(ForgeCapabilities.ENERGY).ifPresent(
iEnergyStorage -> flag.set(iEnergyStorage.getEnergyStored() > 0)
);
}
if (name.equals("charge")) {
if (player_ != null) {
bone.setHidden(!flag.get());
}
}
if (this.transformType.firstPerson() && renderingArms) {
AbstractClientPlayer player = mc.player;
if (player == null) {
return;
}
PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player);
PlayerModel<AbstractClientPlayer> model = playerRenderer.getModel();
stack.pushPose();
RenderUtils.translateMatrixToBone(stack, bone);
RenderUtils.translateToPivotPoint(stack, bone);
RenderUtils.rotateMatrixAroundBone(stack, bone);
RenderUtils.scaleMatrixForBone(stack, bone);
RenderUtils.translateAwayFromPivotPoint(stack, bone);
ResourceLocation loc = player.getSkinTextureLocation();
VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc));
VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc));
if (name.equals("Lefthand")) {
stack.translate(-1.0f * SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.leftArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.leftSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
} else {
stack.translate(SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.rightArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.rightSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
}
this.currentBuffer.getBuffer(this.renderType);
stack.popPose();
}
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, red, green, blue, alpha);
}
@Override @Override
public ResourceLocation getTextureLocation(SentinelItem instance) { public ResourceLocation getTextureLocation(SentinelItem instance) {
return super.getTextureLocation(instance); return super.getTextureLocation(instance);

View file

@ -1,10 +1,30 @@
package net.mcreator.superbwarfare.client.renderer.item; package net.mcreator.superbwarfare.client.renderer.item;
import net.mcreator.superbwarfare.item.gun.SksItem; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.client.layer.SksLayer; import net.mcreator.superbwarfare.client.layer.SksLayer;
import net.mcreator.superbwarfare.client.model.item.SksItemModel; import net.mcreator.superbwarfare.client.model.item.SksItemModel;
import net.mcreator.superbwarfare.item.gun.SksItem;
import net.mcreator.superbwarfare.network.ModVariables;
import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.PlayerModel;
import net.minecraft.client.player.AbstractClientPlayer;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.player.PlayerRenderer;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone;
import software.bernie.geckolib.renderer.GeoItemRenderer; import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.RenderUtils;
import java.util.HashSet;
import java.util.Set;
public class SksItemRenderer extends GeoItemRenderer<SksItem> { public class SksItemRenderer extends GeoItemRenderer<SksItem> {
public SksItemRenderer() { public SksItemRenderer() {
@ -12,6 +32,114 @@ public class SksItemRenderer extends GeoItemRenderer<SksItem> {
this.addRenderLayer(new SksLayer(this)); this.addRenderLayer(new SksLayer(this));
} }
@Override
public RenderType getRenderType(SksItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f;
protected boolean renderArms = false;
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
protected SksItem animatable;
private final Set<String> hiddenBones = new HashSet<>();
@Override
public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) {
this.transformType = transformType;
if (this.animatable != null)
this.animatable.getTransformType(transformType);
super.renderByItem(stack, transformType, matrixStack, bufferIn, combinedLightIn, p_239207_6_);
}
@Override
public void actuallyRender(PoseStack matrixStackIn, SksItem animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn,
int packedOverlayIn, float red, float green, float blue, float alpha) {
this.currentBuffer = renderTypeBuffer;
this.renderType = type;
this.animatable = animatable;
super.actuallyRender(matrixStackIn, animatable, model, type, renderTypeBuffer, vertexBuilder, isRenderer, partialTicks, packedLightIn, packedOverlayIn, red, green, blue, alpha);
if (this.renderArms) {
this.renderArms = false;
}
}
@Override
public void renderRecursively(PoseStack stack, SksItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red,
float green, float blue, float alpha) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
if (name.equals("flare")) {
Player player = Minecraft.getInstance().player;
ItemStack itemStack = null;
if (player != null) {
itemStack = player.getMainHandItem();
}
if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) {
bone.setHidden(false);
bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5)));
bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5)));
bone.setRotZ((float) (0.5 * (Math.random() - 0.5)));
} else {
bone.setHidden(true);
}
}
if (name.equals("holo")) {
Player player = Minecraft.getInstance().player;
ItemStack itemStack = null;
if (player != null) {
itemStack = player.getMainHandItem();
}
if (player != null) {
bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming);
}
}
if (this.transformType.firstPerson() && renderingArms) {
AbstractClientPlayer player = mc.player;
if (player == null) {
return;
}
PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player);
PlayerModel<AbstractClientPlayer> model = playerRenderer.getModel();
stack.pushPose();
RenderUtils.translateMatrixToBone(stack, bone);
RenderUtils.translateToPivotPoint(stack, bone);
RenderUtils.rotateMatrixAroundBone(stack, bone);
RenderUtils.scaleMatrixForBone(stack, bone);
RenderUtils.translateAwayFromPivotPoint(stack, bone);
ResourceLocation loc = player.getSkinTextureLocation();
VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc));
VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc));
if (name.equals("Lefthand")) {
stack.translate(-1.0f * SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.leftArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.leftSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
} else {
stack.translate(SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.rightArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.rightSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
}
this.currentBuffer.getBuffer(this.renderType);
stack.popPose();
}
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, red, green, blue, alpha);
}
@Override @Override
public ResourceLocation getTextureLocation(SksItem instance) { public ResourceLocation getTextureLocation(SksItem instance) {
return super.getTextureLocation(instance); return super.getTextureLocation(instance);

View file

@ -2,16 +2,26 @@ package net.mcreator.superbwarfare.client.renderer.item;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.item.gun.SvdItem;
import net.mcreator.superbwarfare.client.layer.SvdLayer; import net.mcreator.superbwarfare.client.layer.SvdLayer;
import net.mcreator.superbwarfare.client.model.item.SvdItemModel; import net.mcreator.superbwarfare.client.model.item.SvdItemModel;
import net.mcreator.superbwarfare.item.gun.SvdItem;
import net.mcreator.superbwarfare.network.ModVariables;
import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.PlayerModel;
import net.minecraft.client.player.AbstractClientPlayer;
import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.player.PlayerRenderer;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.cache.object.BakedGeoModel; import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone;
import software.bernie.geckolib.renderer.GeoItemRenderer; import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.RenderUtils;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
@ -56,6 +66,92 @@ public class SvdItemRenderer extends GeoItemRenderer<SvdItem> {
} }
} }
@Override
public void renderRecursively(PoseStack stack, SvdItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red,
float green, float blue, float alpha) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
Player player_ = Minecraft.getInstance().player;
ItemStack itemStack = null;
if (player_ != null) {
itemStack = player_.getMainHandItem();
}
if (name.equals("flare")) {
if (itemStack != null && itemStack.getOrCreateTag().getDouble("flash_time") > 0) {
bone.setHidden(false);
bone.setScaleX((float) (0.55 + 0.5 * (Math.random() - 0.5)));
bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5)));
bone.setRotZ((float) (0.5 * (Math.random() - 0.5)));
} else {
bone.setHidden(true);
}
}
if (name.equals("holo")) {
if (player_ != null) {
bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !player_.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming);
}
}
// if (name.equals("glass")) {
// if (player_ != null) {
// bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !player_.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming);
// }
// }
if (name.equals("glass")) {
bone.setHidden(true);
}
if (name.equals("handguard")) {
if (player_ != null) {
bone.setHidden(!itemStack.getOrCreateTag().getBoolean("HoloHidden") && player_.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming);
}
}
if (this.transformType.firstPerson() && renderingArms) {
AbstractClientPlayer player = mc.player;
if (player == null) {
return;
}
PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player);
PlayerModel<AbstractClientPlayer> model = playerRenderer.getModel();
stack.pushPose();
RenderUtils.translateMatrixToBone(stack, bone);
RenderUtils.translateToPivotPoint(stack, bone);
RenderUtils.rotateMatrixAroundBone(stack, bone);
RenderUtils.scaleMatrixForBone(stack, bone);
RenderUtils.translateAwayFromPivotPoint(stack, bone);
ResourceLocation loc = player.getSkinTextureLocation();
VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc));
VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc));
if (name.equals("Lefthand")) {
stack.translate(-1.0f * SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.leftArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.leftSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
} else {
stack.translate(SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.rightArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.rightSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
}
this.currentBuffer.getBuffer(this.renderType);
stack.popPose();
}
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, red, green, blue, alpha);
}
@Override @Override
public ResourceLocation getTextureLocation(SvdItem instance) { public ResourceLocation getTextureLocation(SvdItem instance) {
return super.getTextureLocation(instance); return super.getTextureLocation(instance);

View file

@ -1,11 +1,29 @@
package net.mcreator.superbwarfare.client.renderer.item; package net.mcreator.superbwarfare.client.renderer.item;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.client.layer.TaserLayer; import net.mcreator.superbwarfare.client.layer.TaserLayer;
import net.mcreator.superbwarfare.client.layer.TaserLayer2; import net.mcreator.superbwarfare.client.layer.TaserLayer2;
import net.mcreator.superbwarfare.item.gun.Taser;
import net.mcreator.superbwarfare.client.model.item.TaserItemModel; import net.mcreator.superbwarfare.client.model.item.TaserItemModel;
import net.mcreator.superbwarfare.item.gun.Taser;
import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.PlayerModel;
import net.minecraft.client.player.AbstractClientPlayer;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.player.PlayerRenderer;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone;
import software.bernie.geckolib.renderer.GeoItemRenderer; import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.RenderUtils;
import java.util.HashSet;
import java.util.Set;
public class TaserItemRenderer extends GeoItemRenderer<Taser> { public class TaserItemRenderer extends GeoItemRenderer<Taser> {
public TaserItemRenderer() { public TaserItemRenderer() {
@ -14,6 +32,86 @@ public class TaserItemRenderer extends GeoItemRenderer<Taser> {
this.addRenderLayer(new TaserLayer2(this)); this.addRenderLayer(new TaserLayer2(this));
} }
@Override
public RenderType getRenderType(Taser animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f;
protected boolean renderArms = false;
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
protected Taser animatable;
private final Set<String> hiddenBones = new HashSet<>();
@Override
public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) {
this.transformType = transformType;
if (this.animatable != null)
this.animatable.getTransformType(transformType);
super.renderByItem(stack, transformType, matrixStack, bufferIn, combinedLightIn, p_239207_6_);
}
@Override
public void actuallyRender(PoseStack matrixStackIn, Taser animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn,
int packedOverlayIn, float red, float green, float blue, float alpha) {
this.currentBuffer = renderTypeBuffer;
this.renderType = type;
this.animatable = animatable;
super.actuallyRender(matrixStackIn, animatable, model, type, renderTypeBuffer, vertexBuilder, isRenderer, partialTicks, packedLightIn, packedOverlayIn, red, green, blue, alpha);
if (this.renderArms) {
this.renderArms = false;
}
}
@Override
public void renderRecursively(PoseStack stack, Taser animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red,
float green, float blue, float alpha) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
if (this.transformType.firstPerson() && renderingArms) {
AbstractClientPlayer player = mc.player;
if (player == null) {
return;
}
PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player);
PlayerModel<AbstractClientPlayer> model = playerRenderer.getModel();
stack.pushPose();
RenderUtils.translateMatrixToBone(stack, bone);
RenderUtils.translateToPivotPoint(stack, bone);
RenderUtils.rotateMatrixAroundBone(stack, bone);
RenderUtils.scaleMatrixForBone(stack, bone);
RenderUtils.translateAwayFromPivotPoint(stack, bone);
ResourceLocation loc = player.getSkinTextureLocation();
VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc));
VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc));
if (name.equals("Lefthand")) {
stack.translate(-1.0f * SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.leftArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.leftSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
} else {
stack.translate(SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.rightArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.rightSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
}
this.currentBuffer.getBuffer(this.renderType);
stack.popPose();
}
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, red, green, blue, alpha);
}
@Override @Override
public ResourceLocation getTextureLocation(Taser instance) { public ResourceLocation getTextureLocation(Taser instance) {
return super.getTextureLocation(instance); return super.getTextureLocation(instance);

View file

@ -1,10 +1,30 @@
package net.mcreator.superbwarfare.client.renderer.item; package net.mcreator.superbwarfare.client.renderer.item;
import net.mcreator.superbwarfare.item.gun.VectorItem; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.client.layer.VectorLayer; import net.mcreator.superbwarfare.client.layer.VectorLayer;
import net.mcreator.superbwarfare.client.model.item.VectorItemModel; import net.mcreator.superbwarfare.client.model.item.VectorItemModel;
import net.mcreator.superbwarfare.item.gun.VectorItem;
import net.mcreator.superbwarfare.network.ModVariables;
import net.mcreator.superbwarfare.tools.AnimUtils;
import net.minecraft.client.Minecraft;
import net.minecraft.client.model.PlayerModel;
import net.minecraft.client.player.AbstractClientPlayer;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.player.PlayerRenderer;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone;
import software.bernie.geckolib.renderer.GeoItemRenderer; import software.bernie.geckolib.renderer.GeoItemRenderer;
import software.bernie.geckolib.util.RenderUtils;
import java.util.HashSet;
import java.util.Set;
public class VectorItemRenderer extends GeoItemRenderer<VectorItem> { public class VectorItemRenderer extends GeoItemRenderer<VectorItem> {
public VectorItemRenderer() { public VectorItemRenderer() {
@ -12,6 +32,98 @@ public class VectorItemRenderer extends GeoItemRenderer<VectorItem> {
this.addRenderLayer(new VectorLayer(this)); this.addRenderLayer(new VectorLayer(this));
} }
@Override
public RenderType getRenderType(VectorItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
private static final float SCALE_RECIPROCAL = 1.0f / 16.0f;
protected boolean renderArms = false;
protected MultiBufferSource currentBuffer;
protected RenderType renderType;
public ItemDisplayContext transformType;
protected VectorItem animatable;
private final Set<String> hiddenBones = new HashSet<>();
@Override
public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) {
this.transformType = transformType;
if (this.animatable != null)
this.animatable.getTransformType(transformType);
super.renderByItem(stack, transformType, matrixStack, bufferIn, combinedLightIn, p_239207_6_);
}
@Override
public void actuallyRender(PoseStack matrixStackIn, VectorItem animatable, BakedGeoModel model, RenderType type, MultiBufferSource renderTypeBuffer, VertexConsumer vertexBuilder, boolean isRenderer, float partialTicks, int packedLightIn,
int packedOverlayIn, float red, float green, float blue, float alpha) {
this.currentBuffer = renderTypeBuffer;
this.renderType = type;
this.animatable = animatable;
super.actuallyRender(matrixStackIn, animatable, model, type, renderTypeBuffer, vertexBuilder, isRenderer, partialTicks, packedLightIn, packedOverlayIn, red, green, blue, alpha);
if (this.renderArms) {
this.renderArms = false;
}
}
@Override
public void renderRecursively(PoseStack stack, VectorItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, float red,
float green, float blue, float alpha) {
Minecraft mc = Minecraft.getInstance();
String name = bone.getName();
boolean renderingArms = false;
if (name.equals("Lefthand") || name.equals("Righthand")) {
bone.setHidden(true);
renderingArms = true;
} else {
bone.setHidden(this.hiddenBones.contains(name));
}
if (name.equals("holo")) {
Player player = Minecraft.getInstance().player;
ItemStack itemStack = null;
if (player != null) {
itemStack = player.getMainHandItem();
}
if (player != null) {
bone.setHidden(itemStack.getOrCreateTag().getBoolean("HoloHidden") || !player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).zooming);
}
}
if (this.transformType.firstPerson() && renderingArms) {
AbstractClientPlayer player = mc.player;
if (player == null) {
return;
}
PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(player);
PlayerModel<AbstractClientPlayer> model = playerRenderer.getModel();
stack.pushPose();
RenderUtils.translateMatrixToBone(stack, bone);
RenderUtils.translateToPivotPoint(stack, bone);
RenderUtils.rotateMatrixAroundBone(stack, bone);
RenderUtils.scaleMatrixForBone(stack, bone);
RenderUtils.translateAwayFromPivotPoint(stack, bone);
ResourceLocation loc = player.getSkinTextureLocation();
VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc));
VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc));
if (name.equals("Lefthand")) {
stack.translate(-1.0f * SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.leftArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.leftSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
} else {
stack.translate(SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f);
AnimUtils.renderPartOverBone(model.rightArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
AnimUtils.renderPartOverBone(model.rightSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1);
}
this.currentBuffer.getBuffer(this.renderType);
stack.popPose();
}
super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, red, green, blue, alpha);
}
@Override @Override
public ResourceLocation getTextureLocation(VectorItem instance) { public ResourceLocation getTextureLocation(VectorItem instance) {
return super.getTextureLocation(instance); return super.getTextureLocation(instance);

View file

@ -0,0 +1,25 @@
package net.mcreator.superbwarfare.client.screens;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.screens.inventory.InventoryScreen;
import net.minecraft.world.entity.player.Player;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.event.RenderGuiEvent;
import net.minecraftforge.eventbus.api.EventPriority;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;
@Mod.EventBusSubscriber({Dist.CLIENT})
public class ArmRendererFixOverlay {
@SubscribeEvent(priority = EventPriority.NORMAL)
public static void eventHandler(RenderGuiEvent.Pre event) {
int w = event.getWindow().getGuiScaledWidth();
int h = event.getWindow().getGuiScaledHeight();
Player entity = Minecraft.getInstance().player;
if (entity != null) {
InventoryScreen.renderEntityInInventoryFollowsAngle(event.getGuiGraphics(), w / 2 - 114514, h / 2 + 22, 1, 0f, 0, entity);
}
}
}

View file

@ -9,7 +9,6 @@ import net.mcreator.superbwarfare.init.ModItems;
import net.mcreator.superbwarfare.init.ModSounds; import net.mcreator.superbwarfare.init.ModSounds;
import net.mcreator.superbwarfare.init.ModTags; import net.mcreator.superbwarfare.init.ModTags;
import net.mcreator.superbwarfare.item.AnimatedItem; import net.mcreator.superbwarfare.item.AnimatedItem;
import net.mcreator.superbwarfare.network.ModVariables;
import net.mcreator.superbwarfare.tools.GunsTool; import net.mcreator.superbwarfare.tools.GunsTool;
import net.mcreator.superbwarfare.tools.RarityTool; import net.mcreator.superbwarfare.tools.RarityTool;
import net.mcreator.superbwarfare.tools.TooltipTool; import net.mcreator.superbwarfare.tools.TooltipTool;
@ -129,10 +128,6 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem {
if (this.animationProcedure.equals("empty")) { if (this.animationProcedure.equals("empty")) {
if ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).zooming && stack.getOrCreateTag().getInt("bolt_action_anim") > 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sentinel.shift2"));
}
if (stack.getOrCreateTag().getInt("bolt_action_anim") > 0) { if (stack.getOrCreateTag().getInt("bolt_action_anim") > 0) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sentinel.shift")); return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sentinel.shift"));
} }

View file

@ -9,6 +9,14 @@
"scale": { "scale": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
} }
},
"Lefthand": {
"rotation": {
"vector": [-36.92278, -14.87784, 55.91421]
},
"position": {
"vector": [-1.3, 1.55, -1.15]
}
} }
} }
}, },
@ -65,6 +73,14 @@
"easing": "easeOutSine" "easing": "easeOutSine"
} }
} }
},
"Lefthand": {
"rotation": {
"vector": [-36.92278, -14.87784, 55.91421]
},
"position": {
"vector": [-1.3, 1.55, -1.15]
}
} }
} }
}, },
@ -137,6 +153,14 @@
"vector": [-0.3, -0.3, 0.3] "vector": [-0.3, -0.3, 0.3]
} }
} }
},
"Lefthand": {
"rotation": {
"vector": [-36.92278, -14.87784, 55.91421]
},
"position": {
"vector": [-1.3, 1.55, -1.15]
}
} }
} }
}, },
@ -292,6 +316,14 @@
"scale": { "scale": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
} }
},
"Lefthand": {
"rotation": {
"vector": [-36.92278, -14.87784, 55.91421]
},
"position": {
"vector": [-1.3, 1.55, -1.15]
}
} }
} }
}, },
@ -310,6 +342,14 @@
"scale": { "scale": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
} }
},
"Lefthand": {
"rotation": {
"vector": [-36.92278, -14.87784, 55.91421]
},
"position": {
"vector": [-1.3, 1.55, -1.15]
}
} }
} }
}, },
@ -372,15 +412,15 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.0833": { "0.0833": {
"vector": [5.32205, -11.40296, 4.10285], "vector": [-5.322, 11.403, 4.10285],
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"0.25": { "0.25": {
"vector": [20.32, -11.4, 4.1], "vector": [-20.32, 11.4, 4.1],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"0.4": { "0.4": {
"vector": [5.32205, -11.40296, 4.10285], "vector": [-5.322, 11.403, 4.10285],
"easing": "easeInOutCubic" "easing": "easeInOutCubic"
}, },
"0.5333": { "0.5333": {
@ -546,6 +586,14 @@
"easing": "easeInElastic" "easing": "easeInElastic"
} }
} }
},
"Lefthand": {
"rotation": {
"vector": [-36.92278, -14.87784, 55.91421]
},
"position": {
"vector": [-1.3, 1.55, -1.15]
}
} }
} }
}, },
@ -608,15 +656,15 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.0667": { "0.0667": {
"vector": [5.32205, -11.40296, 4.10285], "vector": [-5.322, 11.403, 4.10285],
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"0.1667": { "0.1667": {
"vector": [20.32, -11.4, 4.1], "vector": [-20.32, 11.4, 4.1],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"0.2833": { "0.2833": {
"vector": [5.32205, -11.40296, 4.10285], "vector": [-5.322, 11.403, 4.10285],
"easing": "easeInOutCubic" "easing": "easeInOutCubic"
}, },
"0.4167": { "0.4167": {
@ -779,6 +827,14 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
} }
} }
},
"Lefthand": {
"rotation": {
"vector": [-36.92278, -14.87784, 55.91421]
},
"position": {
"vector": [-1.3, 1.55, -1.15]
}
} }
} }
}, },
@ -815,22 +871,22 @@
"Lefthand": { "Lefthand": {
"rotation": { "rotation": {
"0.0": { "0.0": {
"vector": [0, 0, 0] "vector": [-36.92278, -14.87784, 55.91421]
}, },
"0.0833": { "0.0833": {
"vector": [-1.12286, 7.82711, -19.68823] "vector": [-36.92278, -14.87784, 55.91421]
}, },
"0.25": { "0.25": {
"vector": [12.69213, -0.68315, -40.25932], "vector": [-69.73114, -16.81988, 61.84372],
"easing": "linear" "easing": "linear"
} }
}, },
"position": { "position": {
"0.0": { "0.0": {
"vector": [0, 0, 0] "vector": [-1.3, 1.55, -1.15]
}, },
"0.0833": { "0.0833": {
"vector": [3.24949, 1.77211, -0.93576] "vector": [-1.3, 1.55, -1.15]
}, },
"0.1333": { "0.1333": {
"vector": [3.71625, 2.71032, -0.24509] "vector": [3.71625, 2.71032, -0.24509]
@ -929,20 +985,20 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.3167": { "0.3167": {
"vector": [2.49898, 18.30589, 22.22575], "vector": [-2.499, -18.3059, 22.22575],
"easing": "easeOutCirc" "easing": "easeOutCirc"
}, },
"0.4167": { "0.4167": {
"vector": [5.54139, 16.26529, 25.40123] "vector": [-5.5414, -16.2653, 25.40123]
}, },
"0.5333": { "0.5333": {
"vector": [4.52498, 24.12049, 46.3089] "vector": [-4.525, -24.1205, 46.3089]
}, },
"0.5833": { "0.5833": {
"vector": [4.52498, 24.12049, 46.3089] "vector": [-4.525, -24.1205, 46.3089]
}, },
"0.7083": { "0.7083": {
"vector": [2.98434, 25.08442, 28.7855] "vector": [-2.9843, -25.0844, 28.7855]
}, },
"0.8333": { "0.8333": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
@ -982,11 +1038,11 @@
"Lefthand": { "Lefthand": {
"rotation": { "rotation": {
"0.0": { "0.0": {
"vector": [12.69213, -0.68315, -40.25932], "vector": [-72.73114, -16.81988, 61.84372],
"easing": "linear" "easing": "linear"
}, },
"0.8333": { "0.8333": {
"vector": [12.69213, -0.68315, -40.25932], "vector": [-72.73114, -16.81988, 61.84372],
"easing": "linear" "easing": "linear"
} }
}, },
@ -1176,20 +1232,20 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.3167": { "0.3167": {
"vector": [2.49898, 18.30589, 22.22575], "vector": [-2.499, -18.3059, 22.22575],
"easing": "easeOutCirc" "easing": "easeOutCirc"
}, },
"0.4167": { "0.4167": {
"vector": [5.54139, 16.26529, 25.40123] "vector": [-5.5414, -16.2653, 25.40123]
}, },
"0.5333": { "0.5333": {
"vector": [4.52498, 24.12049, 46.3089] "vector": [-4.525, -24.1205, 46.3089]
}, },
"0.5833": { "0.5833": {
"vector": [4.52498, 24.12049, 46.3089] "vector": [-4.525, -24.1205, 46.3089]
}, },
"0.7083": { "0.7083": {
"vector": [2.98434, 25.08442, 28.7855] "vector": [-2.9843, -25.0844, 28.7855]
}, },
"0.8333": { "0.8333": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
@ -1229,11 +1285,11 @@
"Lefthand": { "Lefthand": {
"rotation": { "rotation": {
"0.0": { "0.0": {
"vector": [12.69213, -0.68315, -40.25932], "vector": [-72.73114, -16.81988, 61.84372],
"easing": "linear" "easing": "linear"
}, },
"0.8333": { "0.8333": {
"vector": [12.69213, -0.68315, -40.25932], "vector": [-72.73114, -16.81988, 61.84372],
"easing": "linear" "easing": "linear"
} }
}, },
@ -1430,15 +1486,15 @@
"Righthand": { "Righthand": {
"rotation": { "rotation": {
"0.1417": { "0.1417": {
"vector": [5.32205, -11.40296, 4.10285], "vector": [-5.322, 11.403, 4.10285],
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"0.3417": { "0.3417": {
"vector": [20.32, -11.4, 4.1], "vector": [-20.32, 11.4, 4.1],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"0.5417": { "0.5417": {
"vector": [5.32205, -11.40296, 4.10285], "vector": [-5.322, 11.403, 4.10285],
"easing": "easeInOutCubic" "easing": "easeInOutCubic"
}, },
"0.675": { "0.675": {
@ -1466,14 +1522,14 @@
"Lefthand": { "Lefthand": {
"rotation": { "rotation": {
"0.0": { "0.0": {
"vector": [12.69213, -0.68315, -40.25932], "vector": [-69.73114, -16.81988, 61.84372],
"easing": "linear" "easing": "linear"
}, },
"0.325": { "0.325": {
"vector": [6.76668, 20.84565, -53.2677] "vector": [-46.1235, -16.17767, 13.61388]
}, },
"0.575": { "0.575": {
"vector": [0, 0, 0] "vector": [-36.92278, -14.87784, 55.91421]
} }
}, },
"position": { "position": {
@ -1481,20 +1537,14 @@
"vector": [3.68428, 6.19247, 0.90079], "vector": [3.68428, 6.19247, 0.90079],
"easing": "linear" "easing": "linear"
}, },
"0.1417": {
"vector": [6.22315, 6.73629, -0.78026]
},
"0.325": { "0.325": {
"vector": [5.49541, 9.67444, -0.19151] "vector": [3.72757, 8.02813, -1.43582]
}, },
"0.4583": { "0.4583": {
"vector": [4.30609, 2.64766, -2.19] "vector": [2.00609, 4.04766, -2.19]
},
"0.5417": {
"vector": [0.99563, 0.39672, -0.63]
}, },
"0.575": { "0.575": {
"vector": [0, 0, 0] "vector": [-1.3, 1.55, -1.15]
} }
} }
}, },

View file

@ -145,7 +145,7 @@
}, },
"animation.m14.run_fast": { "animation.m14.run_fast": {
"loop": true, "loop": true,
"animation_length": 0.7, "animation_length": 0.725,
"bones": { "bones": {
"0": { "0": {
"rotation": { "rotation": {
@ -548,15 +548,15 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.525": { "0.525": {
"vector": [20.35457, 19.16824, 27.5538], "vector": [-10.28, 21.2, 15.1],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"0.675": { "0.675": {
"vector": [15.07652, 16.71082, 15.11822], "vector": [-10.27945, 21.19767, 15.09535],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"2.05": { "2.05": {
"vector": [15.07652, 16.71082, 15.11822], "vector": [-10.27945, 21.19767, 15.09535],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"2.45": { "2.45": {
@ -569,15 +569,15 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.525": { "0.525": {
"vector": [0, 0.1, 7.9], "vector": [-0.8, 0.7, 7.3],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"0.675": { "0.675": {
"vector": [0, 0.1, 7.1], "vector": [-0.8, 0.7, 7.3],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"2.05": { "2.05": {
"vector": [0, 0.1, 7.1], "vector": [-0.8, 0.7, 7.3],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"2.45": { "2.45": {
@ -608,18 +608,18 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"2.825": { "2.825": {
"vector": [-8.03962, 11.95555, -4.15338], "vector": [8.0396, -11.9556, -4.15338],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"3.0": { "3.0": {
"vector": [-8.03718, 13.13495, 1.77723] "vector": [8.0372, -13.1349, 1.77723]
}, },
"3.2": { "3.2": {
"vector": [-7.93653, 10.93397, -4.86892], "vector": [7.9365, -10.934, -4.86892],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"3.35": { "3.35": {
"vector": [0.99556, 10.40823, -15.83892], "vector": [-0.9956, -10.4082, -15.83892],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"3.525": { "3.525": {
@ -770,11 +770,6 @@
} }
} }
} }
},
"sound_effects": {
"0.0": {
"effect": "mk_14_reload_empty"
}
} }
}, },
"animation.m14.reload_normal": { "animation.m14.reload_normal": {
@ -983,15 +978,15 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.525": { "0.525": {
"vector": [20.35457, 19.16824, 27.5538], "vector": [-10.28, 21.2, 15.1],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"0.675": { "0.675": {
"vector": [15.07652, 16.71082, 15.11822], "vector": [-10.27945, 21.19767, 15.09535],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"2.05": { "2.05": {
"vector": [15.07652, 16.71082, 15.11822], "vector": [-10.27945, 21.19767, 15.09535],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"2.45": { "2.45": {
@ -1004,15 +999,15 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.525": { "0.525": {
"vector": [0, 0.1, 7.9], "vector": [-0.8, 0.7, 7.3],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"0.675": { "0.675": {
"vector": [0, 0.1, 7.1], "vector": [-0.8, 0.7, 7.3],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"2.05": { "2.05": {
"vector": [0, 0.1, 7.1], "vector": [-0.8, 0.7, 7.3],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"2.45": { "2.45": {
@ -1113,11 +1108,6 @@
} }
} }
} }
},
"sound_effects": {
"0.0": {
"effect": "mk_14_reload_normal"
}
} }
} }
}, },

View file

@ -215,7 +215,7 @@
}, },
"Righthand": { "Righthand": {
"rotation": { "rotation": {
"vector": [6.14572, 9.14706, -6.29764] "vector": [-6.1457, -9.1471, -6.29764]
}, },
"position": { "position": {
"vector": [1.52734, 0.09375, 1.92969] "vector": [1.52734, 0.09375, 1.92969]
@ -386,57 +386,57 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.5": { "0.5": {
"vector": [-141.04367, -31.09727, 4.50202] "vector": [141.0437, 31.0973, 4.50202]
}, },
"0.8": { "0.8": {
"vector": [-99.19, -30.23, 8.59] "vector": [99.19, 30.23, 8.59]
}, },
"1.1": { "1.1": {
"vector": [-57.34, -29.37, 12.68] "vector": [57.34, 29.37, 12.68]
}, },
"1.3": { "1.3": {
"vector": [-4.12077, -31.60552, 16.4981] "vector": [4.1208, 31.6055, 16.4981]
}, },
"1.6": { "1.6": {
"vector": [-12.2, -20.4, 5.1] "vector": [12.2, 20.4, 5.1]
}, },
"1.8": { "1.8": {
"vector": [-17.5872, -12.92521, -2.49731] "vector": [17.5872, 12.9252, -2.49731]
}, },
"1.9": { "1.9": {
"vector": [-5.5872, -9.92521, -12.49731], "vector": [5.5872, 9.9252, -12.49731],
"easing": "easeInOutSine" "easing": "easeInOutSine"
}, },
"2.0": { "2.0": {
"vector": [-17.5872, -9.92521, -23.49731], "vector": [17.5872, 9.9252, -23.49731],
"easing": "easeInOutSine" "easing": "easeInOutSine"
}, },
"2.3": { "2.3": {
"vector": [-17.5872, -12.92521, 23.50269] "vector": [17.5872, 12.9252, 23.50269]
}, },
"2.5": { "2.5": {
"vector": [-17.5872, -12.92521, -2.49731] "vector": [17.5872, 12.9252, -2.49731]
}, },
"2.8": { "2.8": {
"vector": [11.41661, -4.9823, 17.59188], "vector": [-11.4166, 4.9823, 17.59188],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"2.9": { "2.9": {
"vector": [11.41661, -4.9823, 17.59188], "vector": [-11.4166, 4.9823, 17.59188],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"3.1": { "3.1": {
"vector": [-0.39232, -6.37027, -13.80709] "vector": [0.3923, 6.3703, -13.80709]
}, },
"3.2": { "3.2": {
"vector": [-0.39232, -6.37027, -13.80709] "vector": [0.3923, 6.3703, -13.80709]
}, },
"3.4": { "3.4": {
"vector": [11.41661, -4.9823, 17.59188], "vector": [-11.4166, 4.9823, 17.59188],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"3.8": { "3.8": {
"vector": [25.17572, -31.49409, 0.56802], "vector": [-25.1757, 31.4941, 0.56802],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"4.1": { "4.1": {
@ -683,7 +683,7 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"4.3": { "4.3": {
"vector": [-4, 3, 8] "vector": [4, -3, 8]
}, },
"4.5": { "4.5": {
"vector": [0, 0, 0] "vector": [0, 0, 0]

View file

@ -3,17 +3,7 @@
"animations": { "animations": {
"animation.ak47.idle": { "animation.ak47.idle": {
"loop": true, "loop": true,
"animation_length": 1, "animation_length": 1
"bones": {
"Lefthand": {
"rotation": {
"vector": [-13.63191, -29.3657, -16.88895]
},
"position": {
"vector": [0.025, -0.11563, -1.60625]
}
}
}
}, },
"animation.ak47.draw": { "animation.ak47.draw": {
"animation_length": 0.9, "animation_length": 0.9,
@ -51,14 +41,6 @@
} }
} }
}, },
"Lefthand": {
"rotation": {
"vector": [-13.63191, -29.3657, -16.88895]
},
"position": {
"vector": [0.025, -0.11563, -1.60625]
}
},
"camera": { "camera": {
"rotation": { "rotation": {
"0.0": { "0.0": {
@ -124,11 +106,11 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.2": { "0.2": {
"vector": [-0.78478, 1.92167, -26.98046], "vector": [0.7848, -1.9217, -26.98046],
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"0.3": { "0.3": {
"vector": [8.15618, 10.19589, -5.96653], "vector": [-8.1562, -10.1959, -5.96653],
"easing": "easeInOutSine" "easing": "easeInOutSine"
}, },
"0.5": { "0.5": {
@ -149,14 +131,6 @@
"easing": "easeInOutSine" "easing": "easeInOutSine"
} }
} }
},
"Lefthand": {
"rotation": {
"vector": [-13.63191, -29.3657, -16.88895]
},
"position": {
"vector": [0.025, -0.11563, -1.60625]
}
} }
} }
}, },
@ -205,11 +179,11 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.2": { "0.2": {
"vector": [8.15618, 10.19589, -5.96653], "vector": [-8.1562, -10.1959, -5.96653],
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"0.3": { "0.3": {
"vector": [5.21522, 1.92167, -26.98046], "vector": [-5.2152, -1.9217, -26.98046],
"easing": "easeInOutSine" "easing": "easeInOutSine"
}, },
"0.5": { "0.5": {
@ -233,14 +207,6 @@
"easing": "easeInOutSine" "easing": "easeInOutSine"
} }
} }
},
"Lefthand": {
"rotation": {
"vector": [-13.63191, -29.3657, -16.88895]
},
"position": {
"vector": [0.025, -0.11563, -1.60625]
}
} }
} }
}, },
@ -308,14 +274,6 @@
"vector": [-0.3, -0.3, 0.3] "vector": [-0.3, -0.3, 0.3]
} }
} }
},
"Lefthand": {
"rotation": {
"vector": [-13.63191, -29.3657, -16.88895]
},
"position": {
"vector": [0.025, -0.11563, -1.60625]
}
} }
} }
}, },
@ -403,17 +361,7 @@
}, },
"animation.ak47.fire": { "animation.ak47.fire": {
"animation_length": 0.05, "animation_length": 0.05,
"override_previous_animation": true, "override_previous_animation": true
"bones": {
"Lefthand": {
"rotation": {
"vector": [-13.63191, -29.3657, -16.88895]
},
"position": {
"vector": [0.025, -0.11563, -1.60625]
}
}
}
}, },
"animation.ak47.reload_empty": { "animation.ak47.reload_empty": {
"loop": "hold_on_last_frame", "loop": "hold_on_last_frame",
@ -717,71 +665,78 @@
}, },
"Lefthand": { "Lefthand": {
"rotation": { "rotation": {
"0.0": { "0.3167": {
"vector": [-13.63191, -29.3657, -16.88895] "vector": [0, 0, 0]
}, },
"0.1333": { "0.4333": {
"vector": [-13.63191, -29.3657, -16.88895] "vector": [21.5018, 24.86704, -19.88085],
"easing": "linear"
}, },
"0.2833": { "0.7": {
"vector": [-5.59992, -15.19651, 11.81238] "vector": [21.5018, 24.86704, -19.88085],
},
"0.5833": {
"vector": [14.12373, -11.09281, 25.14677]
},
"2.3": {
"vector": [14.12373, -11.09281, 25.14677]
},
"2.3833": {
"vector": [26.69687, -23.84553, 18.95298]
},
"2.5333": {
"vector": [39.4566, -33.52813, 36.0472]
},
"2.6167": {
"vector": [21.75908, -21.54018, 13.02377],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"2.7167": { "2.3833": {
"vector": [21.75908, -21.54018, 13.02377] "vector": [21.5018, 24.86704, -19.88085],
"easing": "easeInElastic"
}, },
"3.0333": { "2.5667": {
"vector": [8.3734, -16.00221, -1.42197] "vector": [15.98147, 57.29761, 1.4882],
"easing": "easeInElastic"
}, },
"3.1167": { "2.6833": {
"vector": [-13.63191, -29.3657, -16.88895] "vector": [17.10695, 28.59421, -18.3759],
"easing": "easeInElastic"
},
"2.7333": {
"vector": [17.10695, 28.59421, -18.3759],
"easing": "easeInElastic"
},
"2.8": {
"vector": [21.19557, 27.6615, -18.74727],
"easing": "easeInElastic"
},
"3.0833": {
"vector": [0, 0, 0],
"easing": "easeOutSine"
} }
}, },
"position": { "position": {
"0.0": { "0.3167": {
"vector": [0.025, -0.11563, -1.60625] "vector": [0, 0, 0]
}, },
"0.1667": { "0.5": {
"vector": [0.025, -0.11563, -1.60625] "vector": [-2.29096, -0.9323, 6.56616]
}, },
"0.4167": { "0.6167": {
"vector": [-0.60795, -2.68839, 4.36626] "vector": [-2.22489, -1.18104, 6.66082],
},
"0.5833": {
"vector": [-2.22489, -1.18104, 6.66082]
},
"2.3": {
"vector": [-2.22489, -1.18104, 6.66082]
},
"2.5333": {
"vector": [-2.72279, -0.4342, 9.52345],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"2.6167": { "0.7": {
"vector": [-2.86, -1.59, 7.89], "vector": [-2.22489, -1.18104, 6.66082],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"2.7167": { "2.3833": {
"vector": [-2.86, -1.59, 7.89], "vector": [-2.22489, -1.18104, 6.66082],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"3.1167": { "2.5667": {
"vector": [0.025, -0.11563, -1.60625] "vector": [-2.22489, -1.18104, 6.66082],
"easing": "easeInElastic"
},
"2.6833": {
"vector": [-2.22489, -1.18104, 6.66082],
"easing": "easeInElastic"
},
"2.7333": {
"vector": [-2.22489, -1.18104, 6.66082],
"easing": "easeInElastic"
},
"2.95": {
"vector": [-1.18452, -0.34374, 2.77435]
},
"3.0833": {
"vector": [0, 0, 0]
} }
} }
}, },
@ -791,22 +746,22 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"3.35": { "3.35": {
"vector": [8.28212, 20.95701, 9.9358] "vector": [-8.2821, -20.957, 9.9358]
}, },
"3.45": { "3.45": {
"vector": [-1.95978, 11.17581, -2.65919] "vector": [1.9598, -11.1758, -2.65919]
}, },
"3.55": { "3.55": {
"vector": [-1.95978, 11.17581, -2.65919] "vector": [1.9598, -11.1758, -2.65919]
}, },
"3.65": { "3.65": {
"vector": [-1.95978, 11.17581, -2.65919] "vector": [1.9598, -11.1758, -2.65919]
}, },
"3.75": { "3.75": {
"vector": [-1.95978, 11.17581, -2.65919] "vector": [1.9598, -11.1758, -2.65919]
}, },
"4.05": { "4.05": {
"vector": [19.28212, 20.95701, 9.9358] "vector": [-19.2821, -20.957, 9.9358]
}, },
"4.15": { "4.15": {
"vector": [0, 0, 0], "vector": [0, 0, 0],
@ -942,7 +897,7 @@
}, },
"sound_effects": { "sound_effects": {
"0.0": { "0.0": {
"effect": "devotion_reload_empty" "effect": "rpk_reload_empty"
} }
} }
}, },
@ -1183,71 +1138,78 @@
}, },
"Lefthand": { "Lefthand": {
"rotation": { "rotation": {
"0.0": { "0.3167": {
"vector": [-13.63191, -29.3657, -16.88895] "vector": [0, 0, 0]
}, },
"0.1333": { "0.4333": {
"vector": [-13.63191, -29.3657, -16.88895] "vector": [21.5018, 24.86704, -19.88085],
"easing": "linear"
}, },
"0.2833": { "0.7": {
"vector": [0, 0, 26] "vector": [21.5018, 24.86704, -19.88085],
},
"0.5833": {
"vector": [14.12373, -11.09281, 25.14677]
},
"2.3": {
"vector": [14.12373, -11.09281, 25.14677]
},
"2.3833": {
"vector": [26.69687, -23.84553, 18.95298]
},
"2.5333": {
"vector": [39.4566, -33.52813, 36.0472]
},
"2.6167": {
"vector": [21.75908, -21.54018, 13.02377],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"2.7167": { "2.3833": {
"vector": [21.75908, -21.54018, 13.02377] "vector": [21.5018, 24.86704, -19.88085],
"easing": "easeInElastic"
}, },
"3.0333": { "2.5667": {
"vector": [8.3734, -16.00221, -1.42197] "vector": [15.98147, 57.29761, 1.4882],
"easing": "easeInElastic"
}, },
"3.1167": { "2.6833": {
"vector": [-13.63191, -29.3657, -16.88895] "vector": [17.10695, 28.59421, -18.3759],
"easing": "easeInElastic"
},
"2.7333": {
"vector": [17.10695, 28.59421, -18.3759],
"easing": "easeInElastic"
},
"2.8": {
"vector": [21.19557, 27.6615, -18.74727],
"easing": "easeInElastic"
},
"3.0833": {
"vector": [0, 0, 0],
"easing": "easeOutSine"
} }
}, },
"position": { "position": {
"0.0": { "0.3167": {
"vector": [0.025, -0.11563, -1.60625] "vector": [0, 0, 0]
}, },
"0.1667": { "0.5": {
"vector": [0.025, -0.11563, -1.60625] "vector": [-2.29096, -0.9323, 6.56616]
}, },
"0.4167": { "0.6167": {
"vector": [-0.60795, -2.68839, 4.36626] "vector": [-2.22489, -1.18104, 6.66082],
},
"0.5833": {
"vector": [-2.22489, -1.18104, 6.66082]
},
"2.3": {
"vector": [-2.22489, -1.18104, 6.66082]
},
"2.5333": {
"vector": [-2.72279, -0.4342, 9.52345],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"2.6167": { "0.7": {
"vector": [-2.86, -1.59, 7.89], "vector": [-2.22489, -1.18104, 6.66082],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"2.7167": { "2.3833": {
"vector": [-2.86, -1.59, 7.89], "vector": [-2.22489, -1.18104, 6.66082],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"3.1167": { "2.5667": {
"vector": [0.025, -0.11563, -1.60625] "vector": [-2.22489, -1.18104, 6.66082],
"easing": "easeInElastic"
},
"2.6833": {
"vector": [-2.22489, -1.18104, 6.66082],
"easing": "easeInElastic"
},
"2.7333": {
"vector": [-2.22489, -1.18104, 6.66082],
"easing": "easeInElastic"
},
"2.95": {
"vector": [-1.18452, -0.34374, 2.77435]
},
"3.0833": {
"vector": [0, 0, 0]
} }
} }
}, },
@ -1320,11 +1282,6 @@
} }
} }
} }
},
"sound_effects": {
"0.0": {
"effect": "devotion_reload_empty"
}
} }
} }
}, },

View file

@ -167,7 +167,7 @@
}, },
"Righthand": { "Righthand": {
"rotation": { "rotation": {
"vector": [0.91131, 14.09621, -8.80599] "vector": [-0.9113, -14.0962, -8.80599]
}, },
"position": { "position": {
"vector": [2.87519, -0.6965, 0.78255] "vector": [2.87519, -0.6965, 0.78255]
@ -229,28 +229,33 @@
"vector": [0, 0, 0], "vector": [0, 0, 0],
"easing": "easeInOutSine" "easing": "easeInOutSine"
}, },
"0.3": { "0.2": {
"vector": [-2, 0, -4], "vector": [-0.19988, 0.00698, 0.99999],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"0.3": {
"vector": [-1.57113, -0.42828, 13.16089],
"easing": "easeInSine"
},
"0.4": { "0.4": {
"vector": [-1.92, 0, 19.15], "vector": [-4.4686, -0.19009, 3.51355],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"0.5": { "0.6": {
"vector": [-8.92, 0, 4.15], "vector": [-0.25, -0.5, 4.82]
"easing": "easeInElastic"
}, },
"0.7": { "0.7": {
"vector": [-2.25, -4, 4.82] "vector": [2.28655, 1.56915, 2.11954]
}, },
"0.8": { "0.8": {
"vector": [1.08, 0, -9.85], "vector": [0.92716, 0.58779, -6.48154],
"easing": "linear" "easing": "easeInOutSine"
}, },
"0.9": { "0.9": {
"vector": [0, 0, 0], "vector": [0.49, 0, 0]
"easing": "easeInOutSine" },
"1.0": {
"vector": [0, 0, 0]
} }
}, },
"position": { "position": {
@ -258,90 +263,111 @@
"vector": [0, 0, 0], "vector": [0, 0, 0],
"easing": "easeInOutSine" "easing": "easeInOutSine"
}, },
"0.3": { "0.1": {
"vector": [0, 0, 0], "vector": [0, 0, 0],
"easing": "linear" "easing": "linear"
}, },
"0.5": { "0.3": {
"vector": [-0.1, 0, 1.9], "vector": [-0.21, -0.23, 0.32]
},
"0.4": {
"vector": [-0.2, -0.5, 0.3],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"0.5": {
"vector": [-0.3, -0.5, 0.6]
},
"0.6": { "0.6": {
"vector": [-0.1, 0, 1.6] "vector": [-0.3, -0.5, -1.4]
}, },
"0.7": { "0.7": {
"vector": [-0.3, 0, -1.9] "vector": [-0.1, -0.2, 0.1],
"easing": "easeInElastic"
}, },
"0.8": { "0.8": {
"vector": [-0.2, -0.4, 0.5] "vector": [0.14, -0.05, 0.2],
"easing": "easeInSine"
},
"0.9": {
"vector": [0.04, 0.1, 0.24478]
}, },
"1.0": { "1.0": {
"vector": [0, 0, 0], "vector": [0, 0, 0],
"easing": "easeInOutSine" "easing": "easeOutSine"
} }
} }
}, },
"Righthand": { "Righthand": {
"rotation": { "rotation": {
"0.1": { "0.0": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.3": { "0.1": {
"vector": [-11.05124, 19.47135, -3.30226], "vector": [16.59544, -8.00389, 2.51994],
"easing": "linear" "easing": "linear"
}, },
"0.2": {
"vector": [19.22102, -14.25631, 14.03819],
"easing": "easeInSine"
},
"0.3": {
"vector": [19.22102, -14.25631, 14.03819],
"easing": "easeInSine"
},
"0.4": { "0.4": {
"vector": [-2.21355, 15.26875, 0.47749], "vector": [19.22102, -14.25631, 14.03819],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"0.5": { "0.5": {
"vector": [-2.21355, 15.26875, 0.47749], "vector": [19.22102, -14.25631, 14.03819],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"0.6": { "0.6": {
"vector": [-2.21355, 15.26875, 0.47749], "vector": [19.22102, -14.25631, 14.03819],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"0.7": { "0.7": {
"vector": [-2.21355, 15.26875, 0.47749], "vector": [16.59544, -8.00389, 2.51994],
"easing": "easeInSine" "easing": "linear"
}, },
"0.8": { "0.9": {
"vector": [-11.05124, 19.47135, -3.30226]
},
"1.0": {
"vector": [0, 0, 0], "vector": [0, 0, 0],
"easing": "easeInElastic" "easing": "easeInElastic"
} }
}, },
"position": { "position": {
"0.1": { "0.0": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.3": { "0.1": {
"vector": [1.3, 1.8, 1.1], "vector": [-1, 0.6, -0.5],
"easing": "linear" "easing": "linear"
}, },
"0.2": {
"vector": [-1, 1.5, -0.5],
"easing": "easeInSine"
},
"0.3": {
"vector": [-1, 1.5, -0.5],
"easing": "easeInSine"
},
"0.4": { "0.4": {
"vector": [0.69956, 4.29369, 1.30686], "vector": [-1, 1.5, 2.7],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"0.5": { "0.5": {
"vector": [0.69956, 4.29369, 4.30686], "vector": [-1, 1.5, 2.7],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"0.6": { "0.6": {
"vector": [0.69956, 4.29369, 4.30686], "vector": [-1, 1.5, -0.5],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"0.7": { "0.7": {
"vector": [0.69956, 4.29369, 1.30686], "vector": [-1, 0.6, -0.5],
"easing": "easeInSine" "easing": "linear"
}, },
"0.8": { "0.9": {
"vector": [1.3, 1.3, 0.8]
},
"1.0": {
"vector": [0, 0, 0], "vector": [0, 0, 0],
"easing": "easeInElastic" "easing": "easeInElastic"
} }
@ -352,249 +378,54 @@
"0.0": { "0.0": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.3": {
"vector": [0, 0, 0]
},
"0.4": {
"vector": [0, 0, 35],
"easing": "easeInSine"
},
"0.7": {
"vector": [0, 0, 35]
},
"0.8": {
"vector": [0, 0, 0]
}
},
"position": {
"0.0": {
"vector": [0, 0, 0]
},
"0.3": {
"vector": [0, 0, 0]
},
"0.4": {
"vector": [0, 0, 0],
"easing": "easeInSine"
},
"0.5": {
"vector": [0, 0, 3.14453],
"easing": "easeInSine"
},
"0.6": {
"vector": [0, 0, 3.14453]
},
"0.7": {
"vector": [0, 0, 0],
"easing": "easeInSine"
},
"0.8": {
"vector": [0, 0, 0],
"easing": "easeInSine"
}
}
},
"camera": {
"rotation": {
"0.1": { "0.1": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.3": { "0.2": {
"vector": [-0.5, -0.8, -0.5] "vector": [0, 0, 30],
"easing": "easeInSine"
}, },
"0.5": { "0.3": {
"vector": [0.2, 0.4, 3], "vector": [0, 0, 30],
"easing": "easeInElastic" "easing": "easeInSine"
}, },
"0.6": { "0.6": {
"vector": [-0.1, -0.2, -2], "vector": [0, 0, 30],
"easing": "easeInElastic" "easing": "easeInSine"
},
"0.8": {
"vector": [0, 0, 1.5]
},
"0.9": {
"vector": [0, 0, -0.75]
},
"1.0": {
"vector": [0, 0, 0]
}
}
}
}
},
"animation.sentinel.shift2": {
"animation_length": 1.1,
"override_previous_animation": true,
"bones": {
"0": {
"rotation": {
"0.0": {
"vector": [0, 0, 0],
"easing": "easeInOutSine"
},
"0.3": {
"vector": [-2, 0, -4],
"easing": "easeInElastic"
},
"0.4": {
"vector": [-1.92, 0, 3.15],
"easing": "easeInElastic"
},
"0.5": {
"vector": [-2.92, 0, 1.15],
"easing": "easeInElastic"
}, },
"0.7": { "0.7": {
"vector": [-2.25, -2, 1.82] "vector": [0, 0, 0]
},
"0.8": {
"vector": [1.08, 0, -2.85],
"easing": "linear"
},
"0.9": {
"vector": [0, 0, 0],
"easing": "easeInOutSine"
} }
}, },
"position": { "position": {
"0.0": { "0.0": {
"vector": [0, 0, 0], "vector": [0, 0, 0]
"easing": "easeInOutSine"
}, },
"0.3": {
"vector": [0.00697, -0.0997, -0.00349],
"easing": "linear"
},
"0.5": {
"vector": [-0.10501, -0.24963, 0.98726],
"easing": "easeInElastic"
},
"0.6": {
"vector": [-0.10628, -0.24967, 1.08873]
},
"0.7": {
"vector": [-0.10759, -0.24969, -1.10981]
},
"0.8": {
"vector": [0.19503, -0.10014, 0.19812]
},
"1.0": {
"vector": [0, 0, 0],
"easing": "easeInOutSine"
}
}
},
"Righthand": {
"rotation": {
"0.1": { "0.1": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.2": {
"vector": [0, 0, 0],
"easing": "easeInSine"
},
"0.3": { "0.3": {
"vector": [-11.05124, 19.47135, -3.30226], "vector": [0, 0, 0],
"easing": "linear" "easing": "easeInSine"
}, },
"0.4": { "0.4": {
"vector": [-2.21355, 15.26875, 0.47749], "vector": [0, 0, 3.2],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"0.5": { "0.5": {
"vector": [-2.21355, 15.26875, 0.47749], "vector": [0, 0, 3.2]
"easing": "easeInSine"
}, },
"0.6": { "0.6": {
"vector": [-2.21355, 15.26875, 0.47749],
"easing": "easeInSine"
},
"0.7": {
"vector": [-2.21355, 15.26875, 0.47749],
"easing": "easeInSine"
},
"0.8": {
"vector": [-11.05124, 19.47135, -3.30226]
},
"1.0": {
"vector": [0, 0, 0],
"easing": "easeInElastic"
}
},
"position": {
"0.1": {
"vector": [0, 0, 0]
},
"0.3": {
"vector": [1.3, 1.8, 1.1],
"easing": "linear"
},
"0.4": {
"vector": [0.69956, 4.29369, 1.30686],
"easing": "easeInSine"
},
"0.5": {
"vector": [0.69956, 4.29369, 4.30686],
"easing": "easeInSine"
},
"0.6": {
"vector": [0.69956, 4.29369, 4.30686],
"easing": "easeInSine"
},
"0.7": {
"vector": [0.69956, 4.29369, 1.30686],
"easing": "easeInSine"
},
"0.8": {
"vector": [1.3, 1.3, 0.8]
},
"1.0": {
"vector": [0, 0, 0],
"easing": "easeInElastic"
}
}
},
"bolt": {
"rotation": {
"0.0": {
"vector": [0, 0, 0]
},
"0.3": {
"vector": [0, 0, 0]
},
"0.4": {
"vector": [0, 0, 35],
"easing": "easeInSine"
},
"0.7": {
"vector": [0, 0, 35]
},
"0.8": {
"vector": [0, 0, 0]
}
},
"position": {
"0.0": {
"vector": [0, 0, 0]
},
"0.3": {
"vector": [0, 0, 0]
},
"0.4": {
"vector": [0, 0, 0], "vector": [0, 0, 0],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"0.5": {
"vector": [0, 0, 3.14453],
"easing": "easeInSine"
},
"0.6": {
"vector": [0, 0, 3.14453]
},
"0.7": { "0.7": {
"vector": [0, 0, 0], "vector": [0, 0, 0],
"easing": "easeInSine" "easing": "easeInSine"
},
"0.8": {
"vector": [0, 0, 0],
"easing": "easeInSine"
} }
} }
}, },
@ -801,22 +632,22 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.325": { "0.325": {
"vector": [-7.18968, 20.51373, -8.85702], "vector": [7.1897, -20.5137, -8.85702],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"0.4": { "0.4": {
"vector": [-11.05124, 19.47135, -3.30226] "vector": [11.0512, -19.4714, -3.30226]
}, },
"0.475": { "0.475": {
"vector": [-9.59401, 27.18618, 35.64132], "vector": [9.594, -27.1862, 35.64132],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"0.55": { "0.55": {
"vector": [-9.59401, 27.18618, 35.64132], "vector": [9.594, -27.1862, 35.64132],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"0.675": { "0.675": {
"vector": [-4.14232, 19.79507, 13.70946] "vector": [4.1423, -19.7951, 13.70946]
}, },
"0.775": { "0.775": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
@ -825,18 +656,18 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"3.325": { "3.325": {
"vector": [-5.26935, 23.9397, 9.47263] "vector": [5.2693, -23.9397, 9.47263]
}, },
"3.4": { "3.4": {
"vector": [-14.48597, 25.38509, 36.51757], "vector": [14.486, -25.3851, 36.51757],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"3.5": { "3.5": {
"vector": [-9.59401, 27.18618, 35.64132], "vector": [9.594, -27.1862, 35.64132],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"3.6": { "3.6": {
"vector": [-11.05124, 19.47135, -3.30226] "vector": [11.0512, -19.4714, -3.30226]
}, },
"3.8": { "3.8": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
@ -1007,18 +838,19 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.75": { "0.75": {
"vector": [30.584, -3.56838, 4.84324], "vector": [31.4003, 27.5843, -34.88785],
"easing": "linear" "easing": "linear"
}, },
"0.9": { "0.9": {
"vector": [-3.22206, -3.30648, 2.38196], "vector": [18.8359, 15.4973, -28.28221],
"easing": "linear" "easing": "linear"
}, },
"2.95": { "2.95": {
"vector": [-3.22206, -3.30648, 2.38196] "vector": [18.8359, 15.4973, -28.28221],
"easing": "linear"
}, },
"3.075": { "3.075": {
"vector": [28.632, -17.75227, 3.13551], "vector": [27.6681, 12.1849, -18.97431],
"easing": "linear" "easing": "linear"
}, },
"3.225": { "3.225": {
@ -1031,18 +863,19 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.75": { "0.75": {
"vector": [-0.1, 2.5, 13.3], "vector": [-0.1, -1.5, 10.3],
"easing": "linear" "easing": "linear"
}, },
"0.9": { "0.9": {
"vector": [-0.9, -3.5, 18.8], "vector": [-1, -1.2, 22.1],
"easing": "linear" "easing": "linear"
}, },
"2.95": { "2.95": {
"vector": [-0.9, -3.5, 18.8] "vector": [-1, -1.2, 22.1],
"easing": "linear"
}, },
"3.075": { "3.075": {
"vector": [-0.26, 1.67, 7.31], "vector": [-0.1, -3.5, 10.3],
"easing": "linear" "easing": "linear"
}, },
"3.225": { "3.225": {
@ -1135,11 +968,6 @@
} }
} }
} }
},
"sound_effects": {
"0.0": {
"effect": "sentinel_reload"
}
} }
}, },
"animation.sentinel.reload_normal": { "animation.sentinel.reload_normal": {
@ -1337,21 +1165,22 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.1": { "0.1": {
"vector": [30.584, -3.56838, 4.84324], "vector": [31.4003, 27.5843, -34.88785],
"easing": "linear" "easing": "linear"
}, },
"0.25": { "0.25": {
"vector": [-3.22206, -3.30648, 2.38196], "vector": [18.8359, 15.4973, -28.28221],
"easing": "linear" "easing": "linear"
}, },
"2.125": { "2.125": {
"vector": [-3.22206, -3.30648, 2.38196] "vector": [18.8359, 15.4973, -28.28221],
},
"2.25": {
"vector": [28.632, -17.75227, 3.13551],
"easing": "linear" "easing": "linear"
}, },
"2.35": { "2.25": {
"vector": [27.6681, 12.1849, -18.97431],
"easing": "linear"
},
"2.375": {
"vector": [0, 0, 0], "vector": [0, 0, 0],
"easing": "easeInElastic" "easing": "easeInElastic"
} }
@ -1361,21 +1190,22 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.1": { "0.1": {
"vector": [-0.1, 2.5, 13.3], "vector": [-0.1, -1.5, 10.3],
"easing": "linear" "easing": "linear"
}, },
"0.25": { "0.25": {
"vector": [-0.9, -3.5, 18.8], "vector": [-1, -1.2, 22.1],
"easing": "linear" "easing": "linear"
}, },
"2.125": { "2.125": {
"vector": [-0.9, -3.5, 18.8] "vector": [-1, -1.2, 22.1],
},
"2.25": {
"vector": [-0.26, 1.67, 7.31],
"easing": "linear" "easing": "linear"
}, },
"2.35": { "2.25": {
"vector": [-0.1, -3.5, 10.3],
"easing": "linear"
},
"2.375": {
"vector": [0, 0, 0], "vector": [0, 0, 0],
"easing": "easeInElastic" "easing": "easeInElastic"
} }
@ -1621,33 +1451,42 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.125": { "0.125": {
"vector": [16.99, -1.98, 2.69] "vector": [5.2274, 20.401, -3.54905]
}, },
"0.325": { "0.325": {
"vector": [-3.22206, -3.30648, 2.38196], "vector": [5.7779, -3.3065, 2.38196],
"easing": "linear"
},
"0.4": {
"vector": [5.7779, -3.3065, 2.38196],
"easing": "linear" "easing": "linear"
}, },
"0.6": { "0.6": {
"vector": [-3.22, -3.31, 2.38] "vector": [5.7779, -3.3065, 2.38196],
"easing": "linear"
}, },
"1.0": { "1.0": {
"vector": [-3.22, -3.31, 2.38] "vector": [5.7779, -3.3065, 2.38196],
"easing": "linear"
}, },
"1.2": { "1.2": {
"vector": [-3.22206, -3.30648, 2.38196], "vector": [5.7779, -3.3065, 2.38196],
"easing": "linear" "easing": "linear"
}, },
"1.3": { "1.3": {
"vector": [-3.22, -3.31, 2.38] "vector": [5.7779, -3.3065, 2.38196],
"easing": "linear"
}, },
"1.5": { "1.4": {
"vector": [8.8121, -34.03383, 1.67647] "vector": [46.33526, 34.1097, -55.1921],
"easing": "linear"
}, },
"1.7": { "1.6": {
"vector": [30.70796, -27.00128, -12.03297] "vector": [33.06345, 45.06718, -89.58383],
"easing": "linear"
}, },
"5.3": { "5.3": {
"vector": [30.70796, -27.00128, -12.03297] "vector": [33.06345, 45.06718, -89.58383]
}, },
"5.8": { "5.8": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
@ -1658,30 +1497,37 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.125": { "0.125": {
"vector": [-0.06, 1.39, 2.39] "vector": [-0.06, 1.39, 4.09]
}, },
"0.325": { "0.325": {
"vector": [-0.9, -1.5, 4.8], "vector": [-0.9, -2.5, 6.3],
"easing": "linear"
},
"0.4": {
"vector": [-0.9, -2.5, 6.3],
"easing": "linear" "easing": "linear"
}, },
"0.6": { "0.6": {
"vector": [-0.9, -10.5, 4.8] "vector": [-0.9, -11.5, 6.3],
"easing": "linear"
}, },
"1.0": { "1.0": {
"vector": [-0.9, -10.5, 4.8] "vector": [-0.9, -11.5, 6.3],
"easing": "linear"
}, },
"1.2": { "1.2": {
"vector": [-0.9, -1.5, 4.8], "vector": [-0.9, -2.5, 6.3],
"easing": "linear" "easing": "linear"
}, },
"1.3": { "1.3": {
"vector": [-0.9, -1.5, 4.8] "vector": [-0.9, -2.5, 6.3],
"easing": "linear"
}, },
"1.7": { "1.6": {
"vector": [-4.4, -0.4, 6.9] "vector": [-4.23047, -0.61484, 8.4]
}, },
"5.3": { "5.3": {
"vector": [-4.4, -0.4, 6.9] "vector": [-4.23047, -0.61484, 8.4]
}, },
"5.5": { "5.5": {
"vector": [-4.4, -11.5, 7.7], "vector": [-4.4, -11.5, 7.7],

View file

@ -419,30 +419,30 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.5167": { "0.5167": {
"vector": [-10.23301, -10.25955, 3.51854], "vector": [10.233, 10.2595, 3.51854],
"easing": "easeOutQuad" "easing": "easeOutQuad"
}, },
"0.8833": { "0.8833": {
"vector": [2.20817, -18.39622, 7.06347], "vector": [-2.2082, 18.3962, 7.06347],
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"1.1167": { "1.1167": {
"vector": [-25.86792, -14.68451, 0.99936], "vector": [25.8679, 14.6845, 0.99936],
"easing": "easeInOutQuad" "easing": "easeInOutQuad"
}, },
"1.3": { "1.3": {
"vector": [-26.48047, -21.39686, -3.31204] "vector": [26.4805, 21.3969, -3.31204]
}, },
"1.4667": { "1.4667": {
"vector": [-14.31753, -15.08281, -6.04184], "vector": [14.3175, 15.0828, -6.04184],
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"1.55": { "1.55": {
"vector": [-14.31753, -15.08281, -6.04184], "vector": [14.3175, 15.0828, -6.04184],
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"1.75": { "1.75": {
"vector": [-0.4978, -22.90313, 5.97238] "vector": [0.4978, 22.9031, 5.97238]
}, },
"1.9333": { "1.9333": {
"vector": [0, 0, 18], "vector": [0, 0, 18],
@ -665,16 +665,16 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"2.35": { "2.35": {
"vector": [1.1949, 18.48864, -2.92622] "vector": [-1.1949, -18.4886, -2.92622]
}, },
"2.45": { "2.45": {
"vector": [4.38543, 15.49955, 7.21206] "vector": [-4.33567, -13.68659, 8.05816]
}, },
"2.7167": { "2.7167": {
"vector": [4.38543, 15.49955, 7.21206] "vector": [-4.33567, -13.68659, 8.05816]
}, },
"3.0": { "3.0": {
"vector": [1.25248, 18.45031, -0.01712] "vector": [-1.2105, -14.92184, 1.86779]
}, },
"3.2167": { "3.2167": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
@ -685,18 +685,18 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"2.45": { "2.45": {
"vector": [0.42345, 2.24153, -3.94724] "vector": [0.42345, 2.24153, -4.94724]
}, },
"2.55": { "2.55": {
"vector": [0.42, 2.24, -3.25], "vector": [0.42, 2.24, -4.25],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"2.7167": { "2.7167": {
"vector": [0.42, 2.24, -3.25], "vector": [0.42, 2.24, -4.25],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"2.8833": { "2.8833": {
"vector": [0.42, 2.24, -6.45], "vector": [0.42, 2.24, -7.45],
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"3.2167": { "3.2167": {
@ -923,34 +923,34 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.5333": { "0.5333": {
"vector": [-10.23301, -10.25955, 3.51854], "vector": [10.233, 10.2595, 3.51854],
"easing": "easeOutQuad" "easing": "easeOutQuad"
}, },
"0.9": { "0.9": {
"vector": [2.20817, -18.39622, 7.06347], "vector": [-2.2082, 18.3962, 7.06347],
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"1.1333": { "1.1333": {
"vector": [-25.86792, -14.68451, 0.99936], "vector": [25.8679, 14.6845, 0.99936],
"easing": "easeInOutQuad" "easing": "easeInOutQuad"
}, },
"1.3167": { "1.3167": {
"vector": [-26.48047, -21.39686, -3.31204] "vector": [26.4805, 21.3969, -3.31204]
}, },
"1.4833": { "1.4833": {
"vector": [-14.31753, -15.08281, -6.04184], "vector": [14.3175, 15.0828, -6.04184],
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"1.5667": { "1.5667": {
"vector": [-14.31753, -15.08281, -6.04184], "vector": [14.3175, 15.0828, -6.04184],
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"1.7333": { "1.7333": {
"vector": [4.67258, -14.84218, -5.84346], "vector": [-4.6726, 14.8422, -5.84346],
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"2.05": { "2.05": {
"vector": [16.33545, -11.71775, -9.83624], "vector": [-16.3355, 11.7178, -9.83624],
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"2.3": { "2.3": {

View file

@ -393,64 +393,64 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.5667": { "0.5667": {
"vector": [23.76699, -10.25955, 3.51854], "vector": [-23.767, 10.2595, 3.51854],
"easing": "easeOutQuad" "easing": "easeOutQuad"
}, },
"0.8333": { "0.8333": {
"vector": [7.91868, -26.40156, -38.05763], "vector": [-6.6691, 35.19997, -33.13891],
"easing": "linear" "easing": "linear"
}, },
"0.9667": { "0.9667": {
"vector": [1.80318, -46.73371, -21.59127] "vector": [2.26755, 54.83907, -14.45566]
}, },
"1.15": { "1.15": {
"vector": [20.31232, -51.51215, -24.79233] "vector": [-17.88908, 61.09757, -21.04953]
}, },
"1.2333": { "1.2333": {
"vector": [10.28121, -44.51965, -13.55683] "vector": [-7.35039, 53.44333, -8.17226]
}, },
"1.3": { "1.3": {
"vector": [14.55032, -23.40856, -0.72828] "vector": [-14.2423, 28.06613, 1.11675]
}, },
"1.3667": { "1.3667": {
"vector": [2.81649, -23.73622, -1.68109] "vector": [-2.60924, 25.83237, -0.30296]
}, },
"1.3833": { "1.3833": {
"vector": [3.5619, -22.04452, -2.75543] "vector": [-3.18454, 26.26856, -0.05303]
}, },
"1.4167": { "1.4167": {
"vector": [4.67363, -23.73622, -1.68109] "vector": [-4.47631, 25.87553, -0.37251]
}, },
"1.45": { "1.45": {
"vector": [4.79544, -22.02191, -2.71842] "vector": [-4.63817, 24.16442, -1.42053]
}, },
"1.5333": { "1.5333": {
"vector": [7.72777, -22.9743, -2.14213] "vector": [-7.56357, 25.17985, -0.95355]
}, },
"1.6": { "1.6": {
"vector": [4.67363, -23.73622, -1.68109] "vector": [-4.6736, 23.7362, -1.68109]
}, },
"1.65": { "1.65": {
"vector": [4.67363, -23.73622, -1.68109] "vector": [-4.6736, 23.7362, -1.68109]
}, },
"1.8167": { "1.8167": {
"vector": [-6.78199, -4.07081, 10.69071] "vector": [6.782, 4.0708, 10.69071]
}, },
"1.9667": { "1.9667": {
"vector": [-26.9, 5.84, 25.75] "vector": [26.9, -5.84, 25.75]
}, },
"2.2": { "2.2": {
"vector": [21.28621, 49.80684, 92.55967], "vector": [-21.2862, -49.8068, 92.55967],
"easing": "easeInCubic" "easing": "easeInCubic"
}, },
"2.3": { "2.3": {
"vector": [18.15836, 54.76869, 89.37164] "vector": [-18.1584, -54.7687, 89.37164]
}, },
"2.35": { "2.35": {
"vector": [18.15836, 54.76869, 89.37164] "vector": [-18.1584, -54.7687, 89.37164]
}, },
"2.75": { "2.75": {
"vector": [16.56356, -9.00013, 11.40462] "vector": [-16.5636, 9.0001, 11.40462]
}, },
"3.05": { "3.05": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
@ -1045,45 +1045,45 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.25": { "0.25": {
"vector": [-3.81928, -8.59364, -9.17363] "vector": [3.8193, 8.5936, -9.17363]
}, },
"0.3333": { "0.3333": {
"vector": [0, 1.5, 1] "vector": [0, -1.5, 1]
}, },
"0.4167": { "0.4167": {
"vector": [0, 1.5, 1] "vector": [0, -1.5, 1]
}, },
"0.5": { "0.5": {
"vector": [9.1979, -5.79583, 8.71524] "vector": [-9.1979, 5.7958, 8.71524]
}, },
"0.5833": { "0.5833": {
"vector": [10.8863, -6.69443, 6.90149] "vector": [-10.8863, 6.6944, 6.90149]
}, },
"0.6667": { "0.6667": {
"vector": [10.8863, -6.69443, 6.90149] "vector": [-10.8863, 6.6944, 6.90149]
}, },
"1.0417": { "1.0417": {
"vector": [0, 1.5, 1], "vector": [0, -1.5, 1],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"1.1667": { "1.1667": {
"vector": [0, 1.5, 1], "vector": [0, -1.5, 1],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"1.4167": { "1.4167": {
"vector": [-5.02824, -8.21825, 9.86653] "vector": [5.0282, 8.2183, 9.86653]
}, },
"1.5833": { "1.5833": {
"vector": [-2.02824, -8.21825, 9.86653] "vector": [2.0282, 8.2183, 9.86653]
}, },
"1.9167": { "1.9167": {
"vector": [3.97176, -8.21825, 9.86653] "vector": [-3.9718, 8.2183, 9.86653]
}, },
"2.0417": { "2.0417": {
"vector": [3.97176, -8.21825, 9.86653] "vector": [-3.9718, 8.2183, 9.86653]
}, },
"2.25": { "2.25": {
"vector": [-3.81928, -8.59364, -9.17363] "vector": [3.8193, 8.5936, -9.17363]
}, },
"2.4583": { "2.4583": {
"vector": [0, 0, 0], "vector": [0, 0, 0],

View file

@ -10,7 +10,7 @@
}, },
"animation.taser.reload": { "animation.taser.reload": {
"loop": "hold_on_last_frame", "loop": "hold_on_last_frame",
"animation_length": 2.75, "animation_length": 2.5833,
"override_previous_animation": true, "override_previous_animation": true,
"bones": { "bones": {
"0": { "0": {
@ -117,34 +117,45 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.4583": { "0.4583": {
"vector": [-20.90869, -15.21456, -16.89238], "vector": [17.28178, 11.81938, -13.74589],
"easing": "easeOutBack" "easing": "easeOutBack"
}, },
"0.5833": { "0.5833": {
"vector": [-17.89, -13.29, -10.54], "vector": [17.89, 13.29, -10.54],
"easing": "easeInOutSine" "easing": "easeInOutSine"
}, },
"0.7083": {
"vector": [-16.88, -7.03, -16.89]
},
"0.9167": { "0.9167": {
"vector": [-19.00328, -3.7608, -32.92722] "vector": [-15.26666, -7.21079, -32.09116]
}, },
"1.4583": { "1.3333": {
"vector": [-20.90869, -15.21456, -16.89238], "vector": [11.33836, 15.57679, -32.68369],
"easing": "easeOutBack" "easing": "easeOutBack"
}, },
"1.9167": { "1.5833": {
"vector": [-20.90869, -15.21456, -16.89238], "vector": [21.25681, 14.51031, -31.92152]
"easing": "easeOutBack" },
"1.625": {
"vector": [22.15477, 15.58476, -35.05004]
},
"1.6667": {
"vector": [24.59206, 11.83166, -28.91263]
},
"1.75": {
"vector": [28.1312, 15.12708, -33.43052]
},
"1.8333": {
"vector": [32.67296, 7.36719, -31.31941],
"easing": "linear"
},
"2.0": {
"vector": [31.94221, 8.54088, -32.21219]
}, },
"2.0833": { "2.0833": {
"vector": [-20.90869, -15.21456, -16.89238], "vector": [35.21697, 9.07234, -33.53801],
"easing": "easeOutBack" "easing": "easeOutBack"
}, },
"2.25": { "2.25": {
"vector": [-20.90869, -15.21456, -16.89238], "vector": [10.49188, 18.26991, -36.52254]
"easing": "easeOutBack"
}, },
"2.4167": { "2.4167": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
@ -155,34 +166,33 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.4167": { "0.4167": {
"vector": [-0.19579, -2.08768, -5.4753], "vector": [-0.19579, -2.08768, -5.5753],
"easing": "easeOutBack" "easing": "easeOutBack"
}, },
"0.5417": { "0.5417": {
"vector": [0, -1.82, -10.4], "vector": [0, -1.82, -11.4],
"easing": "easeInCirc" "easing": "easeInElastic"
}, },
"0.6667": { "0.7083": {
"vector": [0.6, -1.87, -9.4] "vector": [6.6, -1.87, 0.6]
}, },
"0.9167": { "0.9167": {
"vector": [7.55491, -9.57868, 6.1249] "vector": [7.55491, -9.57868, 6.1249]
}, },
"1.4583": { "1.3333": {
"vector": [10, -9.37, 7.72], "vector": [10, -9.37, 6.62],
"easing": "easeInOutBack" "easing": "easeInOutBack"
}, },
"1.9167": { "1.8333": {
"vector": [0, -1.9, -10], "vector": [2.6, -1.9, -12.4],
"easing": "easeInOutExpo" "easing": "linear"
},
"2.0": {
"vector": [2.8, -1.9, -9.8]
}, },
"2.0833": { "2.0833": {
"vector": [0, -1.9, -6.75], "vector": [3, -1.9, -10.2],
"easing": "easeInElastic" "easing": "easeInOutExpo"
},
"2.25": {
"vector": [0, -1.9, -6.75],
"easing": "easeOutBack"
}, },
"2.4167": { "2.4167": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
@ -200,10 +210,10 @@
"1.25": { "1.25": {
"vector": [-380, 0, 0] "vector": [-380, 0, 0]
}, },
"1.4583": { "1.3333": {
"vector": [-30.68206, -27.03402, 52.54628] "vector": [-30.68206, -27.03402, 52.54628]
}, },
"1.9167": { "1.8333": {
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"2.0833": { "2.0833": {
@ -275,12 +285,12 @@
"1.2083": { "1.2083": {
"vector": [-109.12621, -239.05802, -69.27181] "vector": [-109.12621, -239.05802, -69.27181]
}, },
"1.4583": { "1.3333": {
"vector": [10, -9, 13] "vector": [10, -9, 13]
}, },
"1.9167": { "1.8333": {
"vector": [0, 0, -2.09375], "vector": [0, 0, -2.09375],
"easing": "easeInOutExpo" "easing": "linear"
}, },
"2.0833": { "2.0833": {
"vector": [0, 0, 0], "vector": [0, 0, 0],

View file

@ -350,10 +350,10 @@
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"0.475": { "0.475": {
"vector": [-10.44338, -1.43014, -23.74802] "vector": [-4.94338, -1.43014, -23.74802]
}, },
"0.6": { "0.6": {
"vector": [-14.84614, -2.5832, -32.03895] "vector": [-17.34614, -2.5832, -32.03895]
}, },
"0.75": { "0.75": {
"vector": [-11.70611, -1.01407, -21.29215] "vector": [-11.70611, -1.01407, -21.29215]
@ -369,7 +369,7 @@
"vector": [-4.12653, -4.72822, -56.55102] "vector": [-4.12653, -4.72822, -56.55102]
}, },
"1.45": { "1.45": {
"vector": [-10.49798, -4.62582, -54.17175] "vector": [-15.97623, -3.32012, -47.27787]
}, },
"1.55": { "1.55": {
"vector": [-7.97951, -3.57005, -43.60547] "vector": [-7.97951, -3.57005, -43.60547]
@ -409,7 +409,7 @@
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"0.45": { "0.45": {
"vector": [-0.22251, -1.08196, 0.69958] "vector": [-0.32433, -0.86096, 0.75862]
}, },
"0.55": { "0.55": {
"vector": [-0.68854, 0.72525, 1.50234] "vector": [-0.68854, 0.72525, 1.50234]
@ -428,7 +428,7 @@
"vector": [-0.18308, 0.71818, 0.12707] "vector": [-0.18308, 0.71818, 0.12707]
}, },
"1.45": { "1.45": {
"vector": [-0.78727, 1.01829, -0.03871] "vector": [-1.14582, 1.33855, 0.09868]
}, },
"1.55": { "1.55": {
"vector": [-0.02559, 0.30589, 0.02749] "vector": [-0.02559, 0.30589, 0.02749]
@ -467,51 +467,53 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.125": { "0.125": {
"vector": [-6.39437, 3.04891, 4.4876], "vector": [6.3944, -3.0489, 4.4876],
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"0.175": { "0.175": {
"vector": [-6.39437, 3.04891, 4.4876], "vector": [6.3944, -3.0489, 4.4876],
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"0.3": { "0.3": {
"vector": [11.60017, 7.29676, 7.14605], "vector": [-11.6002, -7.2968, 7.14605],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"0.4": { "0.4": {
"vector": [11.60017, 7.29676, 7.14605] "vector": [-11.6002, -7.2968, 7.14605],
"easing": "easeInSine"
}, },
"1.55": { "1.55": {
"vector": [11.60017, 7.29676, 7.14605] "vector": [-11.6002, -7.2968, 7.14605],
"easing": "easeInSine"
}, },
"1.75": { "1.75": {
"vector": [-9.14164, -8.74812, 11.2864], "vector": [9.1416, 8.7481, 11.2864],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"1.975": { "1.975": {
"vector": [-17.43269, 2.9275, 3.55312], "vector": [17.4327, -2.9275, 3.55312],
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"2.075": { "2.075": {
"vector": [-17.43269, 2.9275, 3.55312] "vector": [17.4327, -2.9275, 3.55312]
}, },
"2.175": { "2.175": {
"vector": [-16.72239, -0.1378, 7.56709], "vector": [16.7224, 0.1378, 7.56709],
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"2.35": { "2.35": {
"vector": [-21.08472, -5.11542, 4.19639], "vector": [21.0847, 5.1154, 4.19639],
"easing": "easeOutCubic" "easing": "easeOutCubic"
}, },
"2.425": { "2.425": {
"vector": [-17.15069, -17.13983, 8.15222], "vector": [17.1507, 17.1398, 8.15222],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"2.5": { "2.5": {
"vector": [2.66341, -14.57317, 12.87392], "vector": [-2.6634, 14.5732, 12.87392],
"easing": "easeInOutSine" "easing": "easeInOutSine"
}, },
"2.85": { "2.65": {
"vector": [0, 0, 0], "vector": [0, 0, 0],
"easing": "easeInElastic" "easing": "easeInElastic"
} }
@ -560,7 +562,7 @@
"vector": [-0.1, 0.8, 1.4], "vector": [-0.1, 0.8, 1.4],
"easing": "easeInOutSine" "easing": "easeInOutSine"
}, },
"2.85": { "2.65": {
"vector": [0, 0, 0], "vector": [0, 0, 0],
"easing": "easeInElastic" "easing": "easeInElastic"
} }
@ -783,10 +785,10 @@
"easing": "easeInElastic" "easing": "easeInElastic"
}, },
"0.475": { "0.475": {
"vector": [-10.44338, -1.43014, -23.74802] "vector": [-4.94338, -1.43014, -23.74802]
}, },
"0.6": { "0.6": {
"vector": [-14.84614, -2.5832, -32.03895] "vector": [-17.34614, -2.5832, -32.03895]
}, },
"0.75": { "0.75": {
"vector": [-11.70611, -1.01407, -21.29215] "vector": [-11.70611, -1.01407, -21.29215]
@ -802,7 +804,7 @@
"vector": [-4.12653, -4.72822, -56.55102] "vector": [-4.12653, -4.72822, -56.55102]
}, },
"1.45": { "1.45": {
"vector": [-10.97623, -3.32012, -47.27787] "vector": [-15.97623, -3.32012, -47.27787]
}, },
"1.55": { "1.55": {
"vector": [-8.39511, -2.42895, -35.67626] "vector": [-8.39511, -2.42895, -35.67626]
@ -831,7 +833,7 @@
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"0.45": { "0.45": {
"vector": [-0.22251, -1.08196, 0.69958] "vector": [-0.32433, -0.86096, 0.75862]
}, },
"0.55": { "0.55": {
"vector": [-0.68854, 0.72525, 1.50234] "vector": [-0.68854, 0.72525, 1.50234]
@ -850,7 +852,7 @@
"vector": [-0.18308, 0.71818, 0.12707] "vector": [-0.18308, 0.71818, 0.12707]
}, },
"1.45": { "1.45": {
"vector": [-0.78727, 1.01829, -0.03871] "vector": [-1.14582, 1.33855, 0.09868]
}, },
"1.55": { "1.55": {
"vector": [-0.02559, 0.30589, 0.02749] "vector": [-0.02559, 0.30589, 0.02749]
@ -873,27 +875,29 @@
"vector": [0, 0, 0] "vector": [0, 0, 0]
}, },
"0.125": { "0.125": {
"vector": [-6.39437, 3.04891, 4.4876], "vector": [6.3944, -3.0489, 4.4876],
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"0.175": { "0.175": {
"vector": [-6.39437, 3.04891, 4.4876], "vector": [6.3944, -3.0489, 4.4876],
"easing": "easeOutSine" "easing": "easeOutSine"
}, },
"0.3": { "0.3": {
"vector": [11.60017, 7.29676, 7.14605], "vector": [-11.6002, -7.2968, 7.14605],
"easing": "easeInSine" "easing": "easeInSine"
}, },
"0.4": { "0.4": {
"vector": [11.60017, 7.29676, 7.14605] "vector": [-11.6002, -7.2968, 7.14605],
"easing": "easeInSine"
}, },
"1.55": { "1.55": {
"vector": [11.60017, 7.29676, 7.14605] "vector": [-11.6002, -7.2968, 7.14605],
"easing": "easeInSine"
}, },
"1.7": { "1.7": {
"vector": [-10.40772, -0.25647, -0.25117] "vector": [10.4077, 0.2565, -0.25117]
}, },
"1.925": { "1.825": {
"vector": [0, 0, 0], "vector": [0, 0, 0],
"easing": "easeInElastic" "easing": "easeInElastic"
} }
@ -923,7 +927,7 @@
"1.7": { "1.7": {
"vector": [1.23123, -2.81852, 2.50813] "vector": [1.23123, -2.81852, 2.50813]
}, },
"1.925": { "1.825": {
"vector": [0, 0, 0], "vector": [0, 0, 0],
"easing": "easeInElastic" "easing": "easeInElastic"
} }

View file

@ -43,11 +43,11 @@
"name": "Righthand", "name": "Righthand",
"parent": "0", "parent": "0",
"pivot": [-3.68438, -5.38594, 17.88516], "pivot": [-3.68438, -5.38594, 17.88516],
"rotation": [65.60852, -18.30276, -6.2349], "rotation": [114.39148, 18.30276, 173.7651],
"cubes": [ "cubes": [
{ {
"origin": [-4.68438, -5.38594, 15.88516], "origin": [-5.68438, -5.38594, 15.88516],
"size": [3, 12, 4], "size": [4, 12, 4],
"uv": { "uv": {
"north": {"uv": [12, 0], "uv_size": [3, 12]}, "north": {"uv": [12, 0], "uv_size": [3, 12]},
"east": {"uv": [0, 0], "uv_size": [4, 12]}, "east": {"uv": [0, 0], "uv_size": [4, 12]},
@ -63,11 +63,11 @@
"name": "Lefthand", "name": "Lefthand",
"parent": "0", "parent": "0",
"pivot": [4.5, -7.2, 4.6], "pivot": [4.5, -7.2, 4.6],
"rotation": [41.0146, 17.66046, -9.54013], "rotation": [138.9854, -17.66046, 170.45987],
"cubes": [ "cubes": [
{ {
"origin": [2, -7.2, 2.6], "origin": [2.5, -7.2, 2.6],
"size": [3, 12, 4], "size": [4, 12, 4],
"uv": { "uv": {
"north": {"uv": [7, 12], "uv_size": [3, 12]}, "north": {"uv": [7, 12], "uv_size": [3, 12]},
"east": {"uv": [8, 0], "uv_size": [4, 12]}, "east": {"uv": [8, 0], "uv_size": [4, 12]},

View file

@ -12385,11 +12385,11 @@
{ {
"name": "Lefthand", "name": "Lefthand",
"parent": "magazine", "parent": "magazine",
"pivot": [4.67388, -7.52896, -3.36163], "pivot": [5.22388, -6.9063, -3.36163],
"rotation": [40.2742, 5.14257, -25.37987], "rotation": [93.65784, -50.30329, -126.39785],
"cubes": [ "cubes": [
{ {
"origin": [2.67388, -7.52896, -5.36163], "origin": [3.22388, -6.9063, -5.36163],
"size": [4, 12, 4], "size": [4, 12, 4],
"uv": { "uv": {
"north": {"uv": [127, 127], "uv_size": [1, 1]}, "north": {"uv": [127, 127], "uv_size": [1, 1]},
@ -12406,7 +12406,7 @@
"name": "Righthand", "name": "Righthand",
"parent": "gun", "parent": "gun",
"pivot": [-3.52302, -3.72921, 12.12641], "pivot": [-3.52302, -3.72921, 12.12641],
"rotation": [79.68197, -12.90104, 3.96763], "rotation": [100.31803, 12.90104, -176.03237],
"cubes": [ "cubes": [
{ {
"origin": [-5.52302, -3.72921, 10.12641], "origin": [-5.52302, -3.72921, 10.12641],

View file

@ -4083,7 +4083,7 @@
"name": "Righthand", "name": "Righthand",
"parent": "gun", "parent": "gun",
"pivot": [-6.2, -5.5, 4.4], "pivot": [-6.2, -5.5, 4.4],
"rotation": [64.32487, -27.9632, 12.70316], "rotation": [115.67513, 27.9632, -167.29684],
"cubes": [ "cubes": [
{ {
"origin": [-8.2, -5.5, 2.4], "origin": [-8.2, -5.5, 2.4],
@ -6326,10 +6326,10 @@
"name": "Lefthand", "name": "Lefthand",
"parent": "rocket", "parent": "rocket",
"pivot": [7.2, -5, 8.8], "pivot": [7.2, -5, 8.8],
"rotation": [73.96235, 47.17694, -0.46022], "rotation": [106.03765, -47.17694, 179.53978],
"cubes": [ "cubes": [
{ {
"origin": [4.5, -5, 6.8], "origin": [5.25, -5, 6.8],
"size": [4, 12, 4], "size": [4, 12, 4],
"uv": { "uv": {
"north": {"uv": [12, 0], "uv_size": [4, 12]}, "north": {"uv": [12, 0], "uv_size": [4, 12]},

View file

@ -9340,12 +9340,12 @@
{ {
"name": "Lefthand", "name": "Lefthand",
"parent": "magazine", "parent": "magazine",
"pivot": [6.8, -6.9, -0.8], "pivot": [5.30781, -6.25937, -0.8],
"rotation": [43.71938, 30.52461, -17.53888], "rotation": [89.98848, -41.932, -125.17414],
"cubes": [ "cubes": [
{ {
"origin": [5.2, -6.9, -2.55], "origin": [3.30781, -6.25937, -2.8],
"size": [3, 12, 4], "size": [4, 12, 4],
"uv": { "uv": {
"north": {"uv": [12, 0], "uv_size": [3, 12]}, "north": {"uv": [12, 0], "uv_size": [3, 12]},
"east": {"uv": [0, 0], "uv_size": [4, 12]}, "east": {"uv": [0, 0], "uv_size": [4, 12]},
@ -10916,12 +10916,12 @@
{ {
"name": "Righthand", "name": "Righthand",
"parent": "0", "parent": "0",
"pivot": [-3.2, -5.7, 11.9], "pivot": [-2.94781, -5.33059, 11.00561],
"rotation": [67.68798, -14.81107, 2.40023], "rotation": [112.31202, 14.81107, -177.59977],
"cubes": [ "cubes": [
{ {
"origin": [-4.2, -4.7, 9.9], "origin": [-4.94781, -5.33059, 9.00561],
"size": [3, 12, 4], "size": [4, 12, 4],
"uv": { "uv": {
"north": {"uv": [7, 12], "uv_size": [3, 12]}, "north": {"uv": [7, 12], "uv_size": [3, 12]},
"east": {"uv": [8, 0], "uv_size": [4, 12]}, "east": {"uv": [8, 0], "uv_size": [4, 12]},

View file

@ -7380,11 +7380,11 @@
{ {
"name": "Lefthand", "name": "Lefthand",
"parent": "magzine", "parent": "magzine",
"pivot": [5.24559, -8.54155, 2.35912], "pivot": [5.24559, -8.04155, 1.10912],
"rotation": [48.92112, 13.13514, -24.32604], "rotation": [72.79916, -39.78478, -103.12114],
"cubes": [ "cubes": [
{ {
"origin": [3.24559, -8.54155, 0.35912], "origin": [3.24559, -8.04155, -0.89088],
"size": [4, 12, 4], "size": [4, 12, 4],
"uv": { "uv": {
"north": {"uv": [0, 120], "uv_size": [1, 1]}, "north": {"uv": [0, 120], "uv_size": [1, 1]},
@ -8071,7 +8071,7 @@
"name": "Righthand", "name": "Righthand",
"parent": "0", "parent": "0",
"pivot": [-4.60882, -3.88091, 16.51741], "pivot": [-4.60882, -3.88091, 16.51741],
"rotation": [78.76735, -19.20433, 3.1514], "rotation": [101.23265, 19.20433, -176.8486],
"cubes": [ "cubes": [
{ {
"origin": [-6.60882, -3.88091, 14.51741], "origin": [-6.60882, -3.88091, 14.51741],

View file

@ -7845,12 +7845,12 @@
{ {
"name": "Lefthand", "name": "Lefthand",
"parent": "0", "parent": "0",
"pivot": [4.9625, -5.86562, -2.54844], "pivot": [5.4625, -5.86562, -2.54844],
"rotation": [54.40074, 25.37317, -8.56985], "rotation": [125.59926, -25.37317, 171.43015],
"cubes": [ "cubes": [
{ {
"origin": [3.3625, -5.86562, -4.29844], "origin": [3.5125, -5.86562, -4.54844],
"size": [3, 12, 4], "size": [4, 12, 4],
"uv": { "uv": {
"north": {"uv": [12, 0], "uv_size": [3, 12]}, "north": {"uv": [12, 0], "uv_size": [3, 12]},
"east": {"uv": [0, 0], "uv_size": [4, 12]}, "east": {"uv": [0, 0], "uv_size": [4, 12]},
@ -9054,12 +9054,12 @@
{ {
"name": "Righthand", "name": "Righthand",
"parent": "0", "parent": "0",
"pivot": [-4.16953, -5.97344, 12.65703], "pivot": [-4.16953, -5.22344, 12.40703],
"rotation": [60.65725, -17.96209, -1.75744], "rotation": [119.34275, 17.96209, 178.24256],
"cubes": [ "cubes": [
{ {
"origin": [-5.16953, -4.97344, 10.65703], "origin": [-6.16953, -5.22344, 10.40703],
"size": [3, 12, 4], "size": [4, 12, 4],
"uv": { "uv": {
"north": {"uv": [7, 12], "uv_size": [3, 12]}, "north": {"uv": [7, 12], "uv_size": [3, 12]},
"east": {"uv": [8, 0], "uv_size": [4, 12]}, "east": {"uv": [8, 0], "uv_size": [4, 12]},

View file

@ -4660,12 +4660,12 @@
{ {
"name": "Lefthand", "name": "Lefthand",
"parent": "0", "parent": "0",
"pivot": [6.15, -4.4, -0.5], "pivot": [5.15, -6.4, -0.5],
"rotation": [54.26155, 16.13646, -17.18389], "rotation": [125.73845, -16.13646, 162.81611],
"cubes": [ "cubes": [
{ {
"origin": [3.15, -4.4, -3.5], "origin": [3.15, -6.4, -2.5],
"size": [3, 12, 4], "size": [4, 12, 4],
"uv": { "uv": {
"north": {"uv": [12, 0], "uv_size": [3, 12]}, "north": {"uv": [12, 0], "uv_size": [3, 12]},
"east": {"uv": [0, 0], "uv_size": [4, 12]}, "east": {"uv": [0, 0], "uv_size": [4, 12]},
@ -4681,11 +4681,11 @@
"name": "Righthand", "name": "Righthand",
"parent": "0", "parent": "0",
"pivot": [-3.39609, -3.68672, 12.7], "pivot": [-3.39609, -3.68672, 12.7],
"rotation": [76.54796, -8.74418, 14.70579], "rotation": [103.45204, 8.74418, -165.29421],
"cubes": [ "cubes": [
{ {
"origin": [-4.39609, -3.68672, 10.7], "origin": [-5.39609, -3.68672, 10.7],
"size": [3, 12, 4], "size": [4, 12, 4],
"uv": { "uv": {
"north": {"uv": [7, 12], "uv_size": [3, 12]}, "north": {"uv": [7, 12], "uv_size": [3, 12]},
"east": {"uv": [8, 0], "uv_size": [4, 12]}, "east": {"uv": [8, 0], "uv_size": [4, 12]},

View file

@ -168,7 +168,7 @@
"name": "Righthand", "name": "Righthand",
"parent": "0", "parent": "0",
"pivot": [-2.4, -2.9, 11.5], "pivot": [-2.4, -2.9, 11.5],
"rotation": [83.35832, -7.15102, 2.26708], "rotation": [96.64168, 7.15102, -177.73292],
"cubes": [ "cubes": [
{ {
"origin": [-4.4, -2.9, 9.5], "origin": [-4.4, -2.9, 9.5],
@ -187,12 +187,14 @@
{ {
"name": "Lefthand", "name": "Lefthand",
"parent": "0", "parent": "0",
"pivot": [2, -6.3, 10], "pivot": [2.2, -6.3, 9.6],
"rotation": [72.10193, 11.91276, -3.81397], "rotation": [109.69635, -4.47536, 178.48092],
"cubes": [ "cubes": [
{ {
"origin": [0, -6.3, 8], "origin": [0.6, -6.3, 7.9],
"size": [4, 12, 4], "size": [4, 12, 4],
"pivot": [2.6, -0.3, 9.9],
"rotation": [0, 17, 0],
"uv": { "uv": {
"north": {"uv": [1.25, 32], "uv_size": [-1.25, -2]}, "north": {"uv": [1.25, 32], "uv_size": [-1.25, -2]},
"east": {"uv": [1.25, 32], "uv_size": [-1.25, -2]}, "east": {"uv": [1.25, 32], "uv_size": [-1.25, -2]},

View file

@ -62,7 +62,7 @@
"name": "Righthand", "name": "Righthand",
"parent": "0", "parent": "0",
"pivot": [-3.60896, -3.08702, 11.65688], "pivot": [-3.60896, -3.08702, 11.65688],
"rotation": [74.44675, -12.23285, 4.07292], "rotation": [105.55325, 12.23285, -175.92708],
"cubes": [ "cubes": [
{ {
"origin": [-5.60896, -3.08702, 9.65688], "origin": [-5.60896, -3.08702, 9.65688],
@ -272,6 +272,7 @@
"name": "kuaimanji", "name": "kuaimanji",
"parent": "gun", "parent": "gun",
"pivot": [0, 2.93447, -3.7579], "pivot": [0, 2.93447, -3.7579],
"rotation": [0, 0, 0],
"cubes": [ "cubes": [
{ {
"origin": [-0.73965, 2.82862, -3.79579], "origin": [-0.73965, 2.82862, -3.79579],
@ -9158,11 +9159,11 @@
{ {
"name": "Lefthand", "name": "Lefthand",
"parent": "magazine", "parent": "magazine",
"pivot": [3.17388, -7.98989, -2.30538], "pivot": [3.92388, -7.98989, -2.30538],
"rotation": [54.87027, 8.78995, -15.8892], "rotation": [125.12973, -8.78995, 164.1108],
"cubes": [ "cubes": [
{ {
"origin": [1.17388, -7.98989, -4.30538], "origin": [1.92388, -7.98989, -4.30538],
"size": [4, 12, 4], "size": [4, 12, 4],
"uv": { "uv": {
"north": {"uv": [124, 0], "uv_size": [4, 12]}, "north": {"uv": [124, 0], "uv_size": [4, 12]},