优化Tag相关调用
This commit is contained in:
parent
cadbdd079a
commit
89ec47b3b0
82 changed files with 334 additions and 298 deletions
|
@ -13,7 +13,7 @@ import net.neoforged.api.distmarker.OnlyIn;
|
|||
public class PoseTool {
|
||||
|
||||
public static HumanoidModel.ArmPose pose(LivingEntity entityLiving, InteractionHand hand, ItemStack stack) {
|
||||
var tag = NBTTool.getOrCreateTag(stack);
|
||||
var tag = NBTTool.getTag(stack);
|
||||
if (tag.getBoolean("is_empty_reloading")
|
||||
|| tag.getBoolean("is_normal_reloading")
|
||||
|| GunsTool.getGunBooleanTag(stack, "Reloading")
|
||||
|
|
|
@ -33,7 +33,7 @@ public class MinigunHeatLayer extends GeoRenderLayer<MinigunItem> {
|
|||
if (player == null) return;
|
||||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return;
|
||||
float heat = (float) NBTTool.getOrCreateTag(stack).getDouble("heat");
|
||||
float heat = (float) NBTTool.getTag(stack).getDouble("heat");
|
||||
var color = FastColor.ARGB32.color(1, (int) (heat / 55 * 255), (int) (heat / 55 * 255), (int) (heat / 55 * 255));
|
||||
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, color);
|
||||
}
|
||||
|
|
|
@ -110,7 +110,7 @@ public class AK12ItemModel extends GeoModel<AK12Item> {
|
|||
scope2.setScaleZ(1f - (0.3f * (float) zp));
|
||||
scope3.setScaleZ(1f - (0.7f * (float) zp));
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 1.85));
|
||||
NBTTool.getTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 1.85));
|
||||
|
||||
GeoBone shen;
|
||||
if (zt < 0.5) {
|
||||
|
|
|
@ -114,7 +114,7 @@ public class AK47ItemModel extends GeoModel<AK47Item> {
|
|||
scope2.setScaleZ(1f - (0.3f * (float) zp));
|
||||
scope3.setScaleZ(1f - (0.7f * (float) zp));
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 1.8));
|
||||
NBTTool.getTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 1.8));
|
||||
|
||||
GeoBone shen;
|
||||
if (zt < 0.5) {
|
||||
|
|
|
@ -105,7 +105,7 @@ public class BocekItemModel extends GeoModel<BocekItem> {
|
|||
r.setScaleZ(1f - (0.31f * (float) zp));
|
||||
shen.setRotZ(60 * Mth.DEG_TO_RAD * (float) zp + (float) (0.05f * zpz) - 0.2f);
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("HoloHidden", !((shen_pos.getPosX() < -0.6 && gun.getPosZ() < -2)));
|
||||
NBTTool.getTag(stack).putBoolean("HoloHidden", !((shen_pos.getPosX() < -0.6 && gun.getPosZ() < -2)));
|
||||
|
||||
fire.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp));
|
||||
fire.setPosY((float) (-0.03f * fp - 0.06f * fr));
|
||||
|
|
|
@ -74,7 +74,7 @@ public class DevotionItemModel extends GeoModel<DevotionItem> {
|
|||
GeoBone shen = getAnimationProcessor().getBone("shen");
|
||||
GeoBone holo = getAnimationProcessor().getBone("holo");
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 1.8));
|
||||
NBTTool.getTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 1.8));
|
||||
|
||||
shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
|
||||
shen.setPosY((float) (0.15f * fp + 0.18f * fr));
|
||||
|
|
|
@ -108,7 +108,7 @@ public class Hk416ItemModel extends GeoModel<Hk416Item> {
|
|||
scope2.setScaleZ(1f - (0.8f * (float) zp));
|
||||
scope3.setScaleZ(1f - (0.5f * (float) zp));
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 3.1));
|
||||
NBTTool.getTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 3.1));
|
||||
|
||||
GeoBone shen;
|
||||
if (zt < 0.5) {
|
||||
|
|
|
@ -67,7 +67,7 @@ public class JavelinItemModel extends GeoModel<JavelinItem> {
|
|||
gun.setRotZ(-4.75f * Mth.DEG_TO_RAD * (float) zp + (float) (0.02f * zpz));
|
||||
|
||||
javelin.setHidden(gun.getPosZ() > 15.85);
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("HoloHidden", !(gun.getPosZ() > 15.85));
|
||||
NBTTool.getTag(stack).putBoolean("HoloHidden", !(gun.getPosZ() > 15.85));
|
||||
|
||||
shen.setPosX((float) (0.75f * ClientEventHandler.recoilHorizon * fpz * fp));
|
||||
shen.setPosY((float) (-0.03f * fp - 0.06f * fr));
|
||||
|
|
|
@ -45,7 +45,7 @@ public class K98ItemModel extends GeoModel<K98Item> {
|
|||
if (!stack.is(ModTags.Items.GUN)) return;
|
||||
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getDouble("prepare") > 11 && GunsTool.getGunIntTag(stack, "Ammo", 0) == 1) {
|
||||
if (NBTTool.getTag(stack).getDouble("prepare") > 11 && GunsTool.getGunIntTag(stack, "Ammo", 0) == 1) {
|
||||
clip.setScaleX(0);
|
||||
clip.setScaleY(0);
|
||||
clip.setScaleZ(0);
|
||||
|
|
|
@ -86,9 +86,9 @@ public class M4ItemModel extends GeoModel<M4Item> {
|
|||
|
||||
int type = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.SCOPE);
|
||||
|
||||
posYAlt = Mth.lerp(times, posYAlt, NBTTool.getOrCreateTag(stack).getBoolean("ScopeAlt") ? -0.6875f : 0.5625f);
|
||||
scaleZAlt = Mth.lerp(times, scaleZAlt, NBTTool.getOrCreateTag(stack).getBoolean("ScopeAlt") ? 0.4f : 0.88f);
|
||||
posZAlt = Mth.lerp(times, posZAlt, NBTTool.getOrCreateTag(stack).getBoolean("ScopeAlt") ? 5.5f : 7.6f);
|
||||
posYAlt = Mth.lerp(times, posYAlt, NBTTool.getTag(stack).getBoolean("ScopeAlt") ? -0.6875f : 0.5625f);
|
||||
scaleZAlt = Mth.lerp(times, scaleZAlt, NBTTool.getTag(stack).getBoolean("ScopeAlt") ? 0.4f : 0.88f);
|
||||
posZAlt = Mth.lerp(times, posZAlt, NBTTool.getTag(stack).getBoolean("ScopeAlt") ? 5.5f : 7.6f);
|
||||
rotXSight = Mth.lerp(1.5f * times, rotXSight, type == 0 ? 0 : 90);
|
||||
|
||||
float posY = switch (type) {
|
||||
|
@ -129,7 +129,7 @@ public class M4ItemModel extends GeoModel<M4Item> {
|
|||
button6.setScaleX(1f - (0.5f * (float) zp));
|
||||
button7.setScaleX(1f - (0.5f * (float) zp));
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 2.385));
|
||||
NBTTool.getTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 2.385));
|
||||
|
||||
if (type == 3 && zt > 0.5) {
|
||||
lh.setPosY((float) (-zt * 4));
|
||||
|
|
|
@ -88,7 +88,7 @@ public class M98bItemModel extends GeoModel<M98bItem> {
|
|||
gun.setPosZ(4.2f * (float) zp + (float) (0.3f * zpz));
|
||||
gun.setRotZ((float) (0.02f * zpz));
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 1.8));
|
||||
NBTTool.getTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 1.8));
|
||||
|
||||
GeoBone root = getAnimationProcessor().getBone("root");
|
||||
GeoBone zhunxing = getAnimationProcessor().getBone("shi");
|
||||
|
|
|
@ -84,7 +84,7 @@ public class MarlinItemModel extends GeoModel<MarlinItem> {
|
|||
|
||||
CrossHairOverlay.gunRot = shen.getRotZ();
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("empty")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("empty")) {
|
||||
jichui.setRotX(-0.52f);
|
||||
}
|
||||
|
||||
|
|
|
@ -139,7 +139,7 @@ public class Mk14ItemModel extends GeoModel<Mk14Item> {
|
|||
|
||||
action.setPosZ(2.5f * (float) fp);
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 2.5));
|
||||
NBTTool.getTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 2.5));
|
||||
|
||||
GeoBone root = getAnimationProcessor().getBone("root");
|
||||
root.setPosX((float) (movePosX + 20 * ClientEventHandler.drawTime + 9.3f * mph));
|
||||
|
|
|
@ -86,7 +86,7 @@ public class MosinNagantItemModel extends GeoModel<MosinNagantItem> {
|
|||
qiangshen.setScaleZ(1);
|
||||
}
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 1.4));
|
||||
NBTTool.getTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 1.4));
|
||||
|
||||
shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
|
||||
shen.setPosY((float) (0.4f * fp + 0.44f * fr));
|
||||
|
|
|
@ -137,7 +137,7 @@ public class Ntw20Model extends GeoModel<Ntw20Item> {
|
|||
|
||||
CrossHairOverlay.gunRot = shen.getRotZ();
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 4.3));
|
||||
NBTTool.getTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 4.3));
|
||||
|
||||
action.setPosZ(3f * (float) ClientEventHandler.actionMove);
|
||||
lh.setPosZ(-3f * (float) ClientEventHandler.actionMove);
|
||||
|
|
|
@ -122,7 +122,7 @@ public class Qbz95ItemModel extends GeoModel<Qbz95Item> {
|
|||
button3.setScaleX(1f - (0.5f * (float) zp));
|
||||
button6.setScaleX(1f - (0.8f * (float) zp));
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("HoloHidden", gun.getPosX() < 3.1);
|
||||
NBTTool.getTag(stack).putBoolean("HoloHidden", gun.getPosX() < 3.1);
|
||||
|
||||
GeoBone shen;
|
||||
if (zt < 0.5) {
|
||||
|
@ -202,7 +202,7 @@ public class Qbz95ItemModel extends GeoModel<Qbz95Item> {
|
|||
lHandRotZ = Mth.lerp(1.5f * times, lHandRotZ, isZooming ? 2.9228f : leftHand.getRotZ());
|
||||
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
leftHand.setPosX(lHandPosX);
|
||||
leftHand.setPosY(lHandPosY);
|
||||
leftHand.setPosZ(lHandPosZ);
|
||||
|
|
|
@ -74,7 +74,7 @@ public class RpkItemModel extends GeoModel<RpkItem> {
|
|||
button.setScaleY(1f - (0.3f * (float) zp));
|
||||
button.setScaleZ(1f - (0.3f * (float) zp));
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 1.65));
|
||||
NBTTool.getTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 1.65));
|
||||
|
||||
shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
|
||||
shen.setPosY((float) (0.15f * fp + 0.18f * fr));
|
||||
|
|
|
@ -75,7 +75,7 @@ public class SentinelItemModel extends GeoModel<SentinelItem> {
|
|||
|
||||
GeoBone holo = getAnimationProcessor().getBone("holo");
|
||||
holo.setPosY(0.09f);
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 2.4));
|
||||
NBTTool.getTag(stack).putBoolean("HoloHidden", !(gun.getPosX() > 2.4));
|
||||
|
||||
shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
|
||||
shen.setPosY((float) (0.4f * fp + 0.44f * fr));
|
||||
|
|
|
@ -68,7 +68,7 @@ public class SksItemModel extends GeoModel<SksItem> {
|
|||
gun.setPosZ(2.5f * (float) zp + (float) (0.5f * zpz));
|
||||
gun.setRotZ((float) (0.05f * zpz));
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("HoloHidden", gun.getPosX() <= 1.2);
|
||||
NBTTool.getTag(stack).putBoolean("HoloHidden", gun.getPosX() <= 1.2);
|
||||
GeoBone shen = getAnimationProcessor().getBone("shen");
|
||||
|
||||
shen.setPosX((float) (0.95f * ClientEventHandler.recoilHorizon * fpz * fp));
|
||||
|
|
|
@ -110,7 +110,7 @@ public class SvdItemModel extends GeoModel<SvdItem> {
|
|||
cross3.setScaleX((float) (1f + (0.1 * zp)));
|
||||
cross3.setScaleY((float) (1f + (0.1 * zp)));
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("HoloHidden", gun.getPosX() <= 1.4);
|
||||
NBTTool.getTag(stack).putBoolean("HoloHidden", gun.getPosX() <= 1.4);
|
||||
|
||||
GeoBone shen;
|
||||
if (zt < 0.5) {
|
||||
|
|
|
@ -84,9 +84,9 @@ public class TracheliumItemModel extends GeoModel<Trachelium> {
|
|||
int scopeType = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.SCOPE);
|
||||
int gripType = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.GRIP);
|
||||
|
||||
posYAlt = Mth.lerp(times, posYAlt, NBTTool.getOrCreateTag(stack).getBoolean("ScopeAlt") ? -1.98f : -0.83f);
|
||||
scaleZAlt = Mth.lerp(times, scaleZAlt, NBTTool.getOrCreateTag(stack).getBoolean("ScopeAlt") ? 0.4f : 0.8f);
|
||||
posZAlt = Mth.lerp(times, posZAlt, NBTTool.getOrCreateTag(stack).getBoolean("ScopeAlt") ? 7.5f : 13.7f);
|
||||
posYAlt = Mth.lerp(times, posYAlt, NBTTool.getTag(stack).getBoolean("ScopeAlt") ? -1.98f : -0.83f);
|
||||
scaleZAlt = Mth.lerp(times, scaleZAlt, NBTTool.getTag(stack).getBoolean("ScopeAlt") ? 0.4f : 0.8f);
|
||||
posZAlt = Mth.lerp(times, posZAlt, NBTTool.getTag(stack).getBoolean("ScopeAlt") ? 7.5f : 13.7f);
|
||||
|
||||
float posY = switch (scopeType) {
|
||||
case 0 -> 1.1f;
|
||||
|
@ -152,7 +152,7 @@ public class TracheliumItemModel extends GeoModel<Trachelium> {
|
|||
|
||||
CrossHairOverlay.gunRot = shen.getRotZ();
|
||||
|
||||
NBTTool.getOrCreateTag(stack).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));
|
||||
NBTTool.getTag(stack).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));
|
||||
|
||||
hammer.setRotX(50 * Mth.DEG_TO_RAD * (float) ClientEventHandler.revolverPreTime);
|
||||
lun.setRotZ(-60 * Mth.DEG_TO_RAD * (float) ClientEventHandler.revolverWheelPreTime);
|
||||
|
@ -161,7 +161,7 @@ public class TracheliumItemModel extends GeoModel<Trachelium> {
|
|||
ammo.setRotZ(60 * Mth.DEG_TO_RAD * (float) ClientEventHandler.revolverWheelPreTime);
|
||||
ammohole.setRotZ(-60 * Mth.DEG_TO_RAD * (float) ClientEventHandler.revolverWheelPreTime);
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
lun.setRotZ(0);
|
||||
ammo.setRotZ(0);
|
||||
ammohole.setRotZ(0);
|
||||
|
@ -170,7 +170,7 @@ public class TracheliumItemModel extends GeoModel<Trachelium> {
|
|||
GeoBone root = getAnimationProcessor().getBone("root");
|
||||
root.setPosX((float) (movePosX + 20 * ClientEventHandler.drawTime + 9.3f * mph));
|
||||
root.setPosY((float) (swayY + movePosY - 40 * ClientEventHandler.drawTime - 2f * vY));
|
||||
root.setPosZ(!NBTTool.getOrCreateTag(stack).getBoolean("DA") && !NBTTool.getOrCreateTag(stack).getBoolean("canImmediatelyShoot") ? 0.2f * (float) ClientEventHandler.revolverPreTime : 0);
|
||||
root.setPosZ(!NBTTool.getTag(stack).getBoolean("DA") && !NBTTool.getTag(stack).getBoolean("canImmediatelyShoot") ? 0.2f * (float) ClientEventHandler.revolverPreTime : 0);
|
||||
root.setRotX((float) ((swayX - Mth.DEG_TO_RAD * 60 * ClientEventHandler.drawTime + Mth.DEG_TO_RAD * turnRotX - 0.15f * vY)));
|
||||
root.setRotY((float) (0.2f * movePosX + Mth.DEG_TO_RAD * 300 * ClientEventHandler.drawTime + Mth.DEG_TO_RAD * turnRotY));
|
||||
root.setRotZ((float) (0.2f * movePosX + moveRotZ + Mth.DEG_TO_RAD * 90 * ClientEventHandler.drawTime + 2.7f * mph + Mth.DEG_TO_RAD * turnRotZ));
|
||||
|
|
|
@ -97,7 +97,7 @@ public class VectorItemModel extends GeoModel<VectorItem> {
|
|||
gun.setScaleZ(1f - (0.5f * (float) zp));
|
||||
scope.setScaleZ(1f - (0.2f * (float) zp));
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("HoloHidden", gun.getPosX() <= 2);
|
||||
NBTTool.getTag(stack).putBoolean("HoloHidden", gun.getPosX() <= 2);
|
||||
|
||||
GeoBone shen;
|
||||
if (zt < 0.5) {
|
||||
|
|
|
@ -103,7 +103,7 @@ public class CrossHairOverlay {
|
|||
}
|
||||
|
||||
if (stack.is(ModItems.BOCEK.get())) {
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("HoloHidden")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("HoloHidden")) {
|
||||
preciseBlit(guiGraphics, ModUtils.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 (ClientEventHandler.zoomTime < 0.1) {
|
||||
|
|
|
@ -87,31 +87,31 @@ public class AK12ItemRenderer extends GeoItemRenderer<AK12Item> {
|
|||
if (!itemStack.is(ModTags.Items.GUN)) return;
|
||||
|
||||
if (name.equals("Cross1")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1);
|
||||
}
|
||||
|
||||
if (name.equals("Cross2")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2);
|
||||
}
|
||||
|
||||
if (name.equals("Cross3")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 3);
|
||||
}
|
||||
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2
|
||||
&& (name.equals("hidden2"))) {
|
||||
bone.setHidden(!NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 3
|
||||
&& (name.equals("jing") || name.equals("Barrel") || name.equals("humu") || name.equals("qiangguan") || name.equals("houzhunxing"))) {
|
||||
bone.setHidden(!NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (name.equals("flare")) {
|
||||
|
|
|
@ -87,19 +87,19 @@ public class AK47ItemRenderer extends GeoItemRenderer<AK47Item> {
|
|||
if (!itemStack.is(ModTags.Items.GUN)) return;
|
||||
|
||||
if (name.equals("Cross1")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1);
|
||||
}
|
||||
|
||||
if (name.equals("Cross2")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2);
|
||||
}
|
||||
|
||||
if (name.equals("Cross3")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 3);
|
||||
}
|
||||
|
@ -113,14 +113,14 @@ public class AK47ItemRenderer extends GeoItemRenderer<AK47Item> {
|
|||
}
|
||||
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2
|
||||
&& (name.equals("Hidden") || name.equals("gun") || name.equals("Lefthand")) && ClientEventHandler.zoom && !NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")) {
|
||||
&& (name.equals("Hidden") || name.equals("gun") || name.equals("Lefthand")) && ClientEventHandler.zoom && !NBTTool.getTag(itemStack).getBoolean("HoloHidden")) {
|
||||
bone.setHidden(true);
|
||||
renderingArms = false;
|
||||
}
|
||||
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 3
|
||||
&& (name.equals("jing") || name.equals("Barrel") || name.equals("humu") || name.equals("qiangguan") || name.equals("houzhunxing"))) {
|
||||
bone.setHidden(!NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (name.equals("flare")) {
|
||||
|
|
|
@ -88,7 +88,7 @@ public class BocekItemRenderer extends GeoItemRenderer<BocekItem> {
|
|||
if (!itemStack.is(ModTags.Items.GUN)) return;
|
||||
|
||||
if (name.equals("holo")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom);
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (name.equals("arrow")) {
|
||||
|
|
|
@ -97,7 +97,7 @@ public class DevotionItemRenderer extends GeoItemRenderer<DevotionItem> {
|
|||
}
|
||||
|
||||
if (name.equals("holo")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom);
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (this.transformType.firstPerson() && renderingArms) {
|
||||
|
|
|
@ -87,31 +87,31 @@ public class Hk416ItemRenderer extends GeoItemRenderer<Hk416Item> {
|
|||
if (!itemStack.is(ModTags.Items.GUN)) return;
|
||||
|
||||
if (name.equals("Cross1")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1);
|
||||
}
|
||||
|
||||
if (name.equals("Cross2")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2);
|
||||
}
|
||||
|
||||
if (name.equals("Cross3")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 3);
|
||||
}
|
||||
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2
|
||||
&& (name.equals("hidden"))) {
|
||||
bone.setHidden(!NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 3
|
||||
&& (name.equals("jing") || name.equals("Barrel") || name.equals("yugu") || name.equals("qiangguan"))) {
|
||||
bone.setHidden(!NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (name.equals("flare")) {
|
||||
|
|
|
@ -87,38 +87,38 @@ public class M4ItemRenderer extends GeoItemRenderer<M4Item> {
|
|||
if (!itemStack.is(ModTags.Items.GUN)) return;
|
||||
|
||||
if (name.equals("Cross1")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1);
|
||||
}
|
||||
|
||||
if (name.equals("Cross2")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2
|
||||
|| NBTTool.getOrCreateTag(itemStack).getBoolean("ScopeAlt"));
|
||||
|| NBTTool.getTag(itemStack).getBoolean("ScopeAlt"));
|
||||
}
|
||||
|
||||
if (name.equals("CrossAlt")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2
|
||||
|| !(NBTTool.getOrCreateTag(itemStack).getBoolean("ScopeAlt")));
|
||||
|| !(NBTTool.getTag(itemStack).getBoolean("ScopeAlt")));
|
||||
}
|
||||
|
||||
if (name.equals("Cross3")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 3);
|
||||
}
|
||||
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2 && !NBTTool.getOrCreateTag(itemStack).getBoolean("ScopeAlt") && (name.equals("hidden"))) {
|
||||
bone.setHidden(!NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2 && !NBTTool.getTag(itemStack).getBoolean("ScopeAlt") && (name.equals("hidden"))) {
|
||||
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 3
|
||||
&& (name.equals("hidden2") || name.equals("yugu") || name.equals("qiangguan") || name.equals("Barrel"))) {
|
||||
bone.setHidden(!NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (name.equals("flare")) {
|
||||
|
|
|
@ -97,11 +97,11 @@ public class M98bItemRenderer extends GeoItemRenderer<M98bItem> {
|
|||
}
|
||||
|
||||
if (name.equals("scope2")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom);
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (name.equals("qiang")) {
|
||||
bone.setHidden(!NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden"));
|
||||
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden"));
|
||||
}
|
||||
|
||||
if (this.transformType.firstPerson() && renderingArms) {
|
||||
|
|
|
@ -91,31 +91,31 @@ public class Mk14ItemRenderer extends GeoItemRenderer<Mk14Item> {
|
|||
}
|
||||
|
||||
if (name.equals("Cross1")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1);
|
||||
}
|
||||
|
||||
if (name.equals("Cross2")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2);
|
||||
}
|
||||
|
||||
if (name.equals("Cross3")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 3);
|
||||
}
|
||||
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2
|
||||
&& (name.equals("hidden"))) {
|
||||
bone.setHidden(!NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 3
|
||||
&& (name.equals("jing") || name.equals("yugu") || name.equals("qiangguan") || name.equals("Barrel"))) {
|
||||
bone.setHidden(!NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (name.equals("flare")) {
|
||||
|
|
|
@ -86,11 +86,11 @@ public class MosinNagantItemRenderer extends GeoItemRenderer<MosinNagantItem> {
|
|||
if (!itemStack.is(ModTags.Items.GUN)) return;
|
||||
|
||||
if (name.equals("rex")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom);
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (name.equals("jia") || name.equals("b1") || name.equals("b2")) {
|
||||
bone.setHidden(!NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden"));
|
||||
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden"));
|
||||
}
|
||||
|
||||
if (name.equals("flare")) {
|
||||
|
|
|
@ -91,31 +91,31 @@ public class Ntw20Renderer extends GeoItemRenderer<Ntw20Item> {
|
|||
}
|
||||
|
||||
if (name.equals("Cross1")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1);
|
||||
}
|
||||
|
||||
if (name.equals("Cross2")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2);
|
||||
}
|
||||
|
||||
if (name.equals("Cross3")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 3);
|
||||
}
|
||||
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2
|
||||
&& (name.equals("bone1") || name.equals("zhituiqi") || name.equals("guan") || name.equals("hidden"))) {
|
||||
bone.setHidden(!NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 3
|
||||
&& (name.equals("bone1") || name.equals("zhituiqi") || name.equals("guan") || name.equals("jing") || name.equals("rail") || name.equals("base2") || name.equals("guan7"))) {
|
||||
bone.setHidden(!NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (name.equals("flare")) {
|
||||
|
|
|
@ -87,7 +87,7 @@ public class Qbz95ItemRenderer extends GeoItemRenderer<Qbz95Item> {
|
|||
if (!itemStack.is(ModTags.Items.GUN)) return;
|
||||
|
||||
if (name.equals("Cross1")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1);
|
||||
}
|
||||
|
@ -105,25 +105,25 @@ public class Qbz95ItemRenderer extends GeoItemRenderer<Qbz95Item> {
|
|||
}
|
||||
|
||||
if (name.equals("Cross2")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2);
|
||||
}
|
||||
|
||||
if (name.equals("Cross3")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 3);
|
||||
}
|
||||
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2
|
||||
&& (name.equals("hidden"))) {
|
||||
bone.setHidden(!NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 3
|
||||
&& (name.equals("hidden2") || name.equals("jimiao2"))) {
|
||||
bone.setHidden(!NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (name.equals("flare")) {
|
||||
|
|
|
@ -84,7 +84,7 @@ public class RpgItemRenderer extends GeoItemRenderer<RpgItem> {
|
|||
if (!itemStack.is(ModTags.Items.GUN)) return;
|
||||
|
||||
if (name.equals("Rockets")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("empty"));
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("empty"));
|
||||
}
|
||||
|
||||
if (name.equals("flare")) {
|
||||
|
|
|
@ -86,7 +86,7 @@ public class RpkItemRenderer extends GeoItemRenderer<RpkItem> {
|
|||
if (!itemStack.is(ModTags.Items.GUN)) return;
|
||||
|
||||
if (name.equals("holo")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom);
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (name.equals("flare")) {
|
||||
|
|
|
@ -100,7 +100,7 @@ public class SentinelItemRenderer extends GeoItemRenderer<SentinelItem> {
|
|||
}
|
||||
|
||||
if (name.equals("holo")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom);
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
var cap = itemStack.getCapability(Capabilities.EnergyStorage.ITEM);
|
||||
|
|
|
@ -86,7 +86,7 @@ public class SksItemRenderer extends GeoItemRenderer<SksItem> {
|
|||
if (!itemStack.is(ModTags.Items.GUN)) return;
|
||||
|
||||
if (name.equals("holo")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom);
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden") || !ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
if (name.equals("flare")) {
|
||||
|
|
|
@ -91,19 +91,19 @@ public class SvdItemRenderer extends GeoItemRenderer<SvdItem> {
|
|||
}
|
||||
|
||||
if (name.equals("Cross1")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1);
|
||||
}
|
||||
|
||||
if (name.equals("Cross2")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2);
|
||||
}
|
||||
|
||||
if ((GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2 || GunsTool.getAttachmentType(itemStack, GunsTool.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.getOrCreateTag(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 && !NBTTool.getTag(itemStack).getBoolean("HoloHidden")) {
|
||||
bone.setHidden(true);
|
||||
renderingArms = false;
|
||||
}
|
||||
|
@ -112,7 +112,7 @@ public class SvdItemRenderer extends GeoItemRenderer<SvdItem> {
|
|||
if (ClientEventHandler.firePosTimer == 0 || ClientEventHandler.firePosTimer > 0.5 || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.BARREL) == 2 || GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.BARREL) == 3) {
|
||||
bone.setHidden(true);
|
||||
} else {
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2 && ClientEventHandler.zoom && !NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")) {
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2 && ClientEventHandler.zoom && !NBTTool.getTag(itemStack).getBoolean("HoloHidden")) {
|
||||
bone.setPosY(-2f);
|
||||
}
|
||||
bone.setHidden(false);
|
||||
|
|
|
@ -105,27 +105,27 @@ public class TracheliumItemRenderer extends GeoItemRenderer<Trachelium> {
|
|||
}
|
||||
|
||||
if (name.equals("Cross1")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1);
|
||||
}
|
||||
|
||||
if (name.equals("Cross2")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2
|
||||
|| NBTTool.getOrCreateTag(itemStack).getBoolean("ScopeAlt"));
|
||||
|| NBTTool.getTag(itemStack).getBoolean("ScopeAlt"));
|
||||
}
|
||||
|
||||
if (name.equals("CrossAlt")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2
|
||||
|| !(NBTTool.getOrCreateTag(itemStack).getBoolean("ScopeAlt")));
|
||||
|| !(NBTTool.getTag(itemStack).getBoolean("ScopeAlt")));
|
||||
}
|
||||
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2 && !NBTTool.getOrCreateTag(itemStack).getBoolean("ScopeAlt") && (name.equals("hidden"))) {
|
||||
bone.setHidden(!NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
if (GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) == 2 && !NBTTool.getTag(itemStack).getBoolean("ScopeAlt") && (name.equals("hidden"))) {
|
||||
bone.setHidden(!NBTTool.getTag(itemStack).getBoolean("HoloHidden") && ClientEventHandler.zoom);
|
||||
}
|
||||
|
||||
// TODO handle gun attachments
|
||||
|
|
|
@ -87,13 +87,13 @@ public class VectorItemRenderer extends GeoItemRenderer<VectorItem> {
|
|||
if (!itemStack.is(ModTags.Items.GUN)) return;
|
||||
|
||||
if (name.equals("Cross1")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 1);
|
||||
}
|
||||
|
||||
if (name.equals("Cross2")) {
|
||||
bone.setHidden(NBTTool.getOrCreateTag(itemStack).getBoolean("HoloHidden")
|
||||
bone.setHidden(NBTTool.getTag(itemStack).getBoolean("HoloHidden")
|
||||
|| !ClientEventHandler.zoom
|
||||
|| GunsTool.getAttachmentType(itemStack, GunsTool.AttachmentType.SCOPE) != 2);
|
||||
}
|
||||
|
|
|
@ -173,7 +173,7 @@ public class ClientEventHandler {
|
|||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.REVOLVER)) {
|
||||
return true;
|
||||
} else if (stack.is(ModTags.Items.REVOLVER) && (NBTTool.getOrCreateTag(stack).getBoolean("DA") || NBTTool.getOrCreateTag(stack).getBoolean("canImmediatelyShoot"))) {
|
||||
} else if (stack.is(ModTags.Items.REVOLVER) && (NBTTool.getTag(stack).getBoolean("DA") || NBTTool.getTag(stack).getBoolean("canImmediatelyShoot"))) {
|
||||
return true;
|
||||
} else {
|
||||
return revolverPreTime >= 1;
|
||||
|
@ -257,7 +257,7 @@ public class ClientEventHandler {
|
|||
&& !holdFireVehicle
|
||||
&& !notInGame()
|
||||
// && !cap != null && cap.edit
|
||||
&& !(NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading") || NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading"))
|
||||
&& !(NBTTool.getTag(stack).getBoolean("is_normal_reloading") || NBTTool.getTag(stack).getBoolean("is_empty_reloading"))
|
||||
&& !GunsTool.getGunBooleanTag(stack, "Reloading")
|
||||
&& !player.getCooldowns().isOnCooldown(stack.getItem())
|
||||
&& !GunsTool.getGunBooleanTag(stack, "Charging")) {
|
||||
|
@ -400,11 +400,11 @@ public class ClientEventHandler {
|
|||
int cooldown = (int) (1000 / rps);
|
||||
|
||||
//左轮类
|
||||
if (clientTimer.getProgress() == 0 && stack.is(ModTags.Items.REVOLVER) && ((holdFire && !NBTTool.getOrCreateTag(stack).getBoolean("DA"))
|
||||
|| (GunsTool.getGunIntTag(stack, "BoltActionTick") < 7 && GunsTool.getGunIntTag(stack, "BoltActionTick") > 2) || NBTTool.getOrCreateTag(stack).getBoolean("canImmediatelyShoot"))) {
|
||||
if (clientTimer.getProgress() == 0 && stack.is(ModTags.Items.REVOLVER) && ((holdFire && !NBTTool.getTag(stack).getBoolean("DA"))
|
||||
|| (GunsTool.getGunIntTag(stack, "BoltActionTick") < 7 && GunsTool.getGunIntTag(stack, "BoltActionTick") > 2) || NBTTool.getTag(stack).getBoolean("canImmediatelyShoot"))) {
|
||||
revolverPreTime = Mth.clamp(revolverPreTime + 0.3 * times, 0, 1);
|
||||
revolverWheelPreTime = Mth.clamp(revolverWheelPreTime + 0.32 * times, 0, revolverPreTime > 0.7 ? 1 : 0.55);
|
||||
} else if (!NBTTool.getOrCreateTag(stack).getBoolean("DA") && !NBTTool.getOrCreateTag(stack).getBoolean("canImmediatelyShoot")) {
|
||||
} else if (!NBTTool.getTag(stack).getBoolean("DA") && !NBTTool.getTag(stack).getBoolean("canImmediatelyShoot")) {
|
||||
revolverPreTime = Mth.clamp(revolverPreTime - 1.2 * times, 0, 1);
|
||||
}
|
||||
|
||||
|
@ -419,7 +419,7 @@ public class ClientEventHandler {
|
|||
&& drawTime < 0.01
|
||||
&& cap != null && !cap.edit
|
||||
&& !notInGame()
|
||||
&& (!(NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading") || NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading"))
|
||||
&& (!(NBTTool.getTag(stack).getBoolean("is_normal_reloading") || NBTTool.getTag(stack).getBoolean("is_empty_reloading"))
|
||||
&& !GunsTool.getGunBooleanTag(stack, "Reloading")
|
||||
&& !GunsTool.getGunBooleanTag(stack, "Charging")
|
||||
&& GunsTool.getGunIntTag(stack, "Ammo", 0) > 0
|
||||
|
@ -430,7 +430,7 @@ public class ClientEventHandler {
|
|||
// todo minigun
|
||||
// stack.is(ModItems.MINIGUN.get()) &&
|
||||
!player.isSprinting()
|
||||
&& NBTTool.getOrCreateTag(stack).getDouble("overheat") == 0
|
||||
&& NBTTool.getTag(stack).getDouble("overheat") == 0
|
||||
&& !player.getCooldowns().isOnCooldown(stack.getItem()) && miniGunRot >= 20
|
||||
&& (cap != null && cap.rifleAmmo > 0 || InventoryTool.hasCreativeAmmoBox(player))
|
||||
))) {
|
||||
|
@ -813,7 +813,7 @@ public class ClientEventHandler {
|
|||
&& (
|
||||
// todo monitor
|
||||
// stack.is(ModItems.MONITOR.get()) &&
|
||||
NBTTool.getOrCreateTag(stack).getBoolean("Using") && NBTTool.getOrCreateTag(stack).getBoolean("Linked"))) {
|
||||
NBTTool.getTag(stack).getBoolean("Using") && NBTTool.getTag(stack).getBoolean("Linked"))) {
|
||||
handleDroneCamera(event, living);
|
||||
} else {
|
||||
var effect = Minecraft.getInstance().gameRenderer.currentEffect();
|
||||
|
|
|
@ -26,6 +26,8 @@ import net.neoforged.neoforge.event.tick.PlayerTickEvent;
|
|||
|
||||
import java.text.DecimalFormat;
|
||||
|
||||
import static com.atsuishio.superbwarfare.tools.NBTTool.saveTag;
|
||||
|
||||
@EventBusSubscriber(modid = ModUtils.MODID)
|
||||
public class GunEventHandler {
|
||||
|
||||
|
@ -61,7 +63,7 @@ public class GunEventHandler {
|
|||
if (GunsTool.getGunIntTag(stack, "BoltActionTick") == 1) {
|
||||
GunsTool.setGunBooleanTag(stack, "NeedBoltAction", false);
|
||||
if (stack.is(ModTags.Items.REVOLVER)) {
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("canImmediatelyShoot", true);
|
||||
NBTTool.getTag(stack).putBoolean("canImmediatelyShoot", true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -317,8 +319,8 @@ public class GunEventHandler {
|
|||
ItemStack stack = player.getMainHandItem();
|
||||
if (!(stack.getItem() instanceof GunItem gunItem)) return;
|
||||
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack);
|
||||
CompoundTag data = NBTTool.getOrCreateTag(stack).getCompound("GunData");
|
||||
CompoundTag tag = NBTTool.getTag(stack);
|
||||
CompoundTag data = NBTTool.getTag(stack).getCompound("GunData");
|
||||
// 启动换弹
|
||||
if (GunsTool.getGunBooleanTag(stack, "StartReload")) {
|
||||
|
||||
|
@ -327,16 +329,16 @@ public class GunEventHandler {
|
|||
if (gunItem.isOpenBolt(stack)) {
|
||||
if (GunsTool.getGunIntTag(stack, "Ammo", 0) == 0) {
|
||||
data.putInt("ReloadTime", data.getInt("EmptyReloadTime") + 1);
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("is_empty_reloading", true);
|
||||
NBTTool.getTag(stack).putBoolean("is_empty_reloading", true);
|
||||
playGunEmptyReloadSounds(player);
|
||||
} else {
|
||||
data.putInt("ReloadTime", data.getInt("NormalReloadTime") + 1);
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("is_normal_reloading", true);
|
||||
NBTTool.getTag(stack).putBoolean("is_normal_reloading", true);
|
||||
playGunNormalReloadSounds(player);
|
||||
}
|
||||
} else {
|
||||
data.putInt("ReloadTime", data.getInt("EmptyReloadTime") + 2);
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("is_empty_reloading", true);
|
||||
NBTTool.getTag(stack).putBoolean("is_empty_reloading", true);
|
||||
playGunEmptyReloadSounds(player);
|
||||
}
|
||||
data.putBoolean("StartReload", false);
|
||||
|
@ -406,6 +408,7 @@ public class GunEventHandler {
|
|||
}
|
||||
|
||||
tag.put("GunData", data);
|
||||
saveTag(stack, tag);
|
||||
}
|
||||
|
||||
public static void playGunNormalReload(Player player) {
|
||||
|
@ -429,8 +432,8 @@ public class GunEventHandler {
|
|||
GunsTool.reload(player, stack, AmmoType.HEAVY, gunItem.hasBulletInBarrel(stack));
|
||||
}
|
||||
}
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("is_normal_reloading", false);
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("is_empty_reloading", false);
|
||||
NBTTool.getTag(stack).putBoolean("is_normal_reloading", false);
|
||||
NBTTool.getTag(stack).putBoolean("is_empty_reloading", false);
|
||||
|
||||
// TODO reload event
|
||||
// NeoForge.EVENT_BUS.post(new ReloadEvent.Post(player, stack));
|
||||
|
@ -470,8 +473,8 @@ public class GunEventHandler {
|
|||
// }
|
||||
}
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("is_normal_reloading", false);
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("is_empty_reloading", false);
|
||||
NBTTool.getTag(stack).putBoolean("is_normal_reloading", false);
|
||||
NBTTool.getTag(stack).putBoolean("is_empty_reloading", false);
|
||||
|
||||
// TODO reload event
|
||||
// NeoForge.EVENT_BUS.post(new ReloadEvent.Post(player, stack));
|
||||
|
@ -519,7 +522,7 @@ public class GunEventHandler {
|
|||
*/
|
||||
private static void handleGunSingleReload(Player player) {
|
||||
ItemStack stack = player.getMainHandItem();
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack);
|
||||
CompoundTag tag = NBTTool.getTag(stack);
|
||||
|
||||
// 换弹流程计时器
|
||||
if (tag.getDouble("prepare") > 0) {
|
||||
|
@ -729,6 +732,7 @@ public class GunEventHandler {
|
|||
// todo reload event
|
||||
// NeoForge.EVENT_BUS.post(new ReloadEvent.Post(player, stack));
|
||||
}
|
||||
saveTag(stack, tag);
|
||||
}
|
||||
|
||||
public static void singleLoad(Player player) {
|
||||
|
|
|
@ -33,7 +33,7 @@ public class ArmorPlate extends Item {
|
|||
@Override
|
||||
@ParametersAreNonnullByDefault
|
||||
public void appendHoverText(ItemStack stack, TooltipContext context, List<Component> tooltipComponents, TooltipFlag tooltipFlag) {
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("Infinite")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("Infinite")) {
|
||||
tooltipComponents.add(Component.translatable("des.superbwarfare.armor_plate.infinite").withStyle(ChatFormatting.GRAY));
|
||||
}
|
||||
}
|
||||
|
@ -54,7 +54,7 @@ public class ArmorPlate extends Item {
|
|||
}
|
||||
|
||||
// TODO 解决数据双端同步问题
|
||||
if (NBTTool.getOrCreateTag(armor).getDouble("ArmorPlate") < armorLevel * 15) {
|
||||
if (NBTTool.getTag(armor).getDouble("ArmorPlate") < armorLevel * 15) {
|
||||
playerIn.startUsingItem(handIn);
|
||||
}
|
||||
|
||||
|
@ -79,13 +79,13 @@ public class ArmorPlate extends Item {
|
|||
armorLevel = 3;
|
||||
}
|
||||
|
||||
NBTTool.getOrCreateTag(armor).putDouble("ArmorPlate", Mth.clamp(NBTTool.getOrCreateTag(armor).getDouble("ArmorPlate") + 15, 0, armorLevel * 15));
|
||||
NBTTool.getTag(armor).putDouble("ArmorPlate", Mth.clamp(NBTTool.getTag(armor).getDouble("ArmorPlate") + 15, 0, armorLevel * 15));
|
||||
|
||||
if (pLivingEntity instanceof ServerPlayer serverPlayer) {
|
||||
serverPlayer.level().playSound((Entity) null, serverPlayer.getOnPos(), SoundEvents.ARMOR_EQUIP_IRON.value(), SoundSource.PLAYERS, 0.5f, 1);
|
||||
}
|
||||
|
||||
if (pLivingEntity instanceof Player player && !player.isCreative() && !NBTTool.getOrCreateTag(pStack).getBoolean("Infinite")) {
|
||||
if (pLivingEntity instanceof Player player && !player.isCreative() && !NBTTool.getTag(pStack).getBoolean("Infinite")) {
|
||||
pStack.shrink(1);
|
||||
}
|
||||
}
|
||||
|
@ -101,7 +101,7 @@ public class ArmorPlate extends Item {
|
|||
|
||||
public static ItemStack getInfiniteInstance() {
|
||||
ItemStack stack = new ItemStack(ModItems.ARMOR_PLATE.get());
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("Infinite", true);
|
||||
NBTTool.getTag(stack).putBoolean("Infinite", true);
|
||||
return stack;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,8 +13,8 @@ public class GunEvents {
|
|||
public static void onPickup(ItemEntityPickupEvent.Pre event) {
|
||||
var stack = event.getItemEntity().getItem();
|
||||
if (stack.is(ModTags.Items.GUN)) {
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("draw", true);
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("init", true);
|
||||
NBTTool.getTag(stack).putBoolean("draw", true);
|
||||
NBTTool.getTag(stack).putBoolean("init", true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,6 +38,8 @@ import javax.annotation.ParametersAreNonnullByDefault;
|
|||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
|
||||
import static com.atsuishio.superbwarfare.tools.NBTTool.saveTag;
|
||||
|
||||
@EventBusSubscriber(modid = ModUtils.MODID, bus = EventBusSubscriber.Bus.MOD)
|
||||
public abstract class GunItem extends Item implements CustomRendererItem {
|
||||
|
||||
|
@ -64,8 +66,8 @@ public abstract class GunItem extends Item implements CustomRendererItem {
|
|||
NBTTool.setBoolean(stack, "init", true);
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("draw")) {
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("draw", false);
|
||||
if (NBTTool.getTag(stack).getBoolean("draw")) {
|
||||
NBTTool.getTag(stack).putBoolean("draw", false);
|
||||
}
|
||||
|
||||
handleGunPerks(stack);
|
||||
|
@ -192,7 +194,7 @@ public abstract class GunItem extends Item implements CustomRendererItem {
|
|||
}
|
||||
|
||||
private void handleGunAttachment(ItemStack stack) {
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack).getCompound("Attachments");
|
||||
CompoundTag tag = NBTTool.getTag(stack).getCompound("Attachments");
|
||||
|
||||
double scopeWeight = switch (tag.getInt("Scope")) {
|
||||
case 1 -> 0.5;
|
||||
|
@ -236,7 +238,7 @@ public abstract class GunItem extends Item implements CustomRendererItem {
|
|||
}
|
||||
|
||||
private void reducePerkTagCoolDown(ItemStack stack, String... tags) {
|
||||
var tag = NBTTool.getOrCreateTag(stack);
|
||||
var tag = NBTTool.getTag(stack);
|
||||
var compound = tag.getCompound("PerkData");
|
||||
|
||||
for (String t : tags) {
|
||||
|
@ -249,6 +251,7 @@ public abstract class GunItem extends Item implements CustomRendererItem {
|
|||
}
|
||||
}
|
||||
tag.put("PerkData", compound);
|
||||
saveTag(stack, tag);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -50,11 +50,11 @@ public class Glock17Item extends GunItem implements GeoItem {
|
|||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.glock.reload_empty"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.glock.reload_normal"));
|
||||
}
|
||||
|
||||
|
@ -70,7 +70,7 @@ public class Glock17Item extends GunItem implements GeoItem {
|
|||
|
||||
if (player.isSprinting() && player.onGround()
|
||||
&& player.getPersistentData().getDouble("noRun") == 0
|
||||
&& !(NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading") || NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) && ClientEventHandler.drawTime < 0.01) {
|
||||
&& !(NBTTool.getTag(stack).getBoolean("is_normal_reloading") || NBTTool.getTag(stack).getBoolean("is_empty_reloading")) && ClientEventHandler.drawTime < 0.01) {
|
||||
if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.run_fast"));
|
||||
} else {
|
||||
|
|
|
@ -50,11 +50,11 @@ public class Glock18Item extends GunItem implements GeoItem {
|
|||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.glock.reload_empty"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.glock.reload_normal"));
|
||||
}
|
||||
|
||||
|
@ -69,7 +69,7 @@ public class Glock18Item extends GunItem implements GeoItem {
|
|||
|
||||
if (player.isSprinting() && player.onGround()
|
||||
&& player.getPersistentData().getDouble("noRun") == 0
|
||||
&& !(NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading") || NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) && ClientEventHandler.drawTime < 0.01) {
|
||||
&& !(NBTTool.getTag(stack).getBoolean("is_normal_reloading") || NBTTool.getTag(stack).getBoolean("is_empty_reloading")) && ClientEventHandler.drawTime < 0.01) {
|
||||
if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.run_fast"));
|
||||
} else {
|
||||
|
|
|
@ -50,11 +50,11 @@ public class M1911Item extends GunItem implements GeoItem {
|
|||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.glock.reload_empty"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.glock.reload_normal"));
|
||||
}
|
||||
|
||||
|
@ -70,7 +70,7 @@ public class M1911Item extends GunItem implements GeoItem {
|
|||
|
||||
if (player.isSprinting() && player.onGround()
|
||||
&& player.getPersistentData().getDouble("noRun") == 0
|
||||
&& !(NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading") || NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) && ClientEventHandler.drawTime < 0.01) {
|
||||
&& !(NBTTool.getTag(stack).getBoolean("is_normal_reloading") || NBTTool.getTag(stack).getBoolean("is_empty_reloading")) && ClientEventHandler.drawTime < 0.01) {
|
||||
if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.run_fast"));
|
||||
} else {
|
||||
|
|
|
@ -50,11 +50,11 @@ public class Mp443Item extends GunItem implements GeoItem {
|
|||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.glock.reload_empty"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.glock.reload_normal"));
|
||||
}
|
||||
|
||||
|
@ -70,7 +70,7 @@ public class Mp443Item extends GunItem implements GeoItem {
|
|||
|
||||
if (player.isSprinting() && player.onGround()
|
||||
&& player.getPersistentData().getDouble("noRun") == 0
|
||||
&& !(NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading") || NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) && ClientEventHandler.drawTime < 0.01) {
|
||||
&& !(NBTTool.getTag(stack).getBoolean("is_normal_reloading") || NBTTool.getTag(stack).getBoolean("is_empty_reloading")) && ClientEventHandler.drawTime < 0.01) {
|
||||
if (player.hasEffect(MobEffects.MOVEMENT_SPEED)) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.glock.run_fast"));
|
||||
} else {
|
||||
|
|
|
@ -37,6 +37,8 @@ import javax.annotation.ParametersAreNonnullByDefault;
|
|||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
import static com.atsuishio.superbwarfare.tools.NBTTool.saveTag;
|
||||
|
||||
public class Trachelium extends GunItem implements GeoItem {
|
||||
|
||||
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
|
||||
|
@ -125,7 +127,7 @@ public class Trachelium extends GunItem implements GeoItem {
|
|||
}
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (stock) {
|
||||
if (grip) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.trachelium.reload_stock_grip"));
|
||||
|
@ -240,13 +242,13 @@ public class Trachelium extends GunItem implements GeoItem {
|
|||
@ParametersAreNonnullByDefault
|
||||
public void inventoryTick(ItemStack stack, Level world, Entity entity, int slot, boolean selected) {
|
||||
super.inventoryTick(stack, world, entity, slot, selected);
|
||||
var tag = NBTTool.getOrCreateTag(stack);
|
||||
var tag = NBTTool.getTag(stack);
|
||||
GunsTool.setGunIntTag(stack, "BoltActionTime", tag.getBoolean("DA") ? 12 : 0);
|
||||
|
||||
int scopeType = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.SCOPE);
|
||||
int gripType = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.GRIP);
|
||||
int stockType = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.STOCK);
|
||||
CompoundTag tags = NBTTool.getOrCreateTag(stack).getCompound("Attachments");
|
||||
CompoundTag tags = tag.getCompound("Attachments");
|
||||
|
||||
if (stockType == 1) {
|
||||
tags.putInt("Stock", 2);
|
||||
|
@ -270,12 +272,13 @@ public class Trachelium extends GunItem implements GeoItem {
|
|||
|
||||
double customZoom = switch (scopeType) {
|
||||
case 0, 1 -> 0;
|
||||
case 2 -> NBTTool.getOrCreateTag(stack).getBoolean("ScopeAlt") ? 0 : 2.75;
|
||||
case 2 -> NBTTool.getTag(stack).getBoolean("ScopeAlt") ? 0 : 2.75;
|
||||
default -> 1;
|
||||
};
|
||||
|
||||
GunsTool.setGunBooleanTag(stack, "CanSwitchScope", scopeType == 2);
|
||||
GunsTool.setGunDoubleTag(stack, "CustomZoom", customZoom);
|
||||
saveTag(stack, tag);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -64,11 +64,11 @@ public class Ntw20Item extends GunItem implements GeoItem {
|
|||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ntw_20.shift"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ntw_20.reload_empty"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ntw_20.reload_normal"));
|
||||
}
|
||||
|
||||
|
@ -83,7 +83,7 @@ public class Ntw20Item extends GunItem implements GeoItem {
|
|||
|
||||
if (player.isSprinting() && player.onGround()
|
||||
&& player.getPersistentData().getDouble("noRun") == 0
|
||||
&& !(NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading") || NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading"))
|
||||
&& !(NBTTool.getTag(stack).getBoolean("is_normal_reloading") || NBTTool.getTag(stack).getBoolean("is_empty_reloading"))
|
||||
&& ClientEventHandler.drawTime < 0.01) {
|
||||
if (player.hasEffect(MobEffects.MOVEMENT_SPEED) && GunsTool.getGunIntTag(stack, "BoltActionTick") == 0) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.ntw_20.run_fast"));
|
||||
|
@ -143,7 +143,7 @@ public class Ntw20Item extends GunItem implements GeoItem {
|
|||
default -> GunsTool.getGunDoubleTag(stack, "CustomZoom", 0);
|
||||
};
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("CanAdjustZoomFov", scopeType == 3);
|
||||
NBTTool.getTag(stack).putBoolean("CanAdjustZoomFov", scopeType == 3);
|
||||
GunsTool.setGunDoubleTag(stack, "CustomZoom", customZoom);
|
||||
GunsTool.setGunIntTag(stack, "CustomMagazine", customMag);
|
||||
}
|
||||
|
|
|
@ -72,7 +72,7 @@ public class JavelinItem extends GunItem implements GeoItem, SpecialFireWeapon {
|
|||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.javelin.reload"));
|
||||
}
|
||||
|
||||
|
@ -129,7 +129,7 @@ public class JavelinItem extends GunItem implements GeoItem, SpecialFireWeapon {
|
|||
public void inventoryTick(ItemStack stack, Level world, Entity entity, int slot, boolean selected) {
|
||||
super.inventoryTick(stack, world, entity, slot, selected);
|
||||
if (entity instanceof Player player && selected) {
|
||||
var tag = NBTTool.getOrCreateTag(stack);
|
||||
var tag = NBTTool.getTag(stack);
|
||||
GunsTool.setGunIntTag(stack, "MaxAmmo", getAmmoCount(player));
|
||||
|
||||
if (tag.getBoolean("Seeking")) {
|
||||
|
@ -195,7 +195,7 @@ public class JavelinItem extends GunItem implements GeoItem, SpecialFireWeapon {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
NBTTool.getOrCreateTag(stack).putInt("SeekTime", 0);
|
||||
NBTTool.getTag(stack).putInt("SeekTime", 0);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -239,7 +239,7 @@ public class JavelinItem extends GunItem implements GeoItem, SpecialFireWeapon {
|
|||
private void fire(Player player) {
|
||||
Level level = player.level();
|
||||
ItemStack stack = player.getMainHandItem();
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack);
|
||||
CompoundTag tag = NBTTool.getTag(stack);
|
||||
|
||||
if (tag.getInt("SeekTime") < 20) return;
|
||||
|
||||
|
@ -291,7 +291,7 @@ public class JavelinItem extends GunItem implements GeoItem, SpecialFireWeapon {
|
|||
|
||||
@Override
|
||||
public void fireOnRelease(Player player) {
|
||||
var tag = NBTTool.getOrCreateTag(player.getMainHandItem());
|
||||
var tag = NBTTool.getTag(player.getMainHandItem());
|
||||
fire(player);
|
||||
tag.putBoolean("Seeking", false);
|
||||
tag.putInt("SeekTime", 0);
|
||||
|
@ -305,7 +305,7 @@ public class JavelinItem extends GunItem implements GeoItem, SpecialFireWeapon {
|
|||
@Override
|
||||
public void fireOnPress(Player player) {
|
||||
var stack = player.getMainHandItem();
|
||||
var tag = NBTTool.getOrCreateTag(stack);
|
||||
var tag = NBTTool.getTag(stack);
|
||||
|
||||
var cap = player.getCapability(ModCapabilities.PLAYER_VARIABLE);
|
||||
if (cap != null && !cap.zoom || GunsTool.getGunIntTag(stack, "Ammo", 0) <= 0) return;
|
||||
|
|
|
@ -65,7 +65,7 @@ public class M79Item extends GunItem implements GeoItem, SpecialFireWeapon {
|
|||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m79.reload"));
|
||||
}
|
||||
|
||||
|
|
|
@ -34,9 +34,12 @@ import software.bernie.geckolib.animation.*;
|
|||
import software.bernie.geckolib.renderer.GeoItemRenderer;
|
||||
import software.bernie.geckolib.util.GeckoLibUtil;
|
||||
|
||||
import javax.annotation.ParametersAreNonnullByDefault;
|
||||
import java.util.Optional;
|
||||
import java.util.Set;
|
||||
|
||||
import static com.atsuishio.superbwarfare.tools.NBTTool.saveTag;
|
||||
|
||||
public class RpgItem extends GunItem implements GeoItem, SpecialFireWeapon {
|
||||
|
||||
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
|
||||
|
@ -61,7 +64,7 @@ public class RpgItem extends GunItem implements GeoItem, SpecialFireWeapon {
|
|||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.rpg.reload"));
|
||||
}
|
||||
|
||||
|
@ -114,12 +117,13 @@ public class RpgItem extends GunItem implements GeoItem, SpecialFireWeapon {
|
|||
}
|
||||
|
||||
@Override
|
||||
@ParametersAreNonnullByDefault
|
||||
public void inventoryTick(ItemStack stack, Level world, Entity entity, int slot, boolean selected) {
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("draw")) {
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("draw", false);
|
||||
if (NBTTool.getTag(stack).getBoolean("draw")) {
|
||||
NBTTool.getTag(stack).putBoolean("draw", false);
|
||||
|
||||
if (GunsTool.getGunIntTag(stack, "Ammo", 0) == 0) {
|
||||
NBTTool.getOrCreateTag(stack).putDouble("empty", 1);
|
||||
NBTTool.getTag(stack).putDouble("empty", 1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -171,7 +175,7 @@ public class RpgItem extends GunItem implements GeoItem, SpecialFireWeapon {
|
|||
public void fireOnPress(Player player) {
|
||||
Level level = player.level();
|
||||
ItemStack stack = player.getMainHandItem();
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack);
|
||||
CompoundTag tag = NBTTool.getTag(stack);
|
||||
|
||||
if (GunsTool.getGunBooleanTag(stack, "Reloading")
|
||||
|| player.getCooldowns().isOnCooldown(stack.getItem())
|
||||
|
@ -233,5 +237,6 @@ public class RpgItem extends GunItem implements GeoItem, SpecialFireWeapon {
|
|||
|
||||
player.getCooldowns().addCooldown(stack.getItem(), 10);
|
||||
GunsTool.setGunIntTag(stack, "Ammo", GunsTool.getGunIntTag(stack, "Ammo", 0) - 1);
|
||||
saveTag(stack, tag);
|
||||
}
|
||||
}
|
|
@ -86,15 +86,15 @@ public class SecondaryCataclysm extends GunItem implements GeoItem, SpecialFireW
|
|||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 1 && NBTTool.getOrCreateTag(stack).getDouble("prepare_load") > 0) {
|
||||
if (NBTTool.getTag(stack).getInt("reload_stage") == 1 && NBTTool.getTag(stack).getDouble("prepare_load") > 0) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sc.prepare"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getDouble("load_index") == 0 && NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 2) {
|
||||
if (NBTTool.getTag(stack).getDouble("load_index") == 0 && NBTTool.getTag(stack).getInt("reload_stage") == 2) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sc.iterativeload"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getDouble("load_index") == 1 && NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 2) {
|
||||
if (NBTTool.getTag(stack).getDouble("load_index") == 1 && NBTTool.getTag(stack).getInt("reload_stage") == 2) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sc.iterativeload2"));
|
||||
}
|
||||
|
||||
|
@ -102,7 +102,7 @@ public class SecondaryCataclysm extends GunItem implements GeoItem, SpecialFireW
|
|||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sc.hit"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 3) {
|
||||
if (NBTTool.getTag(stack).getInt("reload_stage") == 3) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sc.finish"));
|
||||
}
|
||||
|
||||
|
@ -117,10 +117,10 @@ public class SecondaryCataclysm extends GunItem implements GeoItem, SpecialFireW
|
|||
|
||||
if (player.isSprinting() && player.onGround()
|
||||
&& player.getPersistentData().getDouble("noRun") == 0
|
||||
&& !(NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading"))
|
||||
&& NBTTool.getOrCreateTag(stack).getInt("reload_stage") != 1
|
||||
&& NBTTool.getOrCreateTag(stack).getInt("reload_stage") != 2
|
||||
&& NBTTool.getOrCreateTag(stack).getInt("reload_stage") != 3
|
||||
&& !(NBTTool.getTag(stack).getBoolean("is_empty_reloading"))
|
||||
&& NBTTool.getTag(stack).getInt("reload_stage") != 1
|
||||
&& NBTTool.getTag(stack).getInt("reload_stage") != 2
|
||||
&& NBTTool.getTag(stack).getInt("reload_stage") != 3
|
||||
&& ClientEventHandler.drawTime < 0.01
|
||||
&& ClientEventHandler.gunMelee == 0
|
||||
&& !GunsTool.getGunBooleanTag(stack, "Reloading")) {
|
||||
|
|
|
@ -50,11 +50,11 @@ public class DevotionItem extends GunItem implements GeoItem {
|
|||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.devotion.reload_empty"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.devotion.reload_normal"));
|
||||
}
|
||||
|
||||
|
|
|
@ -66,11 +66,11 @@ public class M60Item extends GunItem implements GeoItem {
|
|||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m60.reload"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m60.reload2"));
|
||||
}
|
||||
|
||||
|
@ -112,8 +112,8 @@ public class M60Item extends GunItem implements GeoItem {
|
|||
@Override
|
||||
@ParametersAreNonnullByDefault
|
||||
public void inventoryTick(ItemStack stack, Level level, Entity entity, int slot, boolean selected) {
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("draw")) {
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("draw", false);
|
||||
if (NBTTool.getTag(stack).getBoolean("draw")) {
|
||||
NBTTool.getTag(stack).putBoolean("draw", false);
|
||||
|
||||
if (GunsTool.getGunIntTag(stack, "Ammo", 0) <= 5) {
|
||||
GunsTool.setGunBooleanTag(stack, "HideBulletChain", true);
|
||||
|
|
|
@ -129,7 +129,7 @@ public class MinigunItem extends GunItem implements GeoItem {
|
|||
cooldown = -0.1;
|
||||
}
|
||||
|
||||
if (entity instanceof ServerPlayer serverPlayer && entity.level() instanceof ServerLevel serverLevel && NBTTool.getOrCreateTag(itemstack).getDouble("heat") > 4 && entity.isInWaterOrRain()) {
|
||||
if (entity instanceof ServerPlayer serverPlayer && entity.level() instanceof ServerLevel serverLevel && NBTTool.getTag(itemstack).getDouble("heat") > 4 && entity.isInWaterOrRain()) {
|
||||
if (entity.isInWater()) {
|
||||
ParticleTool.sendParticle(serverLevel, ParticleTypes.BUBBLE_COLUMN_UP,
|
||||
entity.getX() + leftPos.x,
|
||||
|
@ -144,10 +144,10 @@ public class MinigunItem extends GunItem implements GeoItem {
|
|||
1, 0.1, 0.1, 0.1, 0.002, true, serverPlayer);
|
||||
}
|
||||
|
||||
NBTTool.getOrCreateTag(itemstack).putDouble("heat", Mth.clamp(NBTTool.getOrCreateTag(itemstack).getDouble("heat") - 0.05 - cooldown, 0, 55));
|
||||
NBTTool.getTag(itemstack).putDouble("heat", Mth.clamp(NBTTool.getTag(itemstack).getDouble("heat") - 0.05 - cooldown, 0, 55));
|
||||
|
||||
if (NBTTool.getOrCreateTag(itemstack).getDouble("overheat") > 0) {
|
||||
NBTTool.getOrCreateTag(itemstack).putDouble("overheat", (NBTTool.getOrCreateTag(itemstack).getDouble("overheat") - 1));
|
||||
if (NBTTool.getTag(itemstack).getDouble("overheat") > 0) {
|
||||
NBTTool.getTag(itemstack).putDouble("overheat", (NBTTool.getTag(itemstack).getDouble("overheat") - 1));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -50,11 +50,11 @@ public class RpkItem extends GunItem implements GeoItem {
|
|||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ak47.reload_empty"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ak47.reload_normal"));
|
||||
}
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ public class AK12Item extends GunItem implements GeoItem {
|
|||
boolean drum = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.MAGAZINE) == 2;
|
||||
boolean grip = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.GRIP) == 1 || GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.GRIP) == 2;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (grip) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ak12.reload_empty_grip"));
|
||||
} else {
|
||||
|
@ -69,7 +69,7 @@ public class AK12Item extends GunItem implements GeoItem {
|
|||
}
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (drum) {
|
||||
if (grip) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ak12.reload_normal_drum_grip"));
|
||||
|
@ -158,7 +158,7 @@ public class AK12Item extends GunItem implements GeoItem {
|
|||
default -> GunsTool.getGunDoubleTag(stack, "CustomZoom", 0);
|
||||
};
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("CanAdjustZoomFov", scopeType == 3);
|
||||
NBTTool.getTag(stack).putBoolean("CanAdjustZoomFov", scopeType == 3);
|
||||
GunsTool.setGunDoubleTag(stack, "CustomZoom", customZoom);
|
||||
GunsTool.setGunIntTag(stack, "CustomMagazine", customMag);
|
||||
}
|
||||
|
|
|
@ -62,7 +62,7 @@ public class AK47Item extends GunItem implements GeoItem {
|
|||
boolean drum = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.MAGAZINE) == 2;
|
||||
boolean grip = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.GRIP) == 1 || GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.GRIP) == 2;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (drum) {
|
||||
if (grip) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ak47.reload_empty_drum_grip"));
|
||||
|
@ -78,7 +78,7 @@ public class AK47Item extends GunItem implements GeoItem {
|
|||
}
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (drum) {
|
||||
if (grip) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ak47.reload_normal_drum_grip"));
|
||||
|
@ -168,7 +168,7 @@ public class AK47Item extends GunItem implements GeoItem {
|
|||
default -> GunsTool.getGunDoubleTag(stack, "CustomZoom", 0);
|
||||
};
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("CanAdjustZoomFov", scopeType == 3);
|
||||
NBTTool.getTag(stack).putBoolean("CanAdjustZoomFov", scopeType == 3);
|
||||
GunsTool.setGunDoubleTag(stack, "CustomZoom", customZoom);
|
||||
GunsTool.setGunIntTag(stack, "CustomMagazine", customMag);
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ public class Hk416Item extends GunItem implements GeoItem {
|
|||
boolean drum = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.MAGAZINE) == 2;
|
||||
boolean grip = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.GRIP) == 1 || GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.GRIP) == 2;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (drum) {
|
||||
if (grip) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m4.reload_empty_drum_grip"));
|
||||
|
@ -72,7 +72,7 @@ public class Hk416Item extends GunItem implements GeoItem {
|
|||
}
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (drum) {
|
||||
if (grip) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m4.reload_normal_drum_grip"));
|
||||
|
@ -152,7 +152,7 @@ public class Hk416Item extends GunItem implements GeoItem {
|
|||
default -> GunsTool.getGunDoubleTag(stack, "CustomZoom", 0);
|
||||
};
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("CanAdjustZoomFov", scopeType == 3);
|
||||
NBTTool.getTag(stack).putBoolean("CanAdjustZoomFov", scopeType == 3);
|
||||
GunsTool.setGunDoubleTag(stack, "CustomZoom", customZoom);
|
||||
GunsTool.setGunIntTag(stack, "CustomMagazine", customMag);
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ public class M4Item extends GunItem implements GeoItem {
|
|||
boolean drum = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.MAGAZINE) == 2;
|
||||
boolean grip = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.GRIP) == 1 || GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.GRIP) == 2;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (drum) {
|
||||
if (grip) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m4.reload_empty_drum_grip"));
|
||||
|
@ -72,7 +72,7 @@ public class M4Item extends GunItem implements GeoItem {
|
|||
}
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (drum) {
|
||||
if (grip) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m4.reload_normal_drum_grip"));
|
||||
|
@ -162,12 +162,12 @@ public class M4Item extends GunItem implements GeoItem {
|
|||
|
||||
double customZoom = switch (scopeType) {
|
||||
case 0, 1 -> 0;
|
||||
case 2 -> NBTTool.getOrCreateTag(stack).getBoolean("ScopeAlt") ? 0 : 2.75;
|
||||
case 2 -> NBTTool.getTag(stack).getBoolean("ScopeAlt") ? 0 : 2.75;
|
||||
default -> GunsTool.getGunDoubleTag(stack, "CustomZoom", 0);
|
||||
};
|
||||
|
||||
GunsTool.setGunBooleanTag(stack, "CanSwitchScope", scopeType == 2);
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("CanAdjustZoomFov", scopeType == 3);
|
||||
NBTTool.getTag(stack).putBoolean("CanAdjustZoomFov", scopeType == 3);
|
||||
GunsTool.setGunDoubleTag(stack, "CustomZoom", customZoom);
|
||||
GunsTool.setGunIntTag(stack, "CustomMagazine", customMag);
|
||||
}
|
||||
|
|
|
@ -54,19 +54,19 @@ public class MarlinItem extends GunItem implements GeoItem {
|
|||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.marlin.shift"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 1 && NBTTool.getOrCreateTag(stack).getDouble("prepare") > 0) {
|
||||
if (NBTTool.getTag(stack).getInt("reload_stage") == 1 && NBTTool.getTag(stack).getDouble("prepare") > 0) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.marlin.prepare"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getDouble("load_index") == 0 && NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 2) {
|
||||
if (NBTTool.getTag(stack).getDouble("load_index") == 0 && NBTTool.getTag(stack).getInt("reload_stage") == 2) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.marlin.iterativeload"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getDouble("load_index") == 1 && NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 2) {
|
||||
if (NBTTool.getTag(stack).getDouble("load_index") == 1 && NBTTool.getTag(stack).getInt("reload_stage") == 2) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.marlin.iterativeload2"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 3) {
|
||||
if (NBTTool.getTag(stack).getInt("reload_stage") == 3) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.marlin.finish"));
|
||||
}
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ public class Mk14Item extends GunItem implements GeoItem {
|
|||
boolean drum = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.MAGAZINE) == 2;
|
||||
boolean grip = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.GRIP) == 1 || GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.GRIP) == 2;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (drum) {
|
||||
if (grip) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m14.reload_empty_drum_grip"));
|
||||
|
@ -72,7 +72,7 @@ public class Mk14Item extends GunItem implements GeoItem {
|
|||
}
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (drum) {
|
||||
if (grip) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m14.reload_normal_drum_grip"));
|
||||
|
@ -155,7 +155,7 @@ public class Mk14Item extends GunItem implements GeoItem {
|
|||
default -> GunsTool.getGunDoubleTag(stack, "CustomZoom", 0);
|
||||
};
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("CanAdjustZoomFov", scopeType == 3);
|
||||
NBTTool.getTag(stack).putBoolean("CanAdjustZoomFov", scopeType == 3);
|
||||
GunsTool.setGunDoubleTag(stack, "CustomZoom", customZoom);
|
||||
GunsTool.setGunIntTag(stack, "CustomMagazine", customMag);
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ public class Qbz95Item extends GunItem implements GeoItem {
|
|||
boolean drum = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.MAGAZINE) == 2;
|
||||
boolean grip = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.GRIP) == 1 || GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.GRIP) == 2;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (drum) {
|
||||
if (grip) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.qbz95.reload_empty_drum_grip"));
|
||||
|
@ -73,7 +73,7 @@ public class Qbz95Item extends GunItem implements GeoItem {
|
|||
}
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (drum) {
|
||||
if (grip) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.qbz95.reload_normal_drum_grip"));
|
||||
|
@ -147,7 +147,7 @@ public class Qbz95Item extends GunItem implements GeoItem {
|
|||
int stockType = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.STOCK);
|
||||
|
||||
if (magType == 1) {
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack).getCompound("Attachments");
|
||||
CompoundTag tag = NBTTool.getTag(stack).getCompound("Attachments");
|
||||
tag.putInt("Magazine", 2);
|
||||
}
|
||||
|
||||
|
@ -159,7 +159,7 @@ public class Qbz95Item extends GunItem implements GeoItem {
|
|||
default -> GunsTool.getGunDoubleTag(stack, "CustomZoom", 0);
|
||||
};
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("CanAdjustZoomFov", scopeType == 3);
|
||||
NBTTool.getTag(stack).putBoolean("CanAdjustZoomFov", scopeType == 3);
|
||||
GunsTool.setGunDoubleTag(stack, "CustomZoom", customZoom);
|
||||
GunsTool.setGunIntTag(stack, "CustomMagazine", customMag);
|
||||
}
|
||||
|
|
|
@ -58,11 +58,11 @@ public class SksItem extends GunItem implements GeoItem {
|
|||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sks.reload_empty"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sks.reload_normal"));
|
||||
}
|
||||
|
||||
|
@ -97,8 +97,8 @@ public class SksItem extends GunItem implements GeoItem {
|
|||
@Override
|
||||
@ParametersAreNonnullByDefault
|
||||
public void inventoryTick(ItemStack stack, Level level, Entity entity, int slot, boolean selected) {
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("draw")) {
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("draw", false);
|
||||
if (NBTTool.getTag(stack).getBoolean("draw")) {
|
||||
NBTTool.getTag(stack).putBoolean("draw", false);
|
||||
|
||||
if (GunsTool.getGunIntTag(stack, "Ammo", 0) == 0) {
|
||||
GunsTool.setGunBooleanTag(stack, "HoldOpen", true);
|
||||
|
|
|
@ -59,11 +59,11 @@ public class Aa12Item extends GunItem implements GeoItem {
|
|||
|
||||
if (this.animationProcedure.equals("empty")) {
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.aa12.reload_empty"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.aa12.reload_normal"));
|
||||
}
|
||||
|
||||
|
|
|
@ -59,11 +59,11 @@ public class HomemadeShotgunItem extends GunItem implements GeoItem {
|
|||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ab.reload_empty"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.ab.reload_normal"));
|
||||
}
|
||||
|
||||
|
|
|
@ -58,23 +58,23 @@ public class M870Item extends GunItem implements GeoItem {
|
|||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m870.shift"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 1 && NBTTool.getOrCreateTag(stack).getDouble("prepare_load") > 0) {
|
||||
if (NBTTool.getTag(stack).getInt("reload_stage") == 1 && NBTTool.getTag(stack).getDouble("prepare_load") > 0) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m870.preparealt"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 1 && NBTTool.getOrCreateTag(stack).getDouble("prepare") > 0) {
|
||||
if (NBTTool.getTag(stack).getInt("reload_stage") == 1 && NBTTool.getTag(stack).getDouble("prepare") > 0) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m870.prepare"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getDouble("load_index") == 0 && NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 2) {
|
||||
if (NBTTool.getTag(stack).getDouble("load_index") == 0 && NBTTool.getTag(stack).getInt("reload_stage") == 2) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m870.iterativeload"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getDouble("load_index") == 1 && NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 2) {
|
||||
if (NBTTool.getTag(stack).getDouble("load_index") == 1 && NBTTool.getTag(stack).getInt("reload_stage") == 2) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m870.iterativeload2"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 3) {
|
||||
if (NBTTool.getTag(stack).getInt("reload_stage") == 3) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m870.finish"));
|
||||
}
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ public class VectorItem extends GunItem implements GeoItem {
|
|||
boolean drum = GunsTool.getAttachmentType(stack, GunsTool.AttachmentType.MAGAZINE) == 2;
|
||||
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (drum) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.vec.reload_empty_drum"));
|
||||
} else {
|
||||
|
@ -61,7 +61,7 @@ public class VectorItem extends GunItem implements GeoItem {
|
|||
}
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (drum) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.vec.reload_normal_drum"));
|
||||
} else {
|
||||
|
@ -127,7 +127,7 @@ public class VectorItem extends GunItem implements GeoItem {
|
|||
};
|
||||
|
||||
if (scopeType == 3) {
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack).getCompound("Attachments");
|
||||
CompoundTag tag = NBTTool.getTag(stack).getCompound("Attachments");
|
||||
tag.putInt("Scope", 0);
|
||||
}
|
||||
|
||||
|
|
|
@ -55,7 +55,7 @@ public class HuntingRifleItem extends GunItem implements GeoItem {
|
|||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.hunting_rifle.reload"));
|
||||
}
|
||||
|
||||
|
|
|
@ -54,23 +54,23 @@ public class K98Item extends GunItem implements GeoItem {
|
|||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.k98.shift"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.k98.reload_empty"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 1 && NBTTool.getOrCreateTag(stack).getDouble("prepare") > 0) {
|
||||
if (NBTTool.getTag(stack).getInt("reload_stage") == 1 && NBTTool.getTag(stack).getDouble("prepare") > 0) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.k98.prepare"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getDouble("load_index") == 0 && NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 2) {
|
||||
if (NBTTool.getTag(stack).getDouble("load_index") == 0 && NBTTool.getTag(stack).getInt("reload_stage") == 2) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.k98.iterativeload"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getDouble("load_index") == 1 && NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 2) {
|
||||
if (NBTTool.getTag(stack).getDouble("load_index") == 1 && NBTTool.getTag(stack).getInt("reload_stage") == 2) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.k98.iterativeload2"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 3) {
|
||||
if (NBTTool.getTag(stack).getInt("reload_stage") == 3) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.k98.finish"));
|
||||
}
|
||||
|
||||
|
@ -85,10 +85,10 @@ public class K98Item extends GunItem implements GeoItem {
|
|||
|
||||
if (player.isSprinting() && player.onGround()
|
||||
&& player.getPersistentData().getDouble("noRun") == 0
|
||||
&& !(NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading"))
|
||||
&& NBTTool.getOrCreateTag(stack).getInt("reload_stage") != 1
|
||||
&& NBTTool.getOrCreateTag(stack).getInt("reload_stage") != 2
|
||||
&& NBTTool.getOrCreateTag(stack).getInt("reload_stage") != 3
|
||||
&& !(NBTTool.getTag(stack).getBoolean("is_empty_reloading"))
|
||||
&& NBTTool.getTag(stack).getInt("reload_stage") != 1
|
||||
&& NBTTool.getTag(stack).getInt("reload_stage") != 2
|
||||
&& NBTTool.getTag(stack).getInt("reload_stage") != 3
|
||||
&& ClientEventHandler.drawTime < 0.01
|
||||
&& !GunsTool.getGunBooleanTag(stack, "Reloading")) {
|
||||
if (player.hasEffect(MobEffects.MOVEMENT_SPEED) && GunsTool.getGunIntTag(stack, "BoltActionTick") == 0) {
|
||||
|
|
|
@ -54,11 +54,11 @@ public class M98bItem extends GunItem implements GeoItem {
|
|||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m98b.shift"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m98b.reload_empty"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.m98b.reload_normal"));
|
||||
}
|
||||
|
||||
|
@ -73,7 +73,7 @@ public class M98bItem extends GunItem implements GeoItem {
|
|||
|
||||
if (player.isSprinting() && player.onGround()
|
||||
&& player.getPersistentData().getDouble("noRun") == 0
|
||||
&& !(NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading") || NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) && ClientEventHandler.drawTime < 0.01) {
|
||||
&& !(NBTTool.getTag(stack).getBoolean("is_normal_reloading") || NBTTool.getTag(stack).getBoolean("is_empty_reloading")) && ClientEventHandler.drawTime < 0.01) {
|
||||
if (player.hasEffect(MobEffects.MOVEMENT_SPEED) && GunsTool.getGunIntTag(stack, "BoltActionTick") == 0) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.m98b.run_fast"));
|
||||
} else {
|
||||
|
|
|
@ -54,23 +54,23 @@ public class MosinNagantItem extends GunItem implements GeoItem {
|
|||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.mosin.shift"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 1 && GunsTool.getGunIntTag(stack, "Ammo", 0) == 0) {
|
||||
if (NBTTool.getTag(stack).getInt("reload_stage") == 1 && GunsTool.getGunIntTag(stack, "Ammo", 0) == 0) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.mosin.prepare_empty"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 1 && GunsTool.getGunIntTag(stack, "Ammo", 0) > 0) {
|
||||
if (NBTTool.getTag(stack).getInt("reload_stage") == 1 && GunsTool.getGunIntTag(stack, "Ammo", 0) > 0) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.mosin.prepare"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getDouble("load_index") == 0 && NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 2) {
|
||||
if (NBTTool.getTag(stack).getDouble("load_index") == 0 && NBTTool.getTag(stack).getInt("reload_stage") == 2) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.mosin.iterativeload"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getDouble("load_index") == 1 && NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 2) {
|
||||
if (NBTTool.getTag(stack).getDouble("load_index") == 1 && NBTTool.getTag(stack).getInt("reload_stage") == 2) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.mosin.iterativeload2"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getInt("reload_stage") == 3) {
|
||||
if (NBTTool.getTag(stack).getInt("reload_stage") == 3) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.mosin.finish"));
|
||||
}
|
||||
|
||||
|
@ -85,10 +85,10 @@ public class MosinNagantItem extends GunItem implements GeoItem {
|
|||
|
||||
if (player.isSprinting() && player.onGround()
|
||||
&& player.getPersistentData().getDouble("noRun") == 0
|
||||
&& !(NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading"))
|
||||
&& NBTTool.getOrCreateTag(stack).getInt("reload_stage") != 1
|
||||
&& NBTTool.getOrCreateTag(stack).getInt("reload_stage") != 2
|
||||
&& NBTTool.getOrCreateTag(stack).getInt("reload_stage") != 3
|
||||
&& !(NBTTool.getTag(stack).getBoolean("is_empty_reloading"))
|
||||
&& NBTTool.getTag(stack).getInt("reload_stage") != 1
|
||||
&& NBTTool.getTag(stack).getInt("reload_stage") != 2
|
||||
&& NBTTool.getTag(stack).getInt("reload_stage") != 3
|
||||
&& ClientEventHandler.drawTime < 0.01
|
||||
&& !GunsTool.getGunBooleanTag(stack, "Reloading")) {
|
||||
if (player.hasEffect(MobEffects.MOVEMENT_SPEED) && GunsTool.getGunIntTag(stack, "BoltActionTick") == 0) {
|
||||
|
|
|
@ -93,11 +93,11 @@ public class SentinelItem extends GunItem implements GeoItem {
|
|||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sentinel.shift"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sentinel.reload_empty"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.sentinel.reload_normal"));
|
||||
}
|
||||
|
||||
|
@ -116,7 +116,7 @@ public class SentinelItem extends GunItem implements GeoItem {
|
|||
|
||||
if (player.isSprinting() && player.onGround()
|
||||
&& player.getPersistentData().getDouble("noRun") == 0
|
||||
&& !(NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading") || NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading"))
|
||||
&& !(NBTTool.getTag(stack).getBoolean("is_normal_reloading") || NBTTool.getTag(stack).getBoolean("is_empty_reloading"))
|
||||
&& !GunsTool.getGunBooleanTag(stack, "Charging") && ClientEventHandler.drawTime < 0.01) {
|
||||
if (player.hasEffect(MobEffects.MOVEMENT_SPEED) && GunsTool.getGunIntTag(stack, "BoltActionTick") == 0) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.sentinel.run_fast"));
|
||||
|
|
|
@ -53,11 +53,11 @@ public class SvdItem extends GunItem implements GeoItem {
|
|||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.svd.reload_empty"));
|
||||
}
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_normal_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_normal_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.svd.reload_normal"));
|
||||
}
|
||||
|
||||
|
@ -130,7 +130,7 @@ public class SvdItem extends GunItem implements GeoItem {
|
|||
default -> GunsTool.getGunDoubleTag(stack, "CustomZoom", 0);
|
||||
};
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("CanAdjustZoomFov", scopeType == 3);
|
||||
NBTTool.getTag(stack).putBoolean("CanAdjustZoomFov", scopeType == 3);
|
||||
GunsTool.setGunDoubleTag(stack, "CustomZoom", customZoom);
|
||||
GunsTool.setGunIntTag(stack, "CustomMagazine", customMag);
|
||||
}
|
||||
|
|
|
@ -97,7 +97,7 @@ public class TaserItem extends GunItem implements GeoItem, SpecialFireWeapon {
|
|||
ItemStack stack = player.getMainHandItem();
|
||||
if (!stack.is(ModTags.Items.GUN)) return PlayState.STOP;
|
||||
|
||||
if (NBTTool.getOrCreateTag(stack).getBoolean("is_empty_reloading")) {
|
||||
if (NBTTool.getTag(stack).getBoolean("is_empty_reloading")) {
|
||||
return event.setAndContinue(RawAnimation.begin().thenPlay("animation.taser.reload"));
|
||||
}
|
||||
|
||||
|
@ -274,6 +274,6 @@ public class TaserItem extends GunItem implements GeoItem, SpecialFireWeapon {
|
|||
|
||||
GunsTool.setGunIntTag(stack, "Ammo", GunsTool.getGunIntTag(stack, "Ammo", 0) - 1);
|
||||
energyStorage.extractEnergy(400 + 100 * perkLevel, false);
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("shoot", true);
|
||||
NBTTool.getTag(stack).putBoolean("shoot", true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@ public record ShootMessage(double spread) implements CustomPacketPayload {
|
|||
}
|
||||
|
||||
if (stack.is(ModTags.Items.REVOLVER)) {
|
||||
NBTTool.getOrCreateTag(stack).putBoolean("canImmediatelyShoot", false);
|
||||
NBTTool.getTag(stack).putBoolean("canImmediatelyShoot", false);
|
||||
}
|
||||
|
||||
// 判断是否为栓动武器(BoltActionTime > 0),并在开火后给一个需要上膛的状态
|
||||
|
@ -49,7 +49,7 @@ public record ShootMessage(double spread) implements CustomPacketPayload {
|
|||
|
||||
GunsTool.setGunIntTag(stack, "Ammo", GunsTool.getGunIntTag(stack, "Ammo", 0) - 1);
|
||||
|
||||
NBTTool.getOrCreateTag(stack).putDouble("empty", 1);
|
||||
NBTTool.getTag(stack).putDouble("empty", 1);
|
||||
|
||||
// if (stack.getItem() == ModItems.M_60.get() && GunsTool.getGunIntTag(stack, "Ammo", 0) <= 5) {
|
||||
// GunsTool.setGunBooleanTag(stack, "HideBulletChain", true);
|
||||
|
|
|
@ -24,6 +24,8 @@ import java.io.InputStreamReader;
|
|||
import java.util.HashMap;
|
||||
import java.util.UUID;
|
||||
|
||||
import static com.atsuishio.superbwarfare.tools.NBTTool.saveTag;
|
||||
|
||||
@EventBusSubscriber(modid = ModUtils.MODID)
|
||||
public class GunsTool {
|
||||
|
||||
|
@ -58,20 +60,22 @@ public class GunsTool {
|
|||
public static void initGun(Level level, ItemStack stack, String location) {
|
||||
if (level.getServer() == null) return;
|
||||
gunsData.get(location).forEach((k, v) -> {
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack);
|
||||
CompoundTag tag = NBTTool.getTag(stack);
|
||||
CompoundTag data = tag.getCompound("GunData");
|
||||
data.putDouble(k, v);
|
||||
tag.put("GunData", data);
|
||||
saveTag(stack, tag);
|
||||
});
|
||||
}
|
||||
|
||||
public static void initCreativeGun(ItemStack stack, String location) {
|
||||
if (gunsData != null && gunsData.get(location) != null) {
|
||||
gunsData.get(location).forEach((k, v) -> {
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack);
|
||||
CompoundTag tag = NBTTool.getTag(stack);
|
||||
CompoundTag data = tag.getCompound("GunData");
|
||||
data.putDouble(k, v);
|
||||
tag.put("GunData", data);
|
||||
saveTag(stack, tag);
|
||||
});
|
||||
GunsTool.setGunIntTag(stack, "Ammo", GunsTool.getGunIntTag(stack, "Magazine", 0)
|
||||
+ GunsTool.getGunIntTag(stack, "CustomMagazine", 0));
|
||||
|
@ -80,10 +84,11 @@ public class GunsTool {
|
|||
|
||||
public static void generateAndSetUUID(ItemStack stack) {
|
||||
UUID uuid = UUID.randomUUID();
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack);
|
||||
CompoundTag tag = NBTTool.getTag(stack);
|
||||
var data = tag.getCompound("GunData");
|
||||
data.putUUID("UUID", uuid);
|
||||
tag.put("GunData", data);
|
||||
saveTag(stack, tag);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
|
@ -103,7 +108,7 @@ public class GunsTool {
|
|||
}
|
||||
|
||||
public static void reload(Player player, ItemStack stack, AmmoType type, boolean extraOne) {
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack);
|
||||
CompoundTag tag = NBTTool.getTag(stack);
|
||||
if (!(stack.getItem() instanceof GunItem)) return;
|
||||
|
||||
int mag = GunsTool.getGunIntTag(stack, "Magazine", 0) + GunsTool.getGunIntTag(stack, "CustomMagazine", 0);
|
||||
|
@ -130,48 +135,52 @@ public class GunsTool {
|
|||
GunsTool.setGunIntTag(stack, "Ammo", needToAdd);
|
||||
tag.putBoolean("is_normal_reloading", false);
|
||||
tag.putBoolean("is_empty_reloading", false);
|
||||
saveTag(stack, tag);
|
||||
}
|
||||
|
||||
/* PerkData */
|
||||
public static void setPerkIntTag(ItemStack stack, String name, int num) {
|
||||
var rootTag = NBTTool.getOrCreateTag(stack);
|
||||
var rootTag = NBTTool.getTag(stack);
|
||||
CompoundTag tag = rootTag.getCompound("PerkData");
|
||||
tag.putInt(name, num);
|
||||
rootTag.put("PerkData", tag);
|
||||
saveTag(stack, rootTag);
|
||||
}
|
||||
|
||||
public static int getPerkIntTag(ItemStack stack, String name) {
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack).getCompound("PerkData");
|
||||
CompoundTag tag = NBTTool.getTag(stack).getCompound("PerkData");
|
||||
return tag.getInt(name);
|
||||
}
|
||||
|
||||
public static void setPerkDoubleTag(ItemStack stack, String name, double num) {
|
||||
var rootTag = NBTTool.getOrCreateTag(stack);
|
||||
var rootTag = NBTTool.getTag(stack);
|
||||
CompoundTag tag = rootTag.getCompound("PerkData");
|
||||
tag.putDouble(name, num);
|
||||
rootTag.put("PerkData", tag);
|
||||
saveTag(stack, rootTag);
|
||||
}
|
||||
|
||||
public static double getPerkDoubleTag(ItemStack stack, String name) {
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack).getCompound("PerkData");
|
||||
CompoundTag tag = NBTTool.getTag(stack).getCompound("PerkData");
|
||||
return tag.getDouble(name);
|
||||
}
|
||||
|
||||
public static void setPerkBooleanTag(ItemStack stack, String name, boolean flag) {
|
||||
var rootTag = NBTTool.getOrCreateTag(stack);
|
||||
var rootTag = NBTTool.getTag(stack);
|
||||
CompoundTag tag = rootTag.getCompound("PerkData");
|
||||
tag.putBoolean(name, flag);
|
||||
rootTag.put("PerkData", tag);
|
||||
saveTag(stack, rootTag);
|
||||
}
|
||||
|
||||
public static boolean getPerkBooleanTag(ItemStack stack, String name) {
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack).getCompound("PerkData");
|
||||
CompoundTag tag = NBTTool.getTag(stack).getCompound("PerkData");
|
||||
return tag.getBoolean(name);
|
||||
}
|
||||
|
||||
/* Attachments */
|
||||
public static int getAttachmentType(ItemStack stack, AttachmentType type) {
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack).getCompound("Attachments");
|
||||
CompoundTag tag = NBTTool.getTag(stack).getCompound("Attachments");
|
||||
return tag.getInt(type.getName());
|
||||
}
|
||||
|
||||
|
@ -195,15 +204,15 @@ public class GunsTool {
|
|||
|
||||
/* GunData */
|
||||
public static CompoundTag getGunData(ItemStack stack) {
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack);
|
||||
return tag.getCompound("GunData");
|
||||
return NBTTool.getTag(stack).getCompound("GunData");
|
||||
}
|
||||
|
||||
public static void setGunIntTag(ItemStack stack, String name, int num) {
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack);
|
||||
CompoundTag tag = NBTTool.getTag(stack);
|
||||
var data = tag.getCompound("GunData");
|
||||
data.putInt(name, num);
|
||||
tag.put("GunData", data);
|
||||
saveTag(stack, tag);
|
||||
}
|
||||
|
||||
public static int getGunIntTag(ItemStack stack, String name) {
|
||||
|
@ -211,17 +220,18 @@ public class GunsTool {
|
|||
}
|
||||
|
||||
public static int getGunIntTag(ItemStack stack, String name, int defaultValue) {
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack);
|
||||
CompoundTag tag = NBTTool.getTag(stack);
|
||||
var data = tag.getCompound("GunData");
|
||||
if (!data.contains(name)) return defaultValue;
|
||||
return data.getInt(name);
|
||||
}
|
||||
|
||||
public static void setGunDoubleTag(ItemStack stack, String name, double num) {
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack);
|
||||
CompoundTag tag = NBTTool.getTag(stack);
|
||||
var data = tag.getCompound("GunData");
|
||||
data.putDouble(name, num);
|
||||
tag.put("GunData", data);
|
||||
saveTag(stack, tag);
|
||||
}
|
||||
|
||||
public static double getGunDoubleTag(ItemStack stack, String name) {
|
||||
|
@ -229,17 +239,18 @@ public class GunsTool {
|
|||
}
|
||||
|
||||
public static double getGunDoubleTag(ItemStack stack, String name, double defaultValue) {
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack);
|
||||
CompoundTag tag = NBTTool.getTag(stack);
|
||||
var data = tag.getCompound("GunData");
|
||||
if (!data.contains(name)) return defaultValue;
|
||||
return data.getDouble(name);
|
||||
}
|
||||
|
||||
public static void setGunBooleanTag(ItemStack stack, String name, boolean flag) {
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack);
|
||||
CompoundTag tag = NBTTool.getTag(stack);
|
||||
var data = tag.getCompound("GunData");
|
||||
data.putBoolean(name, flag);
|
||||
tag.put("GunData", data);
|
||||
saveTag(stack, tag);
|
||||
}
|
||||
|
||||
public static boolean getGunBooleanTag(ItemStack stack, String name) {
|
||||
|
@ -247,7 +258,7 @@ public class GunsTool {
|
|||
}
|
||||
|
||||
public static boolean getGunBooleanTag(ItemStack stack, String name, boolean defaultValue) {
|
||||
CompoundTag tag = NBTTool.getOrCreateTag(stack);
|
||||
CompoundTag tag = NBTTool.getTag(stack);
|
||||
var data = tag.getCompound("GunData");
|
||||
if (!data.contains(name)) return defaultValue;
|
||||
return data.getBoolean(name);
|
||||
|
|
|
@ -1,63 +1,73 @@
|
|||
package com.atsuishio.superbwarfare.tools;
|
||||
|
||||
import com.atsuishio.superbwarfare.component.ModDataComponents;
|
||||
import net.minecraft.core.component.DataComponents;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.component.CustomData;
|
||||
|
||||
// From Botania
|
||||
// TODO 修改为使用DataComponents.CUSTOM_DATA
|
||||
public final class NBTTool {
|
||||
public static boolean verifyExistence(ItemStack stack, String tag) {
|
||||
var data = stack.get(ModDataComponents.GUN_DATA);
|
||||
return !stack.isEmpty() && data != null && data.contains(tag);
|
||||
public static boolean verifyExistence(ItemStack stack, String key) {
|
||||
var data = stack.get(DataComponents.CUSTOM_DATA);
|
||||
return !stack.isEmpty() && data != null && data.contains(key);
|
||||
}
|
||||
|
||||
public static CompoundTag getOrCreateTag(ItemStack stack) {
|
||||
var data = stack.get(ModDataComponents.GUN_DATA);
|
||||
if (data != null) return data;
|
||||
public static CompoundTag getTag(ItemStack stack) {
|
||||
var data = stack.get(DataComponents.CUSTOM_DATA);
|
||||
if (data != null) return data.copyTag();
|
||||
|
||||
var newTag = new CompoundTag();
|
||||
stack.set(ModDataComponents.GUN_DATA, newTag);
|
||||
return newTag;
|
||||
return new CompoundTag();
|
||||
}
|
||||
|
||||
public static void setBoolean(ItemStack stack, String tag, boolean b) {
|
||||
getOrCreateTag(stack).putBoolean(tag, b);
|
||||
public static void setBoolean(ItemStack stack, String key, boolean b) {
|
||||
var tag = getTag(stack);
|
||||
tag.putBoolean(key, b);
|
||||
saveTag(stack, tag);
|
||||
}
|
||||
|
||||
public static boolean getBoolean(ItemStack stack, String tag, boolean defaultExpected) {
|
||||
return verifyExistence(stack, tag) ? getOrCreateTag(stack).getBoolean(tag) : defaultExpected;
|
||||
public static boolean getBoolean(ItemStack stack, String key, boolean defaultExpected) {
|
||||
return verifyExistence(stack, key) ? getTag(stack).getBoolean(key) : defaultExpected;
|
||||
}
|
||||
|
||||
public static void setFloat(ItemStack stack, String tag, float f) {
|
||||
getOrCreateTag(stack).putFloat(tag, f);
|
||||
public static void setFloat(ItemStack stack, String key, float f) {
|
||||
var tag = getTag(stack);
|
||||
tag.putFloat(key, f);
|
||||
saveTag(stack, tag);
|
||||
}
|
||||
|
||||
public static float getFloat(ItemStack stack, String tag, float f) {
|
||||
return verifyExistence(stack, tag) ? getOrCreateTag(stack).getFloat(tag) : f;
|
||||
public static float getFloat(ItemStack stack, String key, float f) {
|
||||
return verifyExistence(stack, key) ? getTag(stack).getFloat(key) : f;
|
||||
}
|
||||
|
||||
public static void setInt(ItemStack stack, String tag, int num) {
|
||||
getOrCreateTag(stack).putInt(tag, num);
|
||||
public static void setInt(ItemStack stack, String key, int num) {
|
||||
var tag = getTag(stack);
|
||||
tag.putInt(key, num);
|
||||
saveTag(stack, tag);
|
||||
}
|
||||
|
||||
public static int getInt(ItemStack stack, String tag, int num) {
|
||||
return verifyExistence(stack, tag) ? getOrCreateTag(stack).getInt(tag) : num;
|
||||
public static int getInt(ItemStack stack, String key, int num) {
|
||||
return verifyExistence(stack, key) ? getTag(stack).getInt(key) : num;
|
||||
}
|
||||
|
||||
public static void setLong(ItemStack stack, String tag, long num) {
|
||||
getOrCreateTag(stack).putLong(tag, num);
|
||||
public static void setLong(ItemStack stack, String key, long num) {
|
||||
var tag = getTag(stack);
|
||||
tag.putLong(key, num);
|
||||
saveTag(stack, tag);
|
||||
}
|
||||
|
||||
public static long getLong(ItemStack stack, String tag, long num) {
|
||||
return verifyExistence(stack, tag) ? getOrCreateTag(stack).getLong(tag) : num;
|
||||
public static long getLong(ItemStack stack, String key, long num) {
|
||||
return verifyExistence(stack, key) ? getTag(stack).getLong(key) : num;
|
||||
}
|
||||
|
||||
public static void setDouble(ItemStack stack, String tag, double num) {
|
||||
getOrCreateTag(stack).putDouble(tag, num);
|
||||
public static void setDouble(ItemStack stack, String key, double num) {
|
||||
getTag(stack).putDouble(key, num);
|
||||
}
|
||||
|
||||
public static double getDouble(ItemStack stack, String tag, double num) {
|
||||
return verifyExistence(stack, tag) ? getOrCreateTag(stack).getDouble(tag) : num;
|
||||
public static double getDouble(ItemStack stack, String key, double num) {
|
||||
return verifyExistence(stack, key) ? getTag(stack).getDouble(key) : num;
|
||||
}
|
||||
|
||||
public static void saveTag(ItemStack stack, CompoundTag tag) {
|
||||
stack.set(DataComponents.CUSTOM_DATA, CustomData.of(tag));
|
||||
}
|
||||
}
|
Loading…
Add table
Reference in a new issue