添加扩容弹匣
This commit is contained in:
parent
c37a44ff68
commit
d0f523a9e8
38 changed files with 134 additions and 572 deletions
|
@ -1,4 +1,4 @@
|
||||||
// 1.20.1 2024-10-01T15:18:03.5568295 Tags for minecraft:item mod id superbwarfare
|
// 1.20.1 2024-10-09T04:53:17.1268589 Tags for minecraft:item mod id superbwarfare
|
||||||
cf8d49a8d2872286d1a9c3d4a7e1c2b7690db0b8 data/forge/tags/items/dusts.json
|
cf8d49a8d2872286d1a9c3d4a7e1c2b7690db0b8 data/forge/tags/items/dusts.json
|
||||||
0fa06c2ff83bf09797e3ddff90f62d1124e645b4 data/forge/tags/items/dusts/coal_coke.json
|
0fa06c2ff83bf09797e3ddff90f62d1124e645b4 data/forge/tags/items/dusts/coal_coke.json
|
||||||
295ddf906b7133a0558d03e9a60eea18281fe430 data/forge/tags/items/dusts/iron.json
|
295ddf906b7133a0558d03e9a60eea18281fe430 data/forge/tags/items/dusts/iron.json
|
||||||
|
@ -27,6 +27,7 @@ af6fd64b4a685c353f243763db268f7b2304c009 data/forge/tags/items/storage_blocks/le
|
||||||
3743c2790deca7e779d3e4b82f092de39b446988 data/forge/tags/items/storage_blocks/steel.json
|
3743c2790deca7e779d3e4b82f092de39b446988 data/forge/tags/items/storage_blocks/steel.json
|
||||||
144e54d908121dee498b2ebba3b24b09fd6f18d9 data/forge/tags/items/storage_blocks/tungsten.json
|
144e54d908121dee498b2ebba3b24b09fd6f18d9 data/forge/tags/items/storage_blocks/tungsten.json
|
||||||
4d4dfd25a2a749e000e1bb742c2f984d4e094e5d data/superbwarfare/tags/items/cannot_reload.json
|
4d4dfd25a2a749e000e1bb742c2f984d4e094e5d data/superbwarfare/tags/items/cannot_reload.json
|
||||||
|
c0d8d0b01d86ea9a0386908ca59c5b660ac48c3b data/superbwarfare/tags/items/extra_one_ammo.json
|
||||||
99a5a3a4bb6b5fb641dcd449937365ea174f3797 data/superbwarfare/tags/items/gun.json
|
99a5a3a4bb6b5fb641dcd449937365ea174f3797 data/superbwarfare/tags/items/gun.json
|
||||||
62eb408544731ce4cfcd119d8a6cc74731189ac0 data/superbwarfare/tags/items/handgun.json
|
62eb408544731ce4cfcd119d8a6cc74731189ac0 data/superbwarfare/tags/items/handgun.json
|
||||||
c28a85bbe8de35bb681cc50e6e29631410e79b06 data/superbwarfare/tags/items/is_auto_weapon.json
|
c28a85bbe8de35bb681cc50e6e29631410e79b06 data/superbwarfare/tags/items/is_auto_weapon.json
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"values": [
|
||||||
|
"superbwarfare:ak_47",
|
||||||
|
"superbwarfare:svd",
|
||||||
|
"superbwarfare:mk_14",
|
||||||
|
"superbwarfare:vector",
|
||||||
|
"superbwarfare:sks",
|
||||||
|
"superbwarfare:rpk",
|
||||||
|
"superbwarfare:hk_416",
|
||||||
|
"superbwarfare:aa_12",
|
||||||
|
"superbwarfare:m_4",
|
||||||
|
"superbwarfare:devotion",
|
||||||
|
"superbwarfare:ntw_20",
|
||||||
|
"superbwarfare:m_98b",
|
||||||
|
"superbwarfare:sentinel",
|
||||||
|
"superbwarfare:glock_17",
|
||||||
|
"superbwarfare:glock_18",
|
||||||
|
"superbwarfare:m_1911",
|
||||||
|
"superbwarfare:qbz_95"
|
||||||
|
]
|
||||||
|
}
|
|
@ -94,525 +94,6 @@ public class DevotionItemModel extends GeoModel<DevotionItem> {
|
||||||
shen.setPosX(0.2f * (float) (ClientEventHandler.recoilHorizon * (0.5 + 0.4 * ClientEventHandler.fireSpread)));
|
shen.setPosX(0.2f * (float) (ClientEventHandler.recoilHorizon * (0.5 + 0.4 * ClientEventHandler.fireSpread)));
|
||||||
bolt.setPosZ(-2f * (float) fp);
|
bolt.setPosZ(-2f * (float) fp);
|
||||||
|
|
||||||
CoreGeoBone n0 = getAnimationProcessor().getBone("00");
|
|
||||||
CoreGeoBone n1 = getAnimationProcessor().getBone("1");
|
|
||||||
CoreGeoBone n2 = getAnimationProcessor().getBone("2");
|
|
||||||
CoreGeoBone n3 = getAnimationProcessor().getBone("3");
|
|
||||||
CoreGeoBone n4 = getAnimationProcessor().getBone("4");
|
|
||||||
CoreGeoBone n5 = getAnimationProcessor().getBone("5");
|
|
||||||
CoreGeoBone n6 = getAnimationProcessor().getBone("6");
|
|
||||||
CoreGeoBone n7 = getAnimationProcessor().getBone("7");
|
|
||||||
CoreGeoBone n8 = getAnimationProcessor().getBone("8");
|
|
||||||
CoreGeoBone n9 = getAnimationProcessor().getBone("9");
|
|
||||||
CoreGeoBone n10 = getAnimationProcessor().getBone("10");
|
|
||||||
CoreGeoBone n11 = getAnimationProcessor().getBone("11");
|
|
||||||
CoreGeoBone n12 = getAnimationProcessor().getBone("12");
|
|
||||||
CoreGeoBone n13 = getAnimationProcessor().getBone("13");
|
|
||||||
CoreGeoBone n14 = getAnimationProcessor().getBone("14");
|
|
||||||
CoreGeoBone n15 = getAnimationProcessor().getBone("15");
|
|
||||||
CoreGeoBone n16 = getAnimationProcessor().getBone("16");
|
|
||||||
CoreGeoBone n17 = getAnimationProcessor().getBone("17");
|
|
||||||
CoreGeoBone n18 = getAnimationProcessor().getBone("18");
|
|
||||||
CoreGeoBone n19 = getAnimationProcessor().getBone("19");
|
|
||||||
CoreGeoBone n20 = getAnimationProcessor().getBone("20");
|
|
||||||
CoreGeoBone n21 = getAnimationProcessor().getBone("21");
|
|
||||||
CoreGeoBone n22 = getAnimationProcessor().getBone("22");
|
|
||||||
CoreGeoBone n23 = getAnimationProcessor().getBone("23");
|
|
||||||
CoreGeoBone n24 = getAnimationProcessor().getBone("24");
|
|
||||||
CoreGeoBone n25 = getAnimationProcessor().getBone("25");
|
|
||||||
CoreGeoBone n26 = getAnimationProcessor().getBone("26");
|
|
||||||
CoreGeoBone n27 = getAnimationProcessor().getBone("27");
|
|
||||||
CoreGeoBone n28 = getAnimationProcessor().getBone("28");
|
|
||||||
CoreGeoBone n29 = getAnimationProcessor().getBone("29");
|
|
||||||
CoreGeoBone n30 = getAnimationProcessor().getBone("30");
|
|
||||||
CoreGeoBone n31 = getAnimationProcessor().getBone("31");
|
|
||||||
CoreGeoBone n32 = getAnimationProcessor().getBone("32");
|
|
||||||
CoreGeoBone n33 = getAnimationProcessor().getBone("33");
|
|
||||||
CoreGeoBone n34 = getAnimationProcessor().getBone("34");
|
|
||||||
CoreGeoBone n35 = getAnimationProcessor().getBone("35");
|
|
||||||
CoreGeoBone n36 = getAnimationProcessor().getBone("36");
|
|
||||||
CoreGeoBone n37 = getAnimationProcessor().getBone("37");
|
|
||||||
CoreGeoBone n38 = getAnimationProcessor().getBone("38");
|
|
||||||
CoreGeoBone n39 = getAnimationProcessor().getBone("39");
|
|
||||||
CoreGeoBone n40 = getAnimationProcessor().getBone("40");
|
|
||||||
CoreGeoBone n41 = getAnimationProcessor().getBone("41");
|
|
||||||
CoreGeoBone n42 = getAnimationProcessor().getBone("42");
|
|
||||||
CoreGeoBone n43 = getAnimationProcessor().getBone("43");
|
|
||||||
CoreGeoBone n44 = getAnimationProcessor().getBone("44");
|
|
||||||
CoreGeoBone n45 = getAnimationProcessor().getBone("45");
|
|
||||||
CoreGeoBone n46 = getAnimationProcessor().getBone("46");
|
|
||||||
CoreGeoBone n47 = getAnimationProcessor().getBone("47");
|
|
||||||
CoreGeoBone n48 = getAnimationProcessor().getBone("48");
|
|
||||||
CoreGeoBone n49 = getAnimationProcessor().getBone("49");
|
|
||||||
CoreGeoBone n50 = getAnimationProcessor().getBone("50");
|
|
||||||
CoreGeoBone n51 = getAnimationProcessor().getBone("51");
|
|
||||||
CoreGeoBone n52 = getAnimationProcessor().getBone("52");
|
|
||||||
CoreGeoBone n53 = getAnimationProcessor().getBone("53");
|
|
||||||
CoreGeoBone n54 = getAnimationProcessor().getBone("54");
|
|
||||||
CoreGeoBone n55 = getAnimationProcessor().getBone("55");
|
|
||||||
CoreGeoBone n56 = getAnimationProcessor().getBone("56");
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 0) {
|
|
||||||
n0.setScaleX(1);
|
|
||||||
n0.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n0.setScaleX(0);
|
|
||||||
n0.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 1) {
|
|
||||||
n1.setScaleX(1);
|
|
||||||
n1.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n1.setScaleX(0);
|
|
||||||
n1.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 2) {
|
|
||||||
n2.setScaleX(1);
|
|
||||||
n2.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n2.setScaleX(0);
|
|
||||||
n2.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 3) {
|
|
||||||
n3.setScaleX(1);
|
|
||||||
n3.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n3.setScaleX(0);
|
|
||||||
n3.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 4) {
|
|
||||||
n4.setScaleX(1);
|
|
||||||
n4.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n4.setScaleX(0);
|
|
||||||
n4.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 5) {
|
|
||||||
n5.setScaleX(1);
|
|
||||||
n5.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n5.setScaleX(0);
|
|
||||||
n5.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 6) {
|
|
||||||
n6.setScaleX(1);
|
|
||||||
n6.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n6.setScaleX(0);
|
|
||||||
n6.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 7) {
|
|
||||||
n7.setScaleX(1);
|
|
||||||
n7.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n7.setScaleX(0);
|
|
||||||
n7.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 8) {
|
|
||||||
n8.setScaleX(1);
|
|
||||||
n8.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n8.setScaleX(0);
|
|
||||||
n8.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 9) {
|
|
||||||
n9.setScaleX(1);
|
|
||||||
n9.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n9.setScaleX(0);
|
|
||||||
n9.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 10) {
|
|
||||||
n10.setScaleX(1);
|
|
||||||
n10.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n10.setScaleX(0);
|
|
||||||
n10.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 11) {
|
|
||||||
n11.setScaleX(1);
|
|
||||||
n11.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n11.setScaleX(0);
|
|
||||||
n11.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 12) {
|
|
||||||
n12.setScaleX(1);
|
|
||||||
n12.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n12.setScaleX(0);
|
|
||||||
n12.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 13) {
|
|
||||||
n13.setScaleX(1);
|
|
||||||
n13.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n13.setScaleX(0);
|
|
||||||
n13.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 14) {
|
|
||||||
n14.setScaleX(1);
|
|
||||||
n14.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n14.setScaleX(0);
|
|
||||||
n14.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 15) {
|
|
||||||
n15.setScaleX(1);
|
|
||||||
n15.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n15.setScaleX(0);
|
|
||||||
n15.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 16) {
|
|
||||||
n16.setScaleX(1);
|
|
||||||
n16.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n16.setScaleX(0);
|
|
||||||
n16.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 17) {
|
|
||||||
n17.setScaleX(1);
|
|
||||||
n17.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n17.setScaleX(0);
|
|
||||||
n17.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 18) {
|
|
||||||
n18.setScaleX(1);
|
|
||||||
n18.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n18.setScaleX(0);
|
|
||||||
n18.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 19) {
|
|
||||||
n19.setScaleX(1);
|
|
||||||
n19.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n19.setScaleX(0);
|
|
||||||
n19.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 20) {
|
|
||||||
n20.setScaleX(1);
|
|
||||||
n20.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n20.setScaleX(0);
|
|
||||||
n20.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 21) {
|
|
||||||
n21.setScaleX(1);
|
|
||||||
n21.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n21.setScaleX(0);
|
|
||||||
n21.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 22) {
|
|
||||||
n22.setScaleX(1);
|
|
||||||
n22.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n22.setScaleX(0);
|
|
||||||
n22.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 23) {
|
|
||||||
n23.setScaleX(1);
|
|
||||||
n23.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n23.setScaleX(0);
|
|
||||||
n23.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 24) {
|
|
||||||
n24.setScaleX(1);
|
|
||||||
n24.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n24.setScaleX(0);
|
|
||||||
n24.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 25) {
|
|
||||||
n25.setScaleX(1);
|
|
||||||
n25.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n25.setScaleX(0);
|
|
||||||
n25.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 26) {
|
|
||||||
n26.setScaleX(1);
|
|
||||||
n26.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n26.setScaleX(0);
|
|
||||||
n26.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 27) {
|
|
||||||
n27.setScaleX(1);
|
|
||||||
n27.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n27.setScaleX(0);
|
|
||||||
n27.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 28) {
|
|
||||||
n28.setScaleX(1);
|
|
||||||
n28.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n28.setScaleX(0);
|
|
||||||
n28.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 29) {
|
|
||||||
n29.setScaleX(1);
|
|
||||||
n29.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n29.setScaleX(0);
|
|
||||||
n29.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 30) {
|
|
||||||
n30.setScaleX(1);
|
|
||||||
n30.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n30.setScaleX(0);
|
|
||||||
n30.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 31) {
|
|
||||||
n31.setScaleX(1);
|
|
||||||
n31.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n31.setScaleX(0);
|
|
||||||
n31.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 32) {
|
|
||||||
n32.setScaleX(1);
|
|
||||||
n32.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n32.setScaleX(0);
|
|
||||||
n32.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 33) {
|
|
||||||
n33.setScaleX(1);
|
|
||||||
n33.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n33.setScaleX(0);
|
|
||||||
n33.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 34) {
|
|
||||||
n34.setScaleX(1);
|
|
||||||
n34.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n34.setScaleX(0);
|
|
||||||
n34.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 35) {
|
|
||||||
n35.setScaleX(1);
|
|
||||||
n35.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n35.setScaleX(0);
|
|
||||||
n35.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 36) {
|
|
||||||
n36.setScaleX(1);
|
|
||||||
n36.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n36.setScaleX(0);
|
|
||||||
n36.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 37) {
|
|
||||||
n37.setScaleX(1);
|
|
||||||
n37.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n37.setScaleX(0);
|
|
||||||
n37.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 38) {
|
|
||||||
n38.setScaleX(1);
|
|
||||||
n38.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n38.setScaleX(0);
|
|
||||||
n38.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 39) {
|
|
||||||
n39.setScaleX(1);
|
|
||||||
n39.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n39.setScaleX(0);
|
|
||||||
n39.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 40) {
|
|
||||||
n40.setScaleX(1);
|
|
||||||
n40.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n40.setScaleX(0);
|
|
||||||
n40.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 41) {
|
|
||||||
n41.setScaleX(1);
|
|
||||||
n41.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n41.setScaleX(0);
|
|
||||||
n41.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 42) {
|
|
||||||
n42.setScaleX(1);
|
|
||||||
n42.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n42.setScaleX(0);
|
|
||||||
n42.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 43) {
|
|
||||||
n43.setScaleX(1);
|
|
||||||
n43.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n43.setScaleX(0);
|
|
||||||
n43.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 44) {
|
|
||||||
n44.setScaleX(1);
|
|
||||||
n44.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n44.setScaleX(0);
|
|
||||||
n44.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 45) {
|
|
||||||
n45.setScaleX(1);
|
|
||||||
n45.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n45.setScaleX(0);
|
|
||||||
n45.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 46) {
|
|
||||||
n46.setScaleX(1);
|
|
||||||
n46.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n46.setScaleX(0);
|
|
||||||
n46.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 47) {
|
|
||||||
n47.setScaleX(1);
|
|
||||||
n47.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n47.setScaleX(0);
|
|
||||||
n47.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 48) {
|
|
||||||
n48.setScaleX(1);
|
|
||||||
n48.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n48.setScaleX(0);
|
|
||||||
n48.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 49) {
|
|
||||||
n49.setScaleX(1);
|
|
||||||
n49.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n49.setScaleX(0);
|
|
||||||
n49.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 50) {
|
|
||||||
n50.setScaleX(1);
|
|
||||||
n50.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n50.setScaleX(0);
|
|
||||||
n50.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 51) {
|
|
||||||
n51.setScaleX(1);
|
|
||||||
n51.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n51.setScaleX(0);
|
|
||||||
n51.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 52) {
|
|
||||||
n52.setScaleX(1);
|
|
||||||
n52.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n52.setScaleX(0);
|
|
||||||
n52.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 53) {
|
|
||||||
n53.setScaleX(1);
|
|
||||||
n53.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n53.setScaleX(0);
|
|
||||||
n53.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 54) {
|
|
||||||
n54.setScaleX(1);
|
|
||||||
n54.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n54.setScaleX(0);
|
|
||||||
n54.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 55) {
|
|
||||||
n55.setScaleX(1);
|
|
||||||
n55.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n55.setScaleX(0);
|
|
||||||
n55.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (stack.getOrCreateTag().getInt("ammo") == 56) {
|
|
||||||
n56.setScaleX(1);
|
|
||||||
n56.setScaleY(1);
|
|
||||||
} else {
|
|
||||||
n56.setScaleX(0);
|
|
||||||
n56.setScaleY(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
CoreGeoBone root = getAnimationProcessor().getBone("root");
|
CoreGeoBone root = getAnimationProcessor().getBone("root");
|
||||||
CoreGeoBone move = getAnimationProcessor().getBone("move");
|
CoreGeoBone move = getAnimationProcessor().getBone("move");
|
||||||
|
|
||||||
|
|
|
@ -90,6 +90,9 @@ public class ModItemTagProvider extends ItemTagsProvider {
|
||||||
this.tag(ModTags.Items.IS_AUTO_WEAPON).add(ModItems.AA_12.get(), ModItems.AK_47.get(), ModItems.HK_416.get(), ModItems.AA_12.get(), ModItems.M_4.get(),
|
this.tag(ModTags.Items.IS_AUTO_WEAPON).add(ModItems.AA_12.get(), ModItems.AK_47.get(), ModItems.HK_416.get(), ModItems.AA_12.get(), ModItems.M_4.get(),
|
||||||
ModItems.QBZ_95.get(), ModItems.MK_14.get(), ModItems.AA_12.get(), ModItems.GLOCK_18.get(), ModItems.VECTOR.get(), ModItems.AA_12.get(), ModItems.MINIGUN.get(),
|
ModItems.QBZ_95.get(), ModItems.MK_14.get(), ModItems.AA_12.get(), ModItems.GLOCK_18.get(), ModItems.VECTOR.get(), ModItems.AA_12.get(), ModItems.MINIGUN.get(),
|
||||||
ModItems.DEVOTION.get(), ModItems.M_60.get(), ModItems.RPK.get());
|
ModItems.DEVOTION.get(), ModItems.M_60.get(), ModItems.RPK.get());
|
||||||
|
this.tag(ModTags.Items.EXTRA_ONE_AMMO).add(ModItems.AK_47.get(), ModItems.SVD.get(), ModItems.MK_14.get(), ModItems.VECTOR.get(),ModItems.SKS.get(),
|
||||||
|
ModItems.RPK.get(), ModItems.HK_416.get(), ModItems.AA_12.get(), ModItems.M_4.get(), ModItems.DEVOTION.get(),ModItems.NTW_20.get(), ModItems.M_98B.get(),
|
||||||
|
ModItems.SENTINEL.get(), ModItems.GLOCK_17.get(),ModItems.GLOCK_18.get(), ModItems.M_1911.get(), ModItems.QBZ_95.get());
|
||||||
|
|
||||||
this.tag(ModTags.Items.MILITARY_ARMOR).add(ModItems.RU_CHEST_6B43.get(), ModItems.US_CHEST_IOTV.get());
|
this.tag(ModTags.Items.MILITARY_ARMOR).add(ModItems.RU_CHEST_6B43.get(), ModItems.US_CHEST_IOTV.get());
|
||||||
}
|
}
|
||||||
|
|
|
@ -599,7 +599,7 @@ public class ClientEventHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (0 < recoilTime && recoilTime < 2.5) {
|
if (0 < recoilTime && recoilTime < 2.5) {
|
||||||
float newPitch = (float) (player.getXRot() - 1.5 * gunRecoilX * (sinRes + Mth.clamp(0.5 - recoilTime, 0, 0.5)) * times * (0.5 + fireSpread));
|
float newPitch = (float) (player.getXRot() - 1.5 * pose * gunRecoilX * (sinRes + Mth.clamp(0.5 - recoilTime, 0, 0.5)) * times * (0.5 + fireSpread));
|
||||||
player.setXRot(newPitch);
|
player.setXRot(newPitch);
|
||||||
player.xRotO = player.getXRot();
|
player.xRotO = player.getXRot();
|
||||||
}
|
}
|
||||||
|
|
|
@ -368,39 +368,31 @@ public class GunEventHandler {
|
||||||
|
|
||||||
if (count == 0) {
|
if (count == 0) {
|
||||||
if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO)) {
|
if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO)) {
|
||||||
if (stack.getItem() == ModItems.ABEKIRI.get()) {
|
if (stack.is(ModTags.Items.EXTRA_ONE_AMMO)) {
|
||||||
GunsTool.reload(player, GunInfo.Type.SHOTGUN);
|
|
||||||
} else {
|
|
||||||
GunsTool.reload(player, GunInfo.Type.SHOTGUN, true);
|
GunsTool.reload(player, GunInfo.Type.SHOTGUN, true);
|
||||||
|
} else {
|
||||||
|
GunsTool.reload(player, GunInfo.Type.SHOTGUN);
|
||||||
}
|
}
|
||||||
} else if (stack.is(ModTags.Items.USE_SNIPER_AMMO)) {
|
} else if (stack.is(ModTags.Items.USE_SNIPER_AMMO)) {
|
||||||
GunsTool.reload(player, GunInfo.Type.SNIPER, true);
|
GunsTool.reload(player, GunInfo.Type.SNIPER, true);
|
||||||
} else if (stack.is(ModTags.Items.USE_HANDGUN_AMMO)) {
|
} else if (stack.is(ModTags.Items.USE_HANDGUN_AMMO)) {
|
||||||
GunsTool.reload(player, GunInfo.Type.HANDGUN, true);
|
GunsTool.reload(player, GunInfo.Type.HANDGUN, true);
|
||||||
} else if (stack.is(ModTags.Items.USE_RIFLE_AMMO)) {
|
} else if (stack.is(ModTags.Items.USE_RIFLE_AMMO)) {
|
||||||
if (stack.getItem() == ModItems.M_60.get()) {
|
if (stack.is(ModTags.Items.EXTRA_ONE_AMMO)) {
|
||||||
GunsTool.reload(player, GunInfo.Type.RIFLE);
|
|
||||||
} else {
|
|
||||||
GunsTool.reload(player, GunInfo.Type.RIFLE, true);
|
GunsTool.reload(player, GunInfo.Type.RIFLE, true);
|
||||||
|
} else {
|
||||||
|
GunsTool.reload(player, GunInfo.Type.RIFLE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO)) {
|
if (stack.is(ModTags.Items.USE_SHOTGUN_AMMO)) {
|
||||||
if (stack.getItem() == ModItems.ABEKIRI.get()) {
|
stack.getOrCreateTag().putInt("ammo", stack.getOrCreateTag().getInt("mag") + stack.getOrCreateTag().getInt("customMag") + (stack.is(ModTags.Items.EXTRA_ONE_AMMO) ? 1 : 0));
|
||||||
stack.getOrCreateTag().putInt("ammo", stack.getOrCreateTag().getInt("mag"));
|
|
||||||
} else {
|
|
||||||
stack.getOrCreateTag().putInt("ammo", stack.getOrCreateTag().getInt("mag") + 1);
|
|
||||||
}
|
|
||||||
} else if (stack.is(ModTags.Items.USE_SNIPER_AMMO)) {
|
} else if (stack.is(ModTags.Items.USE_SNIPER_AMMO)) {
|
||||||
stack.getOrCreateTag().putInt("ammo", stack.getOrCreateTag().getInt("mag") + 1);
|
stack.getOrCreateTag().putInt("ammo", stack.getOrCreateTag().getInt("mag") + stack.getOrCreateTag().getInt("customMag") + (stack.is(ModTags.Items.EXTRA_ONE_AMMO) ? 1 : 0));
|
||||||
} else if (stack.is(ModTags.Items.USE_HANDGUN_AMMO)) {
|
} else if (stack.is(ModTags.Items.USE_HANDGUN_AMMO)) {
|
||||||
stack.getOrCreateTag().putInt("ammo", stack.getOrCreateTag().getInt("mag") + 1);
|
stack.getOrCreateTag().putInt("ammo", stack.getOrCreateTag().getInt("mag") + stack.getOrCreateTag().getInt("customMag") + (stack.is(ModTags.Items.EXTRA_ONE_AMMO) ? 1 : 0));
|
||||||
} else if (stack.is(ModTags.Items.USE_RIFLE_AMMO)) {
|
} else if (stack.is(ModTags.Items.USE_RIFLE_AMMO)) {
|
||||||
if (stack.getItem() == ModItems.M_60.get()) {
|
stack.getOrCreateTag().putInt("ammo", stack.getOrCreateTag().getInt("mag") + stack.getOrCreateTag().getInt("customMag") + (stack.is(ModTags.Items.EXTRA_ONE_AMMO) ? 1 : 0));
|
||||||
stack.getOrCreateTag().putInt("ammo", stack.getOrCreateTag().getInt("mag"));
|
|
||||||
} else {
|
|
||||||
stack.getOrCreateTag().putInt("ammo", stack.getOrCreateTag().getInt("mag") + 1);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -444,7 +436,7 @@ public class GunEventHandler {
|
||||||
player.getInventory().clearOrCountMatchingItems(p -> p.getItem() == ModItems.JAVELIN_MISSILE.get(), 1, player.inventoryMenu.getCraftSlots());
|
player.getInventory().clearOrCountMatchingItems(p -> p.getItem() == ModItems.JAVELIN_MISSILE.get(), 1, player.inventoryMenu.getCraftSlots());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
stack.getOrCreateTag().putInt("ammo", stack.getOrCreateTag().getInt("mag"));
|
stack.getOrCreateTag().putInt("ammo", stack.getOrCreateTag().getInt("mag") + stack.getOrCreateTag().getInt("customMag"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -583,7 +575,7 @@ public class GunEventHandler {
|
||||||
&& tag.getInt("reload_stage") == 2
|
&& tag.getInt("reload_stage") == 2
|
||||||
&& tag.getInt("iterative") == 0
|
&& tag.getInt("iterative") == 0
|
||||||
&& !tag.getBoolean("stop")
|
&& !tag.getBoolean("stop")
|
||||||
&& tag.getInt("ammo") < (int) tag.getDouble("mag")) {
|
&& tag.getInt("ammo") < (int) tag.getDouble("mag") + tag.getInt("customMag")) {
|
||||||
|
|
||||||
playGunLoopReloadSounds(player);
|
playGunLoopReloadSounds(player);
|
||||||
tag.putDouble("iterative", (int) tag.getDouble("iterative_time"));
|
tag.putDouble("iterative", (int) tag.getDouble("iterative_time"));
|
||||||
|
@ -613,7 +605,7 @@ public class GunEventHandler {
|
||||||
if (tag.getInt("iterative") == 1) {
|
if (tag.getInt("iterative") == 1) {
|
||||||
|
|
||||||
// 装满结束
|
// 装满结束
|
||||||
if (tag.getInt("ammo") >= (int) tag.getDouble("mag")) {
|
if (tag.getInt("ammo") >= (int) tag.getDouble("mag") + tag.getInt("customMag")) {
|
||||||
tag.putInt("reload_stage", 3);
|
tag.putInt("reload_stage", 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -555,7 +555,7 @@ public class LivingEventHandler {
|
||||||
float rate = level * 0.1f + (stack.is(ModTags.Items.SMG) || stack.is(ModTags.Items.RIFLE) ? 0.07f : 0f);
|
float rate = level * 0.1f + (stack.is(ModTags.Items.SMG) || stack.is(ModTags.Items.RIFLE) ? 0.07f : 0f);
|
||||||
|
|
||||||
player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
|
player.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
|
||||||
int mag = stack.getOrCreateTag().getInt("mag");
|
int mag = stack.getOrCreateTag().getInt("mag") + stack.getOrCreateTag().getInt("customMag");
|
||||||
int ammo = stack.getOrCreateTag().getInt("ammo");
|
int ammo = stack.getOrCreateTag().getInt("ammo");
|
||||||
int ammoReload = (int) Math.min(mag, mag * rate);
|
int ammoReload = (int) Math.min(mag, mag * rate);
|
||||||
int ammoNeed = Math.min(mag - ammo, ammoReload);
|
int ammoNeed = Math.min(mag - ammo, ammoReload);
|
||||||
|
|
|
@ -53,6 +53,7 @@ public class ModPerks {
|
||||||
public static final RegistryObject<Perk> SUBSISTENCE = FUNC_PERKS.register("subsistence", () -> new Perk("subsistence", Perk.Type.FUNCTIONAL));
|
public static final RegistryObject<Perk> SUBSISTENCE = FUNC_PERKS.register("subsistence", () -> new Perk("subsistence", Perk.Type.FUNCTIONAL));
|
||||||
public static final RegistryObject<Perk> FIELD_DOCTOR = FUNC_PERKS.register("field_doctor", () -> new Perk("field_doctor", Perk.Type.FUNCTIONAL));
|
public static final RegistryObject<Perk> FIELD_DOCTOR = FUNC_PERKS.register("field_doctor", () -> new Perk("field_doctor", Perk.Type.FUNCTIONAL));
|
||||||
public static final RegistryObject<Perk> SUPER_RECHARGE = FUNC_PERKS.register("super_recharge", () -> new Perk("super_recharge", Perk.Type.FUNCTIONAL));
|
public static final RegistryObject<Perk> SUPER_RECHARGE = FUNC_PERKS.register("super_recharge", () -> new Perk("super_recharge", Perk.Type.FUNCTIONAL));
|
||||||
|
public static final RegistryObject<Perk> DIMENSION_MAGAZINE = FUNC_PERKS.register("dimension_magazine", () -> new Perk("dimension_magazine", Perk.Type.FUNCTIONAL));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Damage Perks
|
* Damage Perks
|
||||||
|
|
|
@ -17,6 +17,7 @@ public class ModTags {
|
||||||
public static final TagKey<Item> USE_RIFLE_AMMO = tag("use_rifle_ammo");
|
public static final TagKey<Item> USE_RIFLE_AMMO = tag("use_rifle_ammo");
|
||||||
public static final TagKey<Item> USE_SHOTGUN_AMMO = tag("use_shotgun_ammo");
|
public static final TagKey<Item> USE_SHOTGUN_AMMO = tag("use_shotgun_ammo");
|
||||||
public static final TagKey<Item> USE_SNIPER_AMMO = tag("use_sniper_ammo");
|
public static final TagKey<Item> USE_SNIPER_AMMO = tag("use_sniper_ammo");
|
||||||
|
public static final TagKey<Item> EXTRA_ONE_AMMO = tag("extra_one_ammo");
|
||||||
|
|
||||||
public static final TagKey<Item> SMG = tag("smg");
|
public static final TagKey<Item> SMG = tag("smg");
|
||||||
public static final TagKey<Item> HANDGUN = tag("handgun");
|
public static final TagKey<Item> HANDGUN = tag("handgun");
|
||||||
|
|
|
@ -4,6 +4,7 @@ import net.mcreator.superbwarfare.ModUtils;
|
||||||
import net.mcreator.superbwarfare.init.ModItems;
|
import net.mcreator.superbwarfare.init.ModItems;
|
||||||
import net.mcreator.superbwarfare.init.ModPerks;
|
import net.mcreator.superbwarfare.init.ModPerks;
|
||||||
import net.mcreator.superbwarfare.init.ModTags;
|
import net.mcreator.superbwarfare.init.ModTags;
|
||||||
|
import net.mcreator.superbwarfare.network.ModVariables;
|
||||||
import net.mcreator.superbwarfare.perk.Perk;
|
import net.mcreator.superbwarfare.perk.Perk;
|
||||||
import net.mcreator.superbwarfare.perk.PerkHelper;
|
import net.mcreator.superbwarfare.perk.PerkHelper;
|
||||||
import net.mcreator.superbwarfare.tools.GunsTool;
|
import net.mcreator.superbwarfare.tools.GunsTool;
|
||||||
|
@ -85,6 +86,29 @@ public abstract class GunItem extends Item {
|
||||||
}
|
}
|
||||||
|
|
||||||
handleGunPerks(itemstack);
|
handleGunPerks(itemstack);
|
||||||
|
|
||||||
|
if ((itemstack.is(ModTags.Items.EXTRA_ONE_AMMO) && itemstack.getOrCreateTag().getInt("ammo") > itemstack.getOrCreateTag().getInt("mag") + itemstack.getOrCreateTag().getInt("customMag") + 1)
|
||||||
|
||(!itemstack.is(ModTags.Items.EXTRA_ONE_AMMO) && itemstack.getOrCreateTag().getInt("ammo") > itemstack.getOrCreateTag().getInt("mag") + itemstack.getOrCreateTag().getInt("customMag"))
|
||||||
|
) {
|
||||||
|
|
||||||
|
int count = itemstack.getOrCreateTag().getInt("ammo") - itemstack.getOrCreateTag().getInt("mag") + itemstack.getOrCreateTag().getInt("customMag") - (itemstack.is(ModTags.Items.EXTRA_ONE_AMMO) ? 1 : 0);
|
||||||
|
|
||||||
|
entity.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).ifPresent(capability -> {
|
||||||
|
|
||||||
|
if (itemstack.is(ModTags.Items.USE_SHOTGUN_AMMO)) {
|
||||||
|
capability.shotgunAmmo = entity.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).shotgunAmmo + count;
|
||||||
|
} else if (itemstack.is(ModTags.Items.USE_SNIPER_AMMO)) {
|
||||||
|
capability.sniperAmmo = entity.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).sniperAmmo + count;
|
||||||
|
} else if (itemstack.is(ModTags.Items.USE_HANDGUN_AMMO)) {
|
||||||
|
capability.handgunAmmo = entity.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).handgunAmmo + count;
|
||||||
|
} else if (itemstack.is(ModTags.Items.USE_RIFLE_AMMO)) {
|
||||||
|
capability.rifleAmmo = entity.getCapability(ModVariables.PLAYER_VARIABLES_CAPABILITY, null).orElse(new ModVariables.PlayerVariables()).rifleAmmo + count;
|
||||||
|
}
|
||||||
|
capability.syncPlayerVariables(entity);
|
||||||
|
});
|
||||||
|
|
||||||
|
itemstack.getOrCreateTag().putInt("ammo",itemstack.getOrCreateTag().getInt("mag") + itemstack.getOrCreateTag().getInt("customMag") + (itemstack.is(ModTags.Items.EXTRA_ONE_AMMO) ? 1 : 0));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -162,7 +186,7 @@ public abstract class GunItem extends Item {
|
||||||
stack.getOrCreateTag().putInt("FourthTimesCharmTick", 0);
|
stack.getOrCreateTag().putInt("FourthTimesCharmTick", 0);
|
||||||
stack.getOrCreateTag().putInt("FourthTimesCharmCount", 0);
|
stack.getOrCreateTag().putInt("FourthTimesCharmCount", 0);
|
||||||
|
|
||||||
int mag = stack.getOrCreateTag().getInt("mag");
|
int mag = stack.getOrCreateTag().getInt("mag") + stack.getOrCreateTag().getInt("customMag");
|
||||||
stack.getOrCreateTag().putInt("ammo", Math.min(mag, stack.getOrCreateTag().getInt("ammo") + 2));
|
stack.getOrCreateTag().putInt("ammo", Math.min(mag, stack.getOrCreateTag().getInt("ammo") + 2));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -170,6 +194,9 @@ public abstract class GunItem extends Item {
|
||||||
if (stack.getOrCreateTag().getInt("HeadSeeker") > 0) {
|
if (stack.getOrCreateTag().getInt("HeadSeeker") > 0) {
|
||||||
stack.getOrCreateTag().putInt("HeadSeeker", Math.max(0, stack.getOrCreateTag().getInt("HeadSeeker") - 1));
|
stack.getOrCreateTag().putInt("HeadSeeker", Math.max(0, stack.getOrCreateTag().getInt("HeadSeeker") - 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int mag_ = stack.getOrCreateTag().getInt("mag");
|
||||||
|
stack.getOrCreateTag().putInt("customMag", (int) (Math.ceil(0.15 * PerkHelper.getItemPerkLevel(ModPerks.DIMENSION_MAGAZINE.get(), stack) * mag_)));
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
|
|
|
@ -179,6 +179,6 @@ public class Glock17Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.HANDGUN_PERKS.test(perk);
|
return PerkHelper.HANDGUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -181,6 +181,6 @@ public class Glock18Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.HANDGUN_PERKS.test(perk);
|
return PerkHelper.HANDGUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -182,6 +182,6 @@ public class M1911Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.HANDGUN_PERKS.test(perk);
|
return PerkHelper.HANDGUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -177,6 +177,6 @@ public class DevotionItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.MACHINE_GUN_PERKS.test(perk);
|
return PerkHelper.MACHINE_GUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -183,6 +183,6 @@ public class M60Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.MACHINE_GUN_PERKS.test(perk);
|
return PerkHelper.MACHINE_GUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -179,6 +179,6 @@ public class RpkItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.MACHINE_GUN_PERKS.test(perk);
|
return PerkHelper.MACHINE_GUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -163,6 +163,6 @@ public class AK47Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.RIFLE_PERKS.test(perk);
|
return PerkHelper.RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -180,6 +180,6 @@ public class Hk416Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.RIFLE_PERKS.test(perk);
|
return PerkHelper.RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -180,6 +180,6 @@ public class M4Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.RIFLE_PERKS.test(perk);
|
return PerkHelper.RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -214,6 +214,6 @@ public class MarlinItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.RIFLE_PERKS.test(perk);
|
return PerkHelper.RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -180,6 +180,6 @@ public class Mk14Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.RIFLE_PERKS.test(perk);
|
return PerkHelper.RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -179,6 +179,6 @@ public class Qbz95Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.RIFLE_PERKS.test(perk);
|
return PerkHelper.RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -180,6 +180,6 @@ public class SksItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.RIFLE_PERKS.test(perk);
|
return PerkHelper.RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -191,6 +191,6 @@ public class Aa12Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.SHOTGUN_PERKS.test(perk);
|
return PerkHelper.SHOTGUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -201,6 +201,6 @@ public class M870Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.SHOTGUN_PERKS.test(perk);
|
return PerkHelper.SHOTGUN_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -179,6 +179,6 @@ public class VectorItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.SMG_PERKS.test(perk);
|
return PerkHelper.SMG_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -182,6 +182,6 @@ public class M98bItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk);
|
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -182,6 +182,6 @@ public class Ntw20Item extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk);
|
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -268,6 +268,6 @@ public class SentinelItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk);
|
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -180,6 +180,6 @@ public class SvdItem extends GunItem implements GeoItem, AnimatedItem {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canApplyPerk(Perk perk) {
|
public boolean canApplyPerk(Perk perk) {
|
||||||
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk);
|
return PerkHelper.SNIPER_RIFLE_PERKS.test(perk) || PerkHelper.MAGAZINE_PERKS.test(perk);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -90,23 +90,23 @@ public class ReloadMessage {
|
||||||
|
|
||||||
if (canReload || clipLoad) {
|
if (canReload || clipLoad) {
|
||||||
if (stack.is(ModTags.Items.OPEN_BOLT)) {
|
if (stack.is(ModTags.Items.OPEN_BOLT)) {
|
||||||
if (stack.getItem() == ModItems.M_60.get() || stack.getItem() == ModItems.ABEKIRI.get()) {
|
if (stack.is(ModTags.Items.EXTRA_ONE_AMMO)) {
|
||||||
if (tag.getInt("ammo") < tag.getDouble("mag")) {
|
if (tag.getInt("ammo") < tag.getDouble("mag") + tag.getInt("customMag") + 1) {
|
||||||
tag.putBoolean("start_reload", true);
|
tag.putBoolean("start_reload", true);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (tag.getInt("ammo") < tag.getDouble("mag") + 1) {
|
if (tag.getInt("ammo") < tag.getDouble("mag") + tag.getInt("customMag")) {
|
||||||
tag.putBoolean("start_reload", true);
|
tag.putBoolean("start_reload", true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (tag.getInt("ammo") < tag.getDouble("mag")) {
|
} else if (tag.getInt("ammo") < tag.getDouble("mag") + tag.getInt("customMag")) {
|
||||||
tag.putBoolean("start_reload", true);
|
tag.putBoolean("start_reload", true);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (canSingleReload) {
|
if (canSingleReload) {
|
||||||
if (tag.getInt("ammo") < tag.getDouble("mag")) {
|
if (tag.getInt("ammo") < tag.getDouble("mag") + tag.getInt("customMag")) {
|
||||||
tag.putBoolean("start_single_reload", true);
|
tag.putBoolean("start_single_reload", true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,6 @@ import net.minecraft.world.item.ItemStack;
|
||||||
import net.minecraftforge.registries.RegistryObject;
|
import net.minecraftforge.registries.RegistryObject;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.function.Predicate;
|
import java.util.function.Predicate;
|
||||||
|
|
||||||
|
@ -285,6 +284,8 @@ public class PerkHelper {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
public static final Predicate<Perk> MAGAZINE_PERKS = perk -> perk == ModPerks.DIMENSION_MAGAZINE.get();
|
||||||
|
|
||||||
public static final Predicate<Perk> LAUNCHER_PERKS = perk -> perk == ModPerks.MONSTER_HUNTER.get();
|
public static final Predicate<Perk> LAUNCHER_PERKS = perk -> perk == ModPerks.MONSTER_HUNTER.get();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,7 +60,7 @@ public class GunsTool {
|
||||||
public static void initCreativeGun(ItemStack stack, String location) {
|
public static void initCreativeGun(ItemStack stack, String location) {
|
||||||
if (gunsData != null && gunsData.get(location) != null) {
|
if (gunsData != null && gunsData.get(location) != null) {
|
||||||
gunsData.get(location).forEach((k, v) -> stack.getOrCreateTag().putDouble(k, v));
|
gunsData.get(location).forEach((k, v) -> stack.getOrCreateTag().putDouble(k, v));
|
||||||
stack.getOrCreateTag().putInt("ammo", stack.getOrCreateTag().getInt("mag"));
|
stack.getOrCreateTag().putInt("ammo", stack.getOrCreateTag().getInt("mag") + stack.getOrCreateTag().getInt("customMag"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -102,7 +102,7 @@ public class GunsTool {
|
||||||
|
|
||||||
CompoundTag tag = living.getMainHandItem().getOrCreateTag();
|
CompoundTag tag = living.getMainHandItem().getOrCreateTag();
|
||||||
|
|
||||||
int mag = tag.getInt("mag");
|
int mag = tag.getInt("mag") + tag.getInt("customMag");
|
||||||
int ammo = tag.getInt("ammo");
|
int ammo = tag.getInt("ammo");
|
||||||
int ammoToAdd = mag - ammo + (extraOne ? 1 : 0);
|
int ammoToAdd = mag - ammo + (extraOne ? 1 : 0);
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -254,6 +254,8 @@
|
||||||
"des.superbwarfare.field_doctor": "Bullets can heal teammate when shooting without the scope",
|
"des.superbwarfare.field_doctor": "Bullets can heal teammate when shooting without the scope",
|
||||||
"item.superbwarfare.super_recharge": "Super Recharge",
|
"item.superbwarfare.super_recharge": "Super Recharge",
|
||||||
"des.superbwarfare.super_recharge": "Increases the recharge speed of Taser Gun",
|
"des.superbwarfare.super_recharge": "Increases the recharge speed of Taser Gun",
|
||||||
|
"item.superbwarfare.dimension_magazine": "Dimension Magazine",
|
||||||
|
"des.superbwarfare.dimension_magazine": "Increases the magazine capacity",
|
||||||
|
|
||||||
"item.superbwarfare.kill_clip": "Kill Clip",
|
"item.superbwarfare.kill_clip": "Kill Clip",
|
||||||
"des.superbwarfare.kill_clip": "Increases the damage of weapon after dealing a final blow",
|
"des.superbwarfare.kill_clip": "Increases the damage of weapon after dealing a final blow",
|
||||||
|
|
|
@ -267,6 +267,8 @@
|
||||||
"des.superbwarfare.monster_hunter": "增加武器对怪物的伤害",
|
"des.superbwarfare.monster_hunter": "增加武器对怪物的伤害",
|
||||||
"item.superbwarfare.volt_overload": "电压过载",
|
"item.superbwarfare.volt_overload": "电压过载",
|
||||||
"des.superbwarfare.volt_overload": "增加泰瑟枪电击的伤害",
|
"des.superbwarfare.volt_overload": "增加泰瑟枪电击的伤害",
|
||||||
|
"item.superbwarfare.dimension_magazine": "次元弹匣",
|
||||||
|
"des.superbwarfare.dimension_magazine": "增加弹匣容量",
|
||||||
|
|
||||||
"perk.superbwarfare.tips": "[武器模组]",
|
"perk.superbwarfare.tips": "[武器模组]",
|
||||||
"perk.superbwarfare.slot": "类型: ",
|
"perk.superbwarfare.slot": "类型: ",
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"parent": "item/generated",
|
||||||
|
"textures": {
|
||||||
|
"layer0": "superbwarfare:item/perk/dimension_magazine"
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
After Width: | Height: | Size: 706 B |
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
"type": "minecraft:crafting_shaped",
|
||||||
|
"category": "equipment",
|
||||||
|
"pattern": [
|
||||||
|
"bcb",
|
||||||
|
"cac",
|
||||||
|
"bcb"
|
||||||
|
],
|
||||||
|
"key": {
|
||||||
|
"a": {
|
||||||
|
"item": "superbwarfare:empty_perk"
|
||||||
|
},
|
||||||
|
"b": {
|
||||||
|
"item":"minecraft:chest"
|
||||||
|
},
|
||||||
|
"c": {
|
||||||
|
"item": "minecraft:iron_ingot"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"result": {
|
||||||
|
"item": "superbwarfare:dimension_magazine",
|
||||||
|
"count": 1
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue