优化NBT#NormalReloadTime

This commit is contained in:
17146 2024-12-24 14:53:17 +08:00
parent fdaa4c48d6
commit c00da95dbf
23 changed files with 27 additions and 28 deletions

View file

@ -273,6 +273,7 @@ public class GunEventHandler {
return 1; return 1;
} }
@SuppressWarnings("ConstantValue")
private static boolean handleButterflyBullet(Perk perk, ItemStack heldItem, Player player) { private static boolean handleButterflyBullet(Perk perk, ItemStack heldItem, Player player) {
int perkLevel = PerkHelper.getItemPerkLevel(perk, heldItem); int perkLevel = PerkHelper.getItemPerkLevel(perk, heldItem);
@ -321,7 +322,7 @@ public class GunEventHandler {
stack.getOrCreateTag().putBoolean("is_empty_reloading", true); stack.getOrCreateTag().putBoolean("is_empty_reloading", true);
playGunEmptyReloadSounds(player); playGunEmptyReloadSounds(player);
} else { } else {
data.putInt("ReloadTime", (int) tag.getDouble("normal_reload_time") + 1); data.putInt("ReloadTime", GunsTool.getGunIntTag(stack, "NormalReloadTime") + 1);
stack.getOrCreateTag().putBoolean("is_normal_reloading", true); stack.getOrCreateTag().putBoolean("is_normal_reloading", true);
playGunNormalReloadSounds(player); playGunNormalReloadSounds(player);
} }
@ -845,9 +846,7 @@ public class GunEventHandler {
ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, player)).getBlockPos()))); ClipContext.Block.OUTLINE, ClipContext.Fluid.NONE, player)).getBlockPos())));
if (stack.is(ModItems.MARLIN.get())) { if (stack.is(ModItems.MARLIN.get())) {
ModUtils.queueServerWork((int) (5 + 1.5 * shooterHeight), () -> { ModUtils.queueServerWork((int) (5 + 1.5 * shooterHeight), () -> SoundTool.playLocalSound(serverPlayer, ModSounds.SHELL_CASING_NORMAL.get(), (float) Math.max(1.5 - 0.2 * shooterHeight, 0), 1));
SoundTool.playLocalSound(serverPlayer, ModSounds.SHELL_CASING_NORMAL.get(), (float) Math.max(1.5 - 0.2 * shooterHeight, 0), 1);
});
} }
} }
} }

View file

@ -1,9 +1,9 @@
package com.atsuishio.superbwarfare.network.message; package com.atsuishio.superbwarfare.network.message;
import com.atsuishio.superbwarfare.network.ModVariables;
import com.atsuishio.superbwarfare.tools.GunsTool;
import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModItems;
import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.init.ModTags;
import com.atsuishio.superbwarfare.network.ModVariables;
import com.atsuishio.superbwarfare.tools.GunsTool;
import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.CompoundTag;
import net.minecraft.network.FriendlyByteBuf; import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.player.Player;
@ -64,7 +64,7 @@ public class ReloadMessage {
CompoundTag tag = stack.getOrCreateTag(); CompoundTag tag = stack.getOrCreateTag();
boolean canSingleReload = tag.getDouble("iterative_time") != 0; boolean canSingleReload = tag.getDouble("iterative_time") != 0;
boolean canReload = (tag.getDouble("normal_reload_time") != 0 || GunsTool.getGunIntTag(stack, "EmptyReloadTime") != 0) && tag.getDouble("clipLoad") != 1; boolean canReload = (GunsTool.getGunIntTag(stack, "NormalReloadTime") != 0 || GunsTool.getGunIntTag(stack, "EmptyReloadTime") != 0) && tag.getDouble("clipLoad") != 1;
boolean clipLoad = tag.getInt("ammo") == 0 && tag.getDouble("clipLoad") == 1; boolean clipLoad = tag.getInt("ammo") == 0 && tag.getDouble("clipLoad") == 1;
// 检查备弹 // 检查备弹

View file

@ -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"); "Spread", "NormalReloadTime");
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;

View file

@ -12,7 +12,7 @@
"semi": 1, "semi": 1,
"burst": 0, "burst": 0,
"auto": 1, "auto": 1,
"normal_reload_time": 64, "NormalReloadTime": 64,
"EmptyReloadTime": 85, "EmptyReloadTime": 85,
"BypassesArmor": 0.05, "BypassesArmor": 0.05,
"SoundRadius": 18, "SoundRadius": 18,

View file

@ -12,7 +12,7 @@
"semi": 1, "semi": 1,
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"normal_reload_time": 66, "NormalReloadTime": 66,
"EmptyReloadTime": 83, "EmptyReloadTime": 83,
"BypassesArmor": 0.01, "BypassesArmor": 0.01,
"SoundRadius": 16, "SoundRadius": 16,

View file

@ -13,7 +13,7 @@
"semi": 1, "semi": 1,
"burst": 0, "burst": 0,
"auto": 1, "auto": 1,
"normal_reload_time": 52, "NormalReloadTime": 52,
"EmptyReloadTime": 58, "EmptyReloadTime": 58,
"BypassesArmor": 0.23, "BypassesArmor": 0.23,
"SoundRadius": 12, "SoundRadius": 12,

View file

@ -13,7 +13,7 @@
"semi": 1, "semi": 1,
"burst": 0, "burst": 0,
"auto": 1, "auto": 1,
"normal_reload_time": 52, "NormalReloadTime": 52,
"EmptyReloadTime": 65, "EmptyReloadTime": 65,
"BypassesArmor": 0.2, "BypassesArmor": 0.2,
"SoundRadius": 14, "SoundRadius": 14,

View file

@ -12,7 +12,7 @@
"semi": 0, "semi": 0,
"burst": 0, "burst": 0,
"auto": 1, "auto": 1,
"normal_reload_time": 73, "NormalReloadTime": 73,
"EmptyReloadTime": 95, "EmptyReloadTime": 95,
"BypassesArmor": 0.25, "BypassesArmor": 0.25,
"SoundRadius": 13, "SoundRadius": 13,

View file

@ -11,7 +11,7 @@
"semi": 1, "semi": 1,
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"normal_reload_time": 30, "NormalReloadTime": 30,
"EmptyReloadTime": 35, "EmptyReloadTime": 35,
"BypassesArmor": 0.15, "BypassesArmor": 0.15,
"SoundRadius": 8, "SoundRadius": 8,

View file

@ -11,7 +11,7 @@
"semi": 1, "semi": 1,
"burst": 0, "burst": 0,
"auto": 1, "auto": 1,
"normal_reload_time": 30, "NormalReloadTime": 30,
"EmptyReloadTime": 35, "EmptyReloadTime": 35,
"BypassesArmor": 0.15, "BypassesArmor": 0.15,
"SoundRadius": 8, "SoundRadius": 8,

View file

@ -13,7 +13,7 @@
"semi": 1, "semi": 1,
"burst": 0, "burst": 0,
"auto": 1, "auto": 1,
"normal_reload_time": 56, "NormalReloadTime": 56,
"EmptyReloadTime": 64, "EmptyReloadTime": 64,
"BypassesArmor": 0.25, "BypassesArmor": 0.25,
"SoundRadius": 14, "SoundRadius": 14,

View file

@ -11,7 +11,7 @@
"semi": 1, "semi": 1,
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"normal_reload_time": 30, "NormalReloadTime": 30,
"EmptyReloadTime": 35, "EmptyReloadTime": 35,
"BypassesArmor": 0.2, "BypassesArmor": 0.2,
"SoundRadius": 10, "SoundRadius": 10,

View file

@ -13,7 +13,7 @@
"semi": 1, "semi": 1,
"burst": 0, "burst": 0,
"auto": 1, "auto": 1,
"normal_reload_time": 56, "NormalReloadTime": 56,
"EmptyReloadTime": 64, "EmptyReloadTime": 64,
"BypassesArmor": 0.25, "BypassesArmor": 0.25,
"SoundRadius": 14, "SoundRadius": 14,

View file

@ -11,7 +11,7 @@
"semi": 0, "semi": 0,
"burst": 0, "burst": 0,
"auto": 1, "auto": 1,
"normal_reload_time": 114, "NormalReloadTime": 114,
"EmptyReloadTime": 133, "EmptyReloadTime": 133,
"BypassesArmor": 0.25, "BypassesArmor": 0.25,
"SoundRadius": 15, "SoundRadius": 15,

View file

@ -15,7 +15,7 @@
"semi": 1, "semi": 1,
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"normal_reload_time": 60, "NormalReloadTime": 60,
"EmptyReloadTime": 78, "EmptyReloadTime": 78,
"BypassesArmor": 0.6, "BypassesArmor": 0.6,
"SoundRadius": 18 "SoundRadius": 18

View file

@ -13,7 +13,7 @@
"semi": 1, "semi": 1,
"burst": 0, "burst": 0,
"auto": 1, "auto": 1,
"normal_reload_time": 54, "NormalReloadTime": 54,
"EmptyReloadTime": 71, "EmptyReloadTime": 71,
"BypassesArmor": 0.4, "BypassesArmor": 0.4,
"SoundRadius": 16, "SoundRadius": 16,

View file

@ -13,7 +13,7 @@
"semi": 1, "semi": 1,
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"normal_reload_time": 63, "NormalReloadTime": 63,
"EmptyReloadTime": 92, "EmptyReloadTime": 92,
"BypassesArmor": 1, "BypassesArmor": 1,
"SoundRadius": 22 "SoundRadius": 22

View file

@ -13,7 +13,7 @@
"semi": 1, "semi": 1,
"burst": 0, "burst": 0,
"auto": 1, "auto": 1,
"normal_reload_time": 60, "NormalReloadTime": 60,
"EmptyReloadTime": 74, "EmptyReloadTime": 74,
"BypassesArmor": 0.28, "BypassesArmor": 0.28,
"SoundRadius": 13, "SoundRadius": 13,

View file

@ -11,7 +11,7 @@
"semi": 1, "semi": 1,
"burst": 0, "burst": 0,
"auto": 1, "auto": 1,
"normal_reload_time": 73, "NormalReloadTime": 73,
"EmptyReloadTime": 95, "EmptyReloadTime": 95,
"BypassesArmor": 0.23, "BypassesArmor": 0.23,
"SoundRadius": 14, "SoundRadius": 14,

View file

@ -13,7 +13,7 @@
"semi": 1, "semi": 1,
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"normal_reload_time": 59, "NormalReloadTime": 59,
"EmptyReloadTime": 89, "EmptyReloadTime": 89,
"BypassesArmor": 0.8, "BypassesArmor": 0.8,
"SoundRadius": 20 "SoundRadius": 20

View file

@ -11,7 +11,7 @@
"semi": 1, "semi": 1,
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"normal_reload_time": 54, "NormalReloadTime": 54,
"EmptyReloadTime": 75, "EmptyReloadTime": 75,
"BypassesArmor": 0.23, "BypassesArmor": 0.23,
"SoundRadius": 16, "SoundRadius": 16,

View file

@ -12,7 +12,7 @@
"semi": 1, "semi": 1,
"burst": 0, "burst": 0,
"auto": 0, "auto": 0,
"normal_reload_time": 56, "NormalReloadTime": 56,
"EmptyReloadTime": 70, "EmptyReloadTime": 70,
"BypassesArmor": 0.45, "BypassesArmor": 0.45,
"SoundRadius": 17, "SoundRadius": 17,

View file

@ -12,7 +12,7 @@
"burst": 1, "burst": 1,
"auto": 1, "auto": 1,
"BurstSize": 3, "BurstSize": 3,
"normal_reload_time": 46, "NormalReloadTime": 46,
"EmptyReloadTime": 64, "EmptyReloadTime": 64,
"BypassesArmor": 0.15, "BypassesArmor": 0.15,
"SoundRadius": 11, "SoundRadius": 11,