清理所有木仓械layer

This commit is contained in:
Atsuishio 2025-05-18 16:04:19 +08:00 committed by Light_Quanta
parent 2772dccd9e
commit 8fcfae98b4
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
40 changed files with 2845 additions and 2589 deletions

View file

@ -194,17 +194,17 @@ public class AnimationHelper {
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));
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, size, 1, 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();
}
currentBuffer.getBuffer(renderType);

View file

@ -88,7 +88,7 @@ public class CustomRenderer<T extends Item & GeoAnimatable> extends GeoItemRende
RenderUtil.prepMatrixForBone(poseStack, bone);
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);
}
this.illuminatedRenderChildBones(poseStack, animatable, bone, renderType, bufferSource, buffer, partialTick, packedLight, packedOverlay, color);

View file

@ -26,22 +26,13 @@ public class ModRenderTypes extends RenderType {
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);
RenderType.CompositeState state = RenderType.CompositeState.builder().setTextureState(shard)
.setShaderState(RENDERTYPE_EYES_SHADER).setTransparencyState(NO_TRANSPARENCY)
.setLightmapState(RenderStateShard.NO_LIGHTMAP)
.setOverlayState(RenderStateShard.NO_OVERLAY)
.createCompositeState(false);
return RenderType.create("gun_illuminated", DefaultVertexFormat.NEW_ENTITY, VertexFormat.Mode.QUADS, 256, true, false, state);
.setShaderState(RENDERTYPE_BEACON_BEAM_SHADER).setTransparencyState(RenderStateShard.GLINT_TRANSPARENCY)
.setLightmapState(RenderStateShard.NO_LIGHTMAP).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);
});
//DickSheep的恩情还不完

View file

@ -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);
}
}

View file

@ -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));
}
}

View file

@ -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);
}
}

View file

@ -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));
}
}

View file

@ -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);
}
}

View file

@ -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);
}
}

View file

@ -2,9 +2,9 @@ package com.atsuishio.superbwarfare.client.model.item;
import com.atsuishio.superbwarfare.Mod;
import com.atsuishio.superbwarfare.client.overlay.CrossHairOverlay;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.data.gun.GunData;
import com.atsuishio.superbwarfare.item.gun.sniper.SentinelItem;
import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation;
@ -80,11 +80,6 @@ public class SentinelItemModel extends GeoModel<SentinelItem> {
shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt)));
CrossHairOverlay.gunRot = shen.getRotZ();
GeoBone charge = getAnimationProcessor().getBone("charge");
charge.setRotZ(charge.getRotZ() + times * 0.5f);
ClientEventHandler.gunRootMove(getAnimationProcessor());
if (data.ammo.get() <= 5) {

View file

@ -1,8 +1,11 @@
package com.atsuishio.superbwarfare.client.renderer.item;
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.data.gun.GunData;
import com.atsuishio.superbwarfare.event.ClientEventHandler;
import com.atsuishio.superbwarfare.item.gun.GunItem;
import com.atsuishio.superbwarfare.item.gun.special.BocekItem;
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.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.item.ItemDisplayContext;
import net.minecraft.world.item.ItemStack;
import org.joml.Matrix4f;
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.RenderUtil;
import java.util.HashSet;
import java.util.Set;
public class BocekItemRenderer extends GeoItemRenderer<BocekItem> {
public class BocekItemRenderer extends CustomRenderer<BocekItem> {
public BocekItemRenderer() {
super(new BocekItemModel());
// TODO layer
// this.addRenderLayer(new BocekLayer(this));
// this.addRenderLayer(new BocekPowerLightLayer(this));
}
@Override
@ -42,6 +45,34 @@ public class BocekItemRenderer extends GeoItemRenderer<BocekItem> {
protected BocekItem animatable;
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
public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) {
this.transformType = transformType;

View file

@ -1,6 +1,7 @@
package com.atsuishio.superbwarfare.client.renderer.item;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.CustomRenderer;
import com.atsuishio.superbwarfare.client.model.item.HuntingRifleItemModel;
import com.atsuishio.superbwarfare.item.gun.GunItem;
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 software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import java.util.HashSet;
import java.util.Set;
public class HuntingRifleItemRenderer extends GeoItemRenderer<HuntingRifleItem> {
public class HuntingRifleItemRenderer extends CustomRenderer<HuntingRifleItem> {
public HuntingRifleItemRenderer() {
super(new HuntingRifleItemModel());

View file

@ -1,6 +1,7 @@
package com.atsuishio.superbwarfare.client.renderer.item;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.CustomRenderer;
import com.atsuishio.superbwarfare.client.model.item.K98ItemModel;
import com.atsuishio.superbwarfare.item.gun.GunItem;
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 software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import java.util.HashSet;
import java.util.Set;
public class K98ItemRenderer extends GeoItemRenderer<K98Item> {
public class K98ItemRenderer extends CustomRenderer<K98Item> {
public K98ItemRenderer() {
super(new K98ItemModel());
// TODO layer
// this.addRenderLayer(new K98Layer(this));
}
@Override

View file

@ -1,6 +1,7 @@
package com.atsuishio.superbwarfare.client.renderer.item;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.CustomRenderer;
import com.atsuishio.superbwarfare.client.ItemModelHelper;
import com.atsuishio.superbwarfare.client.model.item.M4ItemModel;
import com.atsuishio.superbwarfare.data.gun.GunData;
@ -19,12 +20,11 @@ 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 java.util.HashSet;
import java.util.Set;
public class M4ItemRenderer extends GeoItemRenderer<M4Item> {
public class M4ItemRenderer extends CustomRenderer<M4Item> {
public M4ItemRenderer() {
super(new M4ItemModel());

View file

@ -1,6 +1,7 @@
package com.atsuishio.superbwarfare.client.renderer.item;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.CustomRenderer;
import com.atsuishio.superbwarfare.client.model.item.MarlinItemModel;
import com.atsuishio.superbwarfare.item.gun.GunItem;
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 software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import java.util.HashSet;
import java.util.Set;
public class MarlinItemRenderer extends GeoItemRenderer<MarlinItem> {
public class MarlinItemRenderer extends CustomRenderer<MarlinItem> {
public MarlinItemRenderer() {
super(new MarlinItemModel());

View file

@ -1,7 +1,9 @@
package com.atsuishio.superbwarfare.client.renderer.item;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.CustomRenderer;
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.machinegun.MinigunItem;
import com.mojang.blaze3d.vertex.PoseStack;
@ -14,17 +16,14 @@ 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 java.util.HashSet;
import java.util.Set;
public class MinigunItemRenderer extends GeoItemRenderer<MinigunItem> {
public class MinigunItemRenderer extends CustomRenderer<MinigunItem> {
public MinigunItemRenderer() {
super(new MinigunItemModel());
// TODO layer
// this.addRenderLayer(new MinigunHeatLayer(this));
}
@Override
@ -77,6 +76,13 @@ public class MinigunItemRenderer extends GeoItemRenderer<MinigunItem> {
ItemStack itemStack = player.getMainHandItem();
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);
if (renderingArms) {

View file

@ -1,6 +1,7 @@
package com.atsuishio.superbwarfare.client.renderer.item;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.CustomRenderer;
import com.atsuishio.superbwarfare.client.model.item.Mp443ItemModel;
import com.atsuishio.superbwarfare.item.gun.GunItem;
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 software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import java.util.HashSet;
import java.util.Set;
public class Mp443ItemRenderer extends GeoItemRenderer<Mp443Item> {
public class Mp443ItemRenderer extends CustomRenderer<Mp443Item> {
public Mp443ItemRenderer() {
super(new Mp443ItemModel());
// TODO layer
// this.addRenderLayer(new Mp443LightLayer(this));
}
@Override

View file

@ -1,6 +1,7 @@
package com.atsuishio.superbwarfare.client.renderer.item;
import com.atsuishio.superbwarfare.client.AnimationHelper;
import com.atsuishio.superbwarfare.client.CustomRenderer;
import com.atsuishio.superbwarfare.client.model.item.SentinelItemModel;
import com.atsuishio.superbwarfare.item.gun.GunItem;
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 software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.cache.object.GeoBone;
import software.bernie.geckolib.renderer.GeoItemRenderer;
import java.util.HashSet;
import java.util.Set;
public class SentinelItemRenderer extends GeoItemRenderer<SentinelItem> {
public class SentinelItemRenderer extends CustomRenderer<SentinelItem> {
public SentinelItemRenderer() {
super(new SentinelItemModel());
// TODO layer
// this.addRenderLayer(new SentinelLightLayer(this));
}
@Override
@ -81,8 +79,9 @@ public class SentinelItemRenderer extends GeoItemRenderer<SentinelItem> {
var cap = itemStack.getCapability(Capabilities.EnergyStorage.ITEM);
var flag = cap != null && cap.getEnergyStored() > 0;
if (name.equals("charge")) {
if (name.equals("charge_illuminated")) {
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);

View file

@ -162,6 +162,11 @@ public class Agm65Entity extends FastThrowableProjectile implements GeoEntity, D
if (entity instanceof LivingEntity) {
entity.invulnerableTime = 0;
}
for (int i = 0; i < 5; i++) {
apExplode(result, i);
}
causeExplode(result);
this.discard();
}

View file

@ -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",
"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",
"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",
"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",
"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",
"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",
"parent": "head",
@ -18093,45 +18207,6 @@
"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],
"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",
"parent": "Scope0",

View file

@ -1753,7 +1753,7 @@
]
},
{
"name": "glow",
"name": "glow_illuminated",
"parent": "jimiao",
"pivot": [0.06161, -2.12152, 0.88585],
"cubes": [

View file

@ -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",
"parent": "0",
@ -795,20 +844,6 @@
"parent": "qiangguan",
"pivot": [0, 3.18294, -34.93031],
"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],
"size": [0.45, 0.15, 1.125],
@ -1047,34 +1082,6 @@
"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],
"size": [0.2, 0.3, 0.1],

View file

@ -54,6 +54,48 @@
"parent": "gun",
"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",
"parent": "kar98k",
@ -161,7 +203,7 @@
},
{
"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],
"rotation": [0, 0, 22.5],
"uv": {
@ -173,62 +215,6 @@
"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],
"size": [0.43634, 0.02492, 1.12922],
@ -443,37 +429,7 @@
{
"name": "qiangji",
"parent": "qiangshen",
"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]}
}
}
]
"pivot": [0, 2.50938, -25.349]
},
{
"name": "bone17",

View file

@ -461,7 +461,14 @@
"up": {"uv": [79, 68], "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],
"size": [0.06029, 0.05, 0.0603],

View file

@ -1286,6 +1286,41 @@
"parent": "0",
"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",
"parent": "gun",
@ -1441,20 +1476,6 @@
"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],
"size": [0.09738, 0.2115, 0.564],
@ -1602,20 +1623,6 @@
"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],
"size": [0.19982, 0.13549, 0.0705],

File diff suppressed because it is too large Load diff

View file

@ -5242,7 +5242,7 @@
]
},
{
"name": "charge",
"name": "charge_illuminated",
"parent": "0",
"pivot": [0, 1.36209, -1.71313],
"cubes": [

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 456 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 395 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 414 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 390 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB