优化空仓换弹nbt
This commit is contained in:
parent
c2429e4aae
commit
b5563dcaa4
30 changed files with 48 additions and 32 deletions
|
@ -286,7 +286,7 @@ public class GunEventHandler {
|
|||
MinecraftForge.EVENT_BUS.post(new ReloadEvent.Pre(player, stack));
|
||||
if (stack.is(ModTags.Items.OPEN_BOLT)) {
|
||||
if (tag.getInt("ammo") == 0) {
|
||||
data.putInt("ReloadTime", (int) tag.getDouble("empty_reload_time") + 2);
|
||||
data.putInt("ReloadTime", data.getInt("EmptyReloadTime") + 2);
|
||||
stack.getOrCreateTag().putBoolean("is_empty_reloading", true);
|
||||
playGunEmptyReloadSounds(player);
|
||||
} else {
|
||||
|
@ -295,7 +295,7 @@ public class GunEventHandler {
|
|||
playGunNormalReloadSounds(player);
|
||||
}
|
||||
} else {
|
||||
data.putInt("ReloadTime", (int) tag.getDouble("empty_reload_time") + 2);
|
||||
data.putInt("ReloadTime", data.getInt("EmptyReloadTime") + 2);
|
||||
stack.getOrCreateTag().putBoolean("is_empty_reloading", true);
|
||||
playGunEmptyReloadSounds(player);
|
||||
}
|
||||
|
|
|
@ -63,7 +63,7 @@ public class ReloadMessage {
|
|||
CompoundTag tag = stack.getOrCreateTag();
|
||||
|
||||
boolean canSingleReload = tag.getDouble("iterative_time") != 0;
|
||||
boolean canReload = (tag.getDouble("normal_reload_time") != 0 || tag.getDouble("empty_reload_time") != 0) && tag.getDouble("clipLoad") != 1;
|
||||
boolean canReload = (tag.getDouble("normal_reload_time") != 0 || GunsTool.getGunIntTag(stack, "EmptyReloadTime") != 0) && tag.getDouble("clipLoad") != 1;
|
||||
boolean clipLoad = tag.getInt("ammo") == 0 && tag.getDouble("clipLoad") == 1;
|
||||
|
||||
// 检查备弹
|
||||
|
|
|
@ -53,12 +53,28 @@ public class GunsTool {
|
|||
|
||||
public static void initGun(Level level, ItemStack stack, String location) {
|
||||
if (level.getServer() == null) return;
|
||||
gunsData.get(location).forEach((k, v) -> stack.getOrCreateTag().putDouble(k, v));
|
||||
gunsData.get(location).forEach((k, v) -> {
|
||||
if (k.equals("EmptyReloadTime")) {
|
||||
CompoundTag data = stack.getOrCreateTag().getCompound("GunData");
|
||||
data.putDouble(k, v);
|
||||
stack.addTagElement("GunData", data);
|
||||
} else {
|
||||
stack.getOrCreateTag().putDouble(k, v);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public static void initCreativeGun(ItemStack stack, String location) {
|
||||
if (gunsData != null && gunsData.get(location) != null) {
|
||||
gunsData.get(location).forEach((k, v) -> stack.getOrCreateTag().putDouble(k, v));
|
||||
gunsData.get(location).forEach((k, v) -> {
|
||||
if (k.equals("EmptyReloadTime")) {
|
||||
CompoundTag data = stack.getOrCreateTag().getCompound("GunData");
|
||||
data.putDouble(k, v);
|
||||
stack.addTagElement("GunData", data);
|
||||
} else {
|
||||
stack.getOrCreateTag().putDouble(k, v);
|
||||
}
|
||||
});
|
||||
stack.getOrCreateTag().putInt("ammo", stack.getOrCreateTag().getInt("mag") + stack.getOrCreateTag().getInt("customMag"));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 64,
|
||||
"empty_reload_time": 85,
|
||||
"EmptyReloadTime": 85,
|
||||
"BypassesArmor": 0.05,
|
||||
"SoundRadius": 18,
|
||||
"rpm": 360
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 66,
|
||||
"empty_reload_time": 83,
|
||||
"EmptyReloadTime": 83,
|
||||
"BypassesArmor": 0.01,
|
||||
"SoundRadius": 16,
|
||||
"rpm": 600
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 52,
|
||||
"empty_reload_time": 58,
|
||||
"EmptyReloadTime": 58,
|
||||
"BypassesArmor": 0.23,
|
||||
"SoundRadius": 12,
|
||||
"rpm": 700
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 54,
|
||||
"empty_reload_time": 69,
|
||||
"EmptyReloadTime": 69,
|
||||
"BypassesArmor": 0.2,
|
||||
"SoundRadius": 14,
|
||||
"rpm": 600
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 73,
|
||||
"empty_reload_time": 95,
|
||||
"EmptyReloadTime": 95,
|
||||
"BypassesArmor": 0.25,
|
||||
"SoundRadius": 13,
|
||||
"rpm": 400
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 30,
|
||||
"empty_reload_time": 35,
|
||||
"EmptyReloadTime": 35,
|
||||
"BypassesArmor": 0.15,
|
||||
"SoundRadius": 10,
|
||||
"rpm": 400
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 30,
|
||||
"empty_reload_time": 35,
|
||||
"EmptyReloadTime": 35,
|
||||
"BypassesArmor": 0.15,
|
||||
"SoundRadius": 16,
|
||||
"rpm": 1300
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 56,
|
||||
"empty_reload_time": 64,
|
||||
"EmptyReloadTime": 64,
|
||||
"BypassesArmor": 0.25,
|
||||
"SoundRadius": 14,
|
||||
"rpm": 900
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
"burst": 0,
|
||||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"empty_reload_time": 64,
|
||||
"EmptyReloadTime": 64,
|
||||
"BypassesArmor": 0.7,
|
||||
"SoundRadius": 20,
|
||||
"rpm": 120
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
"zoomSpread": 5,
|
||||
"mag": 1,
|
||||
"weight": 10,
|
||||
"empty_reload_time": 78,
|
||||
"EmptyReloadTime": 78,
|
||||
"damage": 300,
|
||||
"BypassesArmor": 1
|
||||
}
|
|
@ -14,7 +14,7 @@
|
|||
"burst": 0,
|
||||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"empty_reload_time": 59,
|
||||
"EmptyReloadTime": 59,
|
||||
"clipLoad": 1,
|
||||
"prepare_time": 29,
|
||||
"iterative_time": 11,
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 30,
|
||||
"empty_reload_time": 35,
|
||||
"EmptyReloadTime": 35,
|
||||
"BypassesArmor": 0.2,
|
||||
"SoundRadius": 10,
|
||||
"rpm": 400
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 56,
|
||||
"empty_reload_time": 64,
|
||||
"EmptyReloadTime": 64,
|
||||
"BypassesArmor": 0.25,
|
||||
"SoundRadius": 14,
|
||||
"rpm": 850
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 114,
|
||||
"empty_reload_time": 133,
|
||||
"EmptyReloadTime": 133,
|
||||
"BypassesArmor": 0.25,
|
||||
"SoundRadius": 15,
|
||||
"rpm": 600
|
||||
|
|
|
@ -6,5 +6,5 @@
|
|||
"velocity": 3.75,
|
||||
"mag": 1,
|
||||
"weight": 4,
|
||||
"empty_reload_time": 64
|
||||
"EmptyReloadTime": 64
|
||||
}
|
|
@ -18,7 +18,7 @@
|
|||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 60,
|
||||
"empty_reload_time": 78,
|
||||
"EmptyReloadTime": 78,
|
||||
"BypassesArmor": 0.6,
|
||||
"SoundRadius": 18,
|
||||
"rpm": 180
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 58,
|
||||
"empty_reload_time": 81,
|
||||
"EmptyReloadTime": 81,
|
||||
"BypassesArmor": 0.4,
|
||||
"SoundRadius": 16,
|
||||
"rpm": 700
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 63,
|
||||
"empty_reload_time": 92,
|
||||
"EmptyReloadTime": 92,
|
||||
"BypassesArmor": 1,
|
||||
"SoundRadius": 22,
|
||||
"rpm": 90
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 58,
|
||||
"empty_reload_time": 74,
|
||||
"EmptyReloadTime": 74,
|
||||
"BypassesArmor": 0.28,
|
||||
"SoundRadius": 13,
|
||||
"rpm": 650
|
||||
|
|
|
@ -6,6 +6,6 @@
|
|||
"velocity": 4,
|
||||
"mag": 1,
|
||||
"weight": 7,
|
||||
"empty_reload_time": 103,
|
||||
"EmptyReloadTime": 103,
|
||||
"BypassesArmor": 1
|
||||
}
|
|
@ -14,7 +14,7 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 73,
|
||||
"empty_reload_time": 95,
|
||||
"EmptyReloadTime": 95,
|
||||
"BypassesArmor": 0.23,
|
||||
"SoundRadius": 14,
|
||||
"rpm": 600
|
||||
|
|
|
@ -16,7 +16,7 @@
|
|||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 59,
|
||||
"empty_reload_time": 89,
|
||||
"EmptyReloadTime": 89,
|
||||
"BypassesArmor": 0.8,
|
||||
"SoundRadius": 20,
|
||||
"rpm": 240
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 54,
|
||||
"empty_reload_time": 75,
|
||||
"EmptyReloadTime": 75,
|
||||
"BypassesArmor": 0.23,
|
||||
"SoundRadius": 16,
|
||||
"rpm": 400
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 56,
|
||||
"empty_reload_time": 70,
|
||||
"EmptyReloadTime": 70,
|
||||
"BypassesArmor": 0.45,
|
||||
"SoundRadius": 17,
|
||||
"rpm": 400
|
||||
|
|
|
@ -6,5 +6,5 @@
|
|||
"velocity": 3,
|
||||
"mag": 1,
|
||||
"weight": 1,
|
||||
"empty_reload_time": 58
|
||||
"EmptyReloadTime": 58
|
||||
}
|
|
@ -13,7 +13,7 @@
|
|||
"burst": 0,
|
||||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"empty_reload_time": 65,
|
||||
"EmptyReloadTime": 65,
|
||||
"BypassesArmor": 0.3,
|
||||
"SoundRadius": 10,
|
||||
"rpm": 300
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
"auto": 1,
|
||||
"burst_size": 3,
|
||||
"normal_reload_time": 46,
|
||||
"empty_reload_time": 64,
|
||||
"EmptyReloadTime": 64,
|
||||
"BypassesArmor": 0.15,
|
||||
"SoundRadius": 4,
|
||||
"rpm": 1200
|
||||
|
|
Loading…
Add table
Reference in a new issue