优化NBT#Semi & Burst & Auto
This commit is contained in:
parent
6f578f8d65
commit
dc20318309
28 changed files with 62 additions and 86 deletions
|
@ -62,12 +62,12 @@ public class FireModeMessage {
|
||||||
CompoundTag tag = stack.getOrCreateTag();
|
CompoundTag tag = stack.getOrCreateTag();
|
||||||
|
|
||||||
if (fireMode == 0) {
|
if (fireMode == 0) {
|
||||||
if (tag.getBoolean("burst")) {
|
if (GunsTool.getGunBooleanTag(stack, "Burst", false)) {
|
||||||
GunsTool.setGunIntTag(stack, "FireMode", 1);
|
GunsTool.setGunIntTag(stack, "FireMode", 1);
|
||||||
playChangeModeSound(player);
|
playChangeModeSound(player);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (tag.getBoolean("auto")) {
|
if (GunsTool.getGunBooleanTag(stack, "Auto", false)) {
|
||||||
GunsTool.setGunIntTag(stack, "FireMode", 2);
|
GunsTool.setGunIntTag(stack, "FireMode", 2);
|
||||||
playChangeModeSound(player);
|
playChangeModeSound(player);
|
||||||
return;
|
return;
|
||||||
|
@ -75,12 +75,12 @@ public class FireModeMessage {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fireMode == 1) {
|
if (fireMode == 1) {
|
||||||
if (tag.getBoolean("auto")) {
|
if (GunsTool.getGunBooleanTag(stack, "Auto", false)) {
|
||||||
GunsTool.setGunIntTag(stack, "FireMode", 2);
|
GunsTool.setGunIntTag(stack, "FireMode", 2);
|
||||||
playChangeModeSound(player);
|
playChangeModeSound(player);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (tag.getBoolean("semi")) {
|
if (GunsTool.getGunBooleanTag(stack, "Semi", false)) {
|
||||||
GunsTool.setGunIntTag(stack, "FireMode", 0);
|
GunsTool.setGunIntTag(stack, "FireMode", 0);
|
||||||
playChangeModeSound(player);
|
playChangeModeSound(player);
|
||||||
return;
|
return;
|
||||||
|
@ -88,12 +88,12 @@ public class FireModeMessage {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (fireMode == 2) {
|
if (fireMode == 2) {
|
||||||
if (tag.getBoolean("semi")) {
|
if (GunsTool.getGunBooleanTag(stack, "Semi", false)) {
|
||||||
GunsTool.setGunIntTag(stack, "FireMode", 0);
|
GunsTool.setGunIntTag(stack, "FireMode", 0);
|
||||||
playChangeModeSound(player);
|
playChangeModeSound(player);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (tag.getBoolean("burst")) {
|
if (GunsTool.getGunBooleanTag(stack, "Burst", false)) {
|
||||||
GunsTool.setGunIntTag(stack, "FireMode", 1);
|
GunsTool.setGunIntTag(stack, "FireMode", 1);
|
||||||
playChangeModeSound(player);
|
playChangeModeSound(player);
|
||||||
return;
|
return;
|
||||||
|
@ -116,7 +116,6 @@ public class FireModeMessage {
|
||||||
if (flag.get()) {
|
if (flag.get()) {
|
||||||
tag.putBoolean("start_sentinel_charge", true);
|
tag.putBoolean("start_sentinel_charge", true);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,7 +55,7 @@ public class GunsTool {
|
||||||
|
|
||||||
// TODO 临时使用,移植完毕后删除
|
// TODO 临时使用,移植完毕后删除
|
||||||
private static final Set<String> STRING_SET = Set.of("EmptyReloadTime", "FireMode", "Weight", "SoundRadius", "BurstSize", "ProjectileAmount",
|
private static final Set<String> STRING_SET = Set.of("EmptyReloadTime", "FireMode", "Weight", "SoundRadius", "BurstSize", "ProjectileAmount",
|
||||||
"Spread", "NormalReloadTime", "Headshot");
|
"Spread", "NormalReloadTime", "Headshot", "Semi", "Burst", "Auto");
|
||||||
|
|
||||||
public static void initGun(Level level, ItemStack stack, String location) {
|
public static void initGun(Level level, ItemStack stack, String location) {
|
||||||
if (level.getServer() == null) return;
|
if (level.getServer() == null) return;
|
||||||
|
@ -248,4 +248,22 @@ public class GunsTool {
|
||||||
if (!data.contains(name)) return defaultValue;
|
if (!data.contains(name)) return defaultValue;
|
||||||
return data.getDouble(name);
|
return data.getDouble(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void setGunBooleanTag(ItemStack stack, String name, boolean flag) {
|
||||||
|
CompoundTag tag = stack.getOrCreateTag();
|
||||||
|
var data = tag.getCompound("GunData");
|
||||||
|
data.putBoolean(name, flag);
|
||||||
|
stack.addTagElement("GunData", data);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean getGunBooleanTag(ItemStack stack, String name) {
|
||||||
|
return getGunBooleanTag(stack, name, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean getGunBooleanTag(ItemStack stack, String name, boolean defaultValue) {
|
||||||
|
CompoundTag tag = stack.getOrCreateTag();
|
||||||
|
var data = tag.getCompound("GunData");
|
||||||
|
if (!data.contains(name)) return defaultValue;
|
||||||
|
return data.getBoolean(name);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,9 +9,8 @@
|
||||||
"ProjectileAmount": 12,
|
"ProjectileAmount": 12,
|
||||||
"Weight": 7,
|
"Weight": 7,
|
||||||
"FireMode": 2,
|
"FireMode": 2,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
"Auto": 1,
|
||||||
"auto": 1,
|
|
||||||
"NormalReloadTime": 64,
|
"NormalReloadTime": 64,
|
||||||
"EmptyReloadTime": 85,
|
"EmptyReloadTime": 85,
|
||||||
"BypassesArmor": 0.05,
|
"BypassesArmor": 0.05,
|
||||||
|
|
|
@ -9,9 +9,7 @@
|
||||||
"ProjectileAmount": 12,
|
"ProjectileAmount": 12,
|
||||||
"Weight": 1,
|
"Weight": 1,
|
||||||
"FireMode": 0,
|
"FireMode": 0,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
|
||||||
"auto": 0,
|
|
||||||
"NormalReloadTime": 66,
|
"NormalReloadTime": 66,
|
||||||
"EmptyReloadTime": 83,
|
"EmptyReloadTime": 83,
|
||||||
"BypassesArmor": 0.01,
|
"BypassesArmor": 0.01,
|
||||||
|
|
|
@ -10,9 +10,8 @@
|
||||||
"mag": 30,
|
"mag": 30,
|
||||||
"Weight": 4,
|
"Weight": 4,
|
||||||
"FireMode": 2,
|
"FireMode": 2,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
"Auto": 1,
|
||||||
"auto": 1,
|
|
||||||
"NormalReloadTime": 52,
|
"NormalReloadTime": 52,
|
||||||
"EmptyReloadTime": 58,
|
"EmptyReloadTime": 58,
|
||||||
"BypassesArmor": 0.23,
|
"BypassesArmor": 0.23,
|
||||||
|
|
|
@ -10,9 +10,8 @@
|
||||||
"mag": 30,
|
"mag": 30,
|
||||||
"Weight": 5,
|
"Weight": 5,
|
||||||
"FireMode": 2,
|
"FireMode": 2,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
"Auto": 1,
|
||||||
"auto": 1,
|
|
||||||
"NormalReloadTime": 52,
|
"NormalReloadTime": 52,
|
||||||
"EmptyReloadTime": 65,
|
"EmptyReloadTime": 65,
|
||||||
"BypassesArmor": 0.2,
|
"BypassesArmor": 0.2,
|
||||||
|
|
|
@ -9,9 +9,7 @@
|
||||||
"mag": 55,
|
"mag": 55,
|
||||||
"Weight": 6,
|
"Weight": 6,
|
||||||
"FireMode": 2,
|
"FireMode": 2,
|
||||||
"semi": 0,
|
"Auto": 1,
|
||||||
"burst": 0,
|
|
||||||
"auto": 1,
|
|
||||||
"NormalReloadTime": 73,
|
"NormalReloadTime": 73,
|
||||||
"EmptyReloadTime": 95,
|
"EmptyReloadTime": 95,
|
||||||
"BypassesArmor": 0.25,
|
"BypassesArmor": 0.25,
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
"mag": 17,
|
"mag": 17,
|
||||||
"Weight": 1,
|
"Weight": 1,
|
||||||
"FireMode": 0,
|
"FireMode": 0,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
|
||||||
"auto": 0,
|
|
||||||
"NormalReloadTime": 30,
|
"NormalReloadTime": 30,
|
||||||
"EmptyReloadTime": 35,
|
"EmptyReloadTime": 35,
|
||||||
"BypassesArmor": 0.15,
|
"BypassesArmor": 0.15,
|
||||||
|
|
|
@ -8,9 +8,8 @@
|
||||||
"mag": 17,
|
"mag": 17,
|
||||||
"Weight": 1,
|
"Weight": 1,
|
||||||
"FireMode": 2,
|
"FireMode": 2,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
"Auto": 1,
|
||||||
"auto": 1,
|
|
||||||
"NormalReloadTime": 30,
|
"NormalReloadTime": 30,
|
||||||
"EmptyReloadTime": 35,
|
"EmptyReloadTime": 35,
|
||||||
"BypassesArmor": 0.15,
|
"BypassesArmor": 0.15,
|
||||||
|
|
|
@ -10,9 +10,8 @@
|
||||||
"mag": 30,
|
"mag": 30,
|
||||||
"Weight": 4,
|
"Weight": 4,
|
||||||
"FireMode": 2,
|
"FireMode": 2,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
"Auto": 1,
|
||||||
"auto": 1,
|
|
||||||
"NormalReloadTime": 56,
|
"NormalReloadTime": 56,
|
||||||
"EmptyReloadTime": 64,
|
"EmptyReloadTime": 64,
|
||||||
"BypassesArmor": 0.25,
|
"BypassesArmor": 0.25,
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
"mag": 1,
|
"mag": 1,
|
||||||
"Weight": 5,
|
"Weight": 5,
|
||||||
"FireMode": 0,
|
"FireMode": 0,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
|
||||||
"auto": 0,
|
|
||||||
"EmptyReloadTime": 64,
|
"EmptyReloadTime": 64,
|
||||||
"BypassesArmor": 0.7,
|
"BypassesArmor": 0.7,
|
||||||
"SoundRadius": 20
|
"SoundRadius": 20
|
||||||
|
|
|
@ -9,9 +9,7 @@
|
||||||
"bolt_action_time": 22,
|
"bolt_action_time": 22,
|
||||||
"Weight": 5,
|
"Weight": 5,
|
||||||
"FireMode": 0,
|
"FireMode": 0,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
|
||||||
"auto": 0,
|
|
||||||
"EmptyReloadTime": 59,
|
"EmptyReloadTime": 59,
|
||||||
"clipLoad": 1,
|
"clipLoad": 1,
|
||||||
"prepare_time": 29,
|
"prepare_time": 29,
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
"mag": 7,
|
"mag": 7,
|
||||||
"Weight": 2,
|
"Weight": 2,
|
||||||
"FireMode": 0,
|
"FireMode": 0,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
|
||||||
"auto": 0,
|
|
||||||
"NormalReloadTime": 30,
|
"NormalReloadTime": 30,
|
||||||
"EmptyReloadTime": 35,
|
"EmptyReloadTime": 35,
|
||||||
"BypassesArmor": 0.2,
|
"BypassesArmor": 0.2,
|
||||||
|
|
|
@ -10,9 +10,8 @@
|
||||||
"mag": 30,
|
"mag": 30,
|
||||||
"Weight": 4,
|
"Weight": 4,
|
||||||
"FireMode": 2,
|
"FireMode": 2,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
"Auto": 1,
|
||||||
"auto": 1,
|
|
||||||
"NormalReloadTime": 56,
|
"NormalReloadTime": 56,
|
||||||
"EmptyReloadTime": 64,
|
"EmptyReloadTime": 64,
|
||||||
"BypassesArmor": 0.25,
|
"BypassesArmor": 0.25,
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
"mag": 100,
|
"mag": 100,
|
||||||
"Weight": 8,
|
"Weight": 8,
|
||||||
"FireMode": 2,
|
"FireMode": 2,
|
||||||
"semi": 0,
|
"Auto": 1,
|
||||||
"burst": 0,
|
|
||||||
"auto": 1,
|
|
||||||
"NormalReloadTime": 114,
|
"NormalReloadTime": 114,
|
||||||
"EmptyReloadTime": 133,
|
"EmptyReloadTime": 133,
|
||||||
"BypassesArmor": 0.25,
|
"BypassesArmor": 0.25,
|
||||||
|
|
|
@ -10,9 +10,7 @@
|
||||||
"ProjectileAmount": 12,
|
"ProjectileAmount": 12,
|
||||||
"Weight": 4,
|
"Weight": 4,
|
||||||
"FireMode": 0,
|
"FireMode": 0,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
|
||||||
"auto": 0,
|
|
||||||
"prepare_time": 7,
|
"prepare_time": 7,
|
||||||
"prepare_load_time": 36,
|
"prepare_load_time": 36,
|
||||||
"iterative_time": 16,
|
"iterative_time": 16,
|
||||||
|
|
|
@ -12,9 +12,7 @@
|
||||||
"bolt_action_time": 18,
|
"bolt_action_time": 18,
|
||||||
"Weight": 7,
|
"Weight": 7,
|
||||||
"FireMode": 0,
|
"FireMode": 0,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
|
||||||
"auto": 0,
|
|
||||||
"NormalReloadTime": 60,
|
"NormalReloadTime": 60,
|
||||||
"EmptyReloadTime": 78,
|
"EmptyReloadTime": 78,
|
||||||
"BypassesArmor": 0.6,
|
"BypassesArmor": 0.6,
|
||||||
|
|
|
@ -9,9 +9,7 @@
|
||||||
"force_stop_reloading": 1,
|
"force_stop_reloading": 1,
|
||||||
"Weight": 3,
|
"Weight": 3,
|
||||||
"FireMode": 0,
|
"FireMode": 0,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
|
||||||
"auto": 0,
|
|
||||||
"prepare_time": 7,
|
"prepare_time": 7,
|
||||||
"iterative_time": 16,
|
"iterative_time": 16,
|
||||||
"finish_time": 19,
|
"finish_time": 19,
|
||||||
|
|
|
@ -10,9 +10,8 @@
|
||||||
"mag": 20,
|
"mag": 20,
|
||||||
"Weight": 5,
|
"Weight": 5,
|
||||||
"FireMode": 0,
|
"FireMode": 0,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
"Auto": 1,
|
||||||
"auto": 1,
|
|
||||||
"NormalReloadTime": 54,
|
"NormalReloadTime": 54,
|
||||||
"EmptyReloadTime": 71,
|
"EmptyReloadTime": 71,
|
||||||
"BypassesArmor": 0.4,
|
"BypassesArmor": 0.4,
|
||||||
|
|
|
@ -10,9 +10,7 @@
|
||||||
"bolt_action_time": 22,
|
"bolt_action_time": 22,
|
||||||
"Weight": 5,
|
"Weight": 5,
|
||||||
"FireMode": 0,
|
"FireMode": 0,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
|
||||||
"auto": 0,
|
|
||||||
"prepare_time": 29,
|
"prepare_time": 29,
|
||||||
"prepare_empty": 16,
|
"prepare_empty": 16,
|
||||||
"iterative_time": 11,
|
"iterative_time": 11,
|
||||||
|
|
|
@ -10,9 +10,7 @@
|
||||||
"bolt_action_time": 37,
|
"bolt_action_time": 37,
|
||||||
"Weight": 10,
|
"Weight": 10,
|
||||||
"FireMode": 0,
|
"FireMode": 0,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
|
||||||
"auto": 0,
|
|
||||||
"NormalReloadTime": 63,
|
"NormalReloadTime": 63,
|
||||||
"EmptyReloadTime": 92,
|
"EmptyReloadTime": 92,
|
||||||
"BypassesArmor": 1,
|
"BypassesArmor": 1,
|
||||||
|
|
|
@ -10,9 +10,8 @@
|
||||||
"mag": 30,
|
"mag": 30,
|
||||||
"Weight": 4,
|
"Weight": 4,
|
||||||
"FireMode": 2,
|
"FireMode": 2,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
"Auto": 1,
|
||||||
"auto": 1,
|
|
||||||
"NormalReloadTime": 60,
|
"NormalReloadTime": 60,
|
||||||
"EmptyReloadTime": 74,
|
"EmptyReloadTime": 74,
|
||||||
"BypassesArmor": 0.28,
|
"BypassesArmor": 0.28,
|
||||||
|
|
|
@ -8,9 +8,8 @@
|
||||||
"mag": 75,
|
"mag": 75,
|
||||||
"Weight": 6,
|
"Weight": 6,
|
||||||
"FireMode": 2,
|
"FireMode": 2,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
"Auto": 1,
|
||||||
"auto": 1,
|
|
||||||
"NormalReloadTime": 73,
|
"NormalReloadTime": 73,
|
||||||
"EmptyReloadTime": 95,
|
"EmptyReloadTime": 95,
|
||||||
"BypassesArmor": 0.23,
|
"BypassesArmor": 0.23,
|
||||||
|
|
|
@ -10,9 +10,7 @@
|
||||||
"bolt_action_time": 22,
|
"bolt_action_time": 22,
|
||||||
"Weight": 7,
|
"Weight": 7,
|
||||||
"FireMode": 0,
|
"FireMode": 0,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
|
||||||
"auto": 0,
|
|
||||||
"NormalReloadTime": 59,
|
"NormalReloadTime": 59,
|
||||||
"EmptyReloadTime": 89,
|
"EmptyReloadTime": 89,
|
||||||
"BypassesArmor": 0.8,
|
"BypassesArmor": 0.8,
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
"mag": 20,
|
"mag": 20,
|
||||||
"Weight": 4,
|
"Weight": 4,
|
||||||
"FireMode": 0,
|
"FireMode": 0,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
|
||||||
"auto": 0,
|
|
||||||
"NormalReloadTime": 54,
|
"NormalReloadTime": 54,
|
||||||
"EmptyReloadTime": 75,
|
"EmptyReloadTime": 75,
|
||||||
"BypassesArmor": 0.23,
|
"BypassesArmor": 0.23,
|
||||||
|
|
|
@ -9,9 +9,7 @@
|
||||||
"mag": 10,
|
"mag": 10,
|
||||||
"Weight": 5,
|
"Weight": 5,
|
||||||
"FireMode": 0,
|
"FireMode": 0,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
|
||||||
"auto": 0,
|
|
||||||
"NormalReloadTime": 56,
|
"NormalReloadTime": 56,
|
||||||
"EmptyReloadTime": 70,
|
"EmptyReloadTime": 70,
|
||||||
"BypassesArmor": 0.45,
|
"BypassesArmor": 0.45,
|
||||||
|
|
|
@ -8,9 +8,7 @@
|
||||||
"mag": 6,
|
"mag": 6,
|
||||||
"Weight": 2,
|
"Weight": 2,
|
||||||
"FireMode": 0,
|
"FireMode": 0,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 0,
|
|
||||||
"auto": 0,
|
|
||||||
"EmptyReloadTime": 65,
|
"EmptyReloadTime": 65,
|
||||||
"BypassesArmor": 0.3,
|
"BypassesArmor": 0.3,
|
||||||
"SoundRadius": 10,
|
"SoundRadius": 10,
|
||||||
|
|
|
@ -8,9 +8,9 @@
|
||||||
"mag": 13,
|
"mag": 13,
|
||||||
"Weight": 3,
|
"Weight": 3,
|
||||||
"FireMode": 2,
|
"FireMode": 2,
|
||||||
"semi": 1,
|
"Semi": 1,
|
||||||
"burst": 1,
|
"Burst": 1,
|
||||||
"auto": 1,
|
"Auto": 1,
|
||||||
"BurstSize": 3,
|
"BurstSize": 3,
|
||||||
"NormalReloadTime": 46,
|
"NormalReloadTime": 46,
|
||||||
"EmptyReloadTime": 64,
|
"EmptyReloadTime": 64,
|
||||||
|
|
Loading…
Add table
Reference in a new issue