清理所有木仓械layer
|
@ -194,17 +194,17 @@ public class AnimationHelper {
|
||||||
|
|
||||||
int alpha = hasBlackPart ? a : (int) (0.12 * a);
|
int alpha = hasBlackPart ? a : (int) (0.12 * a);
|
||||||
|
|
||||||
VertexConsumer blackPart = buffer.getBuffer(RenderType.entityTranslucent(tex));
|
|
||||||
vertexRGB(blackPart, $$7, pose, 255, 0.0F, 0, 0, 1, r, g, b, alpha, size);
|
|
||||||
vertexRGB(blackPart, $$7, pose, 255, size, 0, 1, 1, r, g, b, alpha, size);
|
|
||||||
vertexRGB(blackPart, $$7, pose, 255, size, size, 1, 0, r, g, b, alpha, size);
|
|
||||||
vertexRGB(blackPart, $$7, pose, 255, 0.0F, size, 0, 0, r, g, b, alpha, size);
|
|
||||||
|
|
||||||
VertexConsumer $$9 = buffer.getBuffer(ModRenderTypes.MUZZLE_FLASH_TYPE.apply(tex));
|
VertexConsumer $$9 = buffer.getBuffer(ModRenderTypes.MUZZLE_FLASH_TYPE.apply(tex));
|
||||||
vertexRGB($$9, $$7, pose, 255, 0.0F, 0, 0, 1, r, g, b, a, size);
|
vertexRGB($$9, $$7, pose, 255, 0.0F, 0, 0, 1, r, g, b, a, size);
|
||||||
vertexRGB($$9, $$7, pose, 255, size, 0, 1, 1, r, g, b, a, size);
|
vertexRGB($$9, $$7, pose, 255, size, 0, 1, 1, r, g, b, a, size);
|
||||||
vertexRGB($$9, $$7, pose, 255, size, size, 1, 0, r, g, b, a, size);
|
vertexRGB($$9, $$7, pose, 255, size, size, 1, 0, r, g, b, a, size);
|
||||||
vertexRGB($$9, $$7, pose, 255, 0.0F, size, 0, 0, r, g, b, a, size);
|
vertexRGB($$9, $$7, pose, 255, 0.0F, size, 0, 0, r, g, b, a, size);
|
||||||
|
|
||||||
|
VertexConsumer blackPart = buffer.getBuffer(RenderType.entityTranslucent(tex));
|
||||||
|
vertexRGB(blackPart, $$7, pose, 255, 0.0F, 0, 0, 1, r, g, b, alpha, size);
|
||||||
|
vertexRGB(blackPart, $$7, pose, 255, size, 0, 1, 1, r, g, b, alpha, size);
|
||||||
|
vertexRGB(blackPart, $$7, pose, 255, size, size, 1, 0, r, g, b, alpha, size);
|
||||||
|
vertexRGB(blackPart, $$7, pose, 255, 0.0F, size, 0, 0, r, g, b, alpha, size);
|
||||||
stack.popPose();
|
stack.popPose();
|
||||||
}
|
}
|
||||||
currentBuffer.getBuffer(renderType);
|
currentBuffer.getBuffer(renderType);
|
||||||
|
|
|
@ -88,7 +88,7 @@ public class CustomRenderer<T extends Item & GeoAnimatable> extends GeoItemRende
|
||||||
RenderUtil.prepMatrixForBone(poseStack, bone);
|
RenderUtil.prepMatrixForBone(poseStack, bone);
|
||||||
|
|
||||||
if (bone.getName().endsWith("_illuminated")) {
|
if (bone.getName().endsWith("_illuminated")) {
|
||||||
renderCubesOfBone(poseStack, bone, bufferSource.getBuffer(ModRenderTypes.GUN_ILLUMINATED.apply(this.getTextureLocation(animatable))),
|
renderCubesOfBone(poseStack, bone, bufferSource.getBuffer(ModRenderTypes.ILLUMINATED.apply(this.getTextureLocation(animatable))),
|
||||||
packedLight, OverlayTexture.NO_OVERLAY, color);
|
packedLight, OverlayTexture.NO_OVERLAY, color);
|
||||||
}
|
}
|
||||||
this.illuminatedRenderChildBones(poseStack, animatable, bone, renderType, bufferSource, buffer, partialTick, packedLight, packedOverlay, color);
|
this.illuminatedRenderChildBones(poseStack, animatable, bone, renderType, bufferSource, buffer, partialTick, packedLight, packedOverlay, color);
|
||||||
|
|
|
@ -26,22 +26,13 @@ public class ModRenderTypes extends RenderType {
|
||||||
return RenderType.create("laser", DefaultVertexFormat.NEW_ENTITY, VertexFormat.Mode.QUADS, 256, true, false, state);
|
return RenderType.create("laser", DefaultVertexFormat.NEW_ENTITY, VertexFormat.Mode.QUADS, 256, true, false, state);
|
||||||
});
|
});
|
||||||
|
|
||||||
public static final Function<ResourceLocation, RenderType> ILLUMINATED = Util.memoize((location) -> {
|
|
||||||
TextureStateShard shard = new TextureStateShard(location, false, false);
|
|
||||||
CompositeState state = CompositeState.builder().setTextureState(shard)
|
|
||||||
.setShaderState(RENDERTYPE_ENTITY_TRANSLUCENT_EMISSIVE_SHADER).setTransparencyState(RenderStateShard.GLINT_TRANSPARENCY)
|
|
||||||
.setCullState(NO_CULL).setOverlayState(NO_OVERLAY).setWriteMaskState(COLOR_WRITE).createCompositeState(false);
|
|
||||||
return RenderType.create("illuminated", DefaultVertexFormat.NEW_ENTITY, VertexFormat.Mode.QUADS, 256, true, false, state);
|
|
||||||
});
|
|
||||||
|
|
||||||
public static final Function<ResourceLocation, RenderType> GUN_ILLUMINATED = Util.memoize((location) -> {
|
public static final Function<ResourceLocation, RenderType> ILLUMINATED = Util.memoize((location) -> {
|
||||||
TextureStateShard shard = new RenderStateShard.TextureStateShard(location, false, false);
|
TextureStateShard shard = new RenderStateShard.TextureStateShard(location, false, false);
|
||||||
RenderType.CompositeState state = RenderType.CompositeState.builder().setTextureState(shard)
|
RenderType.CompositeState state = RenderType.CompositeState.builder().setTextureState(shard)
|
||||||
.setShaderState(RENDERTYPE_EYES_SHADER).setTransparencyState(NO_TRANSPARENCY)
|
.setShaderState(RENDERTYPE_BEACON_BEAM_SHADER).setTransparencyState(RenderStateShard.GLINT_TRANSPARENCY)
|
||||||
.setLightmapState(RenderStateShard.NO_LIGHTMAP)
|
.setLightmapState(RenderStateShard.NO_LIGHTMAP).setCullState(NO_CULL).setOverlayState(NO_OVERLAY).setWriteMaskState(COLOR_WRITE).createCompositeState(false);
|
||||||
.setOverlayState(RenderStateShard.NO_OVERLAY)
|
return RenderType.create("illuminated", DefaultVertexFormat.NEW_ENTITY, VertexFormat.Mode.QUADS, 256, true, false, state);
|
||||||
.createCompositeState(false);
|
|
||||||
return RenderType.create("gun_illuminated", DefaultVertexFormat.NEW_ENTITY, VertexFormat.Mode.QUADS, 256, true, false, state);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
//DickSheep的恩情还不完
|
//DickSheep的恩情还不完
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
package com.atsuishio.superbwarfare.client.layer.gun;
|
|
||||||
|
|
||||||
import com.atsuishio.superbwarfare.Mod;
|
|
||||||
import com.atsuishio.superbwarfare.client.ModRenderTypes;
|
|
||||||
import com.atsuishio.superbwarfare.item.gun.special.BocekItem;
|
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
|
||||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
|
||||||
import net.minecraft.client.renderer.MultiBufferSource;
|
|
||||||
import net.minecraft.client.renderer.RenderType;
|
|
||||||
import net.minecraft.client.renderer.texture.OverlayTexture;
|
|
||||||
import net.minecraft.resources.ResourceLocation;
|
|
||||||
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
|
||||||
import software.bernie.geckolib.renderer.GeoRenderer;
|
|
||||||
import software.bernie.geckolib.renderer.layer.GeoRenderLayer;
|
|
||||||
|
|
||||||
public class BocekLayer extends GeoRenderLayer<BocekItem> {
|
|
||||||
private static final ResourceLocation LAYER = Mod.loc("textures/item/bocek_e.png");
|
|
||||||
|
|
||||||
public BocekLayer(GeoRenderer<BocekItem> entityRenderer) {
|
|
||||||
super(entityRenderer);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void render(PoseStack poseStack, BocekItem animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
|
|
||||||
RenderType glowRenderType = ModRenderTypes.ILLUMINATED.apply(LAYER);
|
|
||||||
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 0xFFFFFFFF);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,32 +0,0 @@
|
||||||
package com.atsuishio.superbwarfare.client.layer.gun;
|
|
||||||
|
|
||||||
import com.atsuishio.superbwarfare.Mod;
|
|
||||||
import com.atsuishio.superbwarfare.client.ModRenderTypes;
|
|
||||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
|
||||||
import com.atsuishio.superbwarfare.item.gun.special.BocekItem;
|
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
|
||||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
|
||||||
import net.minecraft.client.renderer.MultiBufferSource;
|
|
||||||
import net.minecraft.client.renderer.RenderType;
|
|
||||||
import net.minecraft.client.renderer.texture.OverlayTexture;
|
|
||||||
import net.minecraft.resources.ResourceLocation;
|
|
||||||
import net.minecraft.util.FastColor;
|
|
||||||
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
|
||||||
import software.bernie.geckolib.renderer.GeoRenderer;
|
|
||||||
import software.bernie.geckolib.renderer.layer.GeoRenderLayer;
|
|
||||||
|
|
||||||
public class BocekPowerLightLayer extends GeoRenderLayer<BocekItem> {
|
|
||||||
private static final ResourceLocation LAYER = Mod.loc("textures/item/bocek_power_e.png");
|
|
||||||
|
|
||||||
public BocekPowerLightLayer(GeoRenderer<BocekItem> entityRenderer) {
|
|
||||||
super(entityRenderer);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void render(PoseStack poseStack, BocekItem animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
|
|
||||||
RenderType glowRenderType = ModRenderTypes.ILLUMINATED.apply(LAYER);
|
|
||||||
|
|
||||||
var value = Math.round((float) ClientEventHandler.bowPower * 255);
|
|
||||||
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, FastColor.ARGB32.color(value, value, value));
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,27 +0,0 @@
|
||||||
package com.atsuishio.superbwarfare.client.layer.gun;
|
|
||||||
|
|
||||||
import com.atsuishio.superbwarfare.Mod;
|
|
||||||
import com.atsuishio.superbwarfare.item.gun.sniper.K98Item;
|
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
|
||||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
|
||||||
import net.minecraft.client.renderer.MultiBufferSource;
|
|
||||||
import net.minecraft.client.renderer.RenderType;
|
|
||||||
import net.minecraft.client.renderer.texture.OverlayTexture;
|
|
||||||
import net.minecraft.resources.ResourceLocation;
|
|
||||||
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
|
||||||
import software.bernie.geckolib.renderer.GeoRenderer;
|
|
||||||
import software.bernie.geckolib.renderer.layer.GeoRenderLayer;
|
|
||||||
|
|
||||||
public class K98Layer extends GeoRenderLayer<K98Item> {
|
|
||||||
private static final ResourceLocation LAYER = Mod.loc("textures/item/k98_e.png");
|
|
||||||
|
|
||||||
public K98Layer(GeoRenderer<K98Item> entityRenderer) {
|
|
||||||
super(entityRenderer);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void render(PoseStack poseStack, K98Item animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
|
|
||||||
RenderType glowRenderType = RenderType.eyes(LAYER);
|
|
||||||
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 0xFFFFFFFF);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,44 +0,0 @@
|
||||||
package com.atsuishio.superbwarfare.client.layer.gun;
|
|
||||||
|
|
||||||
import com.atsuishio.superbwarfare.Mod;
|
|
||||||
import com.atsuishio.superbwarfare.client.ModRenderTypes;
|
|
||||||
import com.atsuishio.superbwarfare.data.gun.GunData;
|
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
|
||||||
import com.atsuishio.superbwarfare.item.gun.machinegun.MinigunItem;
|
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
|
||||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
|
||||||
import net.minecraft.client.Minecraft;
|
|
||||||
import net.minecraft.client.renderer.MultiBufferSource;
|
|
||||||
import net.minecraft.client.renderer.RenderType;
|
|
||||||
import net.minecraft.client.renderer.texture.OverlayTexture;
|
|
||||||
import net.minecraft.resources.ResourceLocation;
|
|
||||||
import net.minecraft.util.FastColor;
|
|
||||||
import net.minecraft.world.entity.player.Player;
|
|
||||||
import net.minecraft.world.item.ItemStack;
|
|
||||||
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
|
||||||
import software.bernie.geckolib.renderer.GeoRenderer;
|
|
||||||
import software.bernie.geckolib.renderer.layer.GeoRenderLayer;
|
|
||||||
|
|
||||||
public class MinigunHeatLayer extends GeoRenderLayer<MinigunItem> {
|
|
||||||
private static final ResourceLocation LAYER = Mod.loc("textures/item/minigun_heat_e.png");
|
|
||||||
|
|
||||||
public MinigunHeatLayer(GeoRenderer<MinigunItem> itemGeoRenderer) {
|
|
||||||
super(itemGeoRenderer);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void render(PoseStack poseStack, MinigunItem animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
|
|
||||||
RenderType glowRenderType = ModRenderTypes.ILLUMINATED.apply(LAYER);
|
|
||||||
Player player = Minecraft.getInstance().player;
|
|
||||||
if (player == null) return;
|
|
||||||
ItemStack stack = player.getMainHandItem();
|
|
||||||
if (!(stack.getItem() instanceof GunItem)) return;
|
|
||||||
|
|
||||||
var data = GunData.from(stack);
|
|
||||||
|
|
||||||
float heat = (float) data.heat.get();
|
|
||||||
var value = Math.round(heat / 100 * 255);
|
|
||||||
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, FastColor.ARGB32.color(value, value, value));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
package com.atsuishio.superbwarfare.client.layer.gun;
|
|
||||||
|
|
||||||
import com.atsuishio.superbwarfare.Mod;
|
|
||||||
import com.atsuishio.superbwarfare.client.ModRenderTypes;
|
|
||||||
import com.atsuishio.superbwarfare.item.gun.handgun.Mp443Item;
|
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
|
||||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
|
||||||
import net.minecraft.client.renderer.MultiBufferSource;
|
|
||||||
import net.minecraft.client.renderer.RenderType;
|
|
||||||
import net.minecraft.client.renderer.texture.OverlayTexture;
|
|
||||||
import net.minecraft.resources.ResourceLocation;
|
|
||||||
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
|
||||||
import software.bernie.geckolib.renderer.GeoRenderer;
|
|
||||||
import software.bernie.geckolib.renderer.layer.GeoRenderLayer;
|
|
||||||
|
|
||||||
public class Mp443LightLayer extends GeoRenderLayer<Mp443Item> {
|
|
||||||
private static final ResourceLocation LAYER = Mod.loc("textures/item/mp443_e.png");
|
|
||||||
|
|
||||||
public Mp443LightLayer(GeoRenderer<Mp443Item> itemGeoRenderer) {
|
|
||||||
super(itemGeoRenderer);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void render(PoseStack poseStack, Mp443Item animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
|
|
||||||
RenderType glowRenderType = ModRenderTypes.ILLUMINATED.apply(LAYER);
|
|
||||||
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 0xFFFFFFFF);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,28 +0,0 @@
|
||||||
package com.atsuishio.superbwarfare.client.layer.gun;
|
|
||||||
|
|
||||||
import com.atsuishio.superbwarfare.Mod;
|
|
||||||
import com.atsuishio.superbwarfare.client.ModRenderTypes;
|
|
||||||
import com.atsuishio.superbwarfare.item.gun.sniper.SentinelItem;
|
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
|
||||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
|
||||||
import net.minecraft.client.renderer.MultiBufferSource;
|
|
||||||
import net.minecraft.client.renderer.RenderType;
|
|
||||||
import net.minecraft.client.renderer.texture.OverlayTexture;
|
|
||||||
import net.minecraft.resources.ResourceLocation;
|
|
||||||
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
|
||||||
import software.bernie.geckolib.renderer.GeoRenderer;
|
|
||||||
import software.bernie.geckolib.renderer.layer.GeoRenderLayer;
|
|
||||||
|
|
||||||
public class SentinelLightLayer extends GeoRenderLayer<SentinelItem> {
|
|
||||||
private static final ResourceLocation LAYER = Mod.loc("textures/item/sentinel_e.png");
|
|
||||||
|
|
||||||
public SentinelLightLayer(GeoRenderer<SentinelItem> itemGeoRenderer) {
|
|
||||||
super(itemGeoRenderer);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void render(PoseStack poseStack, SentinelItem animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
|
|
||||||
RenderType glowRenderType = ModRenderTypes.ILLUMINATED.apply(LAYER);
|
|
||||||
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 0xFFFFFFFF);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -2,9 +2,9 @@ package com.atsuishio.superbwarfare.client.model.item;
|
||||||
|
|
||||||
import com.atsuishio.superbwarfare.Mod;
|
import com.atsuishio.superbwarfare.Mod;
|
||||||
import com.atsuishio.superbwarfare.client.overlay.CrossHairOverlay;
|
import com.atsuishio.superbwarfare.client.overlay.CrossHairOverlay;
|
||||||
|
import com.atsuishio.superbwarfare.data.gun.GunData;
|
||||||
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.data.gun.GunData;
|
|
||||||
import com.atsuishio.superbwarfare.item.gun.sniper.SentinelItem;
|
import com.atsuishio.superbwarfare.item.gun.sniper.SentinelItem;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
@ -80,11 +80,6 @@ public class SentinelItemModel extends GeoModel<SentinelItem> {
|
||||||
shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt)));
|
shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt)));
|
||||||
|
|
||||||
CrossHairOverlay.gunRot = shen.getRotZ();
|
CrossHairOverlay.gunRot = shen.getRotZ();
|
||||||
|
|
||||||
GeoBone charge = getAnimationProcessor().getBone("charge");
|
|
||||||
|
|
||||||
charge.setRotZ(charge.getRotZ() + times * 0.5f);
|
|
||||||
|
|
||||||
ClientEventHandler.gunRootMove(getAnimationProcessor());
|
ClientEventHandler.gunRootMove(getAnimationProcessor());
|
||||||
|
|
||||||
if (data.ammo.get() <= 5) {
|
if (data.ammo.get() <= 5) {
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
package com.atsuishio.superbwarfare.client.renderer.item;
|
package com.atsuishio.superbwarfare.client.renderer.item;
|
||||||
|
|
||||||
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
||||||
|
import com.atsuishio.superbwarfare.client.CustomRenderer;
|
||||||
|
import com.atsuishio.superbwarfare.client.ModRenderTypes;
|
||||||
import com.atsuishio.superbwarfare.client.model.item.BocekItemModel;
|
import com.atsuishio.superbwarfare.client.model.item.BocekItemModel;
|
||||||
import com.atsuishio.superbwarfare.data.gun.GunData;
|
import com.atsuishio.superbwarfare.data.gun.GunData;
|
||||||
|
import com.atsuishio.superbwarfare.event.ClientEventHandler;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.special.BocekItem;
|
import com.atsuishio.superbwarfare.item.gun.special.BocekItem;
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
|
@ -10,23 +13,23 @@ import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.renderer.MultiBufferSource;
|
import net.minecraft.client.renderer.MultiBufferSource;
|
||||||
import net.minecraft.client.renderer.RenderType;
|
import net.minecraft.client.renderer.RenderType;
|
||||||
|
import net.minecraft.client.renderer.texture.OverlayTexture;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
|
import net.minecraft.util.FastColor;
|
||||||
import net.minecraft.world.item.ItemDisplayContext;
|
import net.minecraft.world.item.ItemDisplayContext;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
import org.joml.Matrix4f;
|
||||||
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
||||||
import software.bernie.geckolib.cache.object.GeoBone;
|
import software.bernie.geckolib.cache.object.GeoBone;
|
||||||
import software.bernie.geckolib.renderer.GeoItemRenderer;
|
import software.bernie.geckolib.util.RenderUtil;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public class BocekItemRenderer extends GeoItemRenderer<BocekItem> {
|
public class BocekItemRenderer extends CustomRenderer<BocekItem> {
|
||||||
|
|
||||||
public BocekItemRenderer() {
|
public BocekItemRenderer() {
|
||||||
super(new BocekItemModel());
|
super(new BocekItemModel());
|
||||||
// TODO layer
|
|
||||||
// this.addRenderLayer(new BocekLayer(this));
|
|
||||||
// this.addRenderLayer(new BocekPowerLightLayer(this));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -42,6 +45,34 @@ public class BocekItemRenderer extends GeoItemRenderer<BocekItem> {
|
||||||
protected BocekItem animatable;
|
protected BocekItem animatable;
|
||||||
private final Set<String> hiddenBones = new HashSet<>();
|
private final Set<String> hiddenBones = new HashSet<>();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void illuminatedRender(PoseStack poseStack, BocekItem animatable, GeoBone bone, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight,
|
||||||
|
int packedOverlay, int color) {
|
||||||
|
if (bone.isTrackingMatrices()) {
|
||||||
|
Matrix4f poseState = new Matrix4f(poseStack.last().pose());
|
||||||
|
|
||||||
|
bone.setModelSpaceMatrix(RenderUtil.invertAndMultiplyMatrices(poseState, this.modelRenderTranslations));
|
||||||
|
bone.setLocalSpaceMatrix(RenderUtil.invertAndMultiplyMatrices(poseState, this.itemRenderTranslations));
|
||||||
|
}
|
||||||
|
|
||||||
|
poseStack.pushPose();
|
||||||
|
RenderUtil.prepMatrixForBone(poseStack, bone);
|
||||||
|
|
||||||
|
if (bone.getName().endsWith("_illuminated")) {
|
||||||
|
renderCubesOfBone(poseStack, bone, bufferSource.getBuffer(ModRenderTypes.ILLUMINATED.apply(this.getTextureLocation(animatable))),
|
||||||
|
packedLight, OverlayTexture.NO_OVERLAY, color);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (bone.getName().equals("power_light")) {
|
||||||
|
var power = Math.round((float) ClientEventHandler.bowPower * 255);
|
||||||
|
var c = FastColor.ARGB32.color(color & 0xFF, power, power, power);
|
||||||
|
renderCubesOfBone(poseStack, bone, bufferSource.getBuffer(ModRenderTypes.ILLUMINATED.apply(this.getTextureLocation(animatable))),
|
||||||
|
packedLight, OverlayTexture.NO_OVERLAY, c);
|
||||||
|
}
|
||||||
|
this.illuminatedRenderChildBones(poseStack, animatable, bone, renderType, bufferSource, buffer, partialTick, packedLight, packedOverlay, color);
|
||||||
|
poseStack.popPose();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) {
|
public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) {
|
||||||
this.transformType = transformType;
|
this.transformType = transformType;
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.atsuishio.superbwarfare.client.renderer.item;
|
package com.atsuishio.superbwarfare.client.renderer.item;
|
||||||
|
|
||||||
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
||||||
|
import com.atsuishio.superbwarfare.client.CustomRenderer;
|
||||||
import com.atsuishio.superbwarfare.client.model.item.HuntingRifleItemModel;
|
import com.atsuishio.superbwarfare.client.model.item.HuntingRifleItemModel;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.sniper.HuntingRifleItem;
|
import com.atsuishio.superbwarfare.item.gun.sniper.HuntingRifleItem;
|
||||||
|
@ -14,12 +15,11 @@ import net.minecraft.world.item.ItemDisplayContext;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
||||||
import software.bernie.geckolib.cache.object.GeoBone;
|
import software.bernie.geckolib.cache.object.GeoBone;
|
||||||
import software.bernie.geckolib.renderer.GeoItemRenderer;
|
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public class HuntingRifleItemRenderer extends GeoItemRenderer<HuntingRifleItem> {
|
public class HuntingRifleItemRenderer extends CustomRenderer<HuntingRifleItem> {
|
||||||
|
|
||||||
public HuntingRifleItemRenderer() {
|
public HuntingRifleItemRenderer() {
|
||||||
super(new HuntingRifleItemModel());
|
super(new HuntingRifleItemModel());
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.atsuishio.superbwarfare.client.renderer.item;
|
package com.atsuishio.superbwarfare.client.renderer.item;
|
||||||
|
|
||||||
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
||||||
|
import com.atsuishio.superbwarfare.client.CustomRenderer;
|
||||||
import com.atsuishio.superbwarfare.client.model.item.K98ItemModel;
|
import com.atsuishio.superbwarfare.client.model.item.K98ItemModel;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.sniper.K98Item;
|
import com.atsuishio.superbwarfare.item.gun.sniper.K98Item;
|
||||||
|
@ -14,17 +15,14 @@ import net.minecraft.world.item.ItemDisplayContext;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
||||||
import software.bernie.geckolib.cache.object.GeoBone;
|
import software.bernie.geckolib.cache.object.GeoBone;
|
||||||
import software.bernie.geckolib.renderer.GeoItemRenderer;
|
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public class K98ItemRenderer extends GeoItemRenderer<K98Item> {
|
public class K98ItemRenderer extends CustomRenderer<K98Item> {
|
||||||
|
|
||||||
public K98ItemRenderer() {
|
public K98ItemRenderer() {
|
||||||
super(new K98ItemModel());
|
super(new K98ItemModel());
|
||||||
// TODO layer
|
|
||||||
// this.addRenderLayer(new K98Layer(this));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.atsuishio.superbwarfare.client.renderer.item;
|
package com.atsuishio.superbwarfare.client.renderer.item;
|
||||||
|
|
||||||
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
||||||
|
import com.atsuishio.superbwarfare.client.CustomRenderer;
|
||||||
import com.atsuishio.superbwarfare.client.ItemModelHelper;
|
import com.atsuishio.superbwarfare.client.ItemModelHelper;
|
||||||
import com.atsuishio.superbwarfare.client.model.item.M4ItemModel;
|
import com.atsuishio.superbwarfare.client.model.item.M4ItemModel;
|
||||||
import com.atsuishio.superbwarfare.data.gun.GunData;
|
import com.atsuishio.superbwarfare.data.gun.GunData;
|
||||||
|
@ -19,12 +20,11 @@ import net.minecraft.world.item.ItemDisplayContext;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
||||||
import software.bernie.geckolib.cache.object.GeoBone;
|
import software.bernie.geckolib.cache.object.GeoBone;
|
||||||
import software.bernie.geckolib.renderer.GeoItemRenderer;
|
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public class M4ItemRenderer extends GeoItemRenderer<M4Item> {
|
public class M4ItemRenderer extends CustomRenderer<M4Item> {
|
||||||
|
|
||||||
public M4ItemRenderer() {
|
public M4ItemRenderer() {
|
||||||
super(new M4ItemModel());
|
super(new M4ItemModel());
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.atsuishio.superbwarfare.client.renderer.item;
|
package com.atsuishio.superbwarfare.client.renderer.item;
|
||||||
|
|
||||||
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
||||||
|
import com.atsuishio.superbwarfare.client.CustomRenderer;
|
||||||
import com.atsuishio.superbwarfare.client.model.item.MarlinItemModel;
|
import com.atsuishio.superbwarfare.client.model.item.MarlinItemModel;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.rifle.MarlinItem;
|
import com.atsuishio.superbwarfare.item.gun.rifle.MarlinItem;
|
||||||
|
@ -14,12 +15,11 @@ import net.minecraft.world.item.ItemDisplayContext;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
||||||
import software.bernie.geckolib.cache.object.GeoBone;
|
import software.bernie.geckolib.cache.object.GeoBone;
|
||||||
import software.bernie.geckolib.renderer.GeoItemRenderer;
|
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public class MarlinItemRenderer extends GeoItemRenderer<MarlinItem> {
|
public class MarlinItemRenderer extends CustomRenderer<MarlinItem> {
|
||||||
|
|
||||||
public MarlinItemRenderer() {
|
public MarlinItemRenderer() {
|
||||||
super(new MarlinItemModel());
|
super(new MarlinItemModel());
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
package com.atsuishio.superbwarfare.client.renderer.item;
|
package com.atsuishio.superbwarfare.client.renderer.item;
|
||||||
|
|
||||||
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
||||||
|
import com.atsuishio.superbwarfare.client.CustomRenderer;
|
||||||
import com.atsuishio.superbwarfare.client.model.item.MinigunItemModel;
|
import com.atsuishio.superbwarfare.client.model.item.MinigunItemModel;
|
||||||
|
import com.atsuishio.superbwarfare.data.gun.GunData;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.machinegun.MinigunItem;
|
import com.atsuishio.superbwarfare.item.gun.machinegun.MinigunItem;
|
||||||
import com.mojang.blaze3d.vertex.PoseStack;
|
import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
|
@ -14,17 +16,14 @@ import net.minecraft.world.item.ItemDisplayContext;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
||||||
import software.bernie.geckolib.cache.object.GeoBone;
|
import software.bernie.geckolib.cache.object.GeoBone;
|
||||||
import software.bernie.geckolib.renderer.GeoItemRenderer;
|
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public class MinigunItemRenderer extends GeoItemRenderer<MinigunItem> {
|
public class MinigunItemRenderer extends CustomRenderer<MinigunItem> {
|
||||||
|
|
||||||
public MinigunItemRenderer() {
|
public MinigunItemRenderer() {
|
||||||
super(new MinigunItemModel());
|
super(new MinigunItemModel());
|
||||||
// TODO layer
|
|
||||||
// this.addRenderLayer(new MinigunHeatLayer(this));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -77,6 +76,13 @@ public class MinigunItemRenderer extends GeoItemRenderer<MinigunItem> {
|
||||||
ItemStack itemStack = player.getMainHandItem();
|
ItemStack itemStack = player.getMainHandItem();
|
||||||
if (!(itemStack.getItem() instanceof GunItem)) return;
|
if (!(itemStack.getItem() instanceof GunItem)) return;
|
||||||
|
|
||||||
|
var data = GunData.from(itemStack);
|
||||||
|
float heat = (float) data.heat.get();
|
||||||
|
|
||||||
|
if (bone.getName().endsWith("_illuminated")) {
|
||||||
|
bone.setScaleZ(heat / 2);
|
||||||
|
}
|
||||||
|
|
||||||
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0.1, 1.45, 0.9);
|
AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0.1, 1.45, 0.9);
|
||||||
|
|
||||||
if (renderingArms) {
|
if (renderingArms) {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.atsuishio.superbwarfare.client.renderer.item;
|
package com.atsuishio.superbwarfare.client.renderer.item;
|
||||||
|
|
||||||
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
||||||
|
import com.atsuishio.superbwarfare.client.CustomRenderer;
|
||||||
import com.atsuishio.superbwarfare.client.model.item.Mp443ItemModel;
|
import com.atsuishio.superbwarfare.client.model.item.Mp443ItemModel;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.handgun.Mp443Item;
|
import com.atsuishio.superbwarfare.item.gun.handgun.Mp443Item;
|
||||||
|
@ -14,17 +15,14 @@ import net.minecraft.world.item.ItemDisplayContext;
|
||||||
import net.minecraft.world.item.ItemStack;
|
import net.minecraft.world.item.ItemStack;
|
||||||
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
||||||
import software.bernie.geckolib.cache.object.GeoBone;
|
import software.bernie.geckolib.cache.object.GeoBone;
|
||||||
import software.bernie.geckolib.renderer.GeoItemRenderer;
|
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public class Mp443ItemRenderer extends GeoItemRenderer<Mp443Item> {
|
public class Mp443ItemRenderer extends CustomRenderer<Mp443Item> {
|
||||||
|
|
||||||
public Mp443ItemRenderer() {
|
public Mp443ItemRenderer() {
|
||||||
super(new Mp443ItemModel());
|
super(new Mp443ItemModel());
|
||||||
// TODO layer
|
|
||||||
// this.addRenderLayer(new Mp443LightLayer(this));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.atsuishio.superbwarfare.client.renderer.item;
|
package com.atsuishio.superbwarfare.client.renderer.item;
|
||||||
|
|
||||||
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
import com.atsuishio.superbwarfare.client.AnimationHelper;
|
||||||
|
import com.atsuishio.superbwarfare.client.CustomRenderer;
|
||||||
import com.atsuishio.superbwarfare.client.model.item.SentinelItemModel;
|
import com.atsuishio.superbwarfare.client.model.item.SentinelItemModel;
|
||||||
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
import com.atsuishio.superbwarfare.item.gun.GunItem;
|
||||||
import com.atsuishio.superbwarfare.item.gun.sniper.SentinelItem;
|
import com.atsuishio.superbwarfare.item.gun.sniper.SentinelItem;
|
||||||
|
@ -15,17 +16,14 @@ import net.minecraft.world.item.ItemStack;
|
||||||
import net.neoforged.neoforge.capabilities.Capabilities;
|
import net.neoforged.neoforge.capabilities.Capabilities;
|
||||||
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
import software.bernie.geckolib.cache.object.BakedGeoModel;
|
||||||
import software.bernie.geckolib.cache.object.GeoBone;
|
import software.bernie.geckolib.cache.object.GeoBone;
|
||||||
import software.bernie.geckolib.renderer.GeoItemRenderer;
|
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
public class SentinelItemRenderer extends GeoItemRenderer<SentinelItem> {
|
public class SentinelItemRenderer extends CustomRenderer<SentinelItem> {
|
||||||
|
|
||||||
public SentinelItemRenderer() {
|
public SentinelItemRenderer() {
|
||||||
super(new SentinelItemModel());
|
super(new SentinelItemModel());
|
||||||
// TODO layer
|
|
||||||
// this.addRenderLayer(new SentinelLightLayer(this));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -81,8 +79,9 @@ public class SentinelItemRenderer extends GeoItemRenderer<SentinelItem> {
|
||||||
var cap = itemStack.getCapability(Capabilities.EnergyStorage.ITEM);
|
var cap = itemStack.getCapability(Capabilities.EnergyStorage.ITEM);
|
||||||
var flag = cap != null && cap.getEnergyStored() > 0;
|
var flag = cap != null && cap.getEnergyStored() > 0;
|
||||||
|
|
||||||
if (name.equals("charge")) {
|
if (name.equals("charge_illuminated")) {
|
||||||
bone.setHidden(!flag);
|
bone.setHidden(!flag);
|
||||||
|
bone.setRotZ((System.currentTimeMillis() % 36000000) / 200f);
|
||||||
}
|
}
|
||||||
|
|
||||||
AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, 0, 0.265, -0.05, 0.075f, 255, 0, 0, 255, "apex_3x", false);
|
AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, 0, 0.265, -0.05, 0.075f, 255, 0, 0, 255, "apex_3x", false);
|
||||||
|
|
|
@ -162,6 +162,11 @@ public class Agm65Entity extends FastThrowableProjectile implements GeoEntity, D
|
||||||
if (entity instanceof LivingEntity) {
|
if (entity instanceof LivingEntity) {
|
||||||
entity.invulnerableTime = 0;
|
entity.invulnerableTime = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < 5; i++) {
|
||||||
|
apExplode(result, i);
|
||||||
|
}
|
||||||
|
|
||||||
causeExplode(result);
|
causeExplode(result);
|
||||||
this.discard();
|
this.discard();
|
||||||
}
|
}
|
||||||
|
|
|
@ -17253,6 +17253,25 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "light6_illuminated",
|
||||||
|
"parent": "arrowBody5",
|
||||||
|
"pivot": [0.00003, 0.708, 11.63725],
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"origin": [-0.0152, 0.65992, 11.37187],
|
||||||
|
"size": [0.14261, 0.14261, 0.53076],
|
||||||
|
"pivot": [0.00003, 0.7873, 11.63725],
|
||||||
|
"rotation": [0, 0, 45],
|
||||||
|
"uv": {
|
||||||
|
"east": {"uv": [48.5, 97.5], "uv_size": [-0.5, -0.5]},
|
||||||
|
"west": {"uv": [48.5, 97.5], "uv_size": [-0.5, -0.5]},
|
||||||
|
"up": {"uv": [48, 97], "uv_size": [0.5, 0.5]},
|
||||||
|
"down": {"uv": [48, 97], "uv_size": [0.5, 0.5]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "arrowBody4",
|
"name": "arrowBody4",
|
||||||
"parent": "arrowBody5",
|
"parent": "arrowBody5",
|
||||||
|
@ -17274,6 +17293,25 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "light5_illuminated",
|
||||||
|
"parent": "arrowBody4",
|
||||||
|
"pivot": [0.00001, 0.708, 7.43985],
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"origin": [-0.02244, 0.65519, 7.1771],
|
||||||
|
"size": [0.14857, 0.14857, 0.52551],
|
||||||
|
"pivot": [0.00001, 0.78131, 7.43985],
|
||||||
|
"rotation": [0, 0, 45],
|
||||||
|
"uv": {
|
||||||
|
"east": {"uv": [48.5, 97.5], "uv_size": [-0.5, -0.5]},
|
||||||
|
"west": {"uv": [48.5, 97.5], "uv_size": [-0.5, -0.5]},
|
||||||
|
"up": {"uv": [48, 97], "uv_size": [0.5, 0.5]},
|
||||||
|
"down": {"uv": [48, 97], "uv_size": [0.5, 0.5]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "arrowBody3",
|
"name": "arrowBody3",
|
||||||
"parent": "arrowBody4",
|
"parent": "arrowBody4",
|
||||||
|
@ -17295,6 +17333,25 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "light4_illuminated",
|
||||||
|
"parent": "arrowBody3",
|
||||||
|
"pivot": [-0.00001, 0.708, 3.24242],
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"origin": [-0.04401, 0.64031, 2.98227],
|
||||||
|
"size": [0.16887, 0.16887, 0.5203],
|
||||||
|
"pivot": [-0.00001, 0.76519, 3.24242],
|
||||||
|
"rotation": [0, 0, 45],
|
||||||
|
"uv": {
|
||||||
|
"east": {"uv": [48.5, 97.5], "uv_size": [-0.5, -0.5]},
|
||||||
|
"west": {"uv": [48.5, 97.5], "uv_size": [-0.5, -0.5]},
|
||||||
|
"up": {"uv": [48, 97], "uv_size": [0.5, 0.5]},
|
||||||
|
"down": {"uv": [48, 97], "uv_size": [0.5, 0.5]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "arrowBody2",
|
"name": "arrowBody2",
|
||||||
"parent": "arrowBody3",
|
"parent": "arrowBody3",
|
||||||
|
@ -17316,6 +17373,25 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "light3_illuminated",
|
||||||
|
"parent": "arrowBody2",
|
||||||
|
"pivot": [0, 0.708, -0.95503],
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"origin": [-0.07271, 0.62038, -1.2126],
|
||||||
|
"size": [0.19634, 0.19634, 0.51515],
|
||||||
|
"pivot": [0, 0.74401, -0.95503],
|
||||||
|
"rotation": [0, 0, 45],
|
||||||
|
"uv": {
|
||||||
|
"east": {"uv": [48.5, 97.5], "uv_size": [-0.5, -0.5]},
|
||||||
|
"west": {"uv": [48.5, 97.5], "uv_size": [-0.5, -0.5]},
|
||||||
|
"up": {"uv": [48, 97], "uv_size": [0.5, 0.5]},
|
||||||
|
"down": {"uv": [48, 97], "uv_size": [0.5, 0.5]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "arrowBody1",
|
"name": "arrowBody1",
|
||||||
"parent": "arrowBody2",
|
"parent": "arrowBody2",
|
||||||
|
@ -17337,6 +17413,25 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "light2_illuminated",
|
||||||
|
"parent": "arrowBody1",
|
||||||
|
"pivot": [0, 0.708, -5.0725],
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"origin": [-0.09575, 0.60444, -5.32753],
|
||||||
|
"size": [0.21816, 0.21816, 0.51005],
|
||||||
|
"pivot": [0, 0.72685, -5.0725],
|
||||||
|
"rotation": [0, 0, 45],
|
||||||
|
"uv": {
|
||||||
|
"east": {"uv": [48.5, 97.5], "uv_size": [-0.5, -0.5]},
|
||||||
|
"west": {"uv": [48.5, 97.5], "uv_size": [-0.5, -0.5]},
|
||||||
|
"up": {"uv": [48, 97], "uv_size": [0.5, 0.5]},
|
||||||
|
"down": {"uv": [48, 97], "uv_size": [0.5, 0.5]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "head",
|
"name": "head",
|
||||||
"parent": "arrowBody1",
|
"parent": "arrowBody1",
|
||||||
|
@ -17382,6 +17477,25 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "light1_illuminated",
|
||||||
|
"parent": "head",
|
||||||
|
"pivot": [0, 0.708, -9.11],
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"origin": [-0.1212, 0.5868, -9.3625],
|
||||||
|
"size": [0.2424, 0.2424, 0.505],
|
||||||
|
"pivot": [0, 0.708, -9.11],
|
||||||
|
"rotation": [0, 0, 45],
|
||||||
|
"uv": {
|
||||||
|
"east": {"uv": [48.5, 97.5], "uv_size": [-0.5, -0.5]},
|
||||||
|
"west": {"uv": [48.5, 97.5], "uv_size": [-0.5, -0.5]},
|
||||||
|
"up": {"uv": [48, 97], "uv_size": [0.5, 0.5]},
|
||||||
|
"down": {"uv": [48, 97], "uv_size": [0.5, 0.5]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "bone124",
|
"name": "bone124",
|
||||||
"parent": "head",
|
"parent": "head",
|
||||||
|
@ -18093,45 +18207,6 @@
|
||||||
"down": {"uv": [99, 9.5], "uv_size": [2, -0.5]}
|
"down": {"uv": [99, 9.5], "uv_size": [2, -0.5]}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"origin": [-1.61552, 2.65775, -2.71841],
|
|
||||||
"size": [0.13975, 0.13975, 0.0325],
|
|
||||||
"pivot": [-1.54564, 2.72763, -2.70216],
|
|
||||||
"rotation": [0, 0, -45],
|
|
||||||
"uv": {
|
|
||||||
"north": {"uv": [113, 11], "uv_size": [0.5, 0.5]},
|
|
||||||
"east": {"uv": [111, 14], "uv_size": [0.5, 0.5]},
|
|
||||||
"west": {"uv": [113, 12], "uv_size": [0.5, 0.5]},
|
|
||||||
"up": {"uv": [112, 14], "uv_size": [0.5, 0.5]},
|
|
||||||
"down": {"uv": [113, 13.5], "uv_size": [0.5, -0.5]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.54887, 2.65775, -2.71841],
|
|
||||||
"size": [0.13975, 0.13975, 0.0325],
|
|
||||||
"pivot": [-0.479, 2.72763, -2.70216],
|
|
||||||
"rotation": [0, 0, 45],
|
|
||||||
"uv": {
|
|
||||||
"north": {"uv": [113, 14], "uv_size": [0.5, 0.5]},
|
|
||||||
"east": {"uv": [99, 15], "uv_size": [0.5, 0.5]},
|
|
||||||
"west": {"uv": [114, 0], "uv_size": [0.5, 0.5]},
|
|
||||||
"up": {"uv": [100, 15], "uv_size": [0.5, 0.5]},
|
|
||||||
"down": {"uv": [114, 1.5], "uv_size": [0.5, -0.5]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-1.0822, 2.65775, -2.71841],
|
|
||||||
"size": [0.13975, 0.13975, 0.0325],
|
|
||||||
"pivot": [-1.01232, 2.72763, -2.70216],
|
|
||||||
"rotation": [0, 0, 45],
|
|
||||||
"uv": {
|
|
||||||
"north": {"uv": [101, 15], "uv_size": [0.5, 0.5]},
|
|
||||||
"east": {"uv": [114, 2], "uv_size": [0.5, 0.5]},
|
|
||||||
"west": {"uv": [102, 15], "uv_size": [0.5, 0.5]},
|
|
||||||
"up": {"uv": [114, 3], "uv_size": [0.5, 0.5]},
|
|
||||||
"down": {"uv": [103, 15.5], "uv_size": [0.5, -0.5]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"origin": [-0.3932, 2.57151, -2.50701],
|
"origin": [-0.3932, 2.57151, -2.50701],
|
||||||
"size": [0.39975, 0.30225, 0.15275],
|
"size": [0.39975, 0.30225, 0.15275],
|
||||||
|
@ -18618,6 +18693,68 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "scope_illuminated",
|
||||||
|
"parent": "Scope0",
|
||||||
|
"pivot": [-1.02207, 2.91776, -2.01201],
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"origin": [-1.04957, 2.55376, -2.44851],
|
||||||
|
"size": [0.06, 0.728, 0.873],
|
||||||
|
"pivot": [-1.02207, 2.91776, -2.01201],
|
||||||
|
"rotation": [0, 0, -90],
|
||||||
|
"uv": {
|
||||||
|
"west": {"uv": [23, 98], "uv_size": [0.5, 0.5]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "power_light",
|
||||||
|
"parent": "Scope0",
|
||||||
|
"pivot": [-1.54564, 2.72763, -2.70216],
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"origin": [-0.54887, 2.65775, -2.71841],
|
||||||
|
"size": [0.13975, 0.13975, 0.0325],
|
||||||
|
"pivot": [-0.479, 2.72763, -2.70216],
|
||||||
|
"rotation": [0, 0, 45],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [113, 14], "uv_size": [0.5, 0.5]},
|
||||||
|
"east": {"uv": [99, 15], "uv_size": [0.5, 0.5]},
|
||||||
|
"west": {"uv": [114, 0], "uv_size": [0.5, 0.5]},
|
||||||
|
"up": {"uv": [100, 15], "uv_size": [0.5, 0.5]},
|
||||||
|
"down": {"uv": [114, 1.5], "uv_size": [0.5, -0.5]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-1.0822, 2.65775, -2.71841],
|
||||||
|
"size": [0.13975, 0.13975, 0.0325],
|
||||||
|
"pivot": [-1.01232, 2.72763, -2.70216],
|
||||||
|
"rotation": [0, 0, 45],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [101, 15], "uv_size": [0.5, 0.5]},
|
||||||
|
"east": {"uv": [114, 2], "uv_size": [0.5, 0.5]},
|
||||||
|
"west": {"uv": [102, 15], "uv_size": [0.5, 0.5]},
|
||||||
|
"up": {"uv": [114, 3], "uv_size": [0.5, 0.5]},
|
||||||
|
"down": {"uv": [103, 15.5], "uv_size": [0.5, -0.5]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-1.61552, 2.65775, -2.71841],
|
||||||
|
"size": [0.13975, 0.13975, 0.0325],
|
||||||
|
"pivot": [-1.54564, 2.72763, -2.70216],
|
||||||
|
"rotation": [0, 0, -45],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [113, 11], "uv_size": [0.5, 0.5]},
|
||||||
|
"east": {"uv": [111, 14], "uv_size": [0.5, 0.5]},
|
||||||
|
"west": {"uv": [113, 12], "uv_size": [0.5, 0.5]},
|
||||||
|
"up": {"uv": [112, 14], "uv_size": [0.5, 0.5]},
|
||||||
|
"down": {"uv": [113, 13.5], "uv_size": [0.5, -0.5]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "bone127",
|
"name": "bone127",
|
||||||
"parent": "Scope0",
|
"parent": "Scope0",
|
||||||
|
|
|
@ -1753,7 +1753,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "glow",
|
"name": "glow_illuminated",
|
||||||
"parent": "jimiao",
|
"parent": "jimiao",
|
||||||
"pivot": [0.06161, -2.12152, 0.88585],
|
"pivot": [0.06161, -2.12152, 0.88585],
|
||||||
"cubes": [
|
"cubes": [
|
||||||
|
|
|
@ -75,6 +75,55 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "sight_illuminated",
|
||||||
|
"parent": "0",
|
||||||
|
"pivot": [-0.16368, 3.3447, -2.35282],
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"origin": [-0.06439, 3.28031, -35.57671],
|
||||||
|
"size": [0.12877, 0.12877, 0.6884],
|
||||||
|
"pivot": [0, 3.34469, -35.23251],
|
||||||
|
"rotation": [0, 0, 45],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [69, 4], "uv_size": [0.25, 0.25]},
|
||||||
|
"east": {"uv": [5, 69], "uv_size": [0.25, 0.25]},
|
||||||
|
"south": {"uv": [69, 5], "uv_size": [0.25, 0.25]},
|
||||||
|
"west": {"uv": [6, 69], "uv_size": [0.25, 0.25]},
|
||||||
|
"up": {"uv": [69, 6], "uv_size": [0.25, 0.25]},
|
||||||
|
"down": {"uv": [7, 69.25], "uv_size": [0.25, -0.25]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [0.13476, 3.31577, -2.35734],
|
||||||
|
"size": [0.05785, 0.05785, 0.00904],
|
||||||
|
"pivot": [0.16368, 3.3447, -2.35282],
|
||||||
|
"rotation": [0, 0, 45],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [69, 4], "uv_size": [0.25, 0.25]},
|
||||||
|
"east": {"uv": [5, 69], "uv_size": [0.25, 0.25]},
|
||||||
|
"south": {"uv": [69, 5], "uv_size": [0.25, 0.25]},
|
||||||
|
"west": {"uv": [6, 69], "uv_size": [0.25, 0.25]},
|
||||||
|
"up": {"uv": [69, 6], "uv_size": [0.25, 0.25]},
|
||||||
|
"down": {"uv": [7, 69.25], "uv_size": [0.25, -0.25]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-0.19261, 3.31577, -2.35734],
|
||||||
|
"size": [0.05785, 0.05785, 0.00904],
|
||||||
|
"pivot": [-0.16368, 3.3447, -2.35282],
|
||||||
|
"rotation": [0, 0, -45],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [69, 7], "uv_size": [0.25, 0.25]},
|
||||||
|
"east": {"uv": [8, 69], "uv_size": [0.25, 0.25]},
|
||||||
|
"south": {"uv": [69, 8], "uv_size": [0.25, 0.25]},
|
||||||
|
"west": {"uv": [9, 69], "uv_size": [0.25, 0.25]},
|
||||||
|
"up": {"uv": [69, 9], "uv_size": [0.25, 0.25]},
|
||||||
|
"down": {"uv": [10, 69.25], "uv_size": [0.25, -0.25]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "gun",
|
"name": "gun",
|
||||||
"parent": "0",
|
"parent": "0",
|
||||||
|
@ -795,20 +844,6 @@
|
||||||
"parent": "qiangguan",
|
"parent": "qiangguan",
|
||||||
"pivot": [0, 3.18294, -34.93031],
|
"pivot": [0, 3.18294, -34.93031],
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{
|
|
||||||
"origin": [-0.06439, 3.28031, -35.57671],
|
|
||||||
"size": [0.12877, 0.12877, 0.6884],
|
|
||||||
"pivot": [0, 3.34469, -35.23251],
|
|
||||||
"rotation": [0, 0, 45],
|
|
||||||
"uv": {
|
|
||||||
"north": {"uv": [69, 4], "uv_size": [0.25, 0.25]},
|
|
||||||
"east": {"uv": [5, 69], "uv_size": [0.25, 0.25]},
|
|
||||||
"south": {"uv": [69, 5], "uv_size": [0.25, 0.25]},
|
|
||||||
"west": {"uv": [6, 69], "uv_size": [0.25, 0.25]},
|
|
||||||
"up": {"uv": [69, 6], "uv_size": [0.25, 0.25]},
|
|
||||||
"down": {"uv": [7, 69.25], "uv_size": [0.25, -0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"origin": [-0.225, 3, -35.625],
|
"origin": [-0.225, 3, -35.625],
|
||||||
"size": [0.45, 0.15, 1.125],
|
"size": [0.45, 0.15, 1.125],
|
||||||
|
@ -1047,34 +1082,6 @@
|
||||||
"down": {"uv": [1, 69.25], "uv_size": [0.25, -0.25]}
|
"down": {"uv": [1, 69.25], "uv_size": [0.25, -0.25]}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"origin": [0.13476, 3.31577, -2.35734],
|
|
||||||
"size": [0.05785, 0.05785, 0.00904],
|
|
||||||
"pivot": [0.16368, 3.3447, -2.35282],
|
|
||||||
"rotation": [0, 0, 45],
|
|
||||||
"uv": {
|
|
||||||
"north": {"uv": [69, 4], "uv_size": [0.25, 0.25]},
|
|
||||||
"east": {"uv": [5, 69], "uv_size": [0.25, 0.25]},
|
|
||||||
"south": {"uv": [69, 5], "uv_size": [0.25, 0.25]},
|
|
||||||
"west": {"uv": [6, 69], "uv_size": [0.25, 0.25]},
|
|
||||||
"up": {"uv": [69, 6], "uv_size": [0.25, 0.25]},
|
|
||||||
"down": {"uv": [7, 69.25], "uv_size": [0.25, -0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.19261, 3.31577, -2.35734],
|
|
||||||
"size": [0.05785, 0.05785, 0.00904],
|
|
||||||
"pivot": [-0.16368, 3.3447, -2.35282],
|
|
||||||
"rotation": [0, 0, -45],
|
|
||||||
"uv": {
|
|
||||||
"north": {"uv": [69, 7], "uv_size": [0.25, 0.25]},
|
|
||||||
"east": {"uv": [8, 69], "uv_size": [0.25, 0.25]},
|
|
||||||
"south": {"uv": [69, 8], "uv_size": [0.25, 0.25]},
|
|
||||||
"west": {"uv": [9, 69], "uv_size": [0.25, 0.25]},
|
|
||||||
"up": {"uv": [69, 9], "uv_size": [0.25, 0.25]},
|
|
||||||
"down": {"uv": [10, 69.25], "uv_size": [0.25, -0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"origin": [-0.26195, 3.10561, -2.45673],
|
"origin": [-0.26195, 3.10561, -2.45673],
|
||||||
"size": [0.2, 0.3, 0.1],
|
"size": [0.2, 0.3, 0.1],
|
||||||
|
|
|
@ -54,6 +54,48 @@
|
||||||
"parent": "gun",
|
"parent": "gun",
|
||||||
"pivot": [0, 0, 0]
|
"pivot": [0, 0, 0]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "sight_illuminated",
|
||||||
|
"parent": "kar98k",
|
||||||
|
"pivot": [-0.15913, 3.36654, -7.92425],
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"origin": [-0.02645, 3.3542, -30.62886],
|
||||||
|
"size": [0.0729, 0.07656, 0.05],
|
||||||
|
"uv": {
|
||||||
|
"south": {"uv": [55, 34.25], "uv_size": [0.25, -0.25]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [0.12638, 3.33254, -7.95421],
|
||||||
|
"size": [0.06551, 0.068, 0.05993],
|
||||||
|
"pivot": [0.15913, 3.36654, -7.92425],
|
||||||
|
"rotation": [0, 0, -45],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [55, 34], "uv_size": [0.25, 0.25]},
|
||||||
|
"east": {"uv": [55, 34], "uv_size": [0.25, 0.25]},
|
||||||
|
"south": {"uv": [55, 34], "uv_size": [0.25, 0.25]},
|
||||||
|
"west": {"uv": [55, 34], "uv_size": [0.25, 0.25]},
|
||||||
|
"up": {"uv": [55.25, 34.25], "uv_size": [-0.25, -0.25]},
|
||||||
|
"down": {"uv": [55.25, 34.25], "uv_size": [-0.25, -0.25]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-0.19189, 3.33254, -7.95421],
|
||||||
|
"size": [0.06551, 0.068, 0.05993],
|
||||||
|
"pivot": [-0.15913, 3.36654, -7.92425],
|
||||||
|
"rotation": [0, 0, 45],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [55.25, 34], "uv_size": [-0.25, 0.25]},
|
||||||
|
"east": {"uv": [55.25, 34], "uv_size": [-0.25, 0.25]},
|
||||||
|
"south": {"uv": [55.25, 34], "uv_size": [-0.25, 0.25]},
|
||||||
|
"west": {"uv": [55.25, 34], "uv_size": [-0.25, 0.25]},
|
||||||
|
"up": {"uv": [55, 34.25], "uv_size": [0.25, -0.25]},
|
||||||
|
"down": {"uv": [55, 34.25], "uv_size": [0.25, -0.25]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "flare",
|
"name": "flare",
|
||||||
"parent": "kar98k",
|
"parent": "kar98k",
|
||||||
|
@ -161,7 +203,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"origin": [0.22425, 2.98248, -30.88808],
|
"origin": [0.22425, 2.98248, -30.88808],
|
||||||
"size": [0.09634, 0.30672, 0.30422],
|
"size": [0.09634, 0.40672, 0.30422],
|
||||||
"pivot": [0.27242, 3.14748, -30.43597],
|
"pivot": [0.27242, 3.14748, -30.43597],
|
||||||
"rotation": [0, 0, 22.5],
|
"rotation": [0, 0, 22.5],
|
||||||
"uv": {
|
"uv": {
|
||||||
|
@ -173,62 +215,6 @@
|
||||||
"down": {"uv": [52, 41.25], "uv_size": [0.25, -0.25]}
|
"down": {"uv": [52, 41.25], "uv_size": [0.25, -0.25]}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"origin": [0.31002, 3.3487, -30.88808],
|
|
||||||
"size": [0.09634, 0.01172, 0.30422],
|
|
||||||
"pivot": [0.35819, 3.35456, -30.73597],
|
|
||||||
"rotation": [0, 0, 22.5],
|
|
||||||
"uv": {
|
|
||||||
"north": {"uv": [55, 36], "uv_size": [0.25, 0.25]},
|
|
||||||
"east": {"uv": [37, 55], "uv_size": [0.25, 0.25]},
|
|
||||||
"south": {"uv": [55, 37], "uv_size": [0.25, 0.25]},
|
|
||||||
"west": {"uv": [38, 55], "uv_size": [0.25, 0.25]},
|
|
||||||
"up": {"uv": [55, 38], "uv_size": [0.25, 0.25]},
|
|
||||||
"down": {"uv": [39, 55.25], "uv_size": [0.25, -0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [0.32844, 3.28259, -30.88808],
|
|
||||||
"size": [0.08071, 0.01172, 0.30422],
|
|
||||||
"pivot": [0.3766, 3.28845, -30.73597],
|
|
||||||
"rotation": [0, 0, 112.5],
|
|
||||||
"uv": {
|
|
||||||
"north": {"uv": [55, 39], "uv_size": [0.25, 0.25]},
|
|
||||||
"east": {"uv": [40, 55], "uv_size": [0.25, 0.25]},
|
|
||||||
"south": {"uv": [55, 40], "uv_size": [0.25, 0.25]},
|
|
||||||
"west": {"uv": [41, 55], "uv_size": [0.25, 0.25]},
|
|
||||||
"up": {"uv": [55, 41], "uv_size": [0.25, 0.25]},
|
|
||||||
"down": {"uv": [42, 55.25], "uv_size": [0.25, -0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [0.26588, 3.31498, -30.88808],
|
|
||||||
"size": [0.08071, 0.01172, 0.30422],
|
|
||||||
"pivot": [0.29843, 3.32084, -30.73597],
|
|
||||||
"rotation": [0, 0, -67.5],
|
|
||||||
"uv": {
|
|
||||||
"north": {"uv": [55, 42], "uv_size": [0.25, 0.25]},
|
|
||||||
"east": {"uv": [43, 55], "uv_size": [0.25, 0.25]},
|
|
||||||
"south": {"uv": [55, 43], "uv_size": [0.25, 0.25]},
|
|
||||||
"west": {"uv": [44, 55], "uv_size": [0.25, 0.25]},
|
|
||||||
"up": {"uv": [55, 44], "uv_size": [0.25, 0.25]},
|
|
||||||
"down": {"uv": [45, 55.25], "uv_size": [0.25, -0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [0.23597, 3.2892, -30.88808],
|
|
||||||
"size": [0.0729, 0.07656, 0.30422],
|
|
||||||
"pivot": [0.27242, 3.14748, -30.43597],
|
|
||||||
"rotation": [0, 0, 22.5],
|
|
||||||
"uv": {
|
|
||||||
"north": {"uv": [55, 34.25], "uv_size": [0.25, -0.25]},
|
|
||||||
"east": {"uv": [55, 34.25], "uv_size": [0.25, -0.25]},
|
|
||||||
"south": {"uv": [55, 34.25], "uv_size": [0.25, -0.25]},
|
|
||||||
"west": {"uv": [55, 34.25], "uv_size": [0.25, -0.25]},
|
|
||||||
"up": {"uv": [55.25, 34], "uv_size": [-0.25, 0.25]},
|
|
||||||
"down": {"uv": [55.25, 34], "uv_size": [-0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"origin": [0.04373, 2.91963, -31.10808],
|
"origin": [0.04373, 2.91963, -31.10808],
|
||||||
"size": [0.43634, 0.02492, 1.12922],
|
"size": [0.43634, 0.02492, 1.12922],
|
||||||
|
@ -443,37 +429,7 @@
|
||||||
{
|
{
|
||||||
"name": "qiangji",
|
"name": "qiangji",
|
||||||
"parent": "qiangshen",
|
"parent": "qiangshen",
|
||||||
"pivot": [0, 2.50938, -25.349],
|
"pivot": [0, 2.50938, -25.349]
|
||||||
"cubes": [
|
|
||||||
{
|
|
||||||
"origin": [0.12638, 3.33254, -7.95421],
|
|
||||||
"size": [0.06551, 0.068, 0.05993],
|
|
||||||
"pivot": [0.15913, 3.36654, -7.92425],
|
|
||||||
"rotation": [0, 0, -45],
|
|
||||||
"uv": {
|
|
||||||
"north": {"uv": [55, 34], "uv_size": [0.25, 0.25]},
|
|
||||||
"east": {"uv": [55, 34], "uv_size": [0.25, 0.25]},
|
|
||||||
"south": {"uv": [55, 34], "uv_size": [0.25, 0.25]},
|
|
||||||
"west": {"uv": [55, 34], "uv_size": [0.25, 0.25]},
|
|
||||||
"up": {"uv": [55.25, 34.25], "uv_size": [-0.25, -0.25]},
|
|
||||||
"down": {"uv": [55.25, 34.25], "uv_size": [-0.25, -0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"origin": [-0.19189, 3.33254, -7.95421],
|
|
||||||
"size": [0.06551, 0.068, 0.05993],
|
|
||||||
"pivot": [-0.15913, 3.36654, -7.92425],
|
|
||||||
"rotation": [0, 0, 45],
|
|
||||||
"uv": {
|
|
||||||
"north": {"uv": [55.25, 34], "uv_size": [-0.25, 0.25]},
|
|
||||||
"east": {"uv": [55.25, 34], "uv_size": [-0.25, 0.25]},
|
|
||||||
"south": {"uv": [55.25, 34], "uv_size": [-0.25, 0.25]},
|
|
||||||
"west": {"uv": [55.25, 34], "uv_size": [-0.25, 0.25]},
|
|
||||||
"up": {"uv": [55, 34.25], "uv_size": [0.25, -0.25]},
|
|
||||||
"down": {"uv": [55, 34.25], "uv_size": [0.25, -0.25]}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "bone17",
|
"name": "bone17",
|
||||||
|
|
|
@ -461,7 +461,14 @@
|
||||||
"up": {"uv": [79, 68], "uv_size": [0.25, 0.25]},
|
"up": {"uv": [79, 68], "uv_size": [0.25, 0.25]},
|
||||||
"down": {"uv": [69, 79.25], "uv_size": [0.25, -0.25]}
|
"down": {"uv": [69, 79.25], "uv_size": [0.25, -0.25]}
|
||||||
}
|
}
|
||||||
},
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "sight_illuminated",
|
||||||
|
"parent": "sight1fold",
|
||||||
|
"pivot": [0, 0, 0],
|
||||||
|
"cubes": [
|
||||||
{
|
{
|
||||||
"origin": [-0.03275, 4.60464, -16.02201],
|
"origin": [-0.03275, 4.60464, -16.02201],
|
||||||
"size": [0.06029, 0.05, 0.0603],
|
"size": [0.06029, 0.05, 0.0603],
|
||||||
|
|
|
@ -1286,6 +1286,41 @@
|
||||||
"parent": "0",
|
"parent": "0",
|
||||||
"pivot": [-0.00065, -13.07072, 2.61367]
|
"pivot": [-0.00065, -13.07072, 2.61367]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "sight_illuminated",
|
||||||
|
"parent": "gun",
|
||||||
|
"pivot": [-0.00195, 3.2736, -0.84964],
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"origin": [-0.02148, 3.37253, -20.6932],
|
||||||
|
"size": [0.04297, 0.04297, 0.55153],
|
||||||
|
"pivot": [0, 3.39401, -20.3979],
|
||||||
|
"rotation": [0, 0, 135],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [61.25, 66.25], "uv_size": [-0.25, -0.25]},
|
||||||
|
"east": {"uv": [61.25, 66.25], "uv_size": [-0.25, -0.25]},
|
||||||
|
"south": {"uv": [61.25, 66.25], "uv_size": [-0.25, -0.25]},
|
||||||
|
"west": {"uv": [61.25, 66.25], "uv_size": [-0.25, -0.25]},
|
||||||
|
"up": {"uv": [61, 66], "uv_size": [0.25, 0.25]},
|
||||||
|
"down": {"uv": [61, 66], "uv_size": [0.25, 0.25]}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"origin": [-0.02348, 3.19919, -0.8222],
|
||||||
|
"size": [0.03914, 0.10584, 0.01563],
|
||||||
|
"pivot": [-0.00195, 3.2736, -0.84964],
|
||||||
|
"rotation": [0, 0, -180],
|
||||||
|
"uv": {
|
||||||
|
"north": {"uv": [61, 66], "uv_size": [0.25, 0.25]},
|
||||||
|
"east": {"uv": [61, 66], "uv_size": [0.25, 0.25]},
|
||||||
|
"south": {"uv": [61, 66], "uv_size": [0.25, 0.25]},
|
||||||
|
"west": {"uv": [61, 66], "uv_size": [0.25, 0.25]},
|
||||||
|
"up": {"uv": [61.25, 66.25], "uv_size": [-0.25, -0.25]},
|
||||||
|
"down": {"uv": [61.25, 66.25], "uv_size": [-0.25, -0.25]}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "barrel",
|
"name": "barrel",
|
||||||
"parent": "gun",
|
"parent": "gun",
|
||||||
|
@ -1441,20 +1476,6 @@
|
||||||
"down": {"uv": [62, 13.25], "uv_size": [0.25, -0.25]}
|
"down": {"uv": [62, 13.25], "uv_size": [0.25, -0.25]}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"origin": [-0.02148, 3.37253, -20.6932],
|
|
||||||
"size": [0.04297, 0.04297, 0.55153],
|
|
||||||
"pivot": [0, 3.39401, -20.3979],
|
|
||||||
"rotation": [0, 0, 135],
|
|
||||||
"uv": {
|
|
||||||
"north": {"uv": [61.25, 66.25], "uv_size": [-0.25, -0.25]},
|
|
||||||
"east": {"uv": [61.25, 66.25], "uv_size": [-0.25, -0.25]},
|
|
||||||
"south": {"uv": [61.25, 66.25], "uv_size": [-0.25, -0.25]},
|
|
||||||
"west": {"uv": [61.25, 66.25], "uv_size": [-0.25, -0.25]},
|
|
||||||
"up": {"uv": [61, 66], "uv_size": [0.25, 0.25]},
|
|
||||||
"down": {"uv": [61, 66], "uv_size": [0.25, 0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"origin": [-0.04934, 3.20069, -20.3711],
|
"origin": [-0.04934, 3.20069, -20.3711],
|
||||||
"size": [0.09738, 0.2115, 0.564],
|
"size": [0.09738, 0.2115, 0.564],
|
||||||
|
@ -1602,20 +1623,6 @@
|
||||||
"down": {"uv": [62, 30.25], "uv_size": [0.25, -0.25]}
|
"down": {"uv": [62, 30.25], "uv_size": [0.25, -0.25]}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"origin": [-0.02348, 3.19919, -0.8222],
|
|
||||||
"size": [0.03914, 0.10584, 0.01563],
|
|
||||||
"pivot": [-0.00195, 3.2736, -0.84964],
|
|
||||||
"rotation": [0, 0, -180],
|
|
||||||
"uv": {
|
|
||||||
"north": {"uv": [61, 66], "uv_size": [0.25, 0.25]},
|
|
||||||
"east": {"uv": [61, 66], "uv_size": [0.25, 0.25]},
|
|
||||||
"south": {"uv": [61, 66], "uv_size": [0.25, 0.25]},
|
|
||||||
"west": {"uv": [61, 66], "uv_size": [0.25, 0.25]},
|
|
||||||
"up": {"uv": [61.25, 66.25], "uv_size": [-0.25, -0.25]},
|
|
||||||
"down": {"uv": [61.25, 66.25], "uv_size": [-0.25, -0.25]}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"origin": [-0.06545, 3.31363, -0.88489],
|
"origin": [-0.06545, 3.31363, -0.88489],
|
||||||
"size": [0.19982, 0.13549, 0.0705],
|
"size": [0.19982, 0.13549, 0.0705],
|
||||||
|
|
|
@ -5242,7 +5242,7 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "charge",
|
"name": "charge_illuminated",
|
||||||
"parent": "0",
|
"parent": "0",
|
||||||
"pivot": [0, 1.36209, -1.71313],
|
"pivot": [0, 1.36209, -1.71313],
|
||||||
"cubes": [
|
"cubes": [
|
||||||
|
|
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 456 B |
Before Width: | Height: | Size: 395 B |
Before Width: | Height: | Size: 414 B |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 79 KiB |
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 390 B |
Before Width: | Height: | Size: 122 KiB After Width: | Height: | Size: 122 KiB |
Before Width: | Height: | Size: 85 KiB |