diff --git a/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/SentinelLayer.java b/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/SentinelLayer.java deleted file mode 100644 index 09e487bf1..000000000 --- a/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/SentinelLayer.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.atsuishio.superbwarfare.client.layer.gun; - -import com.atsuishio.superbwarfare.Mod; -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 SentinelLayer extends GeoRenderLayer { - private static final ResourceLocation LAYER = Mod.loc("textures/item/sentinel_e.png"); - - public SentinelLayer(GeoRenderer entityRenderer) { - super(entityRenderer); - } - - @Override - public void render(PoseStack poseStack, SentinelItem 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); - } -} diff --git a/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/SksLayer.java b/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/SksLayer.java deleted file mode 100644 index 430a749ef..000000000 --- a/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/SksLayer.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.atsuishio.superbwarfare.client.layer.gun; - -import com.atsuishio.superbwarfare.Mod; -import com.atsuishio.superbwarfare.item.gun.rifle.SksItem; -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 SksLayer extends GeoRenderLayer { - private static final ResourceLocation LAYER = Mod.loc("textures/item/sks_e.png"); - - public SksLayer(GeoRenderer entityRenderer) { - super(entityRenderer); - } - - @Override - public void render(PoseStack poseStack, SksItem 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); - } -} diff --git a/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/SvdLayer.java b/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/SvdLayer.java deleted file mode 100644 index 5f0b7d72f..000000000 --- a/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/SvdLayer.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.atsuishio.superbwarfare.client.layer.gun; - -import com.atsuishio.superbwarfare.Mod; -import com.atsuishio.superbwarfare.item.gun.sniper.SvdItem; -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 SvdLayer extends GeoRenderLayer { - private static final ResourceLocation LAYER = Mod.loc("textures/item/ak12_e.png"); - - public SvdLayer(GeoRenderer entityRenderer) { - super(entityRenderer); - } - - @Override - public void render(PoseStack poseStack, SvdItem 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); - } -} diff --git a/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/TracheliumLayer.java b/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/TracheliumLayer.java deleted file mode 100644 index bda6f76c9..000000000 --- a/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/TracheliumLayer.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.atsuishio.superbwarfare.client.layer.gun; - -import com.atsuishio.superbwarfare.Mod; -import com.atsuishio.superbwarfare.item.gun.handgun.Trachelium; -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 TracheliumLayer extends GeoRenderLayer { - private static final ResourceLocation LAYER = Mod.loc("textures/item/trachelium_texture_e.png"); - - public TracheliumLayer(GeoRenderer entityRenderer) { - super(entityRenderer); - } - - @Override - public void render(PoseStack poseStack, Trachelium 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); - } -} diff --git a/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/TracheliumLightLayer.java b/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/TracheliumLightLayer.java deleted file mode 100644 index 2c1136708..000000000 --- a/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/TracheliumLightLayer.java +++ /dev/null @@ -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.Trachelium; -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 TracheliumLightLayer extends GeoRenderLayer { - private static final ResourceLocation LAYER = Mod.loc("textures/item/trachelium_texture_e.png"); - - public TracheliumLightLayer(GeoRenderer itemGeoRenderer) { - super(itemGeoRenderer); - } - - @Override - public void render(PoseStack poseStack, Trachelium 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); - } -} diff --git a/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/VectorLayer.java b/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/VectorLayer.java deleted file mode 100644 index 37e0dd144..000000000 --- a/src/main/java/com/atsuishio/superbwarfare/client/layer/gun/VectorLayer.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.atsuishio.superbwarfare.client.layer.gun; - -import com.atsuishio.superbwarfare.Mod; -import com.atsuishio.superbwarfare.item.gun.smg.VectorItem; -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 VectorLayer extends GeoRenderLayer { - private static final ResourceLocation LAYER = Mod.loc("textures/item/vector_e.png"); - - public VectorLayer(GeoRenderer entityRenderer) { - super(entityRenderer); - } - - @Override - public void render(PoseStack poseStack, VectorItem 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); - } -} diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/MosinNagantItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/MosinNagantItemModel.java index 70da37237..b7f90f9fd 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/MosinNagantItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/MosinNagantItemModel.java @@ -40,7 +40,6 @@ public class MosinNagantItemModel extends GeoModel { GeoBone bone15 = getAnimationProcessor().getBone("bone15"); GeoBone bone16 = getAnimationProcessor().getBone("bone16"); GeoBone qiangshen = getAnimationProcessor().getBone("qiangshen"); - GeoBone rex = getAnimationProcessor().getBone("rex"); Player player = Minecraft.getInstance().player; if (player == null) return; @@ -93,11 +92,6 @@ public class MosinNagantItemModel extends GeoModel { shen.setRotZ((float) (shen.getRotZ() * (1 - 0.65 * zt))); CrossHairOverlay.gunRot = shen.getRotZ(); - - rex.setPosY(0.05f + 0.1f * (float) fp); - rex.setRotZ((float) (-0.08f * fp * ClientEventHandler.recoilHorizon * fp)); - - ClientEventHandler.gunRootMove(getAnimationProcessor()); GeoBone camera = getAnimationProcessor().getBone("camera"); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/SvdItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/SvdItemModel.java index 59d26af8f..e28a82476 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/SvdItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/SvdItemModel.java @@ -44,7 +44,6 @@ public class SvdItemModel extends GeoModel { public void setCustomAnimations(SvdItem animatable, long instanceId, AnimationState animationState) { GeoBone gun = getAnimationProcessor().getBone("bone"); GeoBone bolt = getAnimationProcessor().getBone("bolt"); - GeoBone cross3 = getAnimationProcessor().getBone("Cross3"); Player player = Minecraft.getInstance().player; if (player == null) return; @@ -98,8 +97,6 @@ public class SvdItemModel extends GeoModel { gun.setPosZ(posZ * (float) zp + (float) (0.3f * zpz)); gun.setRotZ((float) (0.05f * zpz)); gun.setScaleZ(1f - (scaleZ * (float) zp)); - cross3.setScaleX((float) (1f + (0.1 * zp))); - cross3.setScaleY((float) (1f + (0.1 * zp))); var data = GunData.from(stack); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/model/item/VectorItemModel.java b/src/main/java/com/atsuishio/superbwarfare/client/model/item/VectorItemModel.java index aa74e9836..c4ae2606d 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/model/item/VectorItemModel.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/model/item/VectorItemModel.java @@ -45,7 +45,6 @@ public class VectorItemModel extends GeoModel { public void setCustomAnimations(VectorItem animatable, long instanceId, AnimationState animationState) { GeoBone gun = getAnimationProcessor().getBone("bone"); GeoBone scope = getAnimationProcessor().getBone("Scope1"); - GeoBone cross1 = getAnimationProcessor().getBone("Cross1"); GeoBone kmj = getAnimationProcessor().getBone("kuaimanji"); GeoBone sight1fold = getAnimationProcessor().getBone("SightFold1"); GeoBone sight2fold = getAnimationProcessor().getBone("SightFold2"); @@ -121,8 +120,6 @@ public class VectorItemModel extends GeoModel { CrossHairOverlay.gunRot = shen.getRotZ(); - cross1.setPosY(-0.25f * (float) fpz); - rotXSight = Mth.lerp(1.5f * times, rotXSight, type == 0 ? 0 : 90); sight1fold.setRotX(rotXSight * Mth.DEG_TO_RAD); sight2fold.setRotX(rotXSight * Mth.DEG_TO_RAD); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/MosinNagantItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/MosinNagantItemRenderer.java index fe086a792..c5bf04954 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/MosinNagantItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/MosinNagantItemRenderer.java @@ -76,14 +76,13 @@ public class MosinNagantItemRenderer extends GeoItemRenderer { ItemStack itemStack = player.getMainHandItem(); if (!(itemStack.getItem() instanceof GunItem)) return; - if (name.equals("rex")) { - bone.setHidden(ClientEventHandler.zoomPos < 0.7 || !ClientEventHandler.zoom); - } if (name.equals("jia") || name.equals("b1") || name.equals("b2")) { bone.setHidden(ClientEventHandler.zoomPos > 0.7); } + AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.259025, -0.05, 0.08f, 0, 0, 0, 255, "pu", true); + AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 2.38345, 0.6); if (renderingArms) { diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SentinelItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SentinelItemRenderer.java index f975e0697..6b035d317 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SentinelItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SentinelItemRenderer.java @@ -25,9 +25,7 @@ public class SentinelItemRenderer extends GeoItemRenderer { public SentinelItemRenderer() { super(new SentinelItemModel()); // TODO layer -// this.addRenderLayer(new SentinelLayer(this)); - // TODO layer -// this.addRenderLayer(new SentinelLightLayer(this)); +// this.addRenderLayer(new SentinelLightLayer(this)); } @Override diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SksItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SksItemRenderer.java index 45f8f3dbc..d72155376 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SksItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SksItemRenderer.java @@ -2,7 +2,6 @@ package com.atsuishio.superbwarfare.client.renderer.item; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.model.item.SksItemModel; -import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.rifle.SksItem; import com.mojang.blaze3d.vertex.PoseStack; @@ -24,8 +23,6 @@ public class SksItemRenderer extends GeoItemRenderer { public SksItemRenderer() { super(new SksItemModel()); - // TODO layer -// this.addRenderLayer(new SksLayer(this)); } @Override @@ -78,9 +75,7 @@ public class SksItemRenderer extends GeoItemRenderer { ItemStack itemStack = player.getMainHandItem(); if (!(itemStack.getItem() instanceof GunItem)) return; - if (name.equals("holo")) { - bone.setHidden(ClientEventHandler.zoomPos < 0.7 || !ClientEventHandler.zoom); - } + AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.25654375, 20, 2f, 0, 255, 0, 255, "okp_7", false); AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 1.4375, 0.35); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SvdItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SvdItemRenderer.java index 91b93dce2..21e8ee689 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SvdItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/SvdItemRenderer.java @@ -27,8 +27,6 @@ public class SvdItemRenderer extends GeoItemRenderer { public SvdItemRenderer() { super(new SvdItemModel()); - // TODO layer -// this.addRenderLayer(new SvdLayer(this)); } @Override @@ -86,34 +84,24 @@ public class SvdItemRenderer extends GeoItemRenderer { bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 0 || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2); } - if (name.equals("Cross1")) { - bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 1); - } - - if (name.equals("Cross2")) { - bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 2); - } - if ((GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 3) && (name.equals("Hidden2") || name.equals("Hidden") || name.equals("gun") || name.equals("bolt") || name.equals("Lefthand") || name.equals("Barrel") || name.equals("bipod") || name.equals("mount")) && ClientEventHandler.zoom && ClientEventHandler.zoomPos > 0.7) { bone.setHidden(true); renderingArms = false; } - if (name.equals("flare")) { - if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5 || GunData.from(itemStack).attachment.get(AttachmentType.BARREL) == 2 || GunData.from(itemStack).attachment.get(AttachmentType.BARREL) == 3) { - bone.setHidden(true); - } else { - if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 && ClientEventHandler.zoom && ClientEventHandler.zoomPos > 0.7) { - bone.setPosY(-2f); - } - bone.setHidden(false); - bone.setScaleX((float) (0.75 + 0.5 * (Math.random() - 0.5))); - bone.setScaleY((float) (0.75 + 0.5 * (Math.random() - 0.5))); - bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); - } + int scopeType = GunData.from(itemStack).attachment.get(AttachmentType.SCOPE); + + switch (scopeType) { + case 1 -> + AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.24, 20, 1, 255, 0, 0, 255, "dot", false); + case 2 -> + AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, -0.01, 0.24, 18, 1, 255, 0, 0, 255, "pso_1", true); + case 3 -> + AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.2525, -0.1, 0.08f, 255, 0, 0, 255, "sniper", true); } + AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 1.76479375, 0.35); ItemModelHelper.handleGunAttachments(bone, itemStack, name); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/TracheliumItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/TracheliumItemRenderer.java index 5ba2cc65f..b429764fc 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/TracheliumItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/TracheliumItemRenderer.java @@ -28,10 +28,6 @@ public class TracheliumItemRenderer extends GeoItemRenderer { public TracheliumItemRenderer() { super(new TracheliumItemModel()); - // TODO layer -// this.addRenderLayer(new TracheliumLayer(this)); - // TODO layer -// this.addRenderLayer(new TracheliumLightLayer(this)); } @Override @@ -101,27 +97,25 @@ public class TracheliumItemRenderer extends GeoItemRenderer { bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.GRIP) == 0); } - if (name.equals("Cross1")) { - bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 1); - } - - if (name.equals("Cross2")) { - bone.setHidden(ClientEventHandler.zoomPos < 0.7 - || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2 - || NBTTool.getTag(itemStack).getBoolean("ScopeAlt")); - } - - if (name.equals("CrossAlt")) { - bone.setHidden(ClientEventHandler.zoomPos < 0.7 - || !ClientEventHandler.zoom - || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2 - || !(NBTTool.getTag(itemStack).getBoolean("ScopeAlt"))); - } if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 && !NBTTool.getTag(itemStack).getBoolean("ScopeAlt") && (name.equals("hidden"))) { bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom); } + int scopeType = GunData.from(itemStack).attachment.get(AttachmentType.SCOPE); + + switch (scopeType) { + case 1 -> + AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.3, 30, 1.2f, 255, 0, 0, 255, "dot", false); + case 2 -> { + if (NBTTool.getTag(itemStack).getBoolean("ScopeAlt")) { + AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.36, 30, 0.18f, 255, 0, 0, 255, "delta", false); + } else { + AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.294, 13, 0.87f, 255, 0, 0, 255, "hamr", true); + } + } + } + ItemModelHelper.handleGunAttachments(bone, itemStack, name); AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 0.734375, 0.5); diff --git a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/VectorItemRenderer.java b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/VectorItemRenderer.java index 769c38372..9ded3d28b 100644 --- a/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/VectorItemRenderer.java +++ b/src/main/java/com/atsuishio/superbwarfare/client/renderer/item/VectorItemRenderer.java @@ -3,7 +3,6 @@ package com.atsuishio.superbwarfare.client.renderer.item; import com.atsuishio.superbwarfare.client.AnimationHelper; import com.atsuishio.superbwarfare.client.ItemModelHelper; import com.atsuishio.superbwarfare.client.model.item.VectorItemModel; -import com.atsuishio.superbwarfare.event.ClientEventHandler; import com.atsuishio.superbwarfare.item.gun.GunItem; import com.atsuishio.superbwarfare.item.gun.data.GunData; import com.atsuishio.superbwarfare.item.gun.data.value.AttachmentType; @@ -25,33 +24,28 @@ import java.util.Set; public class VectorItemRenderer extends GeoItemRenderer { - private static final float SCALE_RECIPROCAL = 0.0625f; - protected boolean renderArms; - protected MultiBufferSource currentBuffer; - protected RenderType renderType; - public ItemDisplayContext transformType; - protected VectorItem animatable; - private final Set hiddenBones; - - public VectorItemRenderer() { super(new VectorItemModel()); - // TODO layer - -// this.addRenderLayer(new VectorLayer(this)); - - this.renderArms = false; - this.hiddenBones = new HashSet<>(); } + @Override public RenderType getRenderType(VectorItem animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) { return RenderType.entityTranslucent(getTextureLocation(animatable)); } + private static final float SCALE_RECIPROCAL = 1.0f / 16.0f; + protected boolean renderArms = false; + protected MultiBufferSource currentBuffer; + protected RenderType renderType; + public ItemDisplayContext transformType; + protected VectorItem animatable; + private final Set hiddenBones = new HashSet<>(); @Override public void renderByItem(ItemStack stack, ItemDisplayContext transformType, PoseStack matrixStack, MultiBufferSource bufferIn, int combinedLightIn, int p_239207_6_) { this.transformType = transformType; + if (this.animatable != null) + this.animatable.getTransformType(transformType); super.renderByItem(stack, transformType, matrixStack, bufferIn, combinedLightIn, p_239207_6_); } @@ -84,20 +78,18 @@ public class VectorItemRenderer extends GeoItemRenderer { ItemStack itemStack = player.getMainHandItem(); if (!(itemStack.getItem() instanceof GunItem)) return; - var data = GunData.from(itemStack); - - if (name.equals("Cross1")) { - bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 1); - } - - if (name.equals("Cross2")) { - bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 2); - } - if (name.equals("tuoxin")) { bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.STOCK) == 0); } + int scopeType = GunData.from(itemStack).attachment.get(AttachmentType.SCOPE); + switch (scopeType) { + case 1 -> + AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.27, 18, 1, 255, 0, 0, 255, "dot", false); + case 2 -> + AnimationHelper.handleZoomCrossHair(currentBuffer, renderType, name, stack, bone, buffer, packedLightIn, 0, 0.27, 16, 1, 255, 0, 0, 255, "apex_2x", true); + } + AnimationHelper.handleShootFlare(name, stack, itemStack, bone, buffer, packedLightIn, 0, 0, 1.453125, 0.35); ItemModelHelper.handleGunAttachments(bone, itemStack, name); @@ -108,88 +100,4 @@ public class VectorItemRenderer extends GeoItemRenderer { } super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color); } - - -// @Override -// public void renderRecursively(PoseStack stack, VectorItem animatable, GeoBone bone, RenderType type, MultiBufferSource buffer, VertexConsumer bufferIn, boolean isReRender, float partialTick, int packedLightIn, int packedOverlayIn, int color) { -// Minecraft mc = Minecraft.getInstance(); -// String name = bone.getName(); -// boolean renderingArms = false; -// if (name.equals("Lefthand") || name.equals("Righthand")) { -// bone.setHidden(true); -// renderingArms = true; -// } else { -// bone.setHidden(this.hiddenBones.contains(name)); -// } -// -// Player player = mc.player; -// if (player == null) return; -// ItemStack itemStack = player.getMainHandItem(); -// if (!(itemStack.getItem() instanceof GunItem)) return; -// -// if (name.equals("Cross1")) { -// bone.setHidden(ClientEventHandler.zoomPos < 0.7 -// || !ClientEventHandler.zoom -// || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 1); -// } -// -// if (name.equals("Cross2")) { -// bone.setHidden(ClientEventHandler.zoomPos < 0.7 -// || !ClientEventHandler.zoom -// || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2); -// } -// -// if (name.equals("tuoxin")) { -// bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.STOCK) == 0); -// } -// -// if (name.equals("flare")) { -// if (ClientEventHandler.firePosTimer == 0 || Clientdom() - 0.5))); -//// bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); -//// bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); -//// } -//// } -//// -//// ItemModelHelper.handleGunAttachments(bone, itemStack, name);EventHandler.firePosTimer > 0.5 || GunData.from(itemStack).attachment.get(AttachmentType.BARREL) == 2) { -// bone.setHidden(true); -// } else { -// bone.setHidden(false); -// bone.setScaleX((float) (0.55 + 0.5 * (Math.ran -// -//// type. -// if (this.transformType.firstPerson() && renderingArms) { -// AbstractClientPlayer localPlayer = mc.player; -// -// if (localPlayer == null) { -// return; -// } -// -// PlayerRenderer playerRenderer = (PlayerRenderer) mc.getEntityRenderDispatcher().getRenderer(localPlayer); -// PlayerModel model = playerRenderer.getModel(); -// stack.pushPose(); -// -// RenderUtil.translateMatrixToBone(stack, bone); -// RenderUtil.translateToPivotPoint(stack, bone); -// RenderUtil.rotateMatrixAroundBone(stack, bone); -// RenderUtil.scaleMatrixForBone(stack, bone); -// RenderUtil.translateAwayFromPivotPoint(stack, bone); -// ResourceLocation loc = localPlayer.getSkin().texture(); -// VertexConsumer armBuilder = this.currentBuffer.getBuffer(RenderType.entitySolid(loc)); -// VertexConsumer sleeveBuilder = this.currentBuffer.getBuffer(RenderType.entityTranslucent(loc)); -// if (name.equals("Lefthand")) { -// stack.translate(-1.0f * SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f); -// AnimationHelper.renderPartOverBone(model.leftArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); -// AnimationHelper.renderPartOverBone(model.leftSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); -// } else { -// stack.translate(SCALE_RECIPROCAL, 2.0f * SCALE_RECIPROCAL, 0.0f); -// AnimationHelper.renderPartOverBone(model.rightArm, bone, stack, armBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); -// AnimationHelper.renderPartOverBone(model.rightSleeve, bone, stack, sleeveBuilder, packedLightIn, OverlayTexture.NO_OVERLAY, 1); -// } -// -// this.currentBuffer.getBuffer(this.renderType); -// stack.popPose(); -// } -// super.renderRecursively(stack, animatable, bone, type, buffer, bufferIn, isReRender, partialTick, packedLightIn, packedOverlayIn, color); -// } - } diff --git a/src/main/resources/assets/superbwarfare/geo/mosin_nagant.geo.json b/src/main/resources/assets/superbwarfare/geo/mosin_nagant.geo.json index a04d4020a..1b4eb7220 100644 --- a/src/main/resources/assets/superbwarfare/geo/mosin_nagant.geo.json +++ b/src/main/resources/assets/superbwarfare/geo/mosin_nagant.geo.json @@ -55,6 +55,15 @@ "pivot": [0, 0, 0] }, { + "name": "cross", + "parent": "mosinnagant", + "pivot": [ + 0, + 4.146, + -99.61558 + ] + }, + { "name": "flare", "parent": "mosinnagant", "pivot": [0, 2.41125, -38.13516] @@ -261,69 +270,6 @@ } ] }, - { - "name": "rex", - "parent": "pu", - "pivot": [0, 4.146, -99.61558], - "cubes": [ - { - "origin": [-0.02874, 1.88932, -99.61558], - "size": [0.0575, 3.2, 0], - "pivot": [0.00001, 3.00494, -99.61558], - "rotation": [0, 0, -180], - "uv": { - "north": {"uv": [40, 23], "uv_size": [0.25, 0.25]}, - "east": {"uv": [40, 23], "uv_size": [0.25, 0.25]}, - "south": {"uv": [40, 23], "uv_size": [0.25, 0.25]}, - "west": {"uv": [40, 23], "uv_size": [0.25, 0.25]}, - "up": {"uv": [40.25, 23.25], "uv_size": [-0.25, -0.25]}, - "down": {"uv": [40.25, 23.25], "uv_size": [-0.25, -0.25]} - } - }, - { - "origin": [-0.02874, 4.73061, -99.61558], - "size": [0.0575, 2.65625, 0], - "pivot": [0.00001, 4.1459, -95.86766], - "rotation": [0, 0, -90], - "uv": { - "north": {"uv": [15.25, 41.25], "uv_size": [-0.25, -0.25]}, - "east": {"uv": [15.25, 41.25], "uv_size": [-0.25, -0.25]}, - "south": {"uv": [15.25, 41.25], "uv_size": [-0.25, -0.25]}, - "west": {"uv": [15.25, 41.25], "uv_size": [-0.25, -0.25]}, - "up": {"uv": [15, 41], "uv_size": [0.25, 0.25]}, - "down": {"uv": [15, 41], "uv_size": [0.25, 0.25]} - } - }, - { - "origin": [-0.02874, 4.73061, -99.61558], - "size": [0.0575, 2.65625, 0], - "pivot": [0.00001, 4.1459, -95.86766], - "rotation": [0, 0, 90], - "uv": { - "north": {"uv": [15, 41.25], "uv_size": [0.25, -0.25]}, - "east": {"uv": [15, 41.25], "uv_size": [0.25, -0.25]}, - "south": {"uv": [15, 41.25], "uv_size": [0.25, -0.25]}, - "west": {"uv": [15, 41.25], "uv_size": [0.25, -0.25]}, - "up": {"uv": [15.25, 41], "uv_size": [-0.25, 0.25]}, - "down": {"uv": [15.25, 41], "uv_size": [-0.25, 0.25]} - } - }, - { - "origin": [0.01923, 4.00452, -99.61558], - "size": [0.04073, 0.04073, 0], - "pivot": [-0.00004, 4.06452, -99.61558], - "rotation": [0, 0, -135], - "uv": { - "north": {"uv": [15.25, 41.25], "uv_size": [-0.25, -0.25]}, - "east": {"uv": [15.25, 41.25], "uv_size": [-0.25, -0.25]}, - "south": {"uv": [15.25, 41.25], "uv_size": [-0.25, -0.25]}, - "west": {"uv": [15.25, 41.25], "uv_size": [-0.25, -0.25]}, - "up": {"uv": [15, 41], "uv_size": [0.25, 0.25]}, - "down": {"uv": [15, 41], "uv_size": [0.25, 0.25]} - } - } - ] - }, { "name": "jia", "parent": "scope", diff --git a/src/main/resources/assets/superbwarfare/geo/sks.geo.json b/src/main/resources/assets/superbwarfare/geo/sks.geo.json index 08a341570..cfa940b9c 100644 --- a/src/main/resources/assets/superbwarfare/geo/sks.geo.json +++ b/src/main/resources/assets/superbwarfare/geo/sks.geo.json @@ -40,23 +40,13 @@ "pivot": [0, 2.14727, -23] }, { - "name": "holo", + "name": "cross", "parent": "0", - "pivot": [0.16407, 4.10469, -101], - "cubes": [ - { - "origin": [-2.83593, 1.10469, -101], - "size": [6, 6, 0], - "uv": { - "north": {"uv": [126.8877, 64.44092], "uv_size": [0, -0.25]}, - "east": {"uv": [0, 0], "uv_size": [0, 8]}, - "south": {"uv": [5.7002, 167.15967], "uv_size": [40, 40]}, - "west": {"uv": [0, 0], "uv_size": [0, 8]}, - "up": {"uv": [8, 0], "uv_size": [-8, 0]}, - "down": {"uv": [8, 0], "uv_size": [-8, 0]} - } - } - ] + "pivot": [ + 0.16407, + 4.10469, + -101 + ] }, { "name": "bolt", diff --git a/src/main/resources/assets/superbwarfare/geo/svd.geo.json b/src/main/resources/assets/superbwarfare/geo/svd.geo.json index ac507803d..06d795e32 100644 --- a/src/main/resources/assets/superbwarfare/geo/svd.geo.json +++ b/src/main/resources/assets/superbwarfare/geo/svd.geo.json @@ -55,6 +55,15 @@ "pivot": [0, 0, 0] }, { + "name": "cross", + "parent": "0", + "pivot": [ + 0, + 3.92156, + -298.5 + ] + }, + { "name": "Barrel", "parent": "0", "pivot": [0, 0, 0] @@ -5363,353 +5372,6 @@ "parent": "Scope3", "pivot": [0, 4.04047, 1.64859] }, - { - "name": "Cross33", - "parent": "Cross3", - "pivot": [0, 0, 0] - }, - { - "name": "bone98", - "parent": "Cross33", - "pivot": [0, 4.04047, 1.64859], - "cubes": [ - { - "origin": [-0.00321, 4.02153, 1.64859], - "size": [0.00641, 0.03787, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, -90], - "uv": { - "south": {"uv": [28.6375, 76.64375], "uv_size": [-2.25, 2.125]} - } - }, - { - "origin": [-0.00321, 4.02153, 1.64859], - "size": [0.00641, 0.03787, 0], - "uv": { - "south": {"uv": [28.6375, 76.64375], "uv_size": [-2.25, 2.125]} - } - } - ] - }, - { - "name": "bone120", - "parent": "Cross33", - "pivot": [0, 4.04047, 1.64859] - }, - { - "name": "bone100", - "parent": "bone120", - "pivot": [0, 4.04047, 1.64859], - "cubes": [ - { - "origin": [-0.00354, 3.96453, 1.64859], - "size": [0.00709, 0.00509, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, -90], - "uv": { - "north": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "east": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "south": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "west": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "up": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]}, - "down": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]} - } - }, - { - "origin": [-0.00354, 3.76503, 1.64859], - "size": [0.00709, 0.00509, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, -90], - "uv": { - "north": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "east": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "south": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "west": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "up": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]}, - "down": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]} - } - }, - { - "origin": [-0.00354, 3.83153, 1.64859], - "size": [0.00709, 0.00509, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, -90], - "uv": { - "north": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "east": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "south": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "west": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "up": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]}, - "down": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]} - } - }, - { - "origin": [-0.00354, 3.89803, 1.64859], - "size": [0.00709, 0.00509, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, -90], - "uv": { - "north": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "east": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "south": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "west": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "up": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]}, - "down": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]} - } - }, - { - "origin": [-0.00354, 3.96453, 1.64859], - "size": [0.00709, 0.00509, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, 90], - "uv": { - "north": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "east": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "west": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "up": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]}, - "down": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]} - } - }, - { - "origin": [-0.00354, 3.76503, 1.64859], - "size": [0.00709, 0.00509, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, 90], - "uv": { - "north": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "east": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "west": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "up": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]}, - "down": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]} - } - }, - { - "origin": [-0.00354, 3.83153, 1.64859], - "size": [0.00709, 0.00509, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, 90], - "uv": { - "north": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "east": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "west": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "up": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]}, - "down": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]} - } - }, - { - "origin": [-0.00354, 3.89803, 1.64859], - "size": [0.00709, 0.00509, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, 90], - "uv": { - "north": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "east": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "west": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "up": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]}, - "down": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]} - } - } - ] - }, - { - "name": "bone101", - "parent": "bone120", - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, -90], - "cubes": [ - { - "origin": [-0.00354, 3.96453, 1.64859], - "size": [0.00709, 0.00509, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, -90], - "uv": { - "north": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "east": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "south": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "west": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "up": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]}, - "down": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]} - } - }, - { - "origin": [-0.00354, 3.76503, 1.64859], - "size": [0.00709, 0.00509, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, -90], - "uv": { - "north": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "east": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "south": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "west": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "up": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]}, - "down": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]} - } - }, - { - "origin": [-0.00354, 3.83153, 1.64859], - "size": [0.00709, 0.00509, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, -90], - "uv": { - "north": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "east": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "south": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "west": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "up": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]}, - "down": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]} - } - }, - { - "origin": [-0.00354, 3.89803, 1.64859], - "size": [0.00709, 0.00509, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, -90], - "uv": { - "north": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "east": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "south": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "west": {"uv": [0, 111], "uv_size": [0.25, 0.25]}, - "up": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]}, - "down": {"uv": [0.25, 111.25], "uv_size": [-0.25, -0.25]} - } - }, - { - "origin": [-0.00354, 3.96453, 1.64859], - "size": [0.00709, 0.00509, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, 90], - "uv": { - "north": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "east": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "west": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "up": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]}, - "down": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]} - } - }, - { - "origin": [-0.00354, 3.76503, 1.64859], - "size": [0.00709, 0.00509, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, 90], - "uv": { - "north": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "east": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "west": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "up": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]}, - "down": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]} - } - }, - { - "origin": [-0.00354, 3.83153, 1.64859], - "size": [0.00709, 0.00509, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, 90], - "uv": { - "north": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "east": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "west": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "up": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]}, - "down": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]} - } - }, - { - "origin": [-0.00354, 3.89803, 1.64859], - "size": [0.00709, 0.00509, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, 90], - "uv": { - "north": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "east": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "west": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]}, - "up": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]}, - "down": {"uv": [0, 111.25], "uv_size": [0.25, -0.25]} - } - } - ] - }, - { - "name": "bone102", - "parent": "bone120", - "pivot": [0, 4.04047, 1.64859], - "cubes": [ - { - "origin": [-0.00243, 3.38775, 1.64859], - "size": [0.00485, 0.6338, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, -90], - "uv": { - "south": {"uv": [0, 111], "uv_size": [0.25, 0.25]} - } - }, - { - "origin": [-0.33493, 3.72025, 1.64859], - "size": [0.00485, 0.6338, 0], - "pivot": [-0.3325, 4.04047, 1.64859], - "rotation": [0, 0, 90], - "uv": { - "south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]} - } - }, - { - "origin": [-0.00243, 3.38775, 1.64859], - "size": [0.00485, 0.6338, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, -180], - "uv": { - "south": {"uv": [0, 111], "uv_size": [0.25, 0.25]} - } - }, - { - "origin": [-0.00243, 3.38775, 1.64859], - "size": [0.00485, 0.6338, 0], - "uv": { - "south": {"uv": [0.25, 111], "uv_size": [-0.25, 0.25]} - } - }, - { - "origin": [-0.00458, 3.38775, 1.64859], - "size": [0.00917, 0.266, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, -90], - "uv": { - "south": {"uv": [0, 111], "uv_size": [0.25, 0.25]} - } - }, - { - "origin": [-0.00458, 3.38775, 1.64859], - "size": [0.00917, 0.266, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, 90], - "uv": { - "south": {"uv": [0, 111], "uv_size": [0.25, 0.25]} - } - }, - { - "origin": [-0.00458, 3.38775, 1.64859], - "size": [0.00891, 0.266, 0], - "uv": { - "south": {"uv": [0, 111], "uv_size": [0.25, 0.25]} - } - }, - { - "origin": [-0.00458, 3.38775, 1.64859], - "size": [0.00891, 0.266, 0], - "pivot": [0, 4.04047, 1.64859], - "rotation": [0, 0, -180], - "uv": { - "south": {"uv": [0, 111], "uv_size": [0.25, 0.25]} - } - } - ] - }, { "name": "jingkuang", "parent": "Cross3", @@ -6301,34 +5963,6 @@ } ] }, - { - "name": "Cross1", - "parent": "0", - "pivot": [0, 3.92156, -298.5], - "cubes": [ - { - "origin": [-0.702, 3.21956, -298.5], - "size": [1.404, 1.404, 0], - "uv": { - "south": {"uv": [23.875, 74], "uv_size": [8.25, 8.25]} - } - } - ] - }, - { - "name": "Cross2", - "parent": "0", - "pivot": [2.38116, -2.75475, -536.66641], - "cubes": [ - { - "origin": [-8.16884, -10.00475, -536.66641], - "size": [21.1, 14.5, 0], - "uv": { - "south": {"uv": [75, 91.75], "uv_size": [52.75, 36.25]} - } - } - ] - }, { "name": "bipod", "parent": "0", diff --git a/src/main/resources/assets/superbwarfare/geo/trachelium.geo.json b/src/main/resources/assets/superbwarfare/geo/trachelium.geo.json index aab5194d9..0e0ce778e 100644 --- a/src/main/resources/assets/superbwarfare/geo/trachelium.geo.json +++ b/src/main/resources/assets/superbwarfare/geo/trachelium.geo.json @@ -203,46 +203,13 @@ "pivot": [0, 0, -2.91406] }, { - "name": "Cross1", + "name": "cross", "parent": "qian", - "pivot": [0, 4.11407, -145], - "cubes": [ - { - "origin": [-0.20958, 3.97089, -145], - "size": [0.41917, 0.41917, 0], - "uv": { - "south": {"uv": [67.0127, 38.97217], "uv_size": [16.5, 16.5]} - } - } - ] - }, - { - "name": "Cross2", - "parent": "qian", - "pivot": [0, 3.69453, -52], - "cubes": [ - { - "origin": [-1.49614, 2.3625, -52], - "size": [2.99228, 2.66406, 0], - "uv": { - "south": {"uv": [80.2627, 99.47217], "uv_size": [175.5, 156.25]} - } - } - ] - }, - { - "name": "CrossAlt", - "parent": "qian", - "pivot": [0, 5.99766, -116], - "cubes": [ - { - "origin": [-0.36509, 5.63257, -116], - "size": [0.73019, 0.73019, 0], - "uv": { - "south": {"uv": [100.0127, 61.72217], "uv_size": [16.25, 16.25]} - } - } - ] + "pivot": [ + 0, + 4.11407, + -145 + ] }, { "name": "Scope1", diff --git a/src/main/resources/assets/superbwarfare/geo/vector.geo.json b/src/main/resources/assets/superbwarfare/geo/vector.geo.json index 007b2b0fa..5b705f322 100644 --- a/src/main/resources/assets/superbwarfare/geo/vector.geo.json +++ b/src/main/resources/assets/superbwarfare/geo/vector.geo.json @@ -55,6 +55,15 @@ "pivot": [0, 0, 0] }, { + "name": "cross", + "parent": "0", + "pivot": [ + 0, + 4.62188, + -96 + ] + }, + { "name": "Scope1", "parent": "0", "pivot": [-0.00101, 3.72249, 1.17833], @@ -4014,34 +4023,6 @@ } ] }, - { - "name": "Cross1", - "parent": "0", - "pivot": [0, 4.62188, -96], - "cubes": [ - { - "origin": [-0.20958, 4.41229, -96], - "size": [0.41917, 0.41917, 0], - "uv": { - "south": {"uv": [83.5127, 63.47217], "uv_size": [16.25, 16.25]} - } - } - ] - }, - { - "name": "Cross2", - "parent": "0", - "pivot": [-0.03125, 3.05243, -96], - "cubes": [ - { - "origin": [-1.01729, 1.49236, -96], - "size": [1.97208, 3.85452, 0], - "uv": { - "south": {"uv": [103.75625, 60.20625], "uv_size": [11, 21.5]} - } - } - ] - }, { "name": "Grip1", "parent": "0", diff --git a/src/main/resources/assets/superbwarfare/textures/crosshair/pu.png b/src/main/resources/assets/superbwarfare/textures/crosshair/pu.png new file mode 100644 index 000000000..9caed78dd Binary files /dev/null and b/src/main/resources/assets/superbwarfare/textures/crosshair/pu.png differ diff --git a/src/main/resources/assets/superbwarfare/textures/item/sks_e.png b/src/main/resources/assets/superbwarfare/textures/item/sks_e.png deleted file mode 100644 index 739e449de..000000000 Binary files a/src/main/resources/assets/superbwarfare/textures/item/sks_e.png and /dev/null differ diff --git a/src/main/resources/assets/superbwarfare/textures/item/svd.png b/src/main/resources/assets/superbwarfare/textures/item/svd.png index 61777016e..90ed6d0aa 100644 Binary files a/src/main/resources/assets/superbwarfare/textures/item/svd.png and b/src/main/resources/assets/superbwarfare/textures/item/svd.png differ diff --git a/src/main/resources/assets/superbwarfare/textures/item/trachelium_texture.png b/src/main/resources/assets/superbwarfare/textures/item/trachelium_texture.png index 40a2f0934..22f30ec57 100644 Binary files a/src/main/resources/assets/superbwarfare/textures/item/trachelium_texture.png and b/src/main/resources/assets/superbwarfare/textures/item/trachelium_texture.png differ diff --git a/src/main/resources/assets/superbwarfare/textures/item/trachelium_texture_e.png b/src/main/resources/assets/superbwarfare/textures/item/trachelium_texture_e.png deleted file mode 100644 index 3f9c6db2a..000000000 Binary files a/src/main/resources/assets/superbwarfare/textures/item/trachelium_texture_e.png and /dev/null differ diff --git a/src/main/resources/assets/superbwarfare/textures/item/vector.png b/src/main/resources/assets/superbwarfare/textures/item/vector.png index 7ad635b27..35c6bb777 100644 Binary files a/src/main/resources/assets/superbwarfare/textures/item/vector.png and b/src/main/resources/assets/superbwarfare/textures/item/vector.png differ diff --git a/src/main/resources/assets/superbwarfare/textures/item/vector_e.png b/src/main/resources/assets/superbwarfare/textures/item/vector_e.png deleted file mode 100644 index 220c919e0..000000000 Binary files a/src/main/resources/assets/superbwarfare/textures/item/vector_e.png and /dev/null differ