完成剩余的手臂替换

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();
if (!stack.is(ModTags.Items.GUN)) return;
double p = 0;
p = player.getPersistentData().getDouble("zoom_pos");
double zp = 0;
zp = player.getPersistentData().getDouble("zoom_pos_z");
double p = player.getPersistentData().getDouble("zoom_pos");
double zp = player.getPersistentData().getDouble("zoom_pos_z");
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.setRotY(-0.05f * (float) fr);
CoreGeoBone flare = getAnimationProcessor().getBone("flare");
if (stack.getOrCreateTag().getInt("fire_animation") > 0) {
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");
float PosX = (float)player.getPersistentData().getDouble("gun_move_posX");
float PosY = (float)player.getPersistentData().getDouble("gun_move_posY");
double y = 0;
double x = 0;
y = player.getPersistentData().getDouble("y");
x = player.getPersistentData().getDouble("x");
double y = player.getPersistentData().getDouble("y");
double x = player.getPersistentData().getDouble("x");
root.setPosX(PosX);

View file

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

View file

@ -34,14 +34,8 @@ public class Ntw20Model extends GeoModel<Ntw20> {
CoreGeoBone gun = getAnimationProcessor().getBone("bone");
CoreGeoBone shen = getAnimationProcessor().getBone("shen");
CoreGeoBone scope = getAnimationProcessor().getBone("scope");
CoreGeoBone flare = getAnimationProcessor().getBone("flare");
CoreGeoBone l = getAnimationProcessor().getBone("l");
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;
if (player == null) return;
@ -85,38 +79,15 @@ public class Ntw20Model extends GeoModel<Ntw20> {
scope.setScaleZ(1f - (0.85f * (float) p));
if (gun.getPosX() > 4.3f) {
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);
}
stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 4.3));
CoreGeoBone root = getAnimationProcessor().getBone("root");
float PosX = (float)player.getPersistentData().getDouble("gun_move_posX");
float PosY = (float)player.getPersistentData().getDouble("gun_move_posY");
double y = 0;
double x = 0;
y = player.getPersistentData().getDouble("y");
x = player.getPersistentData().getDouble("x");
double y = player.getPersistentData().getDouble("y");
double x = player.getPersistentData().getDouble("x");
root.setPosX(PosX);

View file

@ -32,7 +32,6 @@ public class RpgItemModel extends GeoModel<RpgItem> {
@Override
public void setCustomAnimations(RpgItem animatable, long instanceId, AnimationState animationState) {
CoreGeoBone gun = getAnimationProcessor().getBone("bone");
CoreGeoBone rocket = getAnimationProcessor().getBone("Rockets");
CoreGeoBone shen = getAnimationProcessor().getBone("rpg");
CoreGeoBone hammer = getAnimationProcessor().getBone("hammer");
@ -41,8 +40,6 @@ public class RpgItemModel extends GeoModel<RpgItem> {
ItemStack stack = player.getMainHandItem();
if (!stack.is(ModTags.Items.GUN)) return;
rocket.setHidden(stack.getOrCreateTag().getBoolean("empty"));
if (stack.getOrCreateTag().getBoolean("close_hammer")) {
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));
double p = 0;
p = player.getPersistentData().getDouble("zoom_pos");
double zp = 0;
zp = player.getPersistentData().getDouble("zoom_pos_z");
double p = player.getPersistentData().getDouble("zoom_pos");
double zp = player.getPersistentData().getDouble("zoom_pos_z");
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));
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");
float PosX = (float)player.getPersistentData().getDouble("gun_move_posX");
float PosY = (float)player.getPersistentData().getDouble("gun_move_posY");
double y = 0;
double x = 0;
y = player.getPersistentData().getDouble("y");
x = player.getPersistentData().getDouble("x");
double y = player.getPersistentData().getDouble("y");
double x = player.getPersistentData().getDouble("x");
root.setPosX(PosX);

View file

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

View file

@ -9,13 +9,10 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
import net.minecraft.world.entity.player.Player;
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.animation.AnimationState;
import software.bernie.geckolib.model.GeoModel;
import java.util.concurrent.atomic.AtomicBoolean;
public class SentinelItemModel extends GeoModel<SentinelItem> {
@Override
public ResourceLocation getAnimationResource(SentinelItem animatable) {
@ -71,7 +68,6 @@ public class SentinelItemModel extends GeoModel<SentinelItem> {
CoreGeoBone holo = getAnimationProcessor().getBone("holo");
holo.setPosY(0.09f);
holo.setHidden(!(gun.getPosX() > 1.8));
double fp = player.getPersistentData().getDouble("fire_pos");
double fr = player.getPersistentData().getDouble("fire_rot");
@ -93,13 +89,6 @@ public class SentinelItemModel extends GeoModel<SentinelItem> {
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");
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);
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)) {
ammo.setScaleX((float) (stack.getOrCreateTag().getDouble("ammo") / 5));
}

View file

@ -46,11 +46,8 @@ public class SksItemModel extends GeoModel<SksItem> {
bolt.setPosZ(2.5f);
}
double p = 0;
p = player.getPersistentData().getDouble("zoom_pos");
double zp = 0;
zp = player.getPersistentData().getDouble("zoom_pos_z");
double p = player.getPersistentData().getDouble("zoom_pos");
double zp = player.getPersistentData().getDouble("zoom_pos_z");
gun.setPosX(1.53f * (float) p);
@ -62,7 +59,7 @@ public class SksItemModel extends GeoModel<SksItem> {
CoreGeoBone holo = getAnimationProcessor().getBone("holo");
holo.setHidden(!(gun.getPosX() > 1.2));
stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.2));
CoreGeoBone shen = getAnimationProcessor().getBone("shen");
@ -84,24 +81,12 @@ public class SksItemModel extends GeoModel<SksItem> {
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");
float PosX = (float)player.getPersistentData().getDouble("gun_move_posX");
float PosY = (float)player.getPersistentData().getDouble("gun_move_posY");
double y = 0;
double x = 0;
y = player.getPersistentData().getDouble("y");
x = player.getPersistentData().getDouble("x");
double y = player.getPersistentData().getDouble("y");
double x = player.getPersistentData().getDouble("x");
root.setPosX(PosX);

View file

@ -32,14 +32,13 @@ public class SvdItemModel extends GeoModel<SvdItem> {
@Override
public void setCustomAnimations(SvdItem animatable, long instanceId, AnimationState animationState) {
CoreGeoBone gun = getAnimationProcessor().getBone("bone");
CoreGeoBone flare = getAnimationProcessor().getBone("flare");
CoreGeoBone bolt = getAnimationProcessor().getBone("bolt");
CoreGeoBone scope = getAnimationProcessor().getBone("pso1");
CoreGeoBone sight = getAnimationProcessor().getBone("handguard");
CoreGeoBone bt1 = getAnimationProcessor().getBone("bullton1");
CoreGeoBone bt2 = getAnimationProcessor().getBone("bullton2");
CoreGeoBone shuan = getAnimationProcessor().getBone("shuan");
CoreGeoBone glass = getAnimationProcessor().getBone("glass");
CoreGeoBone holo = getAnimationProcessor().getBone("holo");
CoreGeoBone flare = getAnimationProcessor().getBone("flare");
Player player = Minecraft.getInstance().player;
if (player == null) return;
@ -50,11 +49,8 @@ public class SvdItemModel extends GeoModel<SvdItem> {
bolt.setPosZ(3.25f);
}
double p = 0;
p = player.getPersistentData().getDouble("zoom_pos");
double zp = 0;
zp = player.getPersistentData().getDouble("zoom_pos_z");
double p = player.getPersistentData().getDouble("zoom_pos");
double zp = player.getPersistentData().getDouble("zoom_pos_z");
gun.setPosX(2.02f * (float) p);
@ -72,18 +68,7 @@ public class SvdItemModel extends GeoModel<SvdItem> {
bt2.setScaleX(1f - (0.5f * (float) p));
CoreGeoBone holo = getAnimationProcessor().getBone("holo");
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);
}
stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 1.9));
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.setRotX(0.003f * (float) (fp + fr));
shen.setRotZ(0f);
flare.setPosY(-2.5f);
} else {
shen.setPosY(0.04f * (float) (fp + 2 * 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));
holo.setPosY(1.1f * (float) fp);
holo.setPosY(0.05f + 1.1f * (float) fp);
holo.setRotZ(-0.04f * (float) fp);
if (stack.getOrCreateTag().getDouble("flash_time") > 0) {
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);
}
holo.setScaleX(0.75f);
holo.setScaleY(0.75f);
CoreGeoBone root = getAnimationProcessor().getBone("root");
float PosX = (float)player.getPersistentData().getDouble("gun_move_posX");
float PosY = (float)player.getPersistentData().getDouble("gun_move_posY");
double y = 0;
double x = 0;
y = player.getPersistentData().getDouble("y");
x = player.getPersistentData().getDouble("x");
double y = player.getPersistentData().getDouble("y");
double x = player.getPersistentData().getDouble("x");
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);
if (ItemNBTTool.getInt(stack, TAG_POWER, 1200) >= 400) {
bluecover.setHidden(false);
redcover.setHidden(true);
bluecover.setScaleX(1);
bluecover.setScaleY(1);
bluecover.setScaleZ(1);
redcover.setScaleX(0);
redcover.setScaleY(0);
redcover.setScaleZ(0);
} else {
bluecover.setHidden(true);
redcover.setHidden(false);
bluecover.setScaleX(0);
bluecover.setScaleY(0);
bluecover.setScaleZ(0);
redcover.setScaleX(1);
redcover.setScaleY(1);
redcover.setScaleZ(1);
}
double fp = player.getPersistentData().getDouble("fire_pos");

View file

@ -51,11 +51,8 @@ public class VectorItemModel extends GeoModel<VectorItem> {
kmj.setRotX(0);
}
double p = 0;
p = player.getPersistentData().getDouble("zoom_pos");
double zp = 0;
zp = player.getPersistentData().getDouble("zoom_pos_z");
double p = player.getPersistentData().getDouble("zoom_pos");
double zp = player.getPersistentData().getDouble("zoom_pos_z");
gun.setPosX(2.35f * (float) p);
@ -68,11 +65,8 @@ public class VectorItemModel extends GeoModel<VectorItem> {
scope.setScaleZ(1f - (0.2f * (float) p));
CoreGeoBone holo = getAnimationProcessor().getBone("holo");
if ((player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables())).zooming && gun.getPosX() > 2) {
holo.setHidden(false);
} else {
holo.setHidden(true);
}
stack.getOrCreateTag().putBoolean("HoloHidden", !(gun.getPosX() > 2));
double fp = player.getPersistentData().getDouble("fire_pos");
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 PosY = (float) player.getPersistentData().getDouble("gun_move_posY");
double y = 0;
double x = 0;
y = player.getPersistentData().getDouble("y");
x = player.getPersistentData().getDouble("x");
double y = player.getPersistentData().getDouble("y");
double x = player.getPersistentData().getDouble("x");
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.VertexConsumer;
import net.mcreator.superbwarfare.item.gun.MarlinItem;
import net.mcreator.superbwarfare.client.layer.MarlinLayer;
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.RenderType;
import net.minecraft.client.renderer.entity.player.PlayerRenderer;
import net.minecraft.client.renderer.texture.OverlayTexture;
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.util.RenderUtils;
import java.util.HashSet;
import java.util.Set;
@ -34,7 +43,6 @@ public class MarlinItemRenderer extends GeoItemRenderer<MarlinItem> {
public ItemDisplayContext transformType;
protected MarlinItem animatable;
private final Set<String> hiddenBones = new HashSet<>();
private final Set<String> suppressedBones = new HashSet<>();
@Override
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
public ResourceLocation getTextureLocation(MarlinItem 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.VertexConsumer;
import net.mcreator.superbwarfare.item.gun.Mk14Item;
import net.mcreator.superbwarfare.client.layer.Mk14Layer;
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.RenderType;
import net.minecraft.client.renderer.entity.player.PlayerRenderer;
import net.minecraft.client.renderer.texture.OverlayTexture;
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.util.RenderUtils;
import java.util.HashSet;
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
public ResourceLocation getTextureLocation(Mk14Item 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.VertexConsumer;
import net.mcreator.superbwarfare.item.gun.Ntw20;
import net.mcreator.superbwarfare.client.layer.Ntw20Layer;
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.RenderType;
import net.minecraft.client.renderer.entity.player.PlayerRenderer;
import net.minecraft.client.renderer.texture.OverlayTexture;
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.util.RenderUtils;
import java.util.HashSet;
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
public ResourceLocation getTextureLocation(Ntw20 instance) {
return super.getTextureLocation(instance);

View file

@ -1,10 +1,29 @@
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.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.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.util.RenderUtils;
import java.util.HashSet;
import java.util.Set;
public class RpgItemRenderer extends GeoItemRenderer<RpgItem> {
public RpgItemRenderer() {
@ -12,6 +31,107 @@ public class RpgItemRenderer extends GeoItemRenderer<RpgItem> {
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
public ResourceLocation getTextureLocation(RpgItem instance) {
return super.getTextureLocation(instance);

View file

@ -1,10 +1,30 @@
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.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.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.util.RenderUtils;
import java.util.HashSet;
import java.util.Set;
public class RpkItemRenderer extends GeoItemRenderer<RpkItem> {
public RpkItemRenderer() {
@ -12,6 +32,114 @@ public class RpkItemRenderer extends GeoItemRenderer<RpkItem> {
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
public ResourceLocation getTextureLocation(RpkItem instance) {
return super.getTextureLocation(instance);

View file

@ -1,10 +1,32 @@
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.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.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.util.RenderUtils;
import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.atomic.AtomicBoolean;
public class SentinelItemRenderer extends GeoItemRenderer<SentinelItem> {
public SentinelItemRenderer() {
@ -12,6 +34,122 @@ public class SentinelItemRenderer extends GeoItemRenderer<SentinelItem> {
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
public ResourceLocation getTextureLocation(SentinelItem instance) {
return super.getTextureLocation(instance);

View file

@ -1,10 +1,30 @@
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.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.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.util.RenderUtils;
import java.util.HashSet;
import java.util.Set;
public class SksItemRenderer extends GeoItemRenderer<SksItem> {
public SksItemRenderer() {
@ -12,6 +32,114 @@ public class SksItemRenderer extends GeoItemRenderer<SksItem> {
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
public ResourceLocation getTextureLocation(SksItem 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.VertexConsumer;
import net.mcreator.superbwarfare.item.gun.SvdItem;
import net.mcreator.superbwarfare.client.layer.SvdLayer;
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.RenderType;
import net.minecraft.client.renderer.entity.player.PlayerRenderer;
import net.minecraft.client.renderer.texture.OverlayTexture;
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.util.RenderUtils;
import java.util.HashSet;
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
public ResourceLocation getTextureLocation(SvdItem instance) {
return super.getTextureLocation(instance);

View file

@ -1,11 +1,29 @@
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.TaserLayer2;
import net.mcreator.superbwarfare.item.gun.Taser;
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.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.util.RenderUtils;
import java.util.HashSet;
import java.util.Set;
public class TaserItemRenderer extends GeoItemRenderer<Taser> {
public TaserItemRenderer() {
@ -14,6 +32,86 @@ public class TaserItemRenderer extends GeoItemRenderer<Taser> {
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
public ResourceLocation getTextureLocation(Taser instance) {
return super.getTextureLocation(instance);

View file

@ -1,10 +1,30 @@
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.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.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.util.RenderUtils;
import java.util.HashSet;
import java.util.Set;
public class VectorItemRenderer extends GeoItemRenderer<VectorItem> {
public VectorItemRenderer() {
@ -12,6 +32,98 @@ public class VectorItemRenderer extends GeoItemRenderer<VectorItem> {
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
public ResourceLocation getTextureLocation(VectorItem 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.ModTags;
import net.mcreator.superbwarfare.item.AnimatedItem;
import net.mcreator.superbwarfare.network.ModVariables;
import net.mcreator.superbwarfare.tools.GunsTool;
import net.mcreator.superbwarfare.tools.RarityTool;
import net.mcreator.superbwarfare.tools.TooltipTool;
@ -129,10 +128,6 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem {
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) {
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sentinel.shift"));
}

View file

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

View file

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

View file

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

View file

@ -3,17 +3,7 @@
"animations": {
"animation.ak47.idle": {
"loop": true,
"animation_length": 1,
"bones": {
"Lefthand": {
"rotation": {
"vector": [-13.63191, -29.3657, -16.88895]
},
"position": {
"vector": [0.025, -0.11563, -1.60625]
}
}
}
"animation_length": 1
},
"animation.ak47.draw": {
"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": {
"rotation": {
"0.0": {
@ -124,11 +106,11 @@
"vector": [0, 0, 0]
},
"0.2": {
"vector": [-0.78478, 1.92167, -26.98046],
"vector": [0.7848, -1.9217, -26.98046],
"easing": "easeOutSine"
},
"0.3": {
"vector": [8.15618, 10.19589, -5.96653],
"vector": [-8.1562, -10.1959, -5.96653],
"easing": "easeInOutSine"
},
"0.5": {
@ -149,14 +131,6 @@
"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]
},
"0.2": {
"vector": [8.15618, 10.19589, -5.96653],
"vector": [-8.1562, -10.1959, -5.96653],
"easing": "easeOutSine"
},
"0.3": {
"vector": [5.21522, 1.92167, -26.98046],
"vector": [-5.2152, -1.9217, -26.98046],
"easing": "easeInOutSine"
},
"0.5": {
@ -233,14 +207,6 @@
"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]
}
}
},
"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_length": 0.05,
"override_previous_animation": true,
"bones": {
"Lefthand": {
"rotation": {
"vector": [-13.63191, -29.3657, -16.88895]
},
"position": {
"vector": [0.025, -0.11563, -1.60625]
}
}
}
"override_previous_animation": true
},
"animation.ak47.reload_empty": {
"loop": "hold_on_last_frame",
@ -717,71 +665,78 @@
},
"Lefthand": {
"rotation": {
"0.0": {
"vector": [-13.63191, -29.3657, -16.88895]
"0.3167": {
"vector": [0, 0, 0]
},
"0.1333": {
"vector": [-13.63191, -29.3657, -16.88895]
"0.4333": {
"vector": [21.5018, 24.86704, -19.88085],
"easing": "linear"
},
"0.2833": {
"vector": [-5.59992, -15.19651, 11.81238]
},
"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],
"0.7": {
"vector": [21.5018, 24.86704, -19.88085],
"easing": "easeInElastic"
},
"2.7167": {
"vector": [21.75908, -21.54018, 13.02377]
"2.3833": {
"vector": [21.5018, 24.86704, -19.88085],
"easing": "easeInElastic"
},
"3.0333": {
"vector": [8.3734, -16.00221, -1.42197]
"2.5667": {
"vector": [15.98147, 57.29761, 1.4882],
"easing": "easeInElastic"
},
"3.1167": {
"vector": [-13.63191, -29.3657, -16.88895]
"2.6833": {
"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": {
"0.0": {
"vector": [0.025, -0.11563, -1.60625]
"0.3167": {
"vector": [0, 0, 0]
},
"0.1667": {
"vector": [0.025, -0.11563, -1.60625]
"0.5": {
"vector": [-2.29096, -0.9323, 6.56616]
},
"0.4167": {
"vector": [-0.60795, -2.68839, 4.36626]
},
"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],
"0.6167": {
"vector": [-2.22489, -1.18104, 6.66082],
"easing": "easeInElastic"
},
"2.6167": {
"vector": [-2.86, -1.59, 7.89],
"0.7": {
"vector": [-2.22489, -1.18104, 6.66082],
"easing": "easeInElastic"
},
"2.7167": {
"vector": [-2.86, -1.59, 7.89],
"2.3833": {
"vector": [-2.22489, -1.18104, 6.66082],
"easing": "easeInElastic"
},
"3.1167": {
"vector": [0.025, -0.11563, -1.60625]
"2.5667": {
"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]
},
"3.35": {
"vector": [8.28212, 20.95701, 9.9358]
"vector": [-8.2821, -20.957, 9.9358]
},
"3.45": {
"vector": [-1.95978, 11.17581, -2.65919]
"vector": [1.9598, -11.1758, -2.65919]
},
"3.55": {
"vector": [-1.95978, 11.17581, -2.65919]
"vector": [1.9598, -11.1758, -2.65919]
},
"3.65": {
"vector": [-1.95978, 11.17581, -2.65919]
"vector": [1.9598, -11.1758, -2.65919]
},
"3.75": {
"vector": [-1.95978, 11.17581, -2.65919]
"vector": [1.9598, -11.1758, -2.65919]
},
"4.05": {
"vector": [19.28212, 20.95701, 9.9358]
"vector": [-19.2821, -20.957, 9.9358]
},
"4.15": {
"vector": [0, 0, 0],
@ -942,7 +897,7 @@
},
"sound_effects": {
"0.0": {
"effect": "devotion_reload_empty"
"effect": "rpk_reload_empty"
}
}
},
@ -1183,71 +1138,78 @@
},
"Lefthand": {
"rotation": {
"0.0": {
"vector": [-13.63191, -29.3657, -16.88895]
"0.3167": {
"vector": [0, 0, 0]
},
"0.1333": {
"vector": [-13.63191, -29.3657, -16.88895]
"0.4333": {
"vector": [21.5018, 24.86704, -19.88085],
"easing": "linear"
},
"0.2833": {
"vector": [0, 0, 26]
},
"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],
"0.7": {
"vector": [21.5018, 24.86704, -19.88085],
"easing": "easeInElastic"
},
"2.7167": {
"vector": [21.75908, -21.54018, 13.02377]
"2.3833": {
"vector": [21.5018, 24.86704, -19.88085],
"easing": "easeInElastic"
},
"3.0333": {
"vector": [8.3734, -16.00221, -1.42197]
"2.5667": {
"vector": [15.98147, 57.29761, 1.4882],
"easing": "easeInElastic"
},
"3.1167": {
"vector": [-13.63191, -29.3657, -16.88895]
"2.6833": {
"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": {
"0.0": {
"vector": [0.025, -0.11563, -1.60625]
"0.3167": {
"vector": [0, 0, 0]
},
"0.1667": {
"vector": [0.025, -0.11563, -1.60625]
"0.5": {
"vector": [-2.29096, -0.9323, 6.56616]
},
"0.4167": {
"vector": [-0.60795, -2.68839, 4.36626]
},
"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],
"0.6167": {
"vector": [-2.22489, -1.18104, 6.66082],
"easing": "easeInElastic"
},
"2.6167": {
"vector": [-2.86, -1.59, 7.89],
"0.7": {
"vector": [-2.22489, -1.18104, 6.66082],
"easing": "easeInElastic"
},
"2.7167": {
"vector": [-2.86, -1.59, 7.89],
"2.3833": {
"vector": [-2.22489, -1.18104, 6.66082],
"easing": "easeInElastic"
},
"3.1167": {
"vector": [0.025, -0.11563, -1.60625]
"2.5667": {
"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": {
"rotation": {
"vector": [0.91131, 14.09621, -8.80599]
"vector": [-0.9113, -14.0962, -8.80599]
},
"position": {
"vector": [2.87519, -0.6965, 0.78255]
@ -229,28 +229,33 @@
"vector": [0, 0, 0],
"easing": "easeInOutSine"
},
"0.3": {
"vector": [-2, 0, -4],
"0.2": {
"vector": [-0.19988, 0.00698, 0.99999],
"easing": "easeInElastic"
},
"0.3": {
"vector": [-1.57113, -0.42828, 13.16089],
"easing": "easeInSine"
},
"0.4": {
"vector": [-1.92, 0, 19.15],
"vector": [-4.4686, -0.19009, 3.51355],
"easing": "easeInElastic"
},
"0.5": {
"vector": [-8.92, 0, 4.15],
"easing": "easeInElastic"
"0.6": {
"vector": [-0.25, -0.5, 4.82]
},
"0.7": {
"vector": [-2.25, -4, 4.82]
"vector": [2.28655, 1.56915, 2.11954]
},
"0.8": {
"vector": [1.08, 0, -9.85],
"easing": "linear"
"vector": [0.92716, 0.58779, -6.48154],
"easing": "easeInOutSine"
},
"0.9": {
"vector": [0, 0, 0],
"easing": "easeInOutSine"
"vector": [0.49, 0, 0]
},
"1.0": {
"vector": [0, 0, 0]
}
},
"position": {
@ -258,90 +263,111 @@
"vector": [0, 0, 0],
"easing": "easeInOutSine"
},
"0.3": {
"0.1": {
"vector": [0, 0, 0],
"easing": "linear"
},
"0.5": {
"vector": [-0.1, 0, 1.9],
"0.3": {
"vector": [-0.21, -0.23, 0.32]
},
"0.4": {
"vector": [-0.2, -0.5, 0.3],
"easing": "easeInElastic"
},
"0.5": {
"vector": [-0.3, -0.5, 0.6]
},
"0.6": {
"vector": [-0.1, 0, 1.6]
"vector": [-0.3, -0.5, -1.4]
},
"0.7": {
"vector": [-0.3, 0, -1.9]
"vector": [-0.1, -0.2, 0.1],
"easing": "easeInElastic"
},
"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": {
"vector": [0, 0, 0],
"easing": "easeInOutSine"
"easing": "easeOutSine"
}
}
},
"Righthand": {
"rotation": {
"0.1": {
"0.0": {
"vector": [0, 0, 0]
},
"0.3": {
"vector": [-11.05124, 19.47135, -3.30226],
"0.1": {
"vector": [16.59544, -8.00389, 2.51994],
"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": {
"vector": [-2.21355, 15.26875, 0.47749],
"vector": [19.22102, -14.25631, 14.03819],
"easing": "easeInSine"
},
"0.5": {
"vector": [-2.21355, 15.26875, 0.47749],
"vector": [19.22102, -14.25631, 14.03819],
"easing": "easeInSine"
},
"0.6": {
"vector": [-2.21355, 15.26875, 0.47749],
"vector": [19.22102, -14.25631, 14.03819],
"easing": "easeInSine"
},
"0.7": {
"vector": [-2.21355, 15.26875, 0.47749],
"easing": "easeInSine"
"vector": [16.59544, -8.00389, 2.51994],
"easing": "linear"
},
"0.8": {
"vector": [-11.05124, 19.47135, -3.30226]
},
"1.0": {
"0.9": {
"vector": [0, 0, 0],
"easing": "easeInElastic"
}
},
"position": {
"0.1": {
"0.0": {
"vector": [0, 0, 0]
},
"0.3": {
"vector": [1.3, 1.8, 1.1],
"0.1": {
"vector": [-1, 0.6, -0.5],
"easing": "linear"
},
"0.2": {
"vector": [-1, 1.5, -0.5],
"easing": "easeInSine"
},
"0.3": {
"vector": [-1, 1.5, -0.5],
"easing": "easeInSine"
},
"0.4": {
"vector": [0.69956, 4.29369, 1.30686],
"vector": [-1, 1.5, 2.7],
"easing": "easeInSine"
},
"0.5": {
"vector": [0.69956, 4.29369, 4.30686],
"vector": [-1, 1.5, 2.7],
"easing": "easeInSine"
},
"0.6": {
"vector": [0.69956, 4.29369, 4.30686],
"vector": [-1, 1.5, -0.5],
"easing": "easeInSine"
},
"0.7": {
"vector": [0.69956, 4.29369, 1.30686],
"easing": "easeInSine"
"vector": [-1, 0.6, -0.5],
"easing": "linear"
},
"0.8": {
"vector": [1.3, 1.3, 0.8]
},
"1.0": {
"0.9": {
"vector": [0, 0, 0],
"easing": "easeInElastic"
}
@ -352,249 +378,54 @@
"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": {
"vector": [0, 0, 0]
},
"0.3": {
"vector": [-0.5, -0.8, -0.5]
"0.2": {
"vector": [0, 0, 30],
"easing": "easeInSine"
},
"0.5": {
"vector": [0.2, 0.4, 3],
"easing": "easeInElastic"
"0.3": {
"vector": [0, 0, 30],
"easing": "easeInSine"
},
"0.6": {
"vector": [-0.1, -0.2, -2],
"easing": "easeInElastic"
},
"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"
"vector": [0, 0, 30],
"easing": "easeInSine"
},
"0.7": {
"vector": [-2.25, -2, 1.82]
},
"0.8": {
"vector": [1.08, 0, -2.85],
"easing": "linear"
},
"0.9": {
"vector": [0, 0, 0],
"easing": "easeInOutSine"
"vector": [0, 0, 0]
}
},
"position": {
"0.0": {
"vector": [0, 0, 0],
"easing": "easeInOutSine"
"vector": [0, 0, 0]
},
"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": {
"vector": [0, 0, 0]
},
"0.2": {
"vector": [0, 0, 0],
"easing": "easeInSine"
},
"0.3": {
"vector": [-11.05124, 19.47135, -3.30226],
"easing": "linear"
"vector": [0, 0, 0],
"easing": "easeInSine"
},
"0.4": {
"vector": [-2.21355, 15.26875, 0.47749],
"vector": [0, 0, 3.2],
"easing": "easeInSine"
},
"0.5": {
"vector": [-2.21355, 15.26875, 0.47749],
"easing": "easeInSine"
"vector": [0, 0, 3.2]
},
"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],
"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"
}
}
},
@ -801,22 +632,22 @@
"vector": [0, 0, 0]
},
"0.325": {
"vector": [-7.18968, 20.51373, -8.85702],
"vector": [7.1897, -20.5137, -8.85702],
"easing": "easeInElastic"
},
"0.4": {
"vector": [-11.05124, 19.47135, -3.30226]
"vector": [11.0512, -19.4714, -3.30226]
},
"0.475": {
"vector": [-9.59401, 27.18618, 35.64132],
"vector": [9.594, -27.1862, 35.64132],
"easing": "easeInSine"
},
"0.55": {
"vector": [-9.59401, 27.18618, 35.64132],
"vector": [9.594, -27.1862, 35.64132],
"easing": "easeInSine"
},
"0.675": {
"vector": [-4.14232, 19.79507, 13.70946]
"vector": [4.1423, -19.7951, 13.70946]
},
"0.775": {
"vector": [0, 0, 0]
@ -825,18 +656,18 @@
"vector": [0, 0, 0]
},
"3.325": {
"vector": [-5.26935, 23.9397, 9.47263]
"vector": [5.2693, -23.9397, 9.47263]
},
"3.4": {
"vector": [-14.48597, 25.38509, 36.51757],
"vector": [14.486, -25.3851, 36.51757],
"easing": "easeInSine"
},
"3.5": {
"vector": [-9.59401, 27.18618, 35.64132],
"vector": [9.594, -27.1862, 35.64132],
"easing": "easeInSine"
},
"3.6": {
"vector": [-11.05124, 19.47135, -3.30226]
"vector": [11.0512, -19.4714, -3.30226]
},
"3.8": {
"vector": [0, 0, 0]
@ -1007,18 +838,19 @@
"vector": [0, 0, 0]
},
"0.75": {
"vector": [30.584, -3.56838, 4.84324],
"vector": [31.4003, 27.5843, -34.88785],
"easing": "linear"
},
"0.9": {
"vector": [-3.22206, -3.30648, 2.38196],
"vector": [18.8359, 15.4973, -28.28221],
"easing": "linear"
},
"2.95": {
"vector": [-3.22206, -3.30648, 2.38196]
"vector": [18.8359, 15.4973, -28.28221],
"easing": "linear"
},
"3.075": {
"vector": [28.632, -17.75227, 3.13551],
"vector": [27.6681, 12.1849, -18.97431],
"easing": "linear"
},
"3.225": {
@ -1031,18 +863,19 @@
"vector": [0, 0, 0]
},
"0.75": {
"vector": [-0.1, 2.5, 13.3],
"vector": [-0.1, -1.5, 10.3],
"easing": "linear"
},
"0.9": {
"vector": [-0.9, -3.5, 18.8],
"vector": [-1, -1.2, 22.1],
"easing": "linear"
},
"2.95": {
"vector": [-0.9, -3.5, 18.8]
"vector": [-1, -1.2, 22.1],
"easing": "linear"
},
"3.075": {
"vector": [-0.26, 1.67, 7.31],
"vector": [-0.1, -3.5, 10.3],
"easing": "linear"
},
"3.225": {
@ -1135,11 +968,6 @@
}
}
}
},
"sound_effects": {
"0.0": {
"effect": "sentinel_reload"
}
}
},
"animation.sentinel.reload_normal": {
@ -1337,21 +1165,22 @@
"vector": [0, 0, 0]
},
"0.1": {
"vector": [30.584, -3.56838, 4.84324],
"vector": [31.4003, 27.5843, -34.88785],
"easing": "linear"
},
"0.25": {
"vector": [-3.22206, -3.30648, 2.38196],
"vector": [18.8359, 15.4973, -28.28221],
"easing": "linear"
},
"2.125": {
"vector": [-3.22206, -3.30648, 2.38196]
},
"2.25": {
"vector": [28.632, -17.75227, 3.13551],
"vector": [18.8359, 15.4973, -28.28221],
"easing": "linear"
},
"2.35": {
"2.25": {
"vector": [27.6681, 12.1849, -18.97431],
"easing": "linear"
},
"2.375": {
"vector": [0, 0, 0],
"easing": "easeInElastic"
}
@ -1361,21 +1190,22 @@
"vector": [0, 0, 0]
},
"0.1": {
"vector": [-0.1, 2.5, 13.3],
"vector": [-0.1, -1.5, 10.3],
"easing": "linear"
},
"0.25": {
"vector": [-0.9, -3.5, 18.8],
"vector": [-1, -1.2, 22.1],
"easing": "linear"
},
"2.125": {
"vector": [-0.9, -3.5, 18.8]
},
"2.25": {
"vector": [-0.26, 1.67, 7.31],
"vector": [-1, -1.2, 22.1],
"easing": "linear"
},
"2.35": {
"2.25": {
"vector": [-0.1, -3.5, 10.3],
"easing": "linear"
},
"2.375": {
"vector": [0, 0, 0],
"easing": "easeInElastic"
}
@ -1621,33 +1451,42 @@
"vector": [0, 0, 0]
},
"0.125": {
"vector": [16.99, -1.98, 2.69]
"vector": [5.2274, 20.401, -3.54905]
},
"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"
},
"0.6": {
"vector": [-3.22, -3.31, 2.38]
"vector": [5.7779, -3.3065, 2.38196],
"easing": "linear"
},
"1.0": {
"vector": [-3.22, -3.31, 2.38]
"vector": [5.7779, -3.3065, 2.38196],
"easing": "linear"
},
"1.2": {
"vector": [-3.22206, -3.30648, 2.38196],
"vector": [5.7779, -3.3065, 2.38196],
"easing": "linear"
},
"1.3": {
"vector": [-3.22, -3.31, 2.38]
"vector": [5.7779, -3.3065, 2.38196],
"easing": "linear"
},
"1.5": {
"vector": [8.8121, -34.03383, 1.67647]
"1.4": {
"vector": [46.33526, 34.1097, -55.1921],
"easing": "linear"
},
"1.7": {
"vector": [30.70796, -27.00128, -12.03297]
"1.6": {
"vector": [33.06345, 45.06718, -89.58383],
"easing": "linear"
},
"5.3": {
"vector": [30.70796, -27.00128, -12.03297]
"vector": [33.06345, 45.06718, -89.58383]
},
"5.8": {
"vector": [0, 0, 0]
@ -1658,30 +1497,37 @@
"vector": [0, 0, 0]
},
"0.125": {
"vector": [-0.06, 1.39, 2.39]
"vector": [-0.06, 1.39, 4.09]
},
"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"
},
"0.6": {
"vector": [-0.9, -10.5, 4.8]
"vector": [-0.9, -11.5, 6.3],
"easing": "linear"
},
"1.0": {
"vector": [-0.9, -10.5, 4.8]
"vector": [-0.9, -11.5, 6.3],
"easing": "linear"
},
"1.2": {
"vector": [-0.9, -1.5, 4.8],
"vector": [-0.9, -2.5, 6.3],
"easing": "linear"
},
"1.3": {
"vector": [-0.9, -1.5, 4.8]
"vector": [-0.9, -2.5, 6.3],
"easing": "linear"
},
"1.7": {
"vector": [-4.4, -0.4, 6.9]
"1.6": {
"vector": [-4.23047, -0.61484, 8.4]
},
"5.3": {
"vector": [-4.4, -0.4, 6.9]
"vector": [-4.23047, -0.61484, 8.4]
},
"5.5": {
"vector": [-4.4, -11.5, 7.7],

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -168,7 +168,7 @@
"name": "Righthand",
"parent": "0",
"pivot": [-2.4, -2.9, 11.5],
"rotation": [83.35832, -7.15102, 2.26708],
"rotation": [96.64168, 7.15102, -177.73292],
"cubes": [
{
"origin": [-4.4, -2.9, 9.5],
@ -187,12 +187,14 @@
{
"name": "Lefthand",
"parent": "0",
"pivot": [2, -6.3, 10],
"rotation": [72.10193, 11.91276, -3.81397],
"pivot": [2.2, -6.3, 9.6],
"rotation": [109.69635, -4.47536, 178.48092],
"cubes": [
{
"origin": [0, -6.3, 8],
"origin": [0.6, -6.3, 7.9],
"size": [4, 12, 4],
"pivot": [2.6, -0.3, 9.9],
"rotation": [0, 17, 0],
"uv": {
"north": {"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",
"parent": "0",
"pivot": [-3.60896, -3.08702, 11.65688],
"rotation": [74.44675, -12.23285, 4.07292],
"rotation": [105.55325, 12.23285, -175.92708],
"cubes": [
{
"origin": [-5.60896, -3.08702, 9.65688],
@ -272,6 +272,7 @@
"name": "kuaimanji",
"parent": "gun",
"pivot": [0, 2.93447, -3.7579],
"rotation": [0, 0, 0],
"cubes": [
{
"origin": [-0.73965, 2.82862, -3.79579],
@ -9158,11 +9159,11 @@
{
"name": "Lefthand",
"parent": "magazine",
"pivot": [3.17388, -7.98989, -2.30538],
"rotation": [54.87027, 8.78995, -15.8892],
"pivot": [3.92388, -7.98989, -2.30538],
"rotation": [125.12973, -8.78995, 164.1108],
"cubes": [
{
"origin": [1.17388, -7.98989, -4.30538],
"origin": [1.92388, -7.98989, -4.30538],
"size": [4, 12, 4],
"uv": {
"north": {"uv": [124, 0], "uv_size": [4, 12]},