添加可用FireMode字段
This commit is contained in:
parent
f7b93a8a88
commit
e6b6559be7
46 changed files with 23 additions and 155 deletions
|
@ -332,13 +332,6 @@ public abstract class GunItem extends Item implements CustomRendererItem {
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取武器可用的开火模式
|
||||
*/
|
||||
public int getAvailableFireModes() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取额外伤害加成
|
||||
*/
|
||||
|
|
|
@ -87,4 +87,7 @@ public class DefaultGunData {
|
|||
"!superbwarfare:longer_wire",
|
||||
"!superbwarfare:cupid_arrow"
|
||||
);
|
||||
|
||||
@SerializedName("AvailableFireModes")
|
||||
public int availableFireModes = 1;
|
||||
}
|
||||
|
|
|
@ -501,6 +501,10 @@ public class GunData {
|
|||
return availablePerks().contains(perk);
|
||||
}
|
||||
|
||||
public int getAvailableFireModes() {
|
||||
return defaultGunData().availableFireModes;
|
||||
}
|
||||
|
||||
// 可持久化属性开始
|
||||
public final IntValue ammo;
|
||||
public final IntValue fireMode;
|
||||
|
|
|
@ -128,11 +128,6 @@ public class Glock17Item extends GunItem implements GeoItem {
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addReloadTimeBehavior(Map<Integer, Consumer<GunData>> behaviors) {
|
||||
super.addReloadTimeBehavior(behaviors);
|
||||
|
|
|
@ -135,11 +135,6 @@ public class Glock18Item extends GunItem implements GeoItem {
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addReloadTimeBehavior(Map<Integer, Consumer<GunData>> behaviors) {
|
||||
super.addReloadTimeBehavior(behaviors);
|
||||
|
|
|
@ -130,11 +130,6 @@ public class M1911Item extends GunItem implements GeoItem {
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addReloadTimeBehavior(Map<Integer, Consumer<GunData>> behaviors) {
|
||||
super.addReloadTimeBehavior(behaviors);
|
||||
|
|
|
@ -127,11 +127,6 @@ public class Mp443Item extends GunItem implements GeoItem {
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addReloadTimeBehavior(Map<Integer, Consumer<GunData>> behaviors) {
|
||||
super.addReloadTimeBehavior(behaviors);
|
||||
|
|
|
@ -323,9 +323,4 @@ public class Trachelium extends GunItem implements GeoItem {
|
|||
public boolean hasCustomStock(ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag;
|
||||
}
|
||||
}
|
|
@ -189,9 +189,4 @@ public class Ntw20Item extends GunItem implements GeoItem {
|
|||
public boolean hasBipod(ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag;
|
||||
}
|
||||
}
|
|
@ -215,11 +215,6 @@ public class SecondaryCataclysm extends GunItem implements GeoItem, EnergyStorag
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getAmmoDisplayName(GunData data) {
|
||||
return "40mm Grenade";
|
||||
|
|
|
@ -116,9 +116,4 @@ public class DevotionItem extends GunItem implements GeoItem {
|
|||
public boolean canEjectShell(ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.AUTO.flag;
|
||||
}
|
||||
}
|
|
@ -148,11 +148,6 @@ public class M60Item extends GunItem implements GeoItem {
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.AUTO.flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void beforeShoot(GunData data, Player player, double spread, boolean zoom) {
|
||||
super.beforeShoot(data, player, spread, zoom);
|
||||
|
|
|
@ -253,9 +253,4 @@ public class RpkItem extends GunItem implements GeoItem {
|
|||
public boolean hasBipod(ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
||||
}
|
||||
}
|
|
@ -218,9 +218,4 @@ public class AK12Item extends GunItem implements GeoItem {
|
|||
public boolean canEjectShell(ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
||||
}
|
||||
}
|
|
@ -226,9 +226,4 @@ public class AK47Item extends GunItem implements GeoItem {
|
|||
public boolean canEjectShell(ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
||||
}
|
||||
}
|
|
@ -226,9 +226,4 @@ public class Hk416Item extends GunItem implements GeoItem {
|
|||
public boolean canEjectShell(ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
||||
}
|
||||
}
|
|
@ -92,9 +92,4 @@ public class InsidiousItem extends GunItem implements GeoItem {
|
|||
public boolean isMagazineReload(ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.BURST.flag;
|
||||
}
|
||||
}
|
|
@ -232,9 +232,4 @@ public class M4Item extends GunItem implements GeoItem {
|
|||
public boolean canEjectShell(ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
||||
}
|
||||
}
|
|
@ -132,9 +132,4 @@ public class MarlinItem extends GunItem implements GeoItem {
|
|||
public boolean isIterativeReload(ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag;
|
||||
}
|
||||
}
|
|
@ -229,11 +229,6 @@ public class Mk14Item extends GunItem implements GeoItem {
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addReloadTimeBehavior(Map<Integer, Consumer<GunData>> behaviors) {
|
||||
super.addReloadTimeBehavior(behaviors);
|
||||
|
|
|
@ -237,11 +237,6 @@ public class Qbz95Item extends GunItem implements GeoItem {
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addReloadTimeBehavior(Map<Integer, Consumer<GunData>> behaviors) {
|
||||
super.addReloadTimeBehavior(behaviors);
|
||||
|
|
|
@ -132,11 +132,6 @@ public class SksItem extends GunItem implements GeoItem {
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addReloadTimeBehavior(Map<Integer, Consumer<GunData>> behaviors) {
|
||||
super.addReloadTimeBehavior(behaviors);
|
||||
|
|
|
@ -146,9 +146,4 @@ public class Aa12Item extends GunItem implements GeoItem {
|
|||
public boolean canEjectShell(ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag + FireMode.AUTO.flag;
|
||||
}
|
||||
}
|
|
@ -53,7 +53,7 @@ public class HomemadeShotgunItem extends GunItem implements GeoItem {
|
|||
}
|
||||
|
||||
@Override
|
||||
public int getBarWidth(ItemStack stack) {
|
||||
public int getBarWidth(@NotNull ItemStack stack) {
|
||||
return Math.round(13.0F - (float) stack.getDamageValue() * 13.0F / (float) this.getMaxDamage(stack));
|
||||
}
|
||||
|
||||
|
@ -152,9 +152,4 @@ public class HomemadeShotgunItem extends GunItem implements GeoItem {
|
|||
stack.hurtAndBreak(1, (ServerLevel) player.level(), player, p -> {
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -142,9 +142,4 @@ public class M870Item extends GunItem implements GeoItem {
|
|||
public boolean isIterativeReload(ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag;
|
||||
}
|
||||
}
|
|
@ -209,9 +209,4 @@ public class VectorItem extends GunItem implements GeoItem {
|
|||
public boolean canEjectShell(ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag + FireMode.BURST.flag + FireMode.AUTO.flag;
|
||||
}
|
||||
}
|
|
@ -91,9 +91,4 @@ public class HuntingRifleItem extends GunItem implements GeoItem {
|
|||
public boolean isMagazineReload(ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag;
|
||||
}
|
||||
}
|
|
@ -146,9 +146,4 @@ public class K98Item extends GunItem implements GeoItem {
|
|||
public boolean isIterativeReload(ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag;
|
||||
}
|
||||
}
|
|
@ -125,9 +125,4 @@ public class M98bItem extends GunItem implements GeoItem {
|
|||
public boolean hasBulletInBarrel(ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag;
|
||||
}
|
||||
}
|
|
@ -139,9 +139,4 @@ public class MosinNagantItem extends GunItem implements GeoItem {
|
|||
public boolean isIterativeReload(ItemStack stack) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag;
|
||||
}
|
||||
}
|
|
@ -189,11 +189,6 @@ public class SentinelItem extends GunItem implements GeoItem, EnergyStorageItem
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void afterShoot(GunData data, Player player) {
|
||||
super.afterShoot(data, player);
|
||||
|
|
|
@ -183,11 +183,6 @@ public class SvdItem extends GunItem implements GeoItem {
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getAvailableFireModes() {
|
||||
return FireMode.SEMI.flag;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addReloadTimeBehavior(Map<Integer, Consumer<GunData>> behaviors) {
|
||||
super.addReloadTimeBehavior(behaviors);
|
||||
|
|
|
@ -32,12 +32,12 @@ public record FireModeMessage(int msgType) implements CustomPacketPayload {
|
|||
|
||||
public static void changeFireMode(Player player) {
|
||||
ItemStack stack = player.getMainHandItem();
|
||||
if (stack.getItem() instanceof GunItem gunItem) {
|
||||
if (stack.getItem() instanceof GunItem) {
|
||||
var data = GunData.from(stack);
|
||||
var tag = data.tag();
|
||||
int fireMode = data.fireMode.get();
|
||||
|
||||
int mode = gunItem.getAvailableFireModes();
|
||||
int mode = data.getAvailableFireModes();
|
||||
mode &= 0b111;
|
||||
|
||||
if (fireMode == 0) {
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
"BypassesArmor": 0.05,
|
||||
"SoundRadius": 18,
|
||||
"RPM": 360,
|
||||
"AvailableFireModes": 5,
|
||||
"AmmoType": "@ShotgunAmmo",
|
||||
"AvailablePerks": [
|
||||
"@Ammo",
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
"BypassesArmor": 0.23,
|
||||
"SoundRadius": 12,
|
||||
"RPM": 700,
|
||||
"AvailableFireModes": 5,
|
||||
"AmmoType": "@RifleAmmo",
|
||||
"AvailablePerks": [
|
||||
"@Ammo",
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
"BypassesArmor": 0.2,
|
||||
"SoundRadius": 14,
|
||||
"RPM": 600,
|
||||
"AvailableFireModes": 5,
|
||||
"AmmoType": "@RifleAmmo",
|
||||
"AvailablePerks": [
|
||||
"@Ammo",
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
"BypassesArmor": 0.25,
|
||||
"SoundRadius": 13,
|
||||
"RPM": 400,
|
||||
"AvailableFireModes": 4,
|
||||
"AmmoType": "@RifleAmmo",
|
||||
"AvailablePerks": [
|
||||
"@Ammo",
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
"BypassesArmor": 0.15,
|
||||
"SoundRadius": 8,
|
||||
"RPM": 1300,
|
||||
"AvailableFireModes": 5,
|
||||
"AmmoType": "@HandgunAmmo",
|
||||
"AvailablePerks": [
|
||||
"@Ammo",
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
"BypassesArmor": 0.25,
|
||||
"SoundRadius": 14,
|
||||
"RPM": 900,
|
||||
"AvailableFireModes": 5,
|
||||
"AmmoType": "@RifleAmmo",
|
||||
"AvailablePerks": [
|
||||
"@Ammo",
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
"BypassesArmor": 0.4,
|
||||
"SoundRadius": 12,
|
||||
"RPM": 900,
|
||||
"AvailableFireModes": 2,
|
||||
"AmmoType": "@RifleAmmo",
|
||||
"AvailablePerks": [
|
||||
"@Ammo",
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
"BypassesArmor": 0.25,
|
||||
"SoundRadius": 14,
|
||||
"RPM": 850,
|
||||
"AvailableFireModes": 5,
|
||||
"AmmoType": "@RifleAmmo",
|
||||
"AvailablePerks": [
|
||||
"@Ammo",
|
||||
|
|
|
@ -13,6 +13,7 @@
|
|||
"BypassesArmor": 0.25,
|
||||
"SoundRadius": 15,
|
||||
"RPM": 600,
|
||||
"AvailableFireModes": 4,
|
||||
"AmmoType": "@RifleAmmo",
|
||||
"AvailablePerks": [
|
||||
"@Ammo",
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
"BypassesArmor": 0.4,
|
||||
"SoundRadius": 16,
|
||||
"RPM": 700,
|
||||
"AvailableFireModes": 5,
|
||||
"AmmoType": "@RifleAmmo",
|
||||
"AvailablePerks": [
|
||||
"@Ammo",
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
"BypassesArmor": 0.28,
|
||||
"SoundRadius": 13,
|
||||
"RPM": 650,
|
||||
"AvailableFireModes": 5,
|
||||
"AmmoType": "@RifleAmmo",
|
||||
"AvailablePerks": [
|
||||
"@Ammo",
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
"BypassesArmor": 0.23,
|
||||
"SoundRadius": 14,
|
||||
"RPM": 600,
|
||||
"AvailableFireModes": 5,
|
||||
"AmmoType": "@RifleAmmo",
|
||||
"AvailablePerks": [
|
||||
"@Ammo",
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
"BypassesArmor": 0.15,
|
||||
"SoundRadius": 11,
|
||||
"RPM": 1200,
|
||||
"AvailableFireModes": 7,
|
||||
"AmmoType": "@HandgunAmmo",
|
||||
"AvailablePerks": [
|
||||
"@Ammo",
|
||||
|
|
Loading…
Add table
Reference in a new issue