“改了一大坨”

This commit is contained in:
Atsuishio 2025-04-06 21:07:51 +08:00 committed by Light_Quanta
parent e79812eff6
commit 5a6a08d753
No known key found for this signature in database
GPG key ID: 11A39A1B8C890959
66 changed files with 5040 additions and 2732 deletions

View file

@ -112,8 +112,6 @@ public class AK12ItemModel extends GeoModel<AK12Item> {
scope2.setScaleZ(1f - (0.3f * (float) zp)); scope2.setScaleZ(1f - (0.3f * (float) zp));
scope3.setScaleZ(1f - (0.7f * (float) zp)); scope3.setScaleZ(1f - (0.7f * (float) zp));
tag.putBoolean("HoloHidden", !(gun.getPosX() > 1.85));
GeoBone shen; GeoBone shen;
if (zt < 0.5) { if (zt < 0.5) {
shen = getAnimationProcessor().getBone("fireRootNormal"); shen = getAnimationProcessor().getBone("fireRootNormal");

View file

@ -114,11 +114,6 @@ public class AK47ItemModel extends GeoModel<AK47Item> {
scope2.setScaleZ(1f - (0.3f * (float) zp)); scope2.setScaleZ(1f - (0.3f * (float) zp));
scope3.setScaleZ(1f - (0.7f * (float) zp)); scope3.setScaleZ(1f - (0.7f * (float) zp));
var data = GunData.from(stack);
var tag = data.tag();
tag.putBoolean("HoloHidden", !(gun.getPosX() > 1.8));
data.save();
GeoBone shen; GeoBone shen;
if (zt < 0.5) { if (zt < 0.5) {
shen = getAnimationProcessor().getBone("fireRootNormal"); shen = getAnimationProcessor().getBone("fireRootNormal");

View file

@ -105,11 +105,6 @@ public class BocekItemModel extends GeoModel<BocekItem> {
r.setScaleZ(1f - (0.31f * (float) zp)); r.setScaleZ(1f - (0.31f * (float) zp));
shen.setRotZ(60 * Mth.DEG_TO_RAD * (float) zp + (float) (0.05f * zpz) - 0.2f); shen.setRotZ(60 * Mth.DEG_TO_RAD * (float) zp + (float) (0.05f * zpz) - 0.2f);
var data = GunData.from(stack);
var tag = data.tag();
tag.putBoolean("HoloHidden", !((shen_pos.getPosX() < -0.6 && gun.getPosZ() < -2)));
data.save();
fire.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); fire.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp));
fire.setPosY((float) (-0.03f * fp - 0.06f * fr)); fire.setPosY((float) (-0.03f * fp - 0.06f * fr));
fire.setPosZ((float) (0.625 * fp + 0.34f * fr + 0.95 * fpz)); fire.setPosZ((float) (0.625 * fp + 0.34f * fr + 0.95 * fpz));

View file

@ -72,12 +72,6 @@ public class DevotionItemModel extends GeoModel<DevotionItem> {
gun.setScaleZ(1f - (0.7f * (float) zp)); gun.setScaleZ(1f - (0.7f * (float) zp));
GeoBone shen = getAnimationProcessor().getBone("shen"); GeoBone shen = getAnimationProcessor().getBone("shen");
GeoBone holo = getAnimationProcessor().getBone("holo");
var data = GunData.from(stack);
var tag = data.tag();
tag.putBoolean("HoloHidden", !(gun.getPosX() > 1.8));
data.save();
shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp)); shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
shen.setPosY((float) (0.15f * fp + 0.18f * fr)); shen.setPosY((float) (0.15f * fp + 0.18f * fr));

View file

@ -109,9 +109,6 @@ public class Hk416ItemModel extends GeoModel<Hk416Item> {
scope3.setScaleZ(1f - (0.5f * (float) zp)); scope3.setScaleZ(1f - (0.5f * (float) zp));
var data = GunData.from(stack); var data = GunData.from(stack);
var tag = data.tag();
tag.putBoolean("HoloHidden", !(gun.getPosX() > 3.1));
data.save();
GeoBone shen; GeoBone shen;
if (zt < 0.5) { if (zt < 0.5) {

View file

@ -68,11 +68,6 @@ public class InsidiousItemModel extends GeoModel<InsidiousItem> {
gun.setPosZ(6.2f * (float) zp + (float) (0.5f * zpz)); gun.setPosZ(6.2f * (float) zp + (float) (0.5f * zpz));
gun.setScaleZ(1f - (0.82f * (float) zp)); gun.setScaleZ(1f - (0.82f * (float) zp));
var data = GunData.from(stack);
var tag = data.tag();
tag.putBoolean("HoloHidden", !(gun.getPosX() > 3));
data.save();
GeoBone shen = getAnimationProcessor().getBone("fireRootNormal"); GeoBone shen = getAnimationProcessor().getBone("fireRootNormal");
fireRotY = (float) Mth.lerp(0.3f * times, fireRotY, 0.2f * ClientEventHandler.recoilHorizon * fpz); fireRotY = (float) Mth.lerp(0.3f * times, fireRotY, 0.2f * ClientEventHandler.recoilHorizon * fpz);

View file

@ -66,12 +66,7 @@ public class JavelinItemModel extends GeoModel<JavelinItem> {
gun.setScaleZ(1f - (0.8f * (float) zp)); gun.setScaleZ(1f - (0.8f * (float) zp));
gun.setRotZ(-4.75f * Mth.DEG_TO_RAD * (float) zp + (float) (0.02f * zpz)); gun.setRotZ(-4.75f * Mth.DEG_TO_RAD * (float) zp + (float) (0.02f * zpz));
javelin.setHidden(gun.getPosZ() > 15.85); javelin.setHidden(zp > 0.8);
var data = GunData.from(stack);
var tag = data.tag();
tag.putBoolean("HoloHidden", !(gun.getPosZ() > 15.85));
data.save();
shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp)); shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp));
shen.setPosY((float) (-0.03f * fp - 0.06f * fr)); shen.setPosY((float) (-0.03f * fp - 0.06f * fr));

View file

@ -130,11 +130,6 @@ public class M4ItemModel extends GeoModel<M4Item> {
button6.setScaleX(1f - (0.5f * (float) zp)); button6.setScaleX(1f - (0.5f * (float) zp));
button7.setScaleX(1f - (0.5f * (float) zp)); button7.setScaleX(1f - (0.5f * (float) zp));
var data = GunData.from(stack);
var tag = data.tag();
tag.putBoolean("HoloHidden", !(gun.getPosX() > 2.385));
data.save();
if (type == 3 && zt > 0.5) { if (type == 3 && zt > 0.5) {
lh.setPosY((float) (-zt * 4)); lh.setPosY((float) (-zt * 4));
} }

View file

@ -88,9 +88,6 @@ public class M98bItemModel extends GeoModel<M98bItem> {
gun.setRotZ((float) (0.02f * zpz)); gun.setRotZ((float) (0.02f * zpz));
var data = GunData.from(stack); var data = GunData.from(stack);
var tag = data.tag();
tag.putBoolean("HoloHidden", !(gun.getPosX() > 1.8));
data.save();
GeoBone root = getAnimationProcessor().getBone("root"); GeoBone root = getAnimationProcessor().getBone("root");
GeoBone zhunxing = getAnimationProcessor().getBone("shi"); GeoBone zhunxing = getAnimationProcessor().getBone("shi");

View file

@ -8,7 +8,6 @@ import com.atsuishio.superbwarfare.init.ModTags;
import com.atsuishio.superbwarfare.item.gun.data.AttachmentType; import com.atsuishio.superbwarfare.item.gun.data.AttachmentType;
import com.atsuishio.superbwarfare.item.gun.data.GunData; import com.atsuishio.superbwarfare.item.gun.data.GunData;
import com.atsuishio.superbwarfare.item.gun.rifle.Mk14Item; import com.atsuishio.superbwarfare.item.gun.rifle.Mk14Item;
import com.atsuishio.superbwarfare.tools.GunsTool;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth; import net.minecraft.util.Mth;
@ -141,9 +140,6 @@ public class Mk14ItemModel extends GeoModel<Mk14Item> {
action.setPosZ(2.5f * (float) fp); action.setPosZ(2.5f * (float) fp);
var data = GunData.from(stack); var data = GunData.from(stack);
var tag = data.tag();
tag.putBoolean("HoloHidden", !(gun.getPosX() > 2.5));
data.save();
GeoBone root = getAnimationProcessor().getBone("root"); GeoBone root = getAnimationProcessor().getBone("root");
root.setPosX((float) (movePosX + 20 * ClientEventHandler.drawTime + 9.3f * mph)); root.setPosX((float) (movePosX + 20 * ClientEventHandler.drawTime + 9.3f * mph));
@ -170,7 +166,7 @@ public class Mk14ItemModel extends GeoModel<Mk14Item> {
GeoBone shell = getAnimationProcessor().getBone("shell"); GeoBone shell = getAnimationProcessor().getBone("shell");
if (GunsTool.getGunBooleanTag(tag, "HoldOpen")) { if (data.data().getBoolean("HoldOpen")) {
action.setPosZ(2.5f); action.setPosZ(2.5f);
shell.setScaleX(0); shell.setScaleX(0);
shell.setScaleY(0); shell.setScaleY(0);

View file

@ -86,9 +86,6 @@ public class MosinNagantItemModel extends GeoModel<MosinNagantItem> {
} }
var data = GunData.from(stack); var data = GunData.from(stack);
final var tag = data.tag();
tag.putBoolean("HoloHidden", !(gun.getPosX() > 1.4));
data.save();
shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp)); shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
shen.setPosY((float) (0.4f * fp + 0.44f * fr)); shen.setPosY((float) (0.4f * fp + 0.44f * fr));

View file

@ -47,9 +47,6 @@ public class Ntw20Model extends GeoModel<Ntw20Item> {
GeoBone scope = getAnimationProcessor().getBone("Scope1"); GeoBone scope = getAnimationProcessor().getBone("Scope1");
GeoBone scope2 = getAnimationProcessor().getBone("Scope2"); GeoBone scope2 = getAnimationProcessor().getBone("Scope2");
GeoBone scope3 = getAnimationProcessor().getBone("Scope3"); GeoBone scope3 = getAnimationProcessor().getBone("Scope3");
GeoBone cross1 = getAnimationProcessor().getBone("Cross1");
GeoBone cross2 = getAnimationProcessor().getBone("Cross2");
GeoBone cross3 = getAnimationProcessor().getBone("Cross3");
Player player = Minecraft.getInstance().player; Player player = Minecraft.getInstance().player;
if (player == null) return; if (player == null) return;
@ -138,10 +135,6 @@ public class Ntw20Model extends GeoModel<Ntw20Item> {
CrossHairOverlay.gunRot = shen.getRotZ(); CrossHairOverlay.gunRot = shen.getRotZ();
var data = GunData.from(stack); var data = GunData.from(stack);
var tag = data.tag();
tag.putBoolean("HoloHidden", !(gun.getPosX() > 4.3));
data.save();
action.setPosZ(3f * (float) ClientEventHandler.actionMove); action.setPosZ(3f * (float) ClientEventHandler.actionMove);
lh.setPosZ(-3f * (float) ClientEventHandler.actionMove); lh.setPosZ(-3f * (float) ClientEventHandler.actionMove);

View file

@ -125,8 +125,6 @@ public class Qbz95ItemModel extends GeoModel<Qbz95Item> {
button3.setScaleX(1f - (0.5f * (float) zp)); button3.setScaleX(1f - (0.5f * (float) zp));
button6.setScaleX(1f - (0.8f * (float) zp)); button6.setScaleX(1f - (0.8f * (float) zp));
tag.putBoolean("HoloHidden", gun.getPosX() < 3.1);
GeoBone shen; GeoBone shen;
if (zt < 0.5) { if (zt < 0.5) {
shen = getAnimationProcessor().getBone("fireRootNormal"); shen = getAnimationProcessor().getBone("fireRootNormal");

View file

@ -19,10 +19,6 @@ import software.bernie.geckolib.model.GeoModel;
public class RpkItemModel extends GeoModel<RpkItem> { public class RpkItemModel extends GeoModel<RpkItem> {
public static float scopeY = 0.2f;
public static float scaleZAlt = 0.74f;
public static float posZAlt = 4.25f;
public static float fireRotY = 0f; public static float fireRotY = 0f;
public static float fireRotZ = 0f; public static float fireRotZ = 0f;
@ -47,8 +43,9 @@ public class RpkItemModel extends GeoModel<RpkItem> {
GeoBone scope = getAnimationProcessor().getBone("Scope1"); GeoBone scope = getAnimationProcessor().getBone("Scope1");
GeoBone button = getAnimationProcessor().getBone("button"); GeoBone button = getAnimationProcessor().getBone("button");
GeoBone scope2 = getAnimationProcessor().getBone("Scope2"); GeoBone scope2 = getAnimationProcessor().getBone("Scope2");
// GeoBone scope3 = getAnimationProcessor().getBone("Scope3"); GeoBone base = getAnimationProcessor().getBone("base");
// GeoBone cross3 = getAnimationProcessor().getBone("Cross3"); GeoBone bone171 = getAnimationProcessor().getBone("bone171");
GeoBone scope3 = getAnimationProcessor().getBone("Scope3");
GeoBone shuan = getAnimationProcessor().getBone("shuan"); GeoBone shuan = getAnimationProcessor().getBone("shuan");
Player player = Minecraft.getInstance().player; Player player = Minecraft.getInstance().player;
@ -77,10 +74,6 @@ public class RpkItemModel extends GeoModel<RpkItem> {
var data = GunData.from(stack); var data = GunData.from(stack);
var tag = data.tag(); var tag = data.tag();
int type = GunData.from(stack).attachment.get(AttachmentType.SCOPE); int type = GunData.from(stack).attachment.get(AttachmentType.SCOPE);
scopeY = Mth.lerp(times, scopeY, tag.getBoolean("ScopeAlt") ? -0.7f : 0.2f);
scaleZAlt = Mth.lerp(times, scaleZAlt, tag.getBoolean("ScopeAlt") ? 0.45f : 0.74f);
posZAlt = Mth.lerp(times, posZAlt, tag.getBoolean("ScopeAlt") ? 3.3f : 4.25f);
float posYAlt = switch (type) { float posYAlt = switch (type) {
case 2, 3 -> 0.5f; case 2, 3 -> 0.5f;
@ -89,21 +82,21 @@ public class RpkItemModel extends GeoModel<RpkItem> {
float posY = switch (type) { float posY = switch (type) {
case 0 -> 1.071f; case 0 -> 1.071f;
case 1 -> -0.101f; case 1 -> -0.101f;
case 2 -> scopeY + posYAlt; case 2 -> 0.11f + posYAlt;
case 3 -> 0.099f + posYAlt; case 3 -> 0.099f + posYAlt;
default -> 0f; default -> 0f;
}; };
float scaleZ = switch (type) { float scaleZ = switch (type) {
case 0, 1 -> 0.7f; case 0, 1 -> 0.7f;
case 2 -> scaleZAlt; case 2 -> 0.74f;
case 3 -> 0.78f; case 3 -> 0.78f;
default -> 0f; default -> 0f;
}; };
float posZ = switch (type) { float posZ = switch (type) {
case 0 -> 3.3f; case 0 -> 3.3f;
case 1 -> 4.2f; case 1 -> 4.2f;
case 2 -> posZAlt; case 2 -> 4.4f;
case 3 -> 3.9f; case 3 -> 4.25f;
default -> 0f; default -> 0f;
}; };
@ -116,10 +109,9 @@ public class RpkItemModel extends GeoModel<RpkItem> {
button.setScaleY(1f - (0.3f * (float) zp)); button.setScaleY(1f - (0.3f * (float) zp));
button.setScaleZ(1f - (0.3f * (float) zp)); button.setScaleZ(1f - (0.3f * (float) zp));
scope2.setScaleZ(1f - (0.7f * (float) zp)); scope2.setScaleZ(1f - (0.7f * (float) zp));
// scope3.setScaleZ(1f - (0.7f * (float) zp)); base.setScaleZ(1f - (0.4f * (float) zp));
bone171.setScaleY(1f - (0.55f * (float) zp));
tag.putBoolean("HoloHidden", !(gun.getPosX() > 1.8)); scope3.setScaleZ(1f - (0.7f * (float) zp));
data.save();
GeoBone shen; GeoBone shen;
if (zt < 0.5) { if (zt < 0.5) {
@ -170,6 +162,6 @@ public class RpkItemModel extends GeoModel<RpkItem> {
AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP); AnimationHelper.handleReloadShakeAnimation(stack, main, camera, numR, numP);
ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ()); ClientEventHandler.shake(Mth.RAD_TO_DEG * camera.getRotX(), Mth.RAD_TO_DEG * camera.getRotY(), Mth.RAD_TO_DEG * camera.getRotZ());
// AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 1f, 0.35f); AnimationHelper.handleShellsAnimation(getAnimationProcessor(), 1f, 0.35f);
} }
} }

View file

@ -76,9 +76,6 @@ public class SentinelItemModel extends GeoModel<SentinelItem> {
holo.setPosY(0.09f); holo.setPosY(0.09f);
var data = GunData.from(stack); var data = GunData.from(stack);
var tag = data.tag();
tag.putBoolean("HoloHidden", !(gun.getPosX() > 2.4));
data.save();
shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp)); shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
shen.setPosY((float) (0.4f * fp + 0.44f * fr)); shen.setPosY((float) (0.4f * fp + 0.44f * fr));

View file

@ -70,8 +70,7 @@ public class SksItemModel extends GeoModel<SksItem> {
var data = GunData.from(stack); var data = GunData.from(stack);
var tag = data.tag(); var tag = data.tag();
tag.putBoolean("HoloHidden", gun.getPosX() <= 1.2);
data.save();
GeoBone shen = getAnimationProcessor().getBone("shen"); GeoBone shen = getAnimationProcessor().getBone("shen");
shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp)); shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));

View file

@ -113,8 +113,6 @@ public class SvdItemModel extends GeoModel<SvdItem> {
var data = GunData.from(stack); var data = GunData.from(stack);
var tag = data.tag(); var tag = data.tag();
tag.putBoolean("HoloHidden", gun.getPosX() <= 1.4);
data.save();
GeoBone shen; GeoBone shen;
if (zt < 0.5) { if (zt < 0.5) {

View file

@ -153,11 +153,6 @@ public class TracheliumItemModel extends GeoModel<Trachelium> {
CrossHairOverlay.gunRot = shen.getRotZ(); CrossHairOverlay.gunRot = shen.getRotZ();
var data = GunData.from(stack);
var tag = data.tag();
tag.putBoolean("HoloHidden", (gun.getPosX() <= 3 || Mth.abs(shen.getRotX()) > (scopeType == 2 ? 3 : 1) * Mth.DEG_TO_RAD || Mth.abs(main.getRotX()) > (scopeType == 2 ? 5.7 : 1) * Mth.DEG_TO_RAD || Mth.abs(main.getRotY()) > 3 * Mth.DEG_TO_RAD));
data.save();
hammer.setRotX(50 * Mth.DEG_TO_RAD * (float) ClientEventHandler.revolverPreTime); hammer.setRotX(50 * Mth.DEG_TO_RAD * (float) ClientEventHandler.revolverPreTime);
lun.setRotZ(-60 * Mth.DEG_TO_RAD * (float) ClientEventHandler.revolverWheelPreTime); lun.setRotZ(-60 * Mth.DEG_TO_RAD * (float) ClientEventHandler.revolverWheelPreTime);
GeoBone ammo = getAnimationProcessor().getBone("ammo"); GeoBone ammo = getAnimationProcessor().getBone("ammo");

View file

@ -100,9 +100,6 @@ public class VectorItemModel extends GeoModel<VectorItem> {
gun.setScaleZ(1f - (0.5f * (float) zp)); gun.setScaleZ(1f - (0.5f * (float) zp));
scope.setScaleZ(1f - (0.2f * (float) zp)); scope.setScaleZ(1f - (0.2f * (float) zp));
tag.putBoolean("HoloHidden", gun.getPosX() <= 2);
data.save();
GeoBone shen; GeoBone shen;
if (zt < 0.5) { if (zt < 0.5) {
shen = getAnimationProcessor().getBone("fireRootNormal"); shen = getAnimationProcessor().getBone("fireRootNormal");

View file

@ -107,7 +107,7 @@ public class CrossHairOverlay {
} }
if (stack.is(ModItems.BOCEK.get())) { if (stack.is(ModItems.BOCEK.get())) {
if (NBTTool.getTag(stack).getBoolean("HoloHidden")) { if (ClientEventHandler.zoomPos < 0.7) {
preciseBlit(guiGraphics, Mod.loc("textures/screens/point.png"), w / 2f - 7.5f + moveX, h / 2f - 7.5f + moveY, 0, 0, 16, 16, 16, 16); preciseBlit(guiGraphics, Mod.loc("textures/screens/point.png"), w / 2f - 7.5f + moveX, h / 2f - 7.5f + moveY, 0, 0, 16, 16, 16, 16);
if (!player.isSprinting() || player.getPersistentData().getDouble("noRun") > 0 || ClientEventHandler.pullPos > 0) { if (!player.isSprinting() || player.getPersistentData().getDouble("noRun") > 0 || ClientEventHandler.pullPos > 0) {
if (ClientEventHandler.zoomTime < 0.1) { if (ClientEventHandler.zoomTime < 0.1) {

View file

@ -56,7 +56,7 @@ public class JavelinHudOverlay {
if (player.getVehicle() instanceof ArmedVehicleEntity iArmedVehicle && iArmedVehicle.banHand(player)) if (player.getVehicle() instanceof ArmedVehicleEntity iArmedVehicle && iArmedVehicle.banHand(player))
return; return;
if ((stack.getItem() == ModItems.JAVELIN.get() && !NBTTool.getTag(stack).getBoolean("HoloHidden")) && Minecraft.getInstance().options.getCameraType().isFirstPerson() && ClientEventHandler.zoom) { if ((stack.getItem() == ModItems.JAVELIN.get() && ClientEventHandler.zoomPos > 0.8) && Minecraft.getInstance().options.getCameraType().isFirstPerson() && ClientEventHandler.zoom) {
var data = GunData.from(stack); var data = GunData.from(stack);
var tag = data.tag(); var tag = data.tag();

View file

@ -81,33 +81,28 @@ public class AK12ItemRenderer extends GeoItemRenderer<AK12Item> {
if (player != null) { if (player != null) {
ItemStack itemStack = player.getMainHandItem(); ItemStack itemStack = player.getMainHandItem();
if (!itemStack.is(ModTags.Items.GUN)) return; if (!itemStack.is(ModTags.Items.GUN)) return;
var data = GunData.from(itemStack);
if (name.equals("Cross1")) { if (name.equals("Cross1")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 && data.attachment.get(AttachmentType.SCOPE) != 1);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 1);
} }
if (name.equals("Cross2")) { if (name.equals("Cross2")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 && data.attachment.get(AttachmentType.SCOPE) != 2);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2);
} }
if (name.equals("Cross3")) { if (name.equals("Cross3")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 && data.attachment.get(AttachmentType.SCOPE) != 3);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 3);
} }
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2
&& (name.equals("hidden2"))) { && (name.equals("hidden2"))) {
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom);
} }
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 3 if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 3
&& (name.equals("jing") || name.equals("Barrel") || name.equals("humu") || name.equals("qiangguan") || name.equals("houzhunxing"))) { && (name.equals("jing") || name.equals("Barrel") || name.equals("humu") || name.equals("qiangguan") || name.equals("houzhunxing"))) {
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom);
} }
if (name.equals("flare")) { if (name.equals("flare")) {

View file

@ -81,23 +81,18 @@ public class AK47ItemRenderer extends GeoItemRenderer<AK47Item> {
if (player != null) { if (player != null) {
ItemStack itemStack = player.getMainHandItem(); ItemStack itemStack = player.getMainHandItem();
if (!itemStack.is(ModTags.Items.GUN)) return; if (!itemStack.is(ModTags.Items.GUN)) return;
var data = GunData.from(itemStack);
if (name.equals("Cross1")) { if (name.equals("Cross1")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 && data.attachment.get(AttachmentType.SCOPE) != 1);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 1);
} }
if (name.equals("Cross2")) { if (name.equals("Cross2")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 && data.attachment.get(AttachmentType.SCOPE) != 2);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2);
} }
if (name.equals("Cross3")) { if (name.equals("Cross3")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 && data.attachment.get(AttachmentType.SCOPE) != 3);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 3);
} }
if (name.equals("humu1")) { if (name.equals("humu1")) {
@ -109,14 +104,14 @@ public class AK47ItemRenderer extends GeoItemRenderer<AK47Item> {
} }
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2
&& (name.equals("Hidden") || name.equals("gun") || name.equals("Lefthand")) && ClientEventHandler.zoom && !NBTTool.getTag(itemStack).getBoolean("HoloHidden")) { && (name.equals("Hidden") || name.equals("gun") || name.equals("Lefthand")) && ClientEventHandler.zoom && ClientEventHandler.zoomPos > 0.7) {
bone.setHidden(true); bone.setHidden(true);
renderingArms = false; renderingArms = false;
} }
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 3 if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 3
&& (name.equals("jing") || name.equals("Barrel") || name.equals("humu") || name.equals("qiangguan") || name.equals("houzhunxing"))) { && (name.equals("jing") || name.equals("Barrel") || name.equals("humu") || name.equals("qiangguan") || name.equals("houzhunxing"))) {
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom);
} }
if (name.equals("flare")) { if (name.equals("flare")) {

View file

@ -82,7 +82,7 @@ public class BocekItemRenderer extends GeoItemRenderer<BocekItem> {
final var tag = NBTTool.getTag(itemStack); final var tag = NBTTool.getTag(itemStack);
if (name.equals("holo")) { if (name.equals("holo")) {
bone.setHidden(tag.getBoolean("HoloHidden") || !ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos < 0.7 || ClientEventHandler.pullPos < 0.7 || !ClientEventHandler.zoom);
} }
if (name.equals("arrow")) { if (name.equals("arrow")) {

View file

@ -91,7 +91,7 @@ public class DevotionItemRenderer extends GeoItemRenderer<DevotionItem> {
} }
if (name.equals("holo")) { if (name.equals("holo")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos < 0.7 || !ClientEventHandler.zoom);
} }
if (renderingArms) { if (renderingArms) {

View file

@ -8,7 +8,6 @@ import com.atsuishio.superbwarfare.init.ModTags;
import com.atsuishio.superbwarfare.item.gun.data.AttachmentType; import com.atsuishio.superbwarfare.item.gun.data.AttachmentType;
import com.atsuishio.superbwarfare.item.gun.data.GunData; import com.atsuishio.superbwarfare.item.gun.data.GunData;
import com.atsuishio.superbwarfare.item.gun.rifle.Hk416Item; import com.atsuishio.superbwarfare.item.gun.rifle.Hk416Item;
import com.atsuishio.superbwarfare.tools.NBTTool;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
@ -81,33 +80,28 @@ public class Hk416ItemRenderer extends GeoItemRenderer<Hk416Item> {
if (player == null) return; if (player == null) return;
ItemStack itemStack = player.getMainHandItem(); ItemStack itemStack = player.getMainHandItem();
if (!itemStack.is(ModTags.Items.GUN)) return; if (!itemStack.is(ModTags.Items.GUN)) return;
var data = GunData.from(itemStack);
if (name.equals("Cross1")) { if (name.equals("Cross1")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 1);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 1);
} }
if (name.equals("Cross2")) { if (name.equals("Cross2")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 2);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2);
} }
if (name.equals("Cross3")) { if (name.equals("Cross3")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 3);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 3);
} }
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2
&& (name.equals("hidden"))) { && (name.equals("hidden"))) {
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom);
} }
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 3 if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 3
&& (name.equals("jing") || name.equals("Barrel") || name.equals("yugu") || name.equals("qiangguan"))) { && (name.equals("jing") || name.equals("Barrel") || name.equals("yugu") || name.equals("qiangguan"))) {
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom);
} }
if (name.equals("flare")) { if (name.equals("flare")) {

View file

@ -101,7 +101,7 @@ public class InsidiousItemRenderer extends GeoItemRenderer<InsidiousItem> {
} }
if (name.equals("cross")) { if (name.equals("cross")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos < 0.7 || !ClientEventHandler.zoom);
} }
if (renderingArms) { if (renderingArms) {

View file

@ -81,40 +81,35 @@ public class M4ItemRenderer extends GeoItemRenderer<M4Item> {
if (player == null) return; if (player == null) return;
ItemStack itemStack = player.getMainHandItem(); ItemStack itemStack = player.getMainHandItem();
if (!itemStack.is(ModTags.Items.GUN)) return; if (!itemStack.is(ModTags.Items.GUN)) return;
var data = GunData.from(itemStack);
if (name.equals("Cross1")) { if (name.equals("Cross1")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 1);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 1);
} }
if (name.equals("Cross2")) { if (name.equals("Cross2")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2 || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2
|| NBTTool.getTag(itemStack).getBoolean("ScopeAlt")); || NBTTool.getTag(itemStack).getBoolean("ScopeAlt"));
} }
if (name.equals("CrossAlt")) { if (name.equals("CrossAlt")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2 || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2
|| !(NBTTool.getTag(itemStack).getBoolean("ScopeAlt"))); || !(NBTTool.getTag(itemStack).getBoolean("ScopeAlt")));
} }
if (name.equals("Cross3")) { if (name.equals("Cross3")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 3);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 3);
} }
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 && !NBTTool.getTag(itemStack).getBoolean("ScopeAlt") && (name.equals("hidden"))) { if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 && !NBTTool.getTag(itemStack).getBoolean("ScopeAlt") && (name.equals("hidden"))) {
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom);
} }
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 3 if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 3
&& (name.equals("hidden2") || name.equals("yugu") || name.equals("qiangguan") || name.equals("Barrel"))) { && (name.equals("hidden2") || name.equals("yugu") || name.equals("qiangguan") || name.equals("Barrel"))) {
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom);
} }
if (name.equals("flare")) { if (name.equals("flare")) {

View file

@ -91,11 +91,11 @@ public class M98bItemRenderer extends GeoItemRenderer<M98bItem> {
} }
if (name.equals("scope2")) { if (name.equals("scope2")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos < 0.7 || !ClientEventHandler.zoom);
} }
if (name.equals("qiang")) { if (name.equals("qiang")) {
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden")); bone.setHidden(ClientEventHandler.zoomPos > 0.7);
} }
if (renderingArms) { if (renderingArms) {

View file

@ -81,37 +81,32 @@ public class Mk14ItemRenderer extends GeoItemRenderer<Mk14Item> {
if (player == null) return; if (player == null) return;
ItemStack itemStack = player.getMainHandItem(); ItemStack itemStack = player.getMainHandItem();
if (!itemStack.is(ModTags.Items.GUN)) return; if (!itemStack.is(ModTags.Items.GUN)) return;
var data = GunData.from(itemStack);
if (name.equals("qiaojia")) { if (name.equals("qiaojia")) {
bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 0); bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 0);
} }
if (name.equals("Cross1")) { if (name.equals("Cross1")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 1);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 1);
} }
if (name.equals("Cross2")) { if (name.equals("Cross2")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 2);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2);
} }
if (name.equals("Cross3")) { if (name.equals("Cross3")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 3);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 3);
} }
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2
&& (name.equals("hidden"))) { && (name.equals("hidden"))) {
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom);
} }
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 3 if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 3
&& (name.equals("jing") || name.equals("yugu") || name.equals("qiangguan") || name.equals("Barrel"))) { && (name.equals("jing") || name.equals("yugu") || name.equals("qiangguan") || name.equals("Barrel"))) {
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom);
} }
if (name.equals("flare")) { if (name.equals("flare")) {

View file

@ -80,11 +80,11 @@ public class MosinNagantItemRenderer extends GeoItemRenderer<MosinNagantItem> {
if (!itemStack.is(ModTags.Items.GUN)) return; if (!itemStack.is(ModTags.Items.GUN)) return;
if (name.equals("rex")) { if (name.equals("rex")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos < 0.7 || !ClientEventHandler.zoom);
} }
if (name.equals("jia") || name.equals("b1") || name.equals("b2")) { if (name.equals("jia") || name.equals("b1") || name.equals("b2")) {
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden")); bone.setHidden(ClientEventHandler.zoomPos > 0.7);
} }
if (name.equals("flare")) { if (name.equals("flare")) {

View file

@ -81,37 +81,32 @@ public class Ntw20Renderer extends GeoItemRenderer<Ntw20Item> {
if (player == null) return; if (player == null) return;
ItemStack itemStack = player.getMainHandItem(); ItemStack itemStack = player.getMainHandItem();
if (!itemStack.is(ModTags.Items.GUN)) return; if (!itemStack.is(ModTags.Items.GUN)) return;
var data = GunData.from(itemStack);
if (name.equals("ironSight")) { if (name.equals("ironSight")) {
bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 0); bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 0);
} }
if (name.equals("Cross1")) { if (name.equals("Cross1")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 1);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 1);
} }
if (name.equals("Cross2")) { if (name.equals("Cross2")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 2);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2);
} }
if (name.equals("Cross3")) { if (name.equals("Cross3")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 3);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 3);
} }
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2
&& (name.equals("bone1") || name.equals("zhituiqi") || name.equals("guan") || name.equals("hidden"))) { && (name.equals("bone1") || name.equals("zhituiqi") || name.equals("guan") || name.equals("hidden"))) {
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom);
} }
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 3 if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 3
&& (name.equals("bone1") || name.equals("zhituiqi") || name.equals("guan") || name.equals("jing") || name.equals("rail") || name.equals("base2") || name.equals("guan7"))) { && (name.equals("bone1") || name.equals("zhituiqi") || name.equals("guan") || name.equals("jing") || name.equals("rail") || name.equals("base2") || name.equals("guan7"))) {
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom);
} }
if (name.equals("flare")) { if (name.equals("flare")) {

View file

@ -81,11 +81,10 @@ public class Qbz95ItemRenderer extends GeoItemRenderer<Qbz95Item> {
if (player == null) return; if (player == null) return;
ItemStack itemStack = player.getMainHandItem(); ItemStack itemStack = player.getMainHandItem();
if (!itemStack.is(ModTags.Items.GUN)) return; if (!itemStack.is(ModTags.Items.GUN)) return;
var data = GunData.from(itemStack);
if (name.equals("Cross1")) { if (name.equals("Cross1")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 1);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 1);
} }
if (name.equals("tiba")) { if (name.equals("tiba")) {
@ -101,25 +100,21 @@ public class Qbz95ItemRenderer extends GeoItemRenderer<Qbz95Item> {
} }
if (name.equals("Cross2")) { if (name.equals("Cross2")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 2);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2);
} }
if (name.equals("Cross3")) { if (name.equals("Cross3")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 3);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 3);
} }
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2
&& (name.equals("hidden"))) { && (name.equals("hidden"))) {
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom);
} }
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 3 if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 3
&& (name.equals("hidden2") || name.equals("jimiao2"))) { && (name.equals("hidden2") || name.equals("jimiao2"))) {
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom);
} }
if (name.equals("flare")) { if (name.equals("flare")) {

View file

@ -8,6 +8,7 @@ import com.atsuishio.superbwarfare.init.ModTags;
import com.atsuishio.superbwarfare.item.gun.data.AttachmentType; import com.atsuishio.superbwarfare.item.gun.data.AttachmentType;
import com.atsuishio.superbwarfare.item.gun.data.GunData; import com.atsuishio.superbwarfare.item.gun.data.GunData;
import com.atsuishio.superbwarfare.item.gun.machinegun.RpkItem; import com.atsuishio.superbwarfare.item.gun.machinegun.RpkItem;
import com.atsuishio.superbwarfare.tools.GunsTool;
import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer; import com.mojang.blaze3d.vertex.VertexConsumer;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
@ -80,35 +81,19 @@ public class RpkItemRenderer extends GeoItemRenderer<RpkItem> {
if (player == null) return; if (player == null) return;
ItemStack itemStack = player.getMainHandItem(); ItemStack itemStack = player.getMainHandItem();
if (!itemStack.is(ModTags.Items.GUN)) return; if (!itemStack.is(ModTags.Items.GUN)) return;
var data = GunData.from(itemStack);
var tag = GunData.from(itemStack).tag(); var tag = GunData.from(itemStack).tag();
if (name.equals("holo")) {
bone.setHidden(tag.getBoolean("HoloHidden") || !ClientEventHandler.zoom);
}
if (name.equals("Cross1")) { if (name.equals("Cross1")) {
bone.setHidden(tag.getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 1);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 1);
} }
if (name.equals("Cross2")) { if (name.equals("Cross2")) {
bone.setHidden(tag.getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 2);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2
|| tag.getBoolean("ScopeAlt"));
}
if (name.equals("CrossAlt")) {
bone.setHidden(tag.getBoolean("HoloHidden")
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2
|| !(tag.getBoolean("ScopeAlt")));
} }
if (name.equals("Cross3")) { if (name.equals("Cross3")) {
bone.setHidden(tag.getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 3);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 3);
} }
if (name.equals("humu1")) { if (name.equals("humu1")) {
@ -119,14 +104,14 @@ public class RpkItemRenderer extends GeoItemRenderer<RpkItem> {
bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.GRIP) == 0); bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.GRIP) == 0);
} }
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 && !tag.getBoolean("ScopeAlt") if (data.attachment.get(AttachmentType.SCOPE) == 2
&& (name.equals("glass") || name.equals("Barrel") || name.equals("humu") || name.equals("qiangguan"))) { && (name.equals("hide2") || name.equals("Barrel") || name.equals("humu") || name.equals("qiangguan") || name.equals("houzhunxing"))) {
bone.setHidden(!tag.getBoolean("HoloHidden") && ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom);
} }
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 3 if (data.attachment.get(AttachmentType.SCOPE) == 3
&& (name.equals("jing") || name.equals("Barrel") || name.equals("humu") || name.equals("qiangguan") || name.equals("houzhunxing"))) { && (name.equals("jing") || name.equals("Barrel") || name.equals("humu") || name.equals("qiangguan") || name.equals("houzhunxing"))) {
bone.setHidden(!tag.getBoolean("HoloHidden") && ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom);
} }
if (name.equals("flare")) { if (name.equals("flare")) {
@ -138,6 +123,11 @@ public class RpkItemRenderer extends GeoItemRenderer<RpkItem> {
bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5))); bone.setScaleY((float) (0.55 + 0.5 * (Math.random() - 0.5)));
bone.setRotZ((float) (0.5 * (Math.random() - 0.5))); bone.setRotZ((float) (0.5 * (Math.random() - 0.5)));
} }
if ((data.attachment.get(AttachmentType.SCOPE) == 2 || data.attachment.get(AttachmentType.SCOPE) == 3) && ClientEventHandler.zoom) {
bone.setPosY(-2);
} else {
bone.setPosY(0);
}
} }
ItemModelHelper.handleGunAttachments(bone, itemStack, name); ItemModelHelper.handleGunAttachments(bone, itemStack, name);

View file

@ -94,7 +94,7 @@ public class SentinelItemRenderer extends GeoItemRenderer<SentinelItem> {
} }
if (name.equals("holo")) { if (name.equals("holo")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos < 0.7 || !ClientEventHandler.zoom);
} }
var cap = itemStack.getCapability(Capabilities.EnergyStorage.ITEM); var cap = itemStack.getCapability(Capabilities.EnergyStorage.ITEM);

View file

@ -80,7 +80,7 @@ public class SksItemRenderer extends GeoItemRenderer<SksItem> {
if (!itemStack.is(ModTags.Items.GUN)) return; if (!itemStack.is(ModTags.Items.GUN)) return;
if (name.equals("holo")) { if (name.equals("holo")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos < 0.7 || !ClientEventHandler.zoom);
} }
if (name.equals("flare")) { if (name.equals("flare")) {

View file

@ -81,25 +81,22 @@ public class SvdItemRenderer extends GeoItemRenderer<SvdItem> {
if (player == null) return; if (player == null) return;
ItemStack itemStack = player.getMainHandItem(); ItemStack itemStack = player.getMainHandItem();
if (!itemStack.is(ModTags.Items.GUN)) return; if (!itemStack.is(ModTags.Items.GUN)) return;
var data = GunData.from(itemStack);
if (name.equals("mount")) { if (name.equals("mount")) {
bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 0 || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2); bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 0 || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2);
} }
if (name.equals("Cross1")) { if (name.equals("Cross1")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 1);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 1);
} }
if (name.equals("Cross2")) { if (name.equals("Cross2")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 2);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2);
} }
if ((GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 3) 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 && !NBTTool.getTag(itemStack).getBoolean("HoloHidden")) { && (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); bone.setHidden(true);
renderingArms = false; renderingArms = false;
} }
@ -108,7 +105,7 @@ public class SvdItemRenderer extends GeoItemRenderer<SvdItem> {
if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5 || GunData.from(itemStack).attachment.get(AttachmentType.BARREL) == 2 || GunData.from(itemStack).attachment.get(AttachmentType.BARREL) == 3) { 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); bone.setHidden(true);
} else { } else {
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 && ClientEventHandler.zoom && !NBTTool.getTag(itemStack).getBoolean("HoloHidden")) { if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 && ClientEventHandler.zoom && ClientEventHandler.zoomPos > 0.7) {
bone.setPosY(-2f); bone.setPosY(-2f);
} }
bone.setHidden(false); bone.setHidden(false);

View file

@ -83,6 +83,7 @@ public class TracheliumItemRenderer extends GeoItemRenderer<Trachelium> {
if (player == null) return; if (player == null) return;
ItemStack itemStack = player.getMainHandItem(); ItemStack itemStack = player.getMainHandItem();
if (!itemStack.is(ModTags.Items.GUN)) return; if (!itemStack.is(ModTags.Items.GUN)) return;
var data = GunData.from(itemStack);
if (name.equals("humu")) { if (name.equals("humu")) {
bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 0 && GunData.from(itemStack).attachment.get(AttachmentType.GRIP) == 0); bone.setHidden(GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 0 && GunData.from(itemStack).attachment.get(AttachmentType.GRIP) == 0);
@ -101,27 +102,24 @@ public class TracheliumItemRenderer extends GeoItemRenderer<Trachelium> {
} }
if (name.equals("Cross1")) { if (name.equals("Cross1")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 1);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 1);
} }
if (name.equals("Cross2")) { if (name.equals("Cross2")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2 || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2
|| NBTTool.getTag(itemStack).getBoolean("ScopeAlt")); || NBTTool.getTag(itemStack).getBoolean("ScopeAlt"));
} }
if (name.equals("CrossAlt")) { if (name.equals("CrossAlt")) {
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7
|| !ClientEventHandler.zoom || !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2 || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2
|| !(NBTTool.getTag(itemStack).getBoolean("ScopeAlt"))); || !(NBTTool.getTag(itemStack).getBoolean("ScopeAlt")));
} }
if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 && !NBTTool.getTag(itemStack).getBoolean("ScopeAlt") && (name.equals("hidden"))) { if (GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) == 2 && !NBTTool.getTag(itemStack).getBoolean("ScopeAlt") && (name.equals("hidden"))) {
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom); bone.setHidden(ClientEventHandler.zoomPos > 0.7 && ClientEventHandler.zoom);
} }
ItemModelHelper.handleGunAttachments(bone, itemStack, name); ItemModelHelper.handleGunAttachments(bone, itemStack, name);

View file

@ -85,18 +85,14 @@ public class VectorItemRenderer extends GeoItemRenderer<VectorItem> {
ItemStack itemStack = player.getMainHandItem(); ItemStack itemStack = player.getMainHandItem();
if (!itemStack.is(ModTags.Items.GUN)) return; if (!itemStack.is(ModTags.Items.GUN)) return;
var tag = NBTTool.getTag(itemStack); var data = GunData.from(itemStack);
if (name.equals("Cross1")) { if (name.equals("Cross1")) {
bone.setHidden(tag.getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 1);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 1);
} }
if (name.equals("Cross2")) { if (name.equals("Cross2")) {
bone.setHidden(tag.getBoolean("HoloHidden") bone.setHidden(ClientEventHandler.zoomPos < 0.7 || data.attachment.get(AttachmentType.SCOPE) != 2);
|| !ClientEventHandler.zoom
|| GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2);
} }
if (name.equals("tuoxin")) { if (name.equals("tuoxin")) {
@ -142,13 +138,13 @@ public class VectorItemRenderer extends GeoItemRenderer<VectorItem> {
// if (!itemStack.is(ModTags.Items.GUN)) return; // if (!itemStack.is(ModTags.Items.GUN)) return;
// //
// if (name.equals("Cross1")) { // if (name.equals("Cross1")) {
// bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") // bone.setHidden(ClientEventHandler.zoomPos < 0.7
// || !ClientEventHandler.zoom // || !ClientEventHandler.zoom
// || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 1); // || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 1);
// } // }
// //
// if (name.equals("Cross2")) { // if (name.equals("Cross2")) {
// bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") // bone.setHidden(ClientEventHandler.zoomPos < 0.7
// || !ClientEventHandler.zoom // || !ClientEventHandler.zoom
// || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2); // || GunData.from(itemStack).attachment.get(AttachmentType.SCOPE) != 2);
// } // }

View file

@ -157,7 +157,7 @@ public class CannonShellEntity extends FastThrowableProjectile implements GeoEnt
} }
ParticleTool.cannonHitParticles(this.level(), this.position(), this); ParticleTool.cannonHitParticles(this.level(), this.position(), this);
causeExplode(entity); causeExplode(entityHitResult.getLocation());
if (entity instanceof VehicleEntity) { if (entity instanceof VehicleEntity) {
this.discard(); this.discard();
} }
@ -168,21 +168,23 @@ public class CannonShellEntity extends FastThrowableProjectile implements GeoEnt
@Override @Override
public void onHitBlock(@NotNull BlockHitResult blockHitResult) { public void onHitBlock(@NotNull BlockHitResult blockHitResult) {
if (this.level() instanceof ServerLevel) { if (this.level() instanceof ServerLevel) {
int x = blockHitResult.getBlockPos().getX(); double x = blockHitResult.getLocation().x;
int y = blockHitResult.getBlockPos().getY(); double y = blockHitResult.getLocation().y;
int z = blockHitResult.getBlockPos().getZ(); double z = blockHitResult.getLocation().z;
if (ExplosionConfig.EXPLOSION_DESTROY.get()) {
float hardness = this.level().getBlockState(BlockPos.containing(x, y, z)).getBlock().defaultDestroyTime();
BlockState blockState = this.level().getBlockState(BlockPos.containing(x, y, z)); BlockState blockState = this.level().getBlockState(BlockPos.containing(x, y, z));
if (blockState.is(Blocks.BEDROCK) || blockState.is(Blocks.BARRIER)) {
if (hardness == -1) {
this.discard(); this.discard();
causeExplodeBlock(blockHitResult); causeExplode(blockHitResult.getLocation());
return; return;
} }
float hardness = this.level().getBlockState(BlockPos.containing(x, y, z)).getBlock().defaultDestroyTime();
this.durability -= (int) hardness; this.durability -= (int) hardness;
if (ExplosionConfig.EXPLOSION_DESTROY.get() && hardness != -1 && hardness <= 50) { if (hardness <= 50) {
BlockPos blockPos = BlockPos.containing(x, y, z); BlockPos blockPos = BlockPos.containing(x, y, z);
Block.dropResources(this.level().getBlockState(blockPos), this.level(), BlockPos.containing(x, y, z), null); Block.dropResources(this.level().getBlockState(blockPos), this.level(), BlockPos.containing(x, y, z), null);
this.level().destroyBlock(blockPos, true); this.level().destroyBlock(blockPos, true);
@ -201,17 +203,21 @@ public class CannonShellEntity extends FastThrowableProjectile implements GeoEnt
} }
if (this.durability <= 0) { if (this.durability <= 0) {
causeExplodeBlock(blockHitResult); causeExplode(blockHitResult.getLocation());
} else { } else {
if (ExplosionConfig.EXPLOSION_DESTROY.get()) {
if (this.firstHit) { if (this.firstHit) {
ParticleTool.cannonHitParticles(this.level(), this.position(), this); ParticleTool.cannonHitParticles(this.level(), this.position(), this);
causeExplodeBlock(blockHitResult); causeExplode(blockHitResult.getLocation());
this.firstHit = false; this.firstHit = false;
} }
}
apExplode(blockHitResult); apExplode(blockHitResult);
} }
} else {
if (this.durability > 0) {
apExplode(blockHitResult);
}
causeExplode(blockHitResult.getLocation());
}
} }
} }
@ -242,7 +248,7 @@ public class CannonShellEntity extends FastThrowableProjectile implements GeoEnt
} }
} }
private void causeExplode(Entity entity) { private void causeExplode(Vec3 vec) {
if (Math.random() > fireProbability) { if (Math.random() > fireProbability) {
fireTime = 0; fireTime = 0;
} }
@ -252,9 +258,9 @@ public class CannonShellEntity extends FastThrowableProjectile implements GeoEnt
this, this,
this.getOwner()), this.getOwner()),
explosionDamage, explosionDamage,
entity.getX(), vec.x(),
entity.getY() + 0.5 * entity.getBbHeight(), vec.y(),
entity.getZ(), vec.z(),
radius, radius,
ExplosionConfig.EXPLOSION_DESTROY.get() ? Explosion.BlockInteraction.DESTROY : Explosion.BlockInteraction.KEEP). ExplosionConfig.EXPLOSION_DESTROY.get() ? Explosion.BlockInteraction.DESTROY : Explosion.BlockInteraction.KEEP).
setDamageMultiplier(1).setFireTime(fireTime); setDamageMultiplier(1).setFireTime(fireTime);
@ -263,40 +269,9 @@ public class CannonShellEntity extends FastThrowableProjectile implements GeoEnt
explosion.finalizeExplosion(false); explosion.finalizeExplosion(false);
if (radius > 7) { if (radius > 7) {
ParticleTool.spawnHugeExplosionParticles(this.level(), new Vec3(entity.getX(), ParticleTool.spawnHugeExplosionParticles(this.level(), vec);
entity.getY() + 0.5 * entity.getBbHeight(),
entity.getZ()));
} else { } else {
ParticleTool.spawnMediumExplosionParticles(this.level(), new Vec3(entity.getX(), ParticleTool.spawnMediumExplosionParticles(this.level(), vec);
entity.getY() + 0.5 * entity.getBbHeight(),
entity.getZ()));
}
}
private void causeExplodeBlock(HitResult result) {
if (Math.random() > fireProbability) {
fireTime = 0;
}
CustomExplosion explosion = new CustomExplosion(this.level(), this,
ModDamageTypes.causeProjectileBoomDamage(this.level().registryAccess(),
this,
this.getOwner()),
explosionDamage,
this.getX(),
this.getY() + 0.5 * this.getBbHeight(),
this.getZ(),
radius,
ExplosionConfig.EXPLOSION_DESTROY.get() ? Explosion.BlockInteraction.DESTROY : Explosion.BlockInteraction.KEEP).
setDamageMultiplier(1).setFireTime(fireTime);
explosion.explode();
EventHooks.onExplosionStart(this.level(), explosion);
explosion.finalizeExplosion(false);
if (radius > 7) {
ParticleTool.spawnHugeExplosionParticles(this.level(), result.getLocation());
} else {
ParticleTool.spawnMediumExplosionParticles(this.level(), result.getLocation());
} }
this.discard(); this.discard();
} }

View file

@ -226,11 +226,6 @@ public class Bmp2Entity extends ContainerMobileVehicleEntity implements GeoEntit
sendParticle(serverLevel, ParticleTypes.BUBBLE_COLUMN_UP, this.getX() + 0.5 * this.getDeltaMovement().x, this.getY() + getSubmergedHeight(this) - 0.2, this.getZ() + 0.5 * this.getDeltaMovement().z, (int) (2 + 10 * this.getDeltaMovement().length()), 0.65, 0, 0.65, 0, true); sendParticle(serverLevel, ParticleTypes.BUBBLE_COLUMN_UP, this.getX() + 0.5 * this.getDeltaMovement().x, this.getY() + getSubmergedHeight(this) - 0.2, this.getZ() + 0.5 * this.getDeltaMovement().z, (int) (2 + 10 * this.getDeltaMovement().length()), 0.65, 0, 0.65, 0, true);
} }
collideBlock();
if (this.getDeltaMovement().length() > 0.1) {
collideHardBlock();
}
turretAngle(25, 25); turretAngle(25, 25);
this.terrainCompat(4f, 5f); this.terrainCompat(4f, 5f);
inertiaRotate(1); inertiaRotate(1);
@ -239,6 +234,12 @@ public class Bmp2Entity extends ContainerMobileVehicleEntity implements GeoEntit
this.refreshDimensions(); this.refreshDimensions();
} }
@Override
public boolean canCollideHardBlock() {
return getDeltaMovement().horizontalDistance() > 0.07 || this.entityData.get(POWER) > 0.12;
}
private void handleAmmo() { private void handleAmmo() {
if (!(this.getFirstPassenger() instanceof Player player)) return; if (!(this.getFirstPassenger() instanceof Player player)) return;

View file

@ -646,12 +646,4 @@ public class DroneEntity extends MobileVehicleEntity implements GeoEntity {
public boolean canCrushEntities() { public boolean canCrushEntities() {
return false; return false;
} }
@Override
public void collideBlock() {
}
@Override
public void collideHardBlock() {
}
} }

View file

@ -181,11 +181,6 @@ public class Lav150Entity extends ContainerMobileVehicleEntity implements GeoEnt
sendParticle(serverLevel, ParticleTypes.BUBBLE_COLUMN_UP, this.getX() + 0.5 * this.getDeltaMovement().x, this.getY() + getSubmergedHeight(this) - 0.2, this.getZ() + 0.5 * this.getDeltaMovement().z, (int) (2 + 10 * this.getDeltaMovement().length()), 0.65, 0, 0.65, 0, true); sendParticle(serverLevel, ParticleTypes.BUBBLE_COLUMN_UP, this.getX() + 0.5 * this.getDeltaMovement().x, this.getY() + getSubmergedHeight(this) - 0.2, this.getZ() + 0.5 * this.getDeltaMovement().z, (int) (2 + 10 * this.getDeltaMovement().length()), 0.65, 0, 0.65, 0, true);
} }
collideBlock();
if (this.getDeltaMovement().length() > 0.125) {
collideHardBlock();
}
turretAngle(15, 12.5f); turretAngle(15, 12.5f);
lowHealthWarning(); lowHealthWarning();
this.terrainCompat(2.7f, 3.61f); this.terrainCompat(2.7f, 3.61f);
@ -194,6 +189,11 @@ public class Lav150Entity extends ContainerMobileVehicleEntity implements GeoEnt
this.refreshDimensions(); this.refreshDimensions();
} }
@Override
public boolean canCollideHardBlock() {
return getDeltaMovement().horizontalDistance() > 0.09 || this.entityData.get(POWER) > 0.15;
}
private void handleAmmo() { private void handleAmmo() {
if (!(this.getFirstPassenger() instanceof Player)) return; if (!(this.getFirstPassenger() instanceof Player)) return;

View file

@ -92,7 +92,7 @@ public class Mk42Entity extends VehicleEntity implements GeoEntity, CannonEntity
.hitDamage(VehicleConfig.MK42_HE_DAMAGE.get()) .hitDamage(VehicleConfig.MK42_HE_DAMAGE.get())
.explosionDamage(VehicleConfig.MK42_HE_EXPLOSION_DAMAGE.get()) .explosionDamage(VehicleConfig.MK42_HE_EXPLOSION_DAMAGE.get())
.explosionRadius(VehicleConfig.MK42_HE_EXPLOSION_RADIUS.get().floatValue()) .explosionRadius(VehicleConfig.MK42_HE_EXPLOSION_RADIUS.get().floatValue())
.durability(1) .durability(0)
.fireProbability(0.18F) .fireProbability(0.18F)
.fireTime(2) .fireTime(2)
.sound(ModSounds.CANNON_RELOAD.get()) .sound(ModSounds.CANNON_RELOAD.get())

View file

@ -84,7 +84,7 @@ public class Mle1934Entity extends VehicleEntity implements GeoEntity, CannonEnt
.hitDamage(VehicleConfig.MLE1934_HE_DAMAGE.get()) .hitDamage(VehicleConfig.MLE1934_HE_DAMAGE.get())
.explosionDamage(VehicleConfig.MLE1934_HE_EXPLOSION_DAMAGE.get()) .explosionDamage(VehicleConfig.MLE1934_HE_EXPLOSION_DAMAGE.get())
.explosionRadius(VehicleConfig.MLE1934_HE_EXPLOSION_RADIUS.get().floatValue()) .explosionRadius(VehicleConfig.MLE1934_HE_EXPLOSION_RADIUS.get().floatValue())
.durability(1) .durability(0)
.fireProbability(0.24F) .fireProbability(0.24F)
.fireTime(5) .fireTime(5)
.sound(ModSounds.CANNON_RELOAD.get()) .sound(ModSounds.CANNON_RELOAD.get())

View file

@ -216,11 +216,6 @@ public class PrismTankEntity extends ContainerMobileVehicleEntity implements Geo
sendParticle(serverLevel, ParticleTypes.BUBBLE_COLUMN_UP, this.getX() + 0.5 * this.getDeltaMovement().x, this.getY() + getSubmergedHeight(this) - 0.2, this.getZ() + 0.5 * this.getDeltaMovement().z, (int) (2 + 10 * this.getDeltaMovement().length()), 0.65, 0, 0.65, 0, true); sendParticle(serverLevel, ParticleTypes.BUBBLE_COLUMN_UP, this.getX() + 0.5 * this.getDeltaMovement().x, this.getY() + getSubmergedHeight(this) - 0.2, this.getZ() + 0.5 * this.getDeltaMovement().z, (int) (2 + 10 * this.getDeltaMovement().length()), 0.65, 0, 0.65, 0, true);
} }
collideBlock();
if (this.getDeltaMovement().length() > 0.1) {
collideHardBlock();
}
turretAngle(15, 10); turretAngle(15, 10);
this.terrainCompat(4.6375f, 5.171875f); this.terrainCompat(4.6375f, 5.171875f);
inertiaRotate(1); inertiaRotate(1);

View file

@ -164,15 +164,16 @@ public class SpeedboatEntity extends ContainerMobileVehicleEntity implements Geo
turretAngle(40, 40); turretAngle(40, 40);
lowHealthWarning(); lowHealthWarning();
collideBlock();
if (this.getDeltaMovement().length() > 0.15) {
collideHardBlock();
}
inertiaRotate(2); inertiaRotate(2);
this.refreshDimensions(); this.refreshDimensions();
} }
@Override
public boolean canCollideHardBlock() {
return getDeltaMovement().horizontalDistance() > 0.15;
}
private void handleAmmo() { private void handleAmmo() {
if (!(this.getFirstPassenger() instanceof Player)) return; if (!(this.getFirstPassenger() instanceof Player)) return;

View file

@ -349,12 +349,4 @@ public class Tom6Entity extends MobileVehicleEntity implements GeoEntity {
public boolean allowFreeCam() { public boolean allowFreeCam() {
return true; return true;
} }
@Override
public void collideBlock() {
}
@Override
public void collideHardBlock() {
}
} }

View file

@ -315,11 +315,4 @@ public class WheelChairEntity extends MobileVehicleEntity implements GeoEntity {
return Mod.loc("textures/vehicle_icon/wheel_chair_icon.png"); return Mod.loc("textures/vehicle_icon/wheel_chair_icon.png");
} }
@Override
public void collideBlock() {
}
@Override
public void collideHardBlock() {
}
} }

View file

@ -90,7 +90,7 @@ public class Yx100Entity extends ContainerMobileVehicleEntity implements GeoEnti
.explosionDamage(VehicleConfig.YX_100_AP_CANNON_EXPLOSION_DAMAGE.get()) .explosionDamage(VehicleConfig.YX_100_AP_CANNON_EXPLOSION_DAMAGE.get())
.fireProbability(0) .fireProbability(0)
.fireTime(0) .fireTime(0)
.durability(60) .durability(100)
.velocity(40) .velocity(40)
.sound(ModSounds.INTO_MISSILE.get()) .sound(ModSounds.INTO_MISSILE.get())
.ammo(ModItems.AP_5_INCHES.get()) .ammo(ModItems.AP_5_INCHES.get())
@ -102,7 +102,7 @@ public class Yx100Entity extends ContainerMobileVehicleEntity implements GeoEnti
.explosionDamage(VehicleConfig.YX_100_HE_CANNON_EXPLOSION_DAMAGE.get()) .explosionDamage(VehicleConfig.YX_100_HE_CANNON_EXPLOSION_DAMAGE.get())
.fireProbability(0.18F) .fireProbability(0.18F)
.fireTime(2) .fireTime(2)
.durability(1) .durability(0)
.velocity(25) .velocity(25)
.sound(ModSounds.INTO_CANNON.get()) .sound(ModSounds.INTO_CANNON.get())
.ammo(ModItems.HE_5_INCHES.get()) .ammo(ModItems.HE_5_INCHES.get())
@ -634,7 +634,7 @@ public class Yx100Entity extends ContainerMobileVehicleEntity implements GeoEnti
public Vec3 driverZoomPos(float ticks) { public Vec3 driverZoomPos(float ticks) {
Matrix4f transform = getTurretTransform(ticks); Matrix4f transform = getTurretTransform(ticks);
Vector4f worldPosition = transformPosition(transform, 0, 0, 0.6076875f); Vector4f worldPosition = transformPosition(transform, 0, 1.2f, 0.6076875f);
return new Vec3(worldPosition.x, worldPosition.y, worldPosition.z); return new Vec3(worldPosition.x, worldPosition.y, worldPosition.z);
} }

View file

@ -377,6 +377,10 @@ public abstract class MobileVehicleEntity extends EnergyVehicleEntity implements
} }
} }
public boolean canCollideHardBlock() {
return false;
}
@Override @Override
public void move(@NotNull MoverType movementType, @NotNull Vec3 movement) { public void move(@NotNull MoverType movementType, @NotNull Vec3 movement) {
if (!this.level().isClientSide()) { if (!this.level().isClientSide()) {
@ -384,6 +388,13 @@ public abstract class MobileVehicleEntity extends EnergyVehicleEntity implements
} }
super.move(movementType, movement); super.move(movementType, movement);
if (level() instanceof ServerLevel) { if (level() instanceof ServerLevel) {
if (this.horizontalCollision) {
collideBlock();
if (canCollideHardBlock()) {
collideHardBlock();
}
}
if (lastTickSpeed < 0.3 || collisionCoolDown > 0 || this instanceof DroneEntity) return; if (lastTickSpeed < 0.3 || collisionCoolDown > 0 || this instanceof DroneEntity) return;
Entity driver = EntityFindUtil.findEntity(this.level(), this.entityData.get(LAST_DRIVER_UUID)); Entity driver = EntityFindUtil.findEntity(this.level(), this.entityData.get(LAST_DRIVER_UUID));

View file

@ -674,7 +674,7 @@ public class ClientEventHandler {
if (charged) { if (charged) {
SoundEvent sound1p = BuiltInRegistries.SOUND_EVENT.get(Mod.loc("sentinel_charge_fire_1p")); SoundEvent sound1p = BuiltInRegistries.SOUND_EVENT.get(Mod.loc("sentinel_charge_fire_1p"));
if (sound1p != null) { if (sound1p != null) {
player.playSound(sound1p, 2f, 1); player.playSound(sound1p, 2f, (float) ((2 * org.joml.Math.random() - 1) * 0.05f + 1.0f));
} }
return; return;
} }
@ -683,7 +683,7 @@ public class ClientEventHandler {
var perk = data.perk.get(Perk.Type.AMMO); var perk = data.perk.get(Perk.Type.AMMO);
if (perk == ModPerks.BEAST_BULLET.get()) { if (perk == ModPerks.BEAST_BULLET.get()) {
player.playSound(ModSounds.HENG.get(), 1f, 1f); player.playSound(ModSounds.HENG.get(), 1f, (float) ((2 * org.joml.Math.random() - 1) * 0.1f + 1.0f));
} }
int barrelType = data.attachment.get(AttachmentType.BARREL); int barrelType = data.attachment.get(AttachmentType.BARREL);
@ -691,7 +691,7 @@ public class ClientEventHandler {
SoundEvent sound1p = BuiltInRegistries.SOUND_EVENT.get(Mod.loc(name + (barrelType == 2 ? "_fire_1p_s" : "_fire_1p"))); SoundEvent sound1p = BuiltInRegistries.SOUND_EVENT.get(Mod.loc(name + (barrelType == 2 ? "_fire_1p_s" : "_fire_1p")));
if (sound1p != null) { if (sound1p != null) {
player.playSound(sound1p, 2f, 1); player.playSound(sound1p, 4f, (float) ((2 * org.joml.Math.random() - 1) * 0.05f + 1.0f));
} }
double shooterHeight = player.getEyePosition().distanceTo((Vec3.atLowerCornerOf(player.level().clip(new ClipContext(player.getEyePosition(), player.getEyePosition().add(new Vec3(0, -1, 0).scale(10)), double shooterHeight = player.getEyePosition().distanceTo((Vec3.atLowerCornerOf(player.level().clip(new ClipContext(player.getEyePosition(), player.getEyePosition().add(new Vec3(0, -1, 0).scale(10)),
@ -700,11 +700,11 @@ public class ClientEventHandler {
Mod.queueClientWork((int) (1 + 1.5 * shooterHeight), () -> { Mod.queueClientWork((int) (1 + 1.5 * shooterHeight), () -> {
if (gunItem.canEjectShell(stack)) { if (gunItem.canEjectShell(stack)) {
if (stack.is(ModTags.Items.SHOTGUN)) { if (stack.is(ModTags.Items.SHOTGUN)) {
player.playSound(ModSounds.SHELL_CASING_SHOTGUN.get(), (float) Math.max(0.75 - 0.12 * shooterHeight, 0), 1); player.playSound(ModSounds.SHELL_CASING_SHOTGUN.get(), (float) Math.max(0.75 - 0.12 * shooterHeight, 0), (float) ((2 * org.joml.Math.random() - 1) * 0.05f + 1.0f));
} else if (stack.is(ModTags.Items.SNIPER_RIFLE) || stack.is(ModTags.Items.HEAVY_WEAPON)) { } else if (stack.is(ModTags.Items.SNIPER_RIFLE) || stack.is(ModTags.Items.HEAVY_WEAPON)) {
player.playSound(ModSounds.SHELL_CASING_50CAL.get(), (float) Math.max(1 - 0.15 * shooterHeight, 0), 1); player.playSound(ModSounds.SHELL_CASING_50CAL.get(), (float) Math.max(1 - 0.15 * shooterHeight, 0), (float) ((2 * org.joml.Math.random() - 1) * 0.05f + 1.0f));
} else { } else {
player.playSound(ModSounds.SHELL_CASING_NORMAL.get(), (float) Math.max(1.5 - 0.2 * shooterHeight, 0), 1); player.playSound(ModSounds.SHELL_CASING_NORMAL.get(), (float) Math.max(1.5 - 0.2 * shooterHeight, 0), (float) ((2 * org.joml.Math.random() - 1) * 0.05f + 1.0f));
} }
} }

View file

@ -159,6 +159,8 @@ public class ModSounds {
public static final DeferredHolder<SoundEvent, SoundEvent> RPK_FIRE_1P = REGISTRY.register("rpk_fire_1p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("rpk_fire_1p"))); public static final DeferredHolder<SoundEvent, SoundEvent> RPK_FIRE_1P = REGISTRY.register("rpk_fire_1p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("rpk_fire_1p")));
public static final DeferredHolder<SoundEvent, SoundEvent> RPK_FIRE_3P = REGISTRY.register("rpk_fire_3p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("rpk_fire_3p"))); public static final DeferredHolder<SoundEvent, SoundEvent> RPK_FIRE_3P = REGISTRY.register("rpk_fire_3p", () -> SoundEvent.createVariableRangeEvent(Mod.loc("rpk_fire_3p")));
public static final DeferredHolder<SoundEvent, SoundEvent> RPK_FIRE_1P_S = REGISTRY.register("rpk_fire_1p_s", () -> SoundEvent.createVariableRangeEvent(Mod.loc("rpk_fire_1p_s")));
public static final DeferredHolder<SoundEvent, SoundEvent> RPK_FIRE_3P_S = REGISTRY.register("rpk_fire_3p_s", () -> SoundEvent.createVariableRangeEvent(Mod.loc("rpk_fire_3p_s")));
public static final DeferredHolder<SoundEvent, SoundEvent> RPK_FAR = REGISTRY.register("rpk_far", () -> SoundEvent.createVariableRangeEvent(Mod.loc("rpk_far"))); public static final DeferredHolder<SoundEvent, SoundEvent> RPK_FAR = REGISTRY.register("rpk_far", () -> SoundEvent.createVariableRangeEvent(Mod.loc("rpk_far")));
public static final DeferredHolder<SoundEvent, SoundEvent> RPK_VERYFAR = REGISTRY.register("rpk_veryfar", () -> SoundEvent.createVariableRangeEvent(Mod.loc("rpk_veryfar"))); public static final DeferredHolder<SoundEvent, SoundEvent> RPK_VERYFAR = REGISTRY.register("rpk_veryfar", () -> SoundEvent.createVariableRangeEvent(Mod.loc("rpk_veryfar")));
public static final DeferredHolder<SoundEvent, SoundEvent> RPK_RELOAD_NORMAL = REGISTRY.register("rpk_reload_normal", () -> SoundEvent.createVariableRangeEvent(Mod.loc("rpk_reload_normal"))); public static final DeferredHolder<SoundEvent, SoundEvent> RPK_RELOAD_NORMAL = REGISTRY.register("rpk_reload_normal", () -> SoundEvent.createVariableRangeEvent(Mod.loc("rpk_reload_normal")));

View file

@ -148,7 +148,7 @@ public class RpkItem extends GunItem implements GeoItem {
public double getCustomZoom(ItemStack stack) { public double getCustomZoom(ItemStack stack) {
int scopeType = GunData.from(stack).attachment.get(AttachmentType.SCOPE); int scopeType = GunData.from(stack).attachment.get(AttachmentType.SCOPE);
return switch (scopeType) { return switch (scopeType) {
case 2 -> NBTTool.getTag(stack).getBoolean("ScopeAlt") ? 0 : 2.75; case 2 -> 1.15;
case 3 -> GunsTool.getGunDoubleTag(NBTTool.getTag(stack), "CustomZoom"); case 3 -> GunsTool.getGunDoubleTag(NBTTool.getTag(stack), "CustomZoom");
default -> 0; default -> 0;
}; };

View file

@ -114,7 +114,7 @@ public abstract class CameraMixin {
if (yx100.getFirstPassenger() == player) { if (yx100.getFirstPassenger() == player) {
setRotation((float) -VehicleEntity.getYRotFromVector(yx100.getBarrelVec(partialTicks)), (float) -VehicleEntity.getXRotFromVector(yx100.getBarrelVec(partialTicks))); setRotation((float) -VehicleEntity.getYRotFromVector(yx100.getBarrelVec(partialTicks)), (float) -VehicleEntity.getXRotFromVector(yx100.getBarrelVec(partialTicks)));
if (ClientEventHandler.zoomVehicle) { if (ClientEventHandler.zoomVehicle) {
setPosition(yx100.driverZoomPos(partialTicks).x, Mth.lerp(partialTicks, player.yo + player.getEyeHeight(), player.getEyeY()), yx100.driverZoomPos(partialTicks).z); setPosition(yx100.driverZoomPos(partialTicks).x, yx100.driverZoomPos(partialTicks).y, yx100.driverZoomPos(partialTicks).z);
} else { } else {
setPosition(Mth.lerp(partialTicks, player.xo, player.getX()), Mth.lerp(partialTicks, player.yo + player.getEyeHeight(), player.getEyeY()), Mth.lerp(partialTicks, player.zo, player.getZ())); setPosition(Mth.lerp(partialTicks, player.xo, player.getX()), Mth.lerp(partialTicks, player.yo + player.getEyeHeight(), player.getEyeY()), Mth.lerp(partialTicks, player.zo, player.getZ()));
} }

View file

@ -1296,56 +1296,28 @@
{ {
"name": "gun", "name": "gun",
"parent": "0", "parent": "0",
"pivot": [0, -5.5, -0.5] "pivot": [0, -5.5, -0.5],
}, "cubes": [
{ {
"name": "aug_default", "origin": [-1.2004, 1.40678, 4.40678],
"parent": "gun", "size": [2.4008, 0.89362, 0.39362],
"pivot": [0, 0.9, -0.5] "inflate": -0.002,
}, "pivot": [0, 1.7, 5.5],
{ "rotation": [30, 0, 0],
"name": "deco", "uv": {
"parent": "aug_default", "north": {"uv": [45, 37], "uv_size": [3, 1]},
"pivot": [-0.275, -1.21009, -0.85217] "east": {"uv": [65, 21], "uv_size": [0.5, 1]},
}, "south": {"uv": [45, 38], "uv_size": [3, 1]},
{ "west": {"uv": [22, 65], "uv_size": [0.5, 1]},
"name": "group6", "up": {"uv": [40, 54], "uv_size": [3, 0.5]},
"parent": "deco", "down": {"uv": [54, 41.5], "uv_size": [3, -0.5]}
"pivot": [0.45, -1.21009, 3.69783] }
}, }
{ ]
"name": "safety",
"parent": "deco",
"pivot": [0.41875, -1.21009, 0.24783]
},
{
"name": "safety_illuminated",
"parent": "safety",
"pivot": [0.75, 0.41491, 1.86034]
},
{
"name": "trigger",
"parent": "deco",
"pivot": [-0.275, -1.21009, -0.65217]
},
{
"name": "octagon2",
"parent": "deco",
"pivot": [0.5096, 0.9, -0.5]
},
{
"name": "boltcover",
"parent": "deco",
"pivot": [-1.67471, -0.2104, 5.35]
},
{
"name": "mag_release",
"parent": "deco",
"pivot": [0.35, -1.56936, 7.10269]
}, },
{ {
"name": "stock", "name": "stock",
"parent": "aug_default", "parent": "gun",
"pivot": [0, -5.5, -0.5] "pivot": [0, -5.5, -0.5]
}, },
{ {
@ -1627,117 +1599,6 @@
} }
] ]
}, },
{
"name": "receiver",
"parent": "aug_default",
"pivot": [0, 0.9, -0.5]
},
{
"name": "group8",
"parent": "receiver",
"pivot": [-0.65, 1.2, 2.17712]
},
{
"name": "octagon",
"parent": "receiver",
"pivot": [0, 1.6, -9.95]
},
{
"name": "gastube",
"parent": "receiver",
"pivot": [0, 0.9, -0.5]
},
{
"name": "group3",
"parent": "gastube",
"pivot": [-0.6, 1.2, -8.33188]
},
{
"name": "cover2",
"parent": "gastube",
"pivot": [0, 0.9, -0.5]
},
{
"name": "cover",
"parent": "cover2",
"pivot": [0, 0.9, -0.5]
},
{
"name": "group2",
"parent": "receiver",
"pivot": [0, 1.6, -2.401]
},
{
"name": "side_rail",
"parent": "aug_default",
"pivot": [0.45, -3.8, -6.9]
},
{
"name": "foregrip",
"parent": "aug_default",
"pivot": [0.06945, 0.40393, -3.87787]
},
{
"name": "grip",
"parent": "foregrip",
"pivot": [0, 0.9, -0.5]
},
{
"name": "pins",
"parent": "aug_default",
"pivot": [0.0096, 0.9, -0.5]
},
{
"name": "aug_charge",
"parent": "gun",
"pivot": [0.53109, 1.12994, -3.5]
},
{
"name": "aug_bolt",
"parent": "gun",
"pivot": [1.67471, -0.6104, 5.55]
},
{
"name": "group15",
"parent": "aug_bolt",
"pivot": [-0.02802, 7.52082, 2.66108]
},
{
"name": "positioning2",
"parent": "gun",
"pivot": [0, -5.5, -0.5]
},
{
"name": "laser_pos",
"parent": "positioning2",
"pivot": [-0.82505, 1.56465, -0.82],
"rotation": [0, 0, -45]
},
{
"name": "muzzle_pos",
"parent": "positioning2",
"pivot": [0, 1.6, -11.75]
},
{
"name": "muzzle_flash",
"parent": "positioning2",
"pivot": [0, 1.6, -14.1]
},
{
"name": "scope_pos",
"parent": "positioning2",
"pivot": [0, 2.9, 0.9]
},
{
"name": "shell",
"parent": "positioning2",
"pivot": [-0.12, 1.71, 7.7]
},
{
"name": "constraint",
"parent": "gun",
"pivot": [0, 3.32, -14.1]
},
{ {
"name": "QQQQQ", "name": "QQQQQ",
"parent": "gun", "parent": "gun",
@ -1758,21 +1619,6 @@
"down": {"uv": [40, 33], "uv_size": [3, -2]} "down": {"uv": [40, 33], "uv_size": [3, -2]}
} }
}, },
{
"origin": [-1.2004, 1.40678, 4.40678],
"size": [2.4008, 0.89362, 0.39362],
"inflate": -0.002,
"pivot": [0, 1.7, 5.5],
"rotation": [30, 0, 0],
"uv": {
"north": {"uv": [45, 37], "uv_size": [3, 1]},
"east": {"uv": [65, 21], "uv_size": [0.5, 1]},
"south": {"uv": [45, 38], "uv_size": [3, 1]},
"west": {"uv": [22, 65], "uv_size": [0.5, 1]},
"up": {"uv": [40, 54], "uv_size": [3, 0.5]},
"down": {"uv": [54, 41.5], "uv_size": [3, -0.5]}
}
},
{ {
"origin": [-1.1996, 1.40758, 4.30758], "origin": [-1.1996, 1.40758, 4.30758],
"size": [2.2992, 0.89202, 0.09202], "size": [2.2992, 0.89202, 0.09202],

File diff suppressed because it is too large Load diff

View file

@ -663,6 +663,22 @@
} }
] ]
}, },
"rpk_fire_1p_s": {
"sounds": [
{
"name": "superbwarfare:rpk/rpk_fire_1p_s",
"stream": false
}
]
},
"rpk_fire_3p_s": {
"sounds": [
{
"name": "superbwarfare:rpk/rpk_fire_3p_s",
"stream": false
}
]
},
"rpk_far": { "rpk_far": {
"sounds": [ "sounds": [
{ {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 33 KiB

View file

@ -1,6 +1,6 @@
{ {
"Spread": 2.3, "Spread": 2.3,
"RecoilX": 0.002, "RecoilX": 0,
"RecoilY": 0.007, "RecoilY": 0.007,
"Damage": 6, "Damage": 6,
"Headshot": 1.5, "Headshot": 1.5,