diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/A10Entity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/A10Entity.java index 333a2cdfb..afa617685 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/A10Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/A10Entity.java @@ -3,12 +3,13 @@ package com.atsuishio.superbwarfare.entity.vehicle; import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.config.server.ExplosionConfig; import com.atsuishio.superbwarfare.config.server.VehicleConfig; -import com.atsuishio.superbwarfare.entity.projectile.GunGrenadeEntity; -import com.atsuishio.superbwarfare.entity.projectile.MortarShellEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.*; import com.atsuishio.superbwarfare.entity.vehicle.damage.DamageModifier; import com.atsuishio.superbwarfare.entity.vehicle.weapon.*; -import com.atsuishio.superbwarfare.init.*; +import com.atsuishio.superbwarfare.init.ModDamageTypes; +import com.atsuishio.superbwarfare.init.ModItems; +import com.atsuishio.superbwarfare.init.ModParticleTypes; +import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.network.message.receive.ShakeClientMessage; import com.atsuishio.superbwarfare.tools.*; import com.mojang.math.Axis; @@ -30,7 +31,6 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.damagesource.DamageTypes; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.MoverType; @@ -152,33 +152,7 @@ public class A10Entity extends ContainerMobileVehicleEntity implements GeoEntity @Override public DamageModifier getDamageModifier() { return super.getDamageModifier() - .multiply(getHealth() > 0.1f ? 0.4f : 0.05f) - .multiply(1.5f, DamageTypes.ARROW) - .multiply(1.5f, DamageTypes.TRIDENT) - .multiply(2.5f, DamageTypes.MOB_ATTACK) - .multiply(2f, DamageTypes.MOB_ATTACK_NO_AGGRO) - .multiply(1.5f, DamageTypes.MOB_PROJECTILE) - .multiply(12.5f, DamageTypes.LAVA) - .multiply(6f, DamageTypes.EXPLOSION) - .multiply(6f, DamageTypes.PLAYER_EXPLOSION) - .multiply(2.4f, ModDamageTypes.CUSTOM_EXPLOSION) - .multiply(2f, ModDamageTypes.PROJECTILE_BOOM) - .multiply(0.75f, ModDamageTypes.MINE) - .multiply(1.5f, ModDamageTypes.CANNON_FIRE) - .multiply(0.25f, ModTags.DamageTypes.PROJECTILE) - .multiply(0.85f, ModTags.DamageTypes.PROJECTILE_ABSOLUTE) - .multiply(15f, ModDamageTypes.VEHICLE_STRIKE) - .custom((source, damage) -> getSourceAngle(source, 0.25f) * damage) - .custom((source, damage) -> { - if (source.getDirectEntity() instanceof MortarShellEntity) { - return 1.25f * damage; - } - if (source.getDirectEntity() instanceof GunGrenadeEntity) { - return 1.5f * damage; - } - return damage; - }) - .reduce(7); + .custom((source, damage) -> getSourceAngle(source, 0.25f) * damage * (getHealth() > 0.1f ? 0.4f : 0.05f)); } @Override diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Ah6Entity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Ah6Entity.java index bbc4c3425..5c637e9e9 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Ah6Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Ah6Entity.java @@ -3,7 +3,7 @@ package com.atsuishio.superbwarfare.entity.vehicle; import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.config.server.ExplosionConfig; import com.atsuishio.superbwarfare.config.server.VehicleConfig; -import com.atsuishio.superbwarfare.entity.projectile.*; +import com.atsuishio.superbwarfare.entity.projectile.AerialBombEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.ContainerMobileVehicleEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.HelicopterEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.ThirdPersonCameraPosition; @@ -15,7 +15,6 @@ import com.atsuishio.superbwarfare.entity.vehicle.weapon.VehicleWeapon; import com.atsuishio.superbwarfare.init.ModDamageTypes; import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModSounds; -import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.tools.Ammo; import com.atsuishio.superbwarfare.tools.CustomExplosion; import com.atsuishio.superbwarfare.tools.InventoryTool; @@ -33,7 +32,6 @@ import net.minecraft.sounds.SoundEvent; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.damagesource.DamageTypes; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.player.Player; @@ -130,45 +128,13 @@ public class Ah6Entity extends ContainerMobileVehicleEntity implements GeoEntity @Override public DamageModifier getDamageModifier() { return super.getDamageModifier() - .multiply(getHealth() > 0.1f ? 0.7f : 0.05f) - .multiply(0.2f, DamageTypes.ARROW) - .multiply(0.4f, DamageTypes.TRIDENT) - .multiply(0.4f, DamageTypes.MOB_ATTACK) - .multiply(0.4f, DamageTypes.MOB_ATTACK_NO_AGGRO) - .multiply(0.4f, DamageTypes.MOB_PROJECTILE) - .multiply(0.4f, DamageTypes.PLAYER_ATTACK) - .multiply(4, DamageTypes.LAVA) - .multiply(4, DamageTypes.EXPLOSION) - .multiply(4, DamageTypes.PLAYER_EXPLOSION) - .multiply(0.8f, ModDamageTypes.CANNON_FIRE) - .multiply(0.16f, ModTags.DamageTypes.PROJECTILE) - .multiply(10, ModDamageTypes.VEHICLE_STRIKE) .custom((source, damage) -> { - if (source.getDirectEntity() instanceof CannonShellEntity) { - return 0.9f * damage; - } - if (source.getDirectEntity() instanceof SmallCannonShellEntity) { - return 1.3f * damage; - } - if (source.getDirectEntity() instanceof GunGrenadeEntity) { - return 2.2f * damage; - } if (source.getDirectEntity() instanceof AerialBombEntity) { - return 2f * damage; - } - if (source.getDirectEntity() instanceof RgoGrenadeEntity) { - return 6f * damage; - } - if (source.getDirectEntity() instanceof HandGrenadeEntity) { - return 5f * damage; - } - if (source.getDirectEntity() instanceof MortarShellEntity) { - return 3f * damage; + damage *= 2; } + damage *= getHealth() > 0.1f ? 0.7f : 0.05f; return damage; - }) - - .reduce(2); + }); } @Override diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/AnnihilatorEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/AnnihilatorEntity.java index 0694d046e..b12243674 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/AnnihilatorEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/AnnihilatorEntity.java @@ -5,9 +5,6 @@ import com.atsuishio.superbwarfare.component.ModDataComponents; import com.atsuishio.superbwarfare.config.server.ExplosionConfig; import com.atsuishio.superbwarfare.config.server.VehicleConfig; import com.atsuishio.superbwarfare.entity.projectile.AerialBombEntity; -import com.atsuishio.superbwarfare.entity.projectile.C4Entity; -import com.atsuishio.superbwarfare.entity.projectile.CannonShellEntity; -import com.atsuishio.superbwarfare.entity.projectile.GunGrenadeEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.CannonEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.EnergyVehicleEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.ThirdPersonCameraPosition; @@ -17,7 +14,6 @@ import com.atsuishio.superbwarfare.entity.vehicle.weapon.VehicleWeapon; import com.atsuishio.superbwarfare.init.ModDamageTypes; import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModSounds; -import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.network.message.receive.ShakeClientMessage; import com.atsuishio.superbwarfare.tools.*; import net.minecraft.ChatFormatting; @@ -35,7 +31,6 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.damagesource.DamageTypes; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; @@ -202,39 +197,13 @@ public class AnnihilatorEntity extends EnergyVehicleEntity implements GeoEntity, @Override public DamageModifier getDamageModifier() { return super.getDamageModifier() - .multiply(0.1f) - .immuneTo(DamageTypes.ARROW) - .immuneTo(DamageTypes.TRIDENT) - .immuneTo(DamageTypes.MOB_ATTACK) - .immuneTo(DamageTypes.MOB_ATTACK_NO_AGGRO) - .immuneTo(DamageTypes.MOB_PROJECTILE) - .immuneTo(DamageTypes.PLAYER_ATTACK) - .immuneTo(ModTags.DamageTypes.PROJECTILE) - .immuneTo(ModDamageTypes.VEHICLE_STRIKE) - .multiply(0.7f, DamageTypes.EXPLOSION) - .multiply(0.2f, ModDamageTypes.CUSTOM_EXPLOSION) - .multiply(0.2f, ModDamageTypes.PROJECTILE_BOOM) - .multiply(0.2f, ModDamageTypes.MINE) - .multiply(0.24f, ModDamageTypes.LUNGE_MINE) - .multiply(0.3f, ModDamageTypes.CANNON_FIRE) - .multiply(0.04f, ModTags.DamageTypes.PROJECTILE_ABSOLUTE) .custom((source, damage) -> getSourceAngle(source, 3) * damage) .custom((source, damage) -> { - if (source.getDirectEntity() instanceof C4Entity) { - return 10f * damage; - } if (source.getDirectEntity() instanceof AerialBombEntity) { return 8f * damage; } - if (source.getDirectEntity() instanceof GunGrenadeEntity) { - return 3f * damage; - } - if (source.getDirectEntity() instanceof CannonShellEntity) { - return 3f * damage; - } return damage; - }) - .reduce(12); + }); } @Override diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Bmp2Entity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Bmp2Entity.java index 84bc76d6a..e29c1a32d 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Bmp2Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Bmp2Entity.java @@ -4,8 +4,6 @@ import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.config.server.ExplosionConfig; import com.atsuishio.superbwarfare.config.server.VehicleConfig; import com.atsuishio.superbwarfare.entity.projectile.AerialBombEntity; -import com.atsuishio.superbwarfare.entity.projectile.GunGrenadeEntity; -import com.atsuishio.superbwarfare.entity.projectile.MortarShellEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.*; import com.atsuishio.superbwarfare.entity.vehicle.damage.DamageModifier; import com.atsuishio.superbwarfare.entity.vehicle.weapon.ProjectileWeapon; @@ -15,7 +13,6 @@ import com.atsuishio.superbwarfare.entity.vehicle.weapon.WgMissileWeapon; import com.atsuishio.superbwarfare.init.ModDamageTypes; import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModSounds; -import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.network.message.receive.ShakeClientMessage; import com.atsuishio.superbwarfare.tools.Ammo; import com.atsuishio.superbwarfare.tools.CustomExplosion; @@ -36,7 +33,6 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; import net.minecraft.util.Mth; -import net.minecraft.world.damagesource.DamageTypes; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.player.Player; @@ -145,37 +141,13 @@ public class Bmp2Entity extends ContainerMobileVehicleEntity implements GeoEntit @Override public DamageModifier getDamageModifier() { return super.getDamageModifier() - .multiply(0.2f) - .multiply(1.5f, DamageTypes.ARROW) - .multiply(1.5f, DamageTypes.TRIDENT) - .multiply(2.5f, DamageTypes.MOB_ATTACK) - .multiply(2f, DamageTypes.MOB_ATTACK_NO_AGGRO) - .multiply(1.5f, DamageTypes.MOB_PROJECTILE) - .multiply(12.5f, DamageTypes.LAVA) - .multiply(6f, DamageTypes.EXPLOSION) - .multiply(6f, DamageTypes.PLAYER_EXPLOSION) - .multiply(2f, ModDamageTypes.CUSTOM_EXPLOSION) - .multiply(2f, ModDamageTypes.PROJECTILE_BOOM) - .multiply(0.7f, ModDamageTypes.MINE) - .multiply(0.9f, ModDamageTypes.LUNGE_MINE) - .multiply(1.5f, ModDamageTypes.CANNON_FIRE) - .multiply(0.1f, ModTags.DamageTypes.PROJECTILE) - .multiply(0.7f, ModTags.DamageTypes.PROJECTILE_ABSOLUTE) - .multiply(8.5f, ModDamageTypes.VEHICLE_STRIKE) .custom((source, damage) -> getSourceAngle(source, 0.4f) * damage) .custom((source, damage) -> { if (source.getDirectEntity() instanceof AerialBombEntity) { return 2f * damage; } - if (source.getDirectEntity() instanceof MortarShellEntity) { - return 1.1f * damage; - } - if (source.getDirectEntity() instanceof GunGrenadeEntity) { - return 1.5f * damage; - } return damage; - }) - .reduce(8); + }); } @Override diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Hpj11Entity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Hpj11Entity.java index b01f0bfaa..72a1d650b 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Hpj11Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Hpj11Entity.java @@ -4,7 +4,6 @@ import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.config.server.ExplosionConfig; import com.atsuishio.superbwarfare.config.server.VehicleConfig; import com.atsuishio.superbwarfare.entity.TargetEntity; -import com.atsuishio.superbwarfare.entity.projectile.GunGrenadeEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.AutoAimable; import com.atsuishio.superbwarfare.entity.vehicle.base.CannonEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.ContainerMobileVehicleEntity; @@ -14,7 +13,6 @@ import com.atsuishio.superbwarfare.entity.vehicle.weapon.SmallCannonShellWeapon; import com.atsuishio.superbwarfare.entity.vehicle.weapon.VehicleWeapon; import com.atsuishio.superbwarfare.init.ModDamageTypes; import com.atsuishio.superbwarfare.init.ModItems; -import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.ContainerBlockItem; import com.atsuishio.superbwarfare.tools.*; import com.mojang.math.Axis; @@ -31,7 +29,6 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.damagesource.DamageTypes; import net.minecraft.world.entity.*; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.projectile.Projectile; @@ -180,30 +177,7 @@ public class Hpj11Entity extends ContainerMobileVehicleEntity implements GeoEnti @Override public DamageModifier getDamageModifier() { return super.getDamageModifier() - .multiply(0.6f) - .multiply(1.5f, DamageTypes.ARROW) - .multiply(1.5f, DamageTypes.TRIDENT) - .multiply(2.5f, DamageTypes.MOB_ATTACK) - .multiply(2f, DamageTypes.MOB_ATTACK_NO_AGGRO) - .multiply(1.5f, DamageTypes.MOB_PROJECTILE) - .multiply(12.5f, DamageTypes.LAVA) - .multiply(6f, DamageTypes.EXPLOSION) - .multiply(6f, DamageTypes.PLAYER_EXPLOSION) - .multiply(1.4f, ModDamageTypes.CUSTOM_EXPLOSION) - .multiply(1f, ModDamageTypes.PROJECTILE_BOOM) - .multiply(0.75f, ModDamageTypes.MINE) - .multiply(1.5f, ModDamageTypes.CANNON_FIRE) - .multiply(0.25f, ModTags.DamageTypes.PROJECTILE) - .multiply(0.85f, ModTags.DamageTypes.PROJECTILE_ABSOLUTE) - .multiply(10f, ModDamageTypes.VEHICLE_STRIKE) - .custom((source, damage) -> getSourceAngle(source, 1f) * damage) - .custom((source, damage) -> { - if (source.getDirectEntity() instanceof GunGrenadeEntity) { - return 1.5f * damage; - } - return damage; - }) - .reduce(8); + .custom((source, damage) -> getSourceAngle(source, 1f) * damage); } @Override diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/LaserTowerEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/LaserTowerEntity.java index 1898cfd3c..d38ef9192 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/LaserTowerEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/LaserTowerEntity.java @@ -4,8 +4,10 @@ import com.atsuishio.superbwarfare.config.server.VehicleConfig; import com.atsuishio.superbwarfare.entity.TargetEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.AutoAimable; import com.atsuishio.superbwarfare.entity.vehicle.base.EnergyVehicleEntity; -import com.atsuishio.superbwarfare.entity.vehicle.damage.DamageModifier; -import com.atsuishio.superbwarfare.init.*; +import com.atsuishio.superbwarfare.init.ModDamageTypes; +import com.atsuishio.superbwarfare.init.ModEntities; +import com.atsuishio.superbwarfare.init.ModItems; +import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.item.ContainerBlockItem; import com.atsuishio.superbwarfare.tools.CustomExplosion; import com.atsuishio.superbwarfare.tools.EntityFindUtil; @@ -24,7 +26,6 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.damagesource.DamageTypes; import net.minecraft.world.entity.*; import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.projectile.Projectile; @@ -127,28 +128,6 @@ public class LaserTowerEntity extends EnergyVehicleEntity implements GeoEntity, return this.entityData.get(OWNER_UUID).orElse(null); } - @Override - public DamageModifier getDamageModifier() { - return super.getDamageModifier() - .multiply(0.1f, DamageTypes.ARROW) - .multiply(0.2f, DamageTypes.TRIDENT) - .multiply(0.2f, DamageTypes.MOB_ATTACK) - .multiply(0.2f, DamageTypes.MOB_ATTACK_NO_AGGRO) - .multiply(0.4f, DamageTypes.MOB_PROJECTILE) - .multiply(0.4f, DamageTypes.PLAYER_ATTACK) - .multiply(1.5f, DamageTypes.EXPLOSION) - .multiply(1.5f, DamageTypes.PLAYER_EXPLOSION) - .multiply(0.5f, ModDamageTypes.CUSTOM_EXPLOSION) - .multiply(0.5f, ModDamageTypes.PROJECTILE_BOOM) - .multiply(0.5f, ModDamageTypes.MINE) - .multiply(0.5f, ModDamageTypes.LUNGE_MINE) - .multiply(0.6f, ModDamageTypes.CANNON_FIRE) - .multiply(0.5f, ModTags.DamageTypes.PROJECTILE) - .multiply(0.8f, ModTags.DamageTypes.PROJECTILE_ABSOLUTE) - .multiply(2f, ModDamageTypes.VEHICLE_STRIKE) - .reduce(1); - } - @Override public @NotNull InteractionResult interact(Player player, @NotNull InteractionHand hand) { ItemStack stack = player.getMainHandItem(); diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Lav150Entity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Lav150Entity.java index 64d6bc6d1..0ee04b5ca 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Lav150Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Lav150Entity.java @@ -4,8 +4,6 @@ import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.config.server.ExplosionConfig; import com.atsuishio.superbwarfare.config.server.VehicleConfig; import com.atsuishio.superbwarfare.entity.projectile.AerialBombEntity; -import com.atsuishio.superbwarfare.entity.projectile.GunGrenadeEntity; -import com.atsuishio.superbwarfare.entity.projectile.MortarShellEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.ContainerMobileVehicleEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.LandArmorEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.ThirdPersonCameraPosition; @@ -17,7 +15,6 @@ import com.atsuishio.superbwarfare.entity.vehicle.weapon.VehicleWeapon; import com.atsuishio.superbwarfare.init.ModDamageTypes; import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModSounds; -import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.network.message.receive.ShakeClientMessage; import com.atsuishio.superbwarfare.tools.Ammo; import com.atsuishio.superbwarfare.tools.CustomExplosion; @@ -35,7 +32,6 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; import net.minecraft.util.Mth; -import net.minecraft.world.damagesource.DamageTypes; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.player.Player; @@ -125,36 +121,13 @@ public class Lav150Entity extends ContainerMobileVehicleEntity implements GeoEnt @Override public DamageModifier getDamageModifier() { return super.getDamageModifier() - .multiply(0.2f) - .multiply(1.5f, DamageTypes.ARROW) - .multiply(1.5f, DamageTypes.TRIDENT) - .multiply(2.5f, DamageTypes.MOB_ATTACK) - .multiply(2f, DamageTypes.MOB_ATTACK_NO_AGGRO) - .multiply(1.5f, DamageTypes.MOB_PROJECTILE) - .multiply(12.5f, DamageTypes.LAVA) - .multiply(6f, DamageTypes.EXPLOSION) - .multiply(6f, DamageTypes.PLAYER_EXPLOSION) - .multiply(2.4f, ModDamageTypes.CUSTOM_EXPLOSION) - .multiply(2f, ModDamageTypes.PROJECTILE_BOOM) - .multiply(0.75f, ModDamageTypes.MINE) - .multiply(1.5f, ModDamageTypes.CANNON_FIRE) - .multiply(0.25f, ModTags.DamageTypes.PROJECTILE) - .multiply(0.85f, ModTags.DamageTypes.PROJECTILE_ABSOLUTE) - .multiply(10f, ModDamageTypes.VEHICLE_STRIKE) .custom((source, damage) -> getSourceAngle(source, 0.25f) * damage) .custom((source, damage) -> { if (source.getDirectEntity() instanceof AerialBombEntity) { return 3f * damage; } - if (source.getDirectEntity() instanceof MortarShellEntity) { - return 1.25f * damage; - } - if (source.getDirectEntity() instanceof GunGrenadeEntity) { - return 1.5f * damage; - } return damage; - }) - .reduce(7); + }); } @Override diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Mk42Entity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Mk42Entity.java index 5377d3603..376d5447a 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Mk42Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Mk42Entity.java @@ -4,7 +4,6 @@ import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.component.ModDataComponents; import com.atsuishio.superbwarfare.config.server.ExplosionConfig; import com.atsuishio.superbwarfare.config.server.VehicleConfig; -import com.atsuishio.superbwarfare.entity.projectile.GunGrenadeEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.CannonEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.ThirdPersonCameraPosition; import com.atsuishio.superbwarfare.entity.vehicle.base.VehicleEntity; @@ -14,7 +13,6 @@ import com.atsuishio.superbwarfare.entity.vehicle.weapon.VehicleWeapon; import com.atsuishio.superbwarfare.init.ModDamageTypes; import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModSounds; -import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.common.ammo.CannonShellItem; import com.atsuishio.superbwarfare.network.message.receive.ShakeClientMessage; import com.atsuishio.superbwarfare.tools.*; @@ -30,7 +28,6 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.damagesource.DamageTypes; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.MoverType; @@ -182,30 +179,7 @@ public class Mk42Entity extends VehicleEntity implements GeoEntity, CannonEntity @Override public DamageModifier getDamageModifier() { return super.getDamageModifier() - .multiply(0.2f) - .multiply(1.5f, DamageTypes.ARROW) - .multiply(1.5f, DamageTypes.TRIDENT) - .multiply(2.5f, DamageTypes.MOB_ATTACK) - .multiply(2f, DamageTypes.MOB_ATTACK_NO_AGGRO) - .multiply(1.5f, DamageTypes.MOB_PROJECTILE) - .multiply(12.5f, DamageTypes.LAVA) - .multiply(6f, DamageTypes.EXPLOSION) - .multiply(6f, DamageTypes.PLAYER_EXPLOSION) - .multiply(2.4f, ModDamageTypes.CUSTOM_EXPLOSION) - .multiply(2f, ModDamageTypes.PROJECTILE_BOOM) - .multiply(0.75f, ModDamageTypes.MINE) - .multiply(1.5f, ModDamageTypes.CANNON_FIRE) - .multiply(0.25f, ModTags.DamageTypes.PROJECTILE) - .multiply(0.85f, ModTags.DamageTypes.PROJECTILE_ABSOLUTE) - .multiply(10f, ModDamageTypes.VEHICLE_STRIKE) - .custom((source, damage) -> getSourceAngle(source, 1f) * damage) - .custom((source, damage) -> { - if (source.getDirectEntity() instanceof GunGrenadeEntity) { - return 1.5f * damage; - } - return damage; - }) - .reduce(8); + .custom((source, damage) -> getSourceAngle(source, 1f) * damage); } @Override diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Mle1934Entity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Mle1934Entity.java index 4edf986cf..18f7e64ac 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Mle1934Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Mle1934Entity.java @@ -4,7 +4,6 @@ import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.component.ModDataComponents; import com.atsuishio.superbwarfare.config.server.ExplosionConfig; import com.atsuishio.superbwarfare.config.server.VehicleConfig; -import com.atsuishio.superbwarfare.entity.projectile.GunGrenadeEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.CannonEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.ThirdPersonCameraPosition; import com.atsuishio.superbwarfare.entity.vehicle.base.VehicleEntity; @@ -14,7 +13,6 @@ import com.atsuishio.superbwarfare.entity.vehicle.weapon.VehicleWeapon; import com.atsuishio.superbwarfare.init.ModDamageTypes; import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModSounds; -import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.item.common.ammo.CannonShellItem; import com.atsuishio.superbwarfare.network.message.receive.ShakeClientMessage; import com.atsuishio.superbwarfare.tools.*; @@ -30,7 +28,6 @@ import net.minecraft.sounds.SoundSource; import net.minecraft.util.Mth; import net.minecraft.world.InteractionHand; import net.minecraft.world.InteractionResult; -import net.minecraft.world.damagesource.DamageTypes; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.MoverType; @@ -209,30 +206,7 @@ public class Mle1934Entity extends VehicleEntity implements GeoEntity, CannonEnt @Override public DamageModifier getDamageModifier() { return super.getDamageModifier() - .multiply(0.2f) - .multiply(1.5f, DamageTypes.ARROW) - .multiply(1.5f, DamageTypes.TRIDENT) - .multiply(2.5f, DamageTypes.MOB_ATTACK) - .multiply(2f, DamageTypes.MOB_ATTACK_NO_AGGRO) - .multiply(1.5f, DamageTypes.MOB_PROJECTILE) - .multiply(12.5f, DamageTypes.LAVA) - .multiply(6f, DamageTypes.EXPLOSION) - .multiply(6f, DamageTypes.PLAYER_EXPLOSION) - .multiply(2.4f, ModDamageTypes.CUSTOM_EXPLOSION) - .multiply(2f, ModDamageTypes.PROJECTILE_BOOM) - .multiply(0.75f, ModDamageTypes.MINE) - .multiply(1.5f, ModDamageTypes.CANNON_FIRE) - .multiply(0.25f, ModTags.DamageTypes.PROJECTILE) - .multiply(0.85f, ModTags.DamageTypes.PROJECTILE_ABSOLUTE) - .multiply(10f, ModDamageTypes.VEHICLE_STRIKE) - .custom((source, damage) -> getSourceAngle(source, 1f) * damage) - .custom((source, damage) -> { - if (source.getDirectEntity() instanceof GunGrenadeEntity) { - return 1.5f * damage; - } - return damage; - }) - .reduce(8); + .custom((source, damage) -> getSourceAngle(source, 1f) * damage); } @Override diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/PrismTankEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/PrismTankEntity.java index 6c7cc0341..dfef6eb90 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/PrismTankEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/PrismTankEntity.java @@ -4,14 +4,12 @@ import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.config.server.ExplosionConfig; import com.atsuishio.superbwarfare.config.server.VehicleConfig; import com.atsuishio.superbwarfare.entity.projectile.AerialBombEntity; -import com.atsuishio.superbwarfare.entity.projectile.GunGrenadeEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.*; import com.atsuishio.superbwarfare.entity.vehicle.damage.DamageModifier; import com.atsuishio.superbwarfare.entity.vehicle.weapon.LaserWeapon; import com.atsuishio.superbwarfare.entity.vehicle.weapon.VehicleWeapon; import com.atsuishio.superbwarfare.init.ModDamageTypes; import com.atsuishio.superbwarfare.init.ModSounds; -import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.network.message.receive.ClientIndicatorMessage; import com.atsuishio.superbwarfare.network.message.receive.ShakeClientMessage; import com.atsuishio.superbwarfare.tools.*; @@ -35,7 +33,6 @@ import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundSource; import net.minecraft.util.Mth; -import net.minecraft.world.damagesource.DamageTypes; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.MoverType; @@ -125,34 +122,13 @@ public class PrismTankEntity extends ContainerMobileVehicleEntity implements Geo @Override public DamageModifier getDamageModifier() { return super.getDamageModifier() - .multiply(0.2f) - .multiply(1.5f, DamageTypes.ARROW) - .multiply(1.5f, DamageTypes.TRIDENT) - .multiply(2.5f, DamageTypes.MOB_ATTACK) - .multiply(2f, DamageTypes.MOB_ATTACK_NO_AGGRO) - .multiply(1.5f, DamageTypes.MOB_PROJECTILE) - .multiply(12.5f, DamageTypes.LAVA) - .multiply(6f, DamageTypes.EXPLOSION) - .multiply(6f, DamageTypes.PLAYER_EXPLOSION) - .multiply(2f, ModDamageTypes.CUSTOM_EXPLOSION) - .multiply(2f, ModDamageTypes.PROJECTILE_BOOM) - .multiply(0.7f, ModDamageTypes.MINE) - .multiply(0.9f, ModDamageTypes.LUNGE_MINE) - .multiply(1.5f, ModDamageTypes.CANNON_FIRE) - .multiply(0.1f, ModTags.DamageTypes.PROJECTILE) - .multiply(0.7f, ModTags.DamageTypes.PROJECTILE_ABSOLUTE) - .multiply(4.5f, ModDamageTypes.VEHICLE_STRIKE) .custom((source, damage) -> getSourceAngle(source, 0.4f) * damage) .custom((source, damage) -> { if (source.getDirectEntity() instanceof AerialBombEntity) { return 2f * damage; } - if (source.getDirectEntity() instanceof GunGrenadeEntity) { - return 1.5f * damage; - } return damage; - }) - .reduce(9); + }); } @Override diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/SpeedboatEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/SpeedboatEntity.java index c6b13c466..5caae0a81 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/SpeedboatEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/SpeedboatEntity.java @@ -3,7 +3,7 @@ package com.atsuishio.superbwarfare.entity.vehicle; import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.config.server.ExplosionConfig; import com.atsuishio.superbwarfare.config.server.VehicleConfig; -import com.atsuishio.superbwarfare.entity.projectile.*; +import com.atsuishio.superbwarfare.entity.projectile.AerialBombEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.*; import com.atsuishio.superbwarfare.entity.vehicle.damage.DamageModifier; import com.atsuishio.superbwarfare.entity.vehicle.weapon.ProjectileWeapon; @@ -11,7 +11,6 @@ import com.atsuishio.superbwarfare.entity.vehicle.weapon.VehicleWeapon; import com.atsuishio.superbwarfare.init.ModDamageTypes; import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModSounds; -import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.network.message.receive.ShakeClientMessage; import com.atsuishio.superbwarfare.tools.Ammo; import com.atsuishio.superbwarfare.tools.CustomExplosion; @@ -26,7 +25,6 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; import net.minecraft.util.Mth; -import net.minecraft.world.damagesource.DamageTypes; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.player.Player; @@ -103,44 +101,12 @@ public class SpeedboatEntity extends ContainerMobileVehicleEntity implements Geo @Override public DamageModifier getDamageModifier() { return super.getDamageModifier() - .multiply(0.5f) - .multiply(0.2f, DamageTypes.ARROW) - .multiply(0.4f, DamageTypes.TRIDENT) - .multiply(0.4f, DamageTypes.MOB_ATTACK) - .multiply(0.4f, DamageTypes.MOB_ATTACK_NO_AGGRO) - .multiply(0.4f, DamageTypes.MOB_PROJECTILE) - .multiply(0.4f, DamageTypes.PLAYER_ATTACK) - .multiply(4, DamageTypes.LAVA) - .multiply(4, DamageTypes.EXPLOSION) - .multiply(4, DamageTypes.PLAYER_EXPLOSION) - .multiply(0.8f, ModDamageTypes.CANNON_FIRE) - .multiply(0.16f, ModTags.DamageTypes.PROJECTILE) - .multiply(2, ModDamageTypes.VEHICLE_STRIKE) .custom((source, damage) -> { - if (source.getDirectEntity() instanceof CannonShellEntity) { - return 0.9f * damage; - } - if (source.getDirectEntity() instanceof SmallCannonShellEntity) { - return 1.3f * damage; - } - if (source.getDirectEntity() instanceof GunGrenadeEntity) { - return 2.2f * damage; - } if (source.getDirectEntity() instanceof AerialBombEntity) { return 2f * damage; } - if (source.getDirectEntity() instanceof RgoGrenadeEntity) { - return 6f * damage; - } - if (source.getDirectEntity() instanceof HandGrenadeEntity) { - return 5f * damage; - } - if (source.getDirectEntity() instanceof MortarShellEntity) { - return 4f * damage; - } return damage; - }) - .reduce(2); + }); } @Override diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/WheelChairEntity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/WheelChairEntity.java index b7c814df8..912875481 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/WheelChairEntity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/WheelChairEntity.java @@ -4,7 +4,6 @@ import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.config.server.ExplosionConfig; import com.atsuishio.superbwarfare.config.server.VehicleConfig; import com.atsuishio.superbwarfare.entity.vehicle.base.MobileVehicleEntity; -import com.atsuishio.superbwarfare.entity.vehicle.damage.DamageModifier; import com.atsuishio.superbwarfare.init.ModDamageTypes; import com.atsuishio.superbwarfare.init.ModSounds; import com.atsuishio.superbwarfare.tools.CustomExplosion; @@ -67,12 +66,6 @@ public class WheelChairEntity extends MobileVehicleEntity implements GeoEntity { } } - @Override - public DamageModifier getDamageModifier() { - return super.getDamageModifier() - .multiply(2, ModDamageTypes.VEHICLE_STRIKE); - } - @Override public void addAdditionalSaveData(CompoundTag compound) { super.addAdditionalSaveData(compound); diff --git a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Yx100Entity.java b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Yx100Entity.java index 32f50c9b7..66db190cc 100644 --- a/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Yx100Entity.java +++ b/src/main/java/com/atsuishio/superbwarfare/entity/vehicle/Yx100Entity.java @@ -3,7 +3,8 @@ package com.atsuishio.superbwarfare.entity.vehicle; import com.atsuishio.superbwarfare.Mod; import com.atsuishio.superbwarfare.config.server.ExplosionConfig; import com.atsuishio.superbwarfare.config.server.VehicleConfig; -import com.atsuishio.superbwarfare.entity.projectile.*; +import com.atsuishio.superbwarfare.entity.projectile.AerialBombEntity; +import com.atsuishio.superbwarfare.entity.projectile.SwarmDroneEntity; import com.atsuishio.superbwarfare.entity.vehicle.base.*; import com.atsuishio.superbwarfare.entity.vehicle.damage.DamageModifier; import com.atsuishio.superbwarfare.entity.vehicle.weapon.CannonShellWeapon; @@ -13,7 +14,6 @@ import com.atsuishio.superbwarfare.entity.vehicle.weapon.VehicleWeapon; import com.atsuishio.superbwarfare.init.ModDamageTypes; import com.atsuishio.superbwarfare.init.ModItems; import com.atsuishio.superbwarfare.init.ModSounds; -import com.atsuishio.superbwarfare.init.ModTags; import com.atsuishio.superbwarfare.network.message.receive.ShakeClientMessage; import com.atsuishio.superbwarfare.tools.*; import com.mojang.blaze3d.platform.GlStateManager; @@ -39,7 +39,6 @@ import net.minecraft.server.level.ServerPlayer; import net.minecraft.sounds.SoundEvent; import net.minecraft.sounds.SoundSource; import net.minecraft.util.Mth; -import net.minecraft.world.damagesource.DamageTypes; import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.MoverType; @@ -212,45 +211,13 @@ public class Yx100Entity extends ContainerMobileVehicleEntity implements GeoEnti @Override public DamageModifier getDamageModifier() { return super.getDamageModifier() - .immuneTo(DamageTypes.ARROW) - .immuneTo(DamageTypes.TRIDENT) - .immuneTo(DamageTypes.MOB_ATTACK) - .immuneTo(DamageTypes.MOB_ATTACK_NO_AGGRO) - .immuneTo(DamageTypes.MOB_PROJECTILE) - .immuneTo(DamageTypes.PLAYER_ATTACK) - .immuneTo(ModTags.DamageTypes.PROJECTILE) - .immuneTo(ModDamageTypes.VEHICLE_STRIKE) - .multiply(0.2f) - .multiply(2f, DamageTypes.EXPLOSION) - .multiply(0.75f, ModDamageTypes.CUSTOM_EXPLOSION) - .multiply(0.75f, ModDamageTypes.PROJECTILE_BOOM) - .multiply(0.5f, ModDamageTypes.MINE) - .multiply(0.5f, ModDamageTypes.LUNGE_MINE) - .multiply(1.5f, ModDamageTypes.CANNON_FIRE) - .multiply(0.15f, ModTags.DamageTypes.PROJECTILE_ABSOLUTE) .custom((source, damage) -> getSourceAngle(source, 1f) * damage) .custom((source, damage) -> { if (source.getDirectEntity() instanceof AerialBombEntity) { return 3f * damage; } - if (source.getDirectEntity() instanceof SmallCannonShellEntity) { - return 0.375f * damage; - } - if (source.getDirectEntity() instanceof C4Entity) { - return 4f * damage; - } - if (source.getDirectEntity() instanceof RpgRocketEntity) { - return 1.5f * damage; - } - if (source.getDirectEntity() instanceof GunGrenadeEntity) { - return 2f * damage; - } - if (source.getDirectEntity() instanceof MortarShellEntity) { - return 2f * damage; - } return damage; - }) - .reduce(9); + }); } @Override diff --git a/src/main/resources/data/superbwarfare/vehicles/a_10a.json b/src/main/resources/data/superbwarfare/vehicles/a_10a.json index 4a9478c87..04e0708e0 100644 --- a/src/main/resources/data/superbwarfare/vehicles/a_10a.json +++ b/src/main/resources/data/superbwarfare/vehicles/a_10a.json @@ -3,5 +3,96 @@ "MaxHealth": 350, "MaxEnergy": 10000000, "UpStep": 0.5, - "allowFreeCam": true + "allowFreeCam": true, + "DamageModifiers": [ + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:arrow" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:trident" + }, + { + "Type": "Multiply", + "Value": 2.5, + "Source": "minecraft:mob_attack" + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "minecraft:mob_attack_no_aggro" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:mob_projectile" + }, + { + "Type": "Multiply", + "Value": 12.5, + "Source": "minecraft:lava" + }, + { + "Type": "Multiply", + "Value": 6, + "Source": "minecraft:explosion" + }, + { + "Type": "Multiply", + "Value": 6, + "Source": "minecraft:player_explosion" + }, + { + "Type": "Multiply", + "Value": 2.4, + "Source": "superbwarfare:custom_explosion" + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "superbwarfare:projectile_boom" + }, + { + "Type": "Multiply", + "Value": 0.75, + "Source": "superbwarfare:mine" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "superbwarfare:cannon_fire" + }, + { + "Type": "Multiply", + "Value": 0.25, + "Source": "#superbwarfare:projectile" + }, + { + "Type": "Multiply", + "Value": 0.85, + "Source": "#superbwarfare:projectile_absolute" + }, + { + "Type": "Multiply", + "Value": 15, + "Source": "superbwarfare:vehicle_strike" + }, + { + "Type": "Multiply", + "Value": 1.25, + "Source": "@superbwarfare:mortar_shell" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "@superbwarfare:gun_grenade" + }, + { + "Type": "Reduce", + "Value": 7 + } + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/vehicles/ah_6.json b/src/main/resources/data/superbwarfare/vehicles/ah_6.json index c32534574..4eb58314f 100644 --- a/src/main/resources/data/superbwarfare/vehicles/ah_6.json +++ b/src/main/resources/data/superbwarfare/vehicles/ah_6.json @@ -3,5 +3,101 @@ "MaxHealth": 250, "MaxEnergy": 5000000, "UpStep": 1.1, - "allowFreeCam": true + "allowFreeCam": true, + "DamageModifiers": [ + { + "Type": "Multiply", + "Value": 0.2, + "Source": "minecraft:arrow" + }, + { + "Type": "Multiply", + "Value": 0.4, + "Source": "minecraft:trident" + }, + { + "Type": "Multiply", + "Value": 0.4, + "Source": "minecraft:mob_attack" + }, + { + "Type": "Multiply", + "Value": 0.4, + "Source": "minecraft:mob_attack_no_aggro" + }, + { + "Type": "Multiply", + "Value": 0.4, + "Source": "minecraft:mob_projectile" + }, + { + "Type": "Multiply", + "Value": 0.4, + "Source": "minecraft:player_attack" + }, + { + "Type": "Multiply", + "Value": 4, + "Source": "minecraft:lava" + }, + { + "Type": "Multiply", + "Value": 4, + "Source": "minecraft:explosion" + }, + { + "Type": "Multiply", + "Value": 4, + "Source": "minecraft:player_explosion" + }, + { + "Type": "Multiply", + "Value": 0.8, + "Source": "superbwarfare:cannon_fire" + }, + { + "Type": "Multiply", + "Value": 0.16, + "Source": "#superbwarfare:projectile" + }, + { + "Type": "Multiply", + "Value": 10, + "Source": "superbwarfare:vehicle_strike" + }, + { + "Type": "Multiply", + "Value": 0.9, + "Source": "@superbwarfare:cannon_shell" + }, + { + "Type": "Multiply", + "Value": 1.3, + "Source": "@superbwarfare:small_cannon_shell" + }, + { + "Type": "Multiply", + "Value": 2.2, + "Source": "@superbwarfare:gun_grenade" + }, + { + "Type": "Multiply", + "Value": 6, + "Source": "@superbwarfare:rgo_grenade" + }, + { + "Type": "Multiply", + "Value": 5, + "Source": "@superbwarfare:hand_grenade" + }, + { + "Type": "Multiply", + "Value": 3, + "Source": "@superbwarfare:mortar_shell" + }, + { + "Type": "Reduce", + "Value": 2 + } + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/vehicles/annihilator.json b/src/main/resources/data/superbwarfare/vehicles/annihilator.json index 7d35e7bbc..6018cda72 100644 --- a/src/main/resources/data/superbwarfare/vehicles/annihilator.json +++ b/src/main/resources/data/superbwarfare/vehicles/annihilator.json @@ -1,5 +1,97 @@ { "ID": "superbwarfare:annihilator", "MaxHealth": 1200, - "MaxEnergy": 20000000 + "MaxEnergy": 20000000, + "DamageModifiers": [ + { + "Type": "Multiply", + "Value": 0.1 + }, + { + "Type": "Immunity", + "Source": "minecraft:arrow" + }, + { + "Type": "Immunity", + "Source": "minecraft:trident" + }, + { + "Type": "Immunity", + "Source": "minecraft:mob_attack" + }, + { + "Type": "Immunity", + "Source": "minecraft:mob_attack_no_aggro" + }, + { + "Type": "Immunity", + "Source": "minecraft:mob_projectile" + }, + { + "Type": "Immunity", + "Source": "minecraft:player_attack" + }, + { + "Type": "Immunity", + "Source": "#superbwarfare:projectile" + }, + { + "Type": "Immunity", + "Source": "superbwarfare:vehicle_strike" + }, + { + "Type": "Multiply", + "Value": 0.7, + "Source": "minecraft:explosion" + }, + { + "Type": "Multiply", + "Value": 0.2, + "Source": "superbwarfare:custom_explosion" + }, + { + "Type": "Multiply", + "Value": 0.2, + "Source": "superbwarfare:projectile_boom" + }, + { + "Type": "Multiply", + "Value": 0.2, + "Source": "superbwarfare:mine" + }, + { + "Type": "Multiply", + "Value": 0.24, + "Source": "superbwarfare:lunge_mine" + }, + { + "Type": "Multiply", + "Value": 0.3, + "Source": "superbwarfare:cannon_fire" + }, + { + "Type": "Multiply", + "Value": 0.04, + "Source": "#superbwarfare:projectile_absolute" + }, + { + "Type": "Multiply", + "Value": 10, + "Source": "@superbwarfare:c4" + }, + { + "Type": "Multiply", + "Value": 3, + "Source": "@superbwarfare:gun_grenade" + }, + { + "Type": "Multiply", + "Value": 3, + "Source": "@superbwarfare:cannon_shell" + }, + { + "Type": "Reduce", + "Value": 12 + } + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/vehicles/bmp_2.json b/src/main/resources/data/superbwarfare/vehicles/bmp_2.json index 67ce6ad7c..137b0a8e3 100644 --- a/src/main/resources/data/superbwarfare/vehicles/bmp_2.json +++ b/src/main/resources/data/superbwarfare/vehicles/bmp_2.json @@ -2,5 +2,105 @@ "ID": "superbwarfare:bmp_2", "MaxHealth": 300, "MaxEnergy": 5000000, - "UpStep": 2.25 + "UpStep": 2.25, + "DamageModifiers": [ + { + "Type": "Multiply", + "Value": 0.2 + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:arrow" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:trident" + }, + { + "Type": "Multiply", + "Value": 2.5, + "Source": "minecraft:mob_attack" + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "minecraft:mob_attack_no_aggro" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:mob_projectile" + }, + { + "Type": "Multiply", + "Value": 12.5, + "Source": "minecraft:lava" + }, + { + "Type": "Multiply", + "Value": 6, + "Source": "minecraft:explosion" + }, + { + "Type": "Multiply", + "Value": 6, + "Source": "minecraft:player_explosion" + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "superbwarfare:custom_explosion" + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "superbwarfare:projectile_boom" + }, + { + "Type": "Multiply", + "Value": 0.7, + "Source": "superbwarfare:mine" + }, + { + "Type": "Multiply", + "Value": 0.9, + "Source": "superbwarfare:lunge_mine" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "superbwarfare:cannon_fire" + }, + { + "Type": "Multiply", + "Value": 0.1, + "Source": "#superbwarfare:projectile" + }, + { + "Type": "Multiply", + "Value": 0.7, + "Source": "#superbwarfare:projectile_absolute" + }, + { + "Type": "Multiply", + "Value": 8.5, + "Source": "#superbwarfare:vehicle_strike" + }, + { + "Type": "Multiply", + "Value": 1.1, + "Source": "@superbwarfare:mortar_shell" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "@superbwarfare:gun_grenade" + }, + { + "Type": "Reduce", + "Value": 8 + } + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/vehicles/hpj_11.json b/src/main/resources/data/superbwarfare/vehicles/hpj_11.json index f27fe4300..d221eedac 100644 --- a/src/main/resources/data/superbwarfare/vehicles/hpj_11.json +++ b/src/main/resources/data/superbwarfare/vehicles/hpj_11.json @@ -1,5 +1,95 @@ { "ID": "superbwarfare:hpj_11", "MaxHealth": 350, - "MaxEnergy": 5000000 + "MaxEnergy": 5000000, + "DamageModifiers": [ + { + "Type": "Multiply", + "Value": 0.6 + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:arrow" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:trident" + }, + { + "Type": "Multiply", + "Value": 2.5, + "Source": "minecraft:mob_attack" + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "minecraft:mob_attack_no_aggro" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:mob_projectile" + }, + { + "Type": "Multiply", + "Value": 12.5, + "Source": "minecraft:lava" + }, + { + "Type": "Multiply", + "Value": 6, + "Source": "minecraft:explosion" + }, + { + "Type": "Multiply", + "Value": 6, + "Source": "minecraft:player_explosion" + }, + { + "Type": "Multiply", + "Value": 1.4, + "Source": "superbwarfare:custom_explosion" + }, + { + "Type": "Multiply", + "Value": 1, + "Source": "superbwarfare:projectile_boom" + }, + { + "Type": "Multiply", + "Value": 0.75, + "Source": "superbwarfare:mine" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "superbwarfare:cannon_fire" + }, + { + "Type": "Multiply", + "Value": 0.25, + "Source": "#superbwarfare:projectile" + }, + { + "Type": "Multiply", + "Value": 0.85, + "Source": "#superbwarfare:projectile_absolute" + }, + { + "Type": "Multiply", + "Value": 10, + "Source": "superbwarfare:vehicle_strike" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "@superbwarfare:gun_grenade" + }, + { + "Type": "Reduce", + "Value": 8 + } + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/vehicles/laser_tower.json b/src/main/resources/data/superbwarfare/vehicles/laser_tower.json index db9329d20..4b459f63b 100644 --- a/src/main/resources/data/superbwarfare/vehicles/laser_tower.json +++ b/src/main/resources/data/superbwarfare/vehicles/laser_tower.json @@ -1,5 +1,91 @@ { "ID": "superbwarfare:laser_tower", "MaxHealth": 100, - "MaxEnergy": 500000 + "MaxEnergy": 500000, + "DamageModifiers": [ + { + "Type": "Multiply", + "Value": 0.1, + "Source": "minecraft:arrow" + }, + { + "Type": "Multiply", + "Value": 0.2, + "Source": "minecraft:trident" + }, + { + "Type": "Multiply", + "Value": 0.2, + "Source": "minecraft:mob_attack" + }, + { + "Type": "Multiply", + "Value": 0.2, + "Source": "minecraft:mob_attack_no_aggro" + }, + { + "Type": "Multiply", + "Value": 0.4, + "Source": "minecraft:mob_projectile" + }, + { + "Type": "Multiply", + "Value": 0.4, + "Source": "minecraft:player_attack" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:explosion" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:player_explosion" + }, + { + "Type": "Multiply", + "Value": 0.5, + "Source": "superbwarfare:custom_explosion" + }, + { + "Type": "Multiply", + "Value": 0.5, + "Source": "superbwarfare:projectile_boom" + }, + { + "Type": "Multiply", + "Value": 0.5, + "Source": "superbwarfare:mine" + }, + { + "Type": "Multiply", + "Value": 0.5, + "Source": "superbwarfare:lunge_mine" + }, + { + "Type": "Multiply", + "Value": 0.6, + "Source": "superbwarfare:cannon_fire" + }, + { + "Type": "Multiply", + "Value": 0.5, + "Source": "#superbwarfare:projectile" + }, + { + "Type": "Multiply", + "Value": 0.8, + "Source": "#superbwarfare:projectile_absolute" + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "superbwarfare:vehicle_strike" + }, + { + "Type": "Reduce", + "Value": 1 + } + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/vehicles/lav_150.json b/src/main/resources/data/superbwarfare/vehicles/lav_150.json index 5f052381a..55bdb850e 100644 --- a/src/main/resources/data/superbwarfare/vehicles/lav_150.json +++ b/src/main/resources/data/superbwarfare/vehicles/lav_150.json @@ -2,5 +2,100 @@ "ID": "superbwarfare:lav_150", "MaxHealth": 250, "MaxEnergy": 5000000, - "UpStep": 1.5 + "UpStep": 1.5, + "DamageModifiers": [ + { + "Type": "Multiply", + "Value": 0.2 + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:arrow" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:trident" + }, + { + "Type": "Multiply", + "Value": 2.5, + "Source": "minecraft:mob_attack" + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "minecraft:mob_attack_no_aggro" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:mob_projectile" + }, + { + "Type": "Multiply", + "Value": 12.5, + "Source": "minecraft:lava" + }, + { + "Type": "Multiply", + "Value": 6, + "Source": "minecraft:explosion" + }, + { + "Type": "Multiply", + "Value": 6, + "Source": "minecraft:player_explosion" + }, + { + "Type": "Multiply", + "Value": 2.4, + "Source": "superbwarfare:custom_explosion" + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "superbwarfare:projectile_boom" + }, + { + "Type": "Multiply", + "Value": 0.75, + "Source": "superbwarfare:mine" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "superbwarfare:cannon_fire" + }, + { + "Type": "Multiply", + "Value": 0.25, + "Source": "#superbwarfare:projectile" + }, + { + "Type": "Multiply", + "Value": 0.85, + "Source": "#superbwarfare:projectile_absolute" + }, + { + "Type": "Multiply", + "Value": 10, + "Source": "superbwarfare:vehicle_strike" + }, + { + "Type": "Multiply", + "Value": 1.25, + "Source": "@superbwarfare:mortar_shell" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "@superbwarfare:gun_grenade" + }, + { + "Type": "Reduce", + "Value": 7 + } + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/vehicles/mk_42.json b/src/main/resources/data/superbwarfare/vehicles/mk_42.json index 6c99cb050..2ce2f444e 100644 --- a/src/main/resources/data/superbwarfare/vehicles/mk_42.json +++ b/src/main/resources/data/superbwarfare/vehicles/mk_42.json @@ -1,4 +1,94 @@ { "ID": "superbwarfare:mk_42", - "MaxHealth": 350 + "MaxHealth": 350, + "DamageModifiers": [ + { + "Type": "Multiply", + "Value": 0.2 + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:arrow" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:trident" + }, + { + "Type": "Multiply", + "Value": 2.5, + "Source": "minecraft:mob_attack" + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "minecraft:mob_attack_no_aggro" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:mob_projectile" + }, + { + "Type": "Multiply", + "Value": 12.5, + "Source": "minecraft:lava" + }, + { + "Type": "Multiply", + "Value": 6, + "Source": "minecraft:explosion" + }, + { + "Type": "Multiply", + "Value": 6, + "Source": "minecraft:player_explosion" + }, + { + "Type": "Multiply", + "Value": 2.4, + "Source": "superbwarfare:custom_explosion" + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "superbwarfare:projectile_boom" + }, + { + "Type": "Multiply", + "Value": 0.75, + "Source": "superbwarfare:mine" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "superbwarfare:cannon_fire" + }, + { + "Type": "Multiply", + "Value": 0.25, + "Source": "#superbwarfare:explosion" + }, + { + "Type": "Multiply", + "Value": 0.85, + "Source": "#superbwarfare:projectile_absolute" + }, + { + "Type": "Multiply", + "Value": 10, + "Source": "superbwarfare:vehicle_strike" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "@superbwarfare:gun_grenade" + }, + { + "Type": "Reduce", + "Value": 8 + } + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/vehicles/mle_1934.json b/src/main/resources/data/superbwarfare/vehicles/mle_1934.json index 01eff4d1e..f7ba52343 100644 --- a/src/main/resources/data/superbwarfare/vehicles/mle_1934.json +++ b/src/main/resources/data/superbwarfare/vehicles/mle_1934.json @@ -1,4 +1,94 @@ { "ID": "superbwarfare:mle_1934", - "MaxHealth": 350 + "MaxHealth": 350, + "DamageModifiers": [ + { + "Type": "Multiply", + "Value": 0.2 + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:arrow" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:trident" + }, + { + "Type": "Multiply", + "Value": 2.5, + "Source": "minecraft:mob_attack" + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "minecraft:mob_attack_no_aggro" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:mob_projectile" + }, + { + "Type": "Multiply", + "Value": 12.5, + "Source": "minecraft:lava" + }, + { + "Type": "Multiply", + "Value": 6, + "Source": "minecraft:explosion" + }, + { + "Type": "Multiply", + "Value": 6, + "Source": "minecraft:player_explosion" + }, + { + "Type": "Multiply", + "Value": 2.4, + "Source": "superbwarfare:custom_explosion" + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "superbwarfare:projectile_boom" + }, + { + "Type": "Multiply", + "Value": 0.75, + "Source": "superbwarfare:mine" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "superbwarfare:cannon_fire" + }, + { + "Type": "Multiply", + "Value": 0.25, + "Source": "#superbwarfare:explosion" + }, + { + "Type": "Multiply", + "Value": 0.85, + "Source": "#superbwarfare:projectile_absolute" + }, + { + "Type": "Multiply", + "Value": 10, + "Source": "superbwarfare:vehicle_strike" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "@superbwarfare:gun_grenade" + }, + { + "Type": "Reduce", + "Value": 8 + } + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/vehicles/prism_tank.json b/src/main/resources/data/superbwarfare/vehicles/prism_tank.json index 507d3bb47..e88ee6a63 100644 --- a/src/main/resources/data/superbwarfare/vehicles/prism_tank.json +++ b/src/main/resources/data/superbwarfare/vehicles/prism_tank.json @@ -2,5 +2,100 @@ "ID": "superbwarfare:prism_tank", "MaxHealth": 400, "MaxEnergy": 20000000, - "UpStep": 2.25 + "UpStep": 2.25, + "DamageModifiers": [ + { + "Type": "Multiply", + "Value": 0.2 + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:arrow" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:trident" + }, + { + "Type": "Multiply", + "Value": 2.5, + "Source": "minecraft:mob_attack" + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "minecraft:mob_attack_no_aggro" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "minecraft:mob_projectile" + }, + { + "Type": "Multiply", + "Value": 12.5, + "Source": "minecraft:lava" + }, + { + "Type": "Multiply", + "Value": 6, + "Source": "minecraft:explosion" + }, + { + "Type": "Multiply", + "Value": 6, + "Source": "minecraft:player_explosion" + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "superbwarfare:custom_explosion" + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "superbwarfare:projectile_boom" + }, + { + "Type": "Multiply", + "Value": 0.7, + "Source": "superbwarfare:mine" + }, + { + "Type": "Multiply", + "Value": 0.9, + "Source": "superbwarfare:lunge_mine" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "superbwarfare:cannon_fire" + }, + { + "Type": "Multiply", + "Value": 0.1, + "Source": "#superbwarfare:explosion" + }, + { + "Type": "Multiply", + "Value": 0.7, + "Source": "#superbwarfare:projectile_absolute" + }, + { + "Type": "Multiply", + "Value": 4.5, + "Source": "superbwarfare:vehicle_strike" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "@superbwarfare:gun_grenade" + }, + { + "Type": "Reduce", + "Value": 9 + } + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/vehicles/speedboat.json b/src/main/resources/data/superbwarfare/vehicles/speedboat.json index 16fdc17a9..79edf69c7 100644 --- a/src/main/resources/data/superbwarfare/vehicles/speedboat.json +++ b/src/main/resources/data/superbwarfare/vehicles/speedboat.json @@ -1,5 +1,105 @@ { "ID": "superbwarfare:speedboat", "MaxHealth": 200, - "MaxEnergy": 500000 + "MaxEnergy": 500000, + "DamageModifiers": [ + { + "Type": "Multiply", + "Value": 0.5 + }, + { + "Type": "Multiply", + "Value": 0.2, + "Source": "minecraft:arrow" + }, + { + "Type": "Multiply", + "Value": 0.4, + "Source": "minecraft:trident" + }, + { + "Type": "Multiply", + "Value": 0.4, + "Source": "minecraft:mob_attack" + }, + { + "Type": "Multiply", + "Value": 0.4, + "Source": "minecraft:mob_attack_no_aggro" + }, + { + "Type": "Multiply", + "Value": 0.4, + "Source": "minecraft:mob_projectile" + }, + { + "Type": "Multiply", + "Value": 0.4, + "Source": "minecraft:player_attack" + }, + { + "Type": "Multiply", + "Value": 4, + "Source": "minecraft:lava" + }, + { + "Type": "Multiply", + "Value": 4, + "Source": "minecraft:explosion" + }, + { + "Type": "Multiply", + "Value": 4, + "Source": "minecraft:player_explosion" + }, + { + "Type": "Multiply", + "Value": 0.8, + "Source": "superbwarfare:cannon_fire" + }, + { + "Type": "Multiply", + "Value": 0.16, + "Source": "#superbwarfare:explosion" + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "superbwarfare:vehicle_strike" + }, + { + "Type": "Multiply", + "Value": 0.9, + "Source": "@superbwarfare:cannon_shell" + }, + { + "Type": "Multiply", + "Value": 1.3, + "Source": "@superbwarfare:small_cannon_shell" + }, + { + "Type": "Multiply", + "Value": 2.2, + "Source": "@superbwarfare:gun_grenade" + }, + { + "Type": "Multiply", + "Value": 6, + "Source": "@superbwarfare:rgo_grenade" + }, + { + "Type": "Multiply", + "Value": 5, + "Source": "@superbwarfare:hand_grenade" + }, + { + "Type": "Multiply", + "Value": 4, + "Source": "@superbwarfare:mortar_shell" + }, + { + "Type": "Reduce", + "Value": 2 + } + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/vehicles/wheel_chair.json b/src/main/resources/data/superbwarfare/vehicles/wheel_chair.json index d01a60ff2..65285751f 100644 --- a/src/main/resources/data/superbwarfare/vehicles/wheel_chair.json +++ b/src/main/resources/data/superbwarfare/vehicles/wheel_chair.json @@ -2,5 +2,12 @@ "ID": "superbwarfare:wheel_chair", "MaxHealth": 30, "MaxEnergy": 24000, - "UpStep": 1.1 + "UpStep": 1.1, + "DamageModifiers": [ + { + "Type": "Multiply", + "Value": 2, + "Source": "superbwarfare:vehicle_strike" + } + ] } \ No newline at end of file diff --git a/src/main/resources/data/superbwarfare/vehicles/yx_100.json b/src/main/resources/data/superbwarfare/vehicles/yx_100.json index 0684e1b52..b99641542 100644 --- a/src/main/resources/data/superbwarfare/vehicles/yx_100.json +++ b/src/main/resources/data/superbwarfare/vehicles/yx_100.json @@ -2,5 +2,107 @@ "ID": "superbwarfare:yx_100", "MaxHealth": 500, "MaxEnergy": 20000000, - "UpStep": 2.25 + "UpStep": 2.25, + "DamageModifiers": [ + { + "Type": "Immunity", + "Source": "minecraft:arrow" + }, + { + "Type": "Immunity", + "Source": "minecraft:trident" + }, + { + "Type": "Immunity", + "Source": "minecraft:mob_attack" + }, + { + "Type": "Immunity", + "Source": "minecraft:mob_attack_no_aggro" + }, + { + "Type": "Immunity", + "Source": "minecraft:mob_projectile" + }, + { + "Type": "Immunity", + "Source": "minecraft:player_attack" + }, + { + "Type": "Immunity", + "Source": "#superbwarfare:explosion" + }, + { + "Type": "Immunity", + "Source": "superbwarfare:vehicle_strike" + }, + { + "Type": "Multiply", + "Value": 0.2 + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "minecraft:explosion" + }, + { + "Type": "Multiply", + "Value": 0.75, + "Source": "superbwarfare:custom_explosion" + }, + { + "Type": "Multiply", + "Value": 0.75, + "Source": "superbwarfare:projectile_boom" + }, + { + "Type": "Multiply", + "Value": 0.5, + "Source": "superbwarfare:mine" + }, + { + "Type": "Multiply", + "Value": 0.5, + "Source": "superbwarfare:lunge_mine" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "superbwarfare:cannon_fire" + }, + { + "Type": "Multiply", + "Value": 0.15, + "Source": "#superbwarfare:projectile_absolute" + }, + { + "Type": "Multiply", + "Value": 0.375, + "Source": "@superbwarfare:small_cannon_shell" + }, + { + "Type": "Multiply", + "Value": 4, + "Source": "@superbwarfare:c4" + }, + { + "Type": "Multiply", + "Value": 1.5, + "Source": "@superbwarfare:rpg_rocket" + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "@superbwarfare:gun_grenade" + }, + { + "Type": "Multiply", + "Value": 2, + "Source": "@superbwarfare:mortar_shell" + }, + { + "Type": "Reduce", + "Value": 9 + } + ] } \ No newline at end of file