调整武器基础伤害不穿透护甲,设置武器穿甲伤害比例,注册4种穿甲伤害类型
This commit is contained in:
parent
86ffa2d843
commit
410bed0f45
33 changed files with 106 additions and 44 deletions
|
@ -17,7 +17,7 @@ import javax.annotation.Nullable;
|
|||
@SuppressWarnings("OptionalGetWithoutIsPresent")
|
||||
public class ModDamageTypes {
|
||||
public static final ResourceKey<DamageType> GUN_FIRE = ResourceKey.create(Registries.DAMAGE_TYPE, new ResourceLocation(ModUtils.MODID, "gunfire"));
|
||||
public static final ResourceKey<DamageType> GUN_FIRE_HEADSHOT = ResourceKey.create(Registries.DAMAGE_TYPE, new ResourceLocation(ModUtils.MODID, "gunfire_headshot"));
|
||||
public static final ResourceKey<DamageType> GUN_FIRE_BYPASS = ResourceKey.create(Registries.DAMAGE_TYPE, new ResourceLocation(ModUtils.MODID, "gunfire_bypass"));
|
||||
public static final ResourceKey<DamageType> ARROW_IN_KNEE = ResourceKey.create(Registries.DAMAGE_TYPE, new ResourceLocation(ModUtils.MODID, "arrow_in_knee"));
|
||||
public static final ResourceKey<DamageType> ARROW_IN_BRAIN = ResourceKey.create(Registries.DAMAGE_TYPE, new ResourceLocation(ModUtils.MODID, "arrow_in_brain"));
|
||||
public static final ResourceKey<DamageType> MINE = ResourceKey.create(Registries.DAMAGE_TYPE, new ResourceLocation(ModUtils.MODID, "mine"));
|
||||
|
@ -26,6 +26,12 @@ public class ModDamageTypes {
|
|||
public static final ResourceKey<DamageType> PROJECTILE_BOOM = ResourceKey.create(Registries.DAMAGE_TYPE, new ResourceLocation(ModUtils.MODID, "projectile_boom"));
|
||||
public static final ResourceKey<DamageType> CANNON_FIRE = ResourceKey.create(Registries.DAMAGE_TYPE, new ResourceLocation(ModUtils.MODID, "cannon_fire"));
|
||||
|
||||
|
||||
public static final ResourceKey<DamageType> GUN_FIRE_HEADSHOT = ResourceKey.create(Registries.DAMAGE_TYPE, new ResourceLocation(ModUtils.MODID, "gunfire_headshot"));
|
||||
public static final ResourceKey<DamageType> GUN_FIRE_HEADSHOT_BYPASS = ResourceKey.create(Registries.DAMAGE_TYPE, new ResourceLocation(ModUtils.MODID, "gunfire_headshot_bypass"));
|
||||
public static final ResourceKey<DamageType> ARROW_IN_KNEE_BYPASS = ResourceKey.create(Registries.DAMAGE_TYPE, new ResourceLocation(ModUtils.MODID, "arrow_in_knee_bypass"));
|
||||
public static final ResourceKey<DamageType> ARROW_IN_BRAIN_BYPASS = ResourceKey.create(Registries.DAMAGE_TYPE, new ResourceLocation(ModUtils.MODID, "arrow_in_brain_bypass"));
|
||||
|
||||
public static DamageSource causeGunFireDamage(RegistryAccess registryAccess, @Nullable Entity directEntity, @Nullable Entity attacker) {
|
||||
return new DamageMessages(registryAccess.registry(Registries.DAMAGE_TYPE).get().getHolderOrThrow(GUN_FIRE), directEntity, attacker);
|
||||
}
|
||||
|
@ -58,6 +64,22 @@ public class ModDamageTypes {
|
|||
return new DamageMessages(registryAccess.registry(Registries.DAMAGE_TYPE).get().getHolderOrThrow(CANNON_FIRE), directEntity, attacker);
|
||||
}
|
||||
|
||||
public static DamageSource causeGunFireDamageBypass(RegistryAccess registryAccess, @Nullable Entity directEntity, @Nullable Entity attacker) {
|
||||
return new DamageMessages(registryAccess.registry(Registries.DAMAGE_TYPE).get().getHolderOrThrow(GUN_FIRE_BYPASS), directEntity, attacker);
|
||||
}
|
||||
|
||||
public static DamageSource causeGunFireHeadshotDamageBypass(RegistryAccess registryAccess, @Nullable Entity directEntity, @Nullable Entity attacker) {
|
||||
return new DamageMessages(registryAccess.registry(Registries.DAMAGE_TYPE).get().getHolderOrThrow(GUN_FIRE_HEADSHOT_BYPASS), directEntity, attacker);
|
||||
}
|
||||
|
||||
public static DamageSource causeArrowInKneeDamageBypass(RegistryAccess registryAccess, @Nullable Entity directEntity, @Nullable Entity attacker) {
|
||||
return new DamageMessages(registryAccess.registry(Registries.DAMAGE_TYPE).get().getHolderOrThrow(ARROW_IN_KNEE_BYPASS), directEntity, attacker);
|
||||
}
|
||||
|
||||
public static DamageSource causeArrowInBrainDamageBypass(RegistryAccess registryAccess, @Nullable Entity directEntity, @Nullable Entity attacker) {
|
||||
return new DamageMessages(registryAccess.registry(Registries.DAMAGE_TYPE).get().getHolderOrThrow(ARROW_IN_BRAIN_BYPASS), directEntity, attacker);
|
||||
}
|
||||
|
||||
private static class DamageMessages extends DamageSource {
|
||||
public DamageMessages(Holder.Reference<DamageType> typeReference) {
|
||||
super(typeReference);
|
||||
|
|
|
@ -7,6 +7,4 @@ public class RarityTool {
|
|||
|
||||
public static final Rarity LEGENDARY = Rarity.create("target_legendary", ChatFormatting.GOLD);
|
||||
|
||||
public static final Rarity SPECIAL = Rarity.create("target_special", ChatFormatting.RED);
|
||||
|
||||
}
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"superbwarfare:gunfire",
|
||||
"superbwarfare:gunfire_headshot",
|
||||
"superbwarfare:arrow_in_knee",
|
||||
"superbwarfare:arrow_in_brain",
|
||||
"superbwarfare:gunfire_bypass",
|
||||
"superbwarfare:gunfire_headshot_bypass",
|
||||
"superbwarfare:arrow_in_knee_bypass",
|
||||
"superbwarfare:arrow_in_brain_bypass",
|
||||
"superbwarfare:shock",
|
||||
"superbwarfare:cannon_fire"
|
||||
]
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"superbwarfare:gunfire",
|
||||
"superbwarfare:gunfire_headshot",
|
||||
"superbwarfare:arrow_in_knee",
|
||||
"superbwarfare:arrow_in_brain",
|
||||
"superbwarfare:shock",
|
||||
"superbwarfare:cannon_fire"
|
||||
"superbwarfare:gunfire_bypass",
|
||||
"superbwarfare:gunfire_headshot_bypass",
|
||||
"superbwarfare:arrow_in_knee_bypass",
|
||||
"superbwarfare:arrow_in_brain_bypass",
|
||||
"superbwarfare:shock"
|
||||
]
|
||||
}
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"superbwarfare:gunfire",
|
||||
"superbwarfare:gunfire_headshot",
|
||||
"superbwarfare:arrow_in_knee",
|
||||
"superbwarfare:arrow_in_brain",
|
||||
"superbwarfare:gunfire_bypass",
|
||||
"superbwarfare:gunfire_headshot_bypass",
|
||||
"superbwarfare:arrow_in_knee_bypass",
|
||||
"superbwarfare:arrow_in_brain_bypass",
|
||||
"superbwarfare:shock",
|
||||
"superbwarfare:cannon_fire"
|
||||
]
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"replace": false,
|
||||
"values": [
|
||||
"superbwarfare:gunfire",
|
||||
"superbwarfare:gunfire_headshot",
|
||||
"superbwarfare:arrow_in_knee",
|
||||
"superbwarfare:arrow_in_brain",
|
||||
"superbwarfare:gunfire_bypass",
|
||||
"superbwarfare:gunfire_headshot_bypass",
|
||||
"superbwarfare:arrow_in_knee_bypass",
|
||||
"superbwarfare:arrow_in_brain_bypass",
|
||||
"superbwarfare:shock",
|
||||
"superbwarfare:cannon_fire"
|
||||
]
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"exhaustion": 0,
|
||||
"message_id": "arrow_in_brain",
|
||||
"scaling": "never"
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"exhaustion": 0,
|
||||
"message_id": "arrow_in_knee",
|
||||
"scaling": "never"
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"exhaustion": 0,
|
||||
"message_id": "gunfire",
|
||||
"scaling": "never"
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"exhaustion": 0,
|
||||
"message_id": "gunfire_headshot",
|
||||
"scaling": "never"
|
||||
}
|
|
@ -17,5 +17,6 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 64,
|
||||
"empty_reload_time": 85
|
||||
"empty_reload_time": 85,
|
||||
"BypassesArmor": 0.1
|
||||
}
|
||||
|
|
|
@ -17,5 +17,6 @@
|
|||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 66,
|
||||
"empty_reload_time": 83
|
||||
"empty_reload_time": 83,
|
||||
"BypassesArmor": 0
|
||||
}
|
|
@ -17,5 +17,6 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 54,
|
||||
"empty_reload_time": 69
|
||||
"empty_reload_time": 69,
|
||||
"BypassesArmor": 0.3
|
||||
}
|
|
@ -6,5 +6,6 @@
|
|||
"recoil_y": 0.003,
|
||||
"headshot": 1.5,
|
||||
"damage": 24,
|
||||
"weight": 1
|
||||
"weight": 1,
|
||||
"BypassesArmor": 0.25
|
||||
}
|
|
@ -18,5 +18,6 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 73,
|
||||
"empty_reload_time": 95
|
||||
"empty_reload_time": 95,
|
||||
"BypassesArmor": 0.4
|
||||
}
|
|
@ -17,5 +17,6 @@
|
|||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 30,
|
||||
"empty_reload_time": 35
|
||||
"empty_reload_time": 35,
|
||||
"BypassesArmor": 0.15
|
||||
}
|
|
@ -17,5 +17,6 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 30,
|
||||
"empty_reload_time": 35
|
||||
"empty_reload_time": 35,
|
||||
"BypassesArmor": 0.15
|
||||
}
|
|
@ -17,5 +17,6 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 56,
|
||||
"empty_reload_time": 64
|
||||
"empty_reload_time": 64,
|
||||
"BypassesArmor": 0.4
|
||||
}
|
|
@ -15,5 +15,6 @@
|
|||
"burst": 0,
|
||||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"empty_reload_time": 64
|
||||
"empty_reload_time": 64,
|
||||
"BypassesArmor": 0.5
|
||||
}
|
|
@ -17,5 +17,6 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 56,
|
||||
"empty_reload_time": 64
|
||||
"empty_reload_time": 64,
|
||||
"BypassesArmor": 0.4
|
||||
}
|
|
@ -18,5 +18,6 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 114,
|
||||
"empty_reload_time": 133
|
||||
"empty_reload_time": 133,
|
||||
"BypassesArmor": 0.4
|
||||
}
|
|
@ -20,5 +20,6 @@
|
|||
"prepare_time": 7,
|
||||
"prepare_load_time": 36,
|
||||
"iterative_time": 16,
|
||||
"finish_time": 12
|
||||
"finish_time": 12,
|
||||
"BypassesArmor": 0.1
|
||||
}
|
|
@ -20,5 +20,6 @@
|
|||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 64,
|
||||
"empty_reload_time": 86
|
||||
"empty_reload_time": 86,
|
||||
"BypassesArmor": 0.6
|
||||
}
|
|
@ -19,5 +19,6 @@
|
|||
"burst_size": 1,
|
||||
"prepare_time": 8,
|
||||
"iterative_time": 16,
|
||||
"finish_time": 19
|
||||
"finish_time": 19,
|
||||
"BypassesArmor": 0.3
|
||||
}
|
|
@ -9,5 +9,6 @@
|
|||
"fire_interval": 1,
|
||||
"weight": 2,
|
||||
"fire_mode": 2,
|
||||
"projectile_amount": 1
|
||||
"projectile_amount": 1,
|
||||
"BypassesArmor": 0.35
|
||||
}
|
|
@ -20,5 +20,6 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 58,
|
||||
"empty_reload_time": 81
|
||||
"empty_reload_time": 81,
|
||||
"BypassesArmor": 0.55
|
||||
}
|
|
@ -21,5 +21,6 @@
|
|||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 64,
|
||||
"empty_reload_time": 87
|
||||
"empty_reload_time": 87,
|
||||
"BypassesArmor": 1
|
||||
}
|
|
@ -18,5 +18,6 @@
|
|||
"auto": 1,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 73,
|
||||
"empty_reload_time": 95
|
||||
"empty_reload_time": 95,
|
||||
"BypassesArmor": 0.35
|
||||
}
|
|
@ -18,5 +18,6 @@
|
|||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 59,
|
||||
"empty_reload_time": 89
|
||||
"empty_reload_time": 89,
|
||||
"BypassesArmor": 0.7
|
||||
}
|
|
@ -17,5 +17,6 @@
|
|||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 54,
|
||||
"empty_reload_time": 75
|
||||
"empty_reload_time": 75,
|
||||
"BypassesArmor": 0.35
|
||||
}
|
|
@ -17,5 +17,6 @@
|
|||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"normal_reload_time": 56,
|
||||
"empty_reload_time": 70
|
||||
"empty_reload_time": 70,
|
||||
"BypassesArmor": 0.6
|
||||
}
|
|
@ -16,5 +16,6 @@
|
|||
"burst": 0,
|
||||
"auto": 0,
|
||||
"burst_size": 1,
|
||||
"empty_reload_time": 65
|
||||
"empty_reload_time": 65,
|
||||
"BypassesArmor": 0.25
|
||||
}
|
|
@ -17,5 +17,6 @@
|
|||
"auto": 1,
|
||||
"burst_size": 3,
|
||||
"normal_reload_time": 46,
|
||||
"empty_reload_time": 64
|
||||
"empty_reload_time": 64,
|
||||
"BypassesArmor": 0.15
|
||||
}
|
Loading…
Add table
Reference in a new issue