all zinced up

This commit is contained in:
Boblet 2025-07-11 14:56:46 +02:00
parent 89100738f4
commit 10d8551ce3
8 changed files with 114 additions and 59 deletions

View File

@ -1,10 +1,17 @@
## Added
* New assembler
* Features a brand new animated model, GUI and the new recipe selection system
* Many recipes have been reworked, with the microcrafting complexity reduced
* The redcoil didn't get a recipe. It's gonna die soon.
## Changed
* Removed levitation unit
* Many of NTM's regular building blocks now have forge microblock support
* RBMK crane models now conform to the dimensions of the room they're in
* Projectile resistance for armor has been renamed to "physical" and now also extends to all direct forms of attack by other entities that don't fall into any other categories (mostly melee attacks)
* This should fix the issue where most armors are quite weak against swords
* Electric attacks (i.e. tesla cannon) are now in the "energy damage" category
* This means that armors that have energy resistance actually properly work against the tesla cannon
## Fixed
* Fixed gas centrifuge sound persisting when broken or when unloaded

View File

@ -31,7 +31,7 @@ public class UpgradeManagerNT {
public UpgradeManagerNT(TileEntity te) { this.owner = te; }
@Deprecated public UpgradeManagerNT() { }
public void checkSlots(ItemStack[] slots, int start, int end) { checkSlots(owner, slots, start, end); }
public void checkSlots(ItemStack[] slots, int start, int end) { checkSlotsInternal(owner, slots, start, end); }
@Deprecated public void checkSlots(TileEntity te, ItemStack[] slots, int start, int end) { checkSlotsInternal(te, slots, start, end); }
private void checkSlotsInternal(TileEntity te, ItemStack[] slots, int start, int end) {

View File

@ -73,6 +73,64 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
this.register(new GenericRecipe("ass.protoreactor").setup(200, 100).outputItems(new ItemStack(ModItems.dysfunctional_reactor, 1))
.inputItems(new OreDictStack(STEEL.shell(), 4), new OreDictStack(PB.plateCast(), 4), new ComparableStack(ModItems.rod_quad_empty, 10), new OreDictStack(KEY_BROWN, 3)));
// powders
this.register(new GenericRecipe("ass.partlith").setup(40, 100).outputItems(new ItemStack(ModItems.part_lithium, 8))
.inputItems(new OreDictStack(LI.dust(), 1)));
this.register(new GenericRecipe("ass.partberyl").setup(40, 100).outputItems(new ItemStack(ModItems.part_beryllium, 8))
.inputItems(new OreDictStack(BE.dust(), 1)));
this.register(new GenericRecipe("ass.partcoal").setup(40, 100).outputItems(new ItemStack(ModItems.part_carbon, 8))
.inputItems(new OreDictStack(COAL.dust(), 1)));
this.register(new GenericRecipe("ass.partcop").setup(40, 100).outputItems(new ItemStack(ModItems.part_copper, 8))
.inputItems(new OreDictStack(CU.dust(), 1)));
this.register(new GenericRecipe("ass.partplut").setup(40, 100).outputItems(new ItemStack(ModItems.part_plutonium, 8))
.inputItems(new OreDictStack(PU.dust(), 1)));
// bunker blocks
this.register(new GenericRecipe("ass.cmbtile").setup(100, 100).outputItems(new ItemStack(ModBlocks.cmb_brick, 8))
.inputItems(new OreDictStack(ANY_CONCRETE.any(), 4), new OreDictStack(CMB.plate(), 4)));
this.register(new GenericRecipe("ass.cmbbrick").setup(100, 100).outputItems(new ItemStack(ModBlocks.cmb_brick_reinforced, 8))
.inputItems(new OreDictStack(MAGTUNG.ingot(), 8), new ComparableStack(ModBlocks.ducrete, 4), new ComparableStack(ModBlocks.cmb_brick, 8)));
this.register(new GenericRecipe("ass.sealframe").setup(100, 100).outputItems(new ItemStack(ModBlocks.seal_frame, 1))
.inputItems(new OreDictStack(DURA.ingot(), 1), new OreDictStack(STEEL.plateCast(), 1), new OreDictStack(MINGRADE.wireDense(), 1)));
this.register(new GenericRecipe("ass.sealcontroller").setup(100, 100).outputItems(new ItemStack(ModBlocks.seal_controller, 1))
.inputItems(new OreDictStack(DURA.ingot(), 1), new OreDictStack(STEEL.plateCast(), 1), new OreDictStack(ANY_PLASTIC.ingot(), 4), new OreDictStack(MINGRADE.wireDense(), 4)));
// machines
this.register(new GenericRecipe("ass.shredder").setup(100, 100).outputItems(new ItemStack(ModBlocks.machine_shredder, 1))
.inputItems(new OreDictStack(STEEL.plate528(), 8), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.motor, 2)));
this.register(new GenericRecipe("ass.centrifuge").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_centrifuge, 1))
.inputItems(new ComparableStack(ModItems.centrifuge_element, 1), new OreDictStack(ANY_PLASTIC.ingot(), 4), new OreDictStack(STEEL.plate528(), 8), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ANALOG)));
this.register(new GenericRecipe("ass.gascent").setup(400, 100).outputItems(new ItemStack(ModBlocks.machine_gascent, 1))
.inputItems(new ComparableStack(ModItems.centrifuge_element, 4), new OreDictStack(ANY_PLASTIC.ingot(), 8), new OreDictStack(DESH.ingot(), 2), new OreDictStack(STEEL.plate528(), 8), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED.ordinal())));
this.register(new GenericRecipe("ass.dieselgen").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_diesel, 1))
.inputItems(new OreDictStack(STEEL.shell(), 1), new OreDictStack(CU.plateCast(), 2), new ComparableStack(ModItems.coil_copper, 4)));
this.register(new GenericRecipe("ass.rtg").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_rtg_grey, 1))
.inputItems(new ComparableStack(ModItems.rtg_unit, 3), new OreDictStack(STEEL.plate528(), 4), new OreDictStack(MINGRADE.wireFine(), 16), new OreDictStack(ANY_PLASTIC.ingot(), 4)));
this.register(new GenericRecipe("ass.derrick").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_well, 1))
.inputItems(new OreDictStack(STEEL.plate(), 8), new OreDictStack(CU.plateCast(), 2), new OreDictStack(STEEL.pipe(), 4), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.drill_titanium, 1)));
this.register(new GenericRecipe("ass.pumpjack").setup(400, 100).outputItems(new ItemStack(ModBlocks.machine_pumpjack, 1))
.inputItems(new OreDictStack(DURA.plate(), 8), new OreDictStack(STEEL.plateWelded(), 8), new OreDictStack(STEEL.pipe(), 12), new ComparableStack(ModItems.motor_desh), new ComparableStack(ModItems.drill_titanium, 1)));
this.register(new GenericRecipe("ass.flarestack").setup(100, 100).outputItems(new ItemStack(ModBlocks.machine_flare, 1))
.inputItems(new OreDictStack(STEEL.plate(), 12), new OreDictStack(CU.plate528(), 4), new OreDictStack(STEEL.shell(), 4), new ComparableStack(ModItems.thermo_element, 3)));
this.register(new GenericRecipe("ass.refinery").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_refinery, 1))
.inputItems(new OreDictStack(STEEL.plateWelded(), 3), new OreDictStack(CU.plate528(), 8), new OreDictStack(STEEL.shell(), 4), new OreDictStack(STEEL.pipe(), 12), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.circuit, 3, EnumCircuitType.ANALOG)));
this.register(new GenericRecipe("ass.coker").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_coker, 1))
.inputItems(new OreDictStack(STEEL.plateWelded(), 8), new OreDictStack(STEEL.shell(), 4), new OreDictStack(CU.plate528(), 8), new OreDictStack(RUBBER.ingot(), 4), new OreDictStack(NB.ingot(), 4)));
// batteries
this.register(new GenericRecipe("ass.battery").setup(100, 100).outputItems(new ItemStack(ModBlocks.machine_battery, 1))
.inputItems(new OreDictStack(STEEL.plateWelded(), 1), new OreDictStack(S.dust(), 12), new OreDictStack(PB.dust(), 12)));
this.register(new GenericRecipe("ass.batterylithium").setup(100, 100).outputItems(new ItemStack(ModBlocks.machine_battery, 1))
.inputItems(new OreDictStack(ANY_PLASTIC.ingot(), 8), new OreDictStack(CO.dust(), 12), new OreDictStack(LI.dust(), 12)));
this.register(new GenericRecipe("ass.batteryschrabidium").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_battery, 1))
.inputItems(new OreDictStack(DESH.ingot(), 16), new OreDictStack(NP237.dust(), 12), new OreDictStack(SA326.dust(), 12)));
this.register(new GenericRecipe("ass.batterydnt").setup(400, 100).outputItems(new ItemStack(ModBlocks.machine_battery, 1))
.inputItems(new OreDictStack(DNT.ingot(), 24), new ComparableStack(ModItems.powder_spark_mix, 12), new ComparableStack(ModItems.battery_spark_cell_1000, 1), new OreDictStack(CMB.ingot(), 32)));
// rancid shit mob spawners
this.register(new GenericRecipe("ass.chopper").setup(1_200, 100).outputItems(new ItemStack(ModItems.spawn_chopper, 8))
.inputItems(new OreDictStack(CMB.plateCast(), 24), new OreDictStack(STEEL.plate(), 32), new OreDictStack(MAGTUNG.wireFine(), 48), new ComparableStack(ModItems.motor_desh, 5), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.CONTROLLER_ADVANCED)));
// weapon parts
this.register(new GenericRecipe("ass.clusterpellets").setup(50, 100).outputItems(new ItemStack(ModItems.pellet_cluster, 1))
.inputItems(new OreDictStack(STEEL.plate(), 4), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 1)));
@ -117,26 +175,6 @@ public class AssemblyMachineRecipes extends GenericRecipes<GenericRecipe> {
.inputItems(new OreDictStack(TI.plate(), 20), new OreDictStack(AL.plate(), 20), new OreDictStack(KEY_BLACK, 16), new OreDictStack(ANY_HARDPLASTIC.ingot(), 16), new OreDictStack(ANY_HIGHEXPLOSIVE.ingot(), 4), new ComparableStack(ModItems.circuit, 4, EnumCircuitType.ADVANCED.ordinal()), new OreDictStack(STEEL.bolt(), 32)));
this.register(new GenericRecipe("ass.thrusternerva").setup(600, 100).outputItems(new ItemStack(ModItems.thruster_nuclear, 1))
.inputItems(new OreDictStack(DURA.ingot(), 32), new OreDictStack(B.ingot(), 8), new OreDictStack(PB.plate(), 16), new ComparableStack(ModItems.pipes_steel)));
// bunker blocks
this.register(new GenericRecipe("ass.cmbtile").setup(100, 100).outputItems(new ItemStack(ModBlocks.cmb_brick, 8))
.inputItems(new OreDictStack(ANY_CONCRETE.any(), 4), new OreDictStack(CMB.plate(), 4)));
this.register(new GenericRecipe("ass.cmbbrick").setup(100, 100).outputItems(new ItemStack(ModBlocks.cmb_brick_reinforced, 8))
.inputItems(new OreDictStack(MAGTUNG.ingot(), 8), new ComparableStack(ModBlocks.ducrete, 4), new ComparableStack(ModBlocks.cmb_brick, 8)));
this.register(new GenericRecipe("ass.sealframe").setup(100, 100).outputItems(new ItemStack(ModBlocks.seal_frame, 1))
.inputItems(new OreDictStack(DURA.ingot(), 1), new OreDictStack(STEEL.plateCast(), 1), new OreDictStack(MINGRADE.wireDense(), 1)));
this.register(new GenericRecipe("ass.sealcontroller").setup(100, 100).outputItems(new ItemStack(ModBlocks.seal_controller, 1))
.inputItems(new OreDictStack(DURA.ingot(), 1), new OreDictStack(STEEL.plateCast(), 1), new OreDictStack(ANY_PLASTIC.ingot(), 4), new OreDictStack(MINGRADE.wireDense(), 4)));
// machines
this.register(new GenericRecipe("ass.centrifuge").setup(200, 100).outputItems(new ItemStack(ModBlocks.machine_centrifuge, 1))
.inputItems(new ComparableStack(ModItems.centrifuge_element, 1), new OreDictStack(ANY_PLASTIC.ingot(), 4), new OreDictStack(STEEL.plate528(), 8), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ANALOG)));
this.register(new GenericRecipe("ass.gascent").setup(400, 100).outputItems(new ItemStack(ModBlocks.machine_gascent, 1))
.inputItems(new ComparableStack(ModItems.centrifuge_element, 4), new OreDictStack(ANY_PLASTIC.ingot(), 8), new OreDictStack(DESH.ingot(), 2), new OreDictStack(STEEL.plate528(), 8), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.ADVANCED.ordinal())));
// rancid shit mob spawners
this.register(new GenericRecipe("ass.chopper").setup(1_200, 100).outputItems(new ItemStack(ModItems.spawn_chopper, 8))
.inputItems(new OreDictStack(CMB.plateCast(), 24), new OreDictStack(STEEL.plate(), 32), new OreDictStack(MAGTUNG.wireFine(), 48), new ComparableStack(ModItems.motor_desh, 5), new ComparableStack(ModItems.circuit, 1, EnumCircuitType.CONTROLLER_ADVANCED)));
}
public static HashMap getRecipes() {

View File

@ -322,7 +322,7 @@ public class ModItems {
public static Item plate_combine_steel;
public static Item plate_mixed;
public static Item plate_paa;
public static Item pipes_steel;
@Deprecated public static Item pipes_steel;
public static Item drill_titanium;
public static Item plate_dalekanium;
public static Item plate_euphemium;

View File

@ -31,7 +31,6 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.world.World;
@ -51,7 +50,7 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
public FluidTank tank;
public UpgradeManagerNT upgradeManager = new UpgradeManagerNT();
public UpgradeManagerNT upgradeManager = new UpgradeManagerNT(this);
public TileEntityMachineCrystallizer() {
super(8);
@ -76,7 +75,7 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
tank.setType(7, slots);
tank.loadTank(3, 4, slots);
upgradeManager.checkSlots(this, slots, 5, 6);
upgradeManager.checkSlots(slots, 5, 6);
for(int i = 0; i < getCycleCount(); i++) {
@ -299,14 +298,8 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
@Override
public boolean isItemValidForSlot(int i, ItemStack itemStack) {
CrystallizerRecipe recipe = CrystallizerRecipes.getOutput(itemStack, tank.getTankType());
if(i == 0 && recipe != null) {
return true;
}
if(i == 1 && itemStack.getItem() instanceof IBatteryItem)
return true;
if(i == 0 && CrystallizerRecipes.getOutput(itemStack, tank.getTankType()) != null) return true;
if(i == 1 && itemStack.getItem() instanceof IBatteryItem) return true;
return false;
}
@ -318,13 +311,26 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
@Override
public int[] getAccessibleSlotsFromSide(int side) {
return side == 0 ? new int[] { 2 } : new int[] { 0, 2 };
return new int[] { 0, 2 };
}
AxisAlignedBB bb = null;
@Override
public AxisAlignedBB getRenderBoundingBox() {
return TileEntity.INFINITE_EXTENT_AABB;
if(bb == null) {
bb = AxisAlignedBB.getBoundingBox(
xCoord - 1,
yCoord,
zCoord - 1,
xCoord + 2,
yCoord + 10,
zCoord + 2
);
}
return bb;
}
@Override

View File

@ -28,6 +28,7 @@ import net.minecraft.entity.monster.EntityCreeper;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EntityDamageSource;
import net.minecraft.util.EnumChatFormatting;
import net.minecraft.util.MathHelper;
import net.minecraftforge.event.entity.living.LivingAttackEvent;
@ -48,7 +49,7 @@ public class DamageResistanceHandler {
public static final String CATEGORY_EXPLOSION = "EXPL";
public static final String CATEGORY_FIRE = "FIRE";
public static final String CATEGORY_PROJECTILE = "PROJ";
public static final String CATEGORY_PHYSICAL = "PHYS";
public static final String CATEGORY_ENERGY = "EN";
public static final Gson gson = new Gson();
@ -121,70 +122,70 @@ public class DamageResistanceHandler {
entityStats.put(EntityCreeper.class, new ResistanceStats().addCategory(CATEGORY_EXPLOSION, 2F, 0.25F));
itemStats.put(ModItems.jackt, new ResistanceStats()
.addCategory(CATEGORY_PROJECTILE, 5F, 0.5F));
.addCategory(CATEGORY_PHYSICAL, 5F, 0.5F));
itemStats.put(ModItems.jackt2, new ResistanceStats()
.addCategory(CATEGORY_PROJECTILE, 5F, 0.5F));
.addCategory(CATEGORY_PHYSICAL, 5F, 0.5F));
registerSet(ModItems.steel_helmet, ModItems.steel_plate, ModItems.steel_legs, ModItems.steel_boots, new ResistanceStats());
registerSet(ModItems.titanium_helmet, ModItems.titanium_plate, ModItems.titanium_legs, ModItems.titanium_boots, new ResistanceStats());
registerSet(ModItems.alloy_helmet, ModItems.alloy_plate, ModItems.alloy_legs, ModItems.alloy_boots, new ResistanceStats()
.addCategory(CATEGORY_PROJECTILE, 2F, 0.1F));
.addCategory(CATEGORY_PHYSICAL, 2F, 0.1F));
registerSet(ModItems.cobalt_helmet, ModItems.cobalt_plate, ModItems.cobalt_legs, ModItems.cobalt_boots, new ResistanceStats()
.addCategory(CATEGORY_PROJECTILE, 2F, 0.1F));
.addCategory(CATEGORY_PHYSICAL, 2F, 0.1F));
registerSet(ModItems.starmetal_helmet, ModItems.starmetal_plate, ModItems.starmetal_legs, ModItems.starmetal_boots, new ResistanceStats()
.addCategory(CATEGORY_PROJECTILE, 3F, 0.25F)
.addCategory(CATEGORY_PHYSICAL, 3F, 0.25F)
.setOther(1F, 0.1F));
registerSet(ModItems.zirconium_legs, ModItems.zirconium_legs, ModItems.zirconium_legs, ModItems.zirconium_legs, new ResistanceStats()
.setOther(0F, 1F));
registerSet(ModItems.dnt_helmet, ModItems.dnt_plate, ModItems.dnt_legs, ModItems.dnt_boots, new ResistanceStats());
registerSet(ModItems.cmb_helmet, ModItems.cmb_plate, ModItems.cmb_legs, ModItems.cmb_boots, new ResistanceStats()
.addCategory(CATEGORY_PROJECTILE, 5F, 0.5F)
.addCategory(CATEGORY_PHYSICAL, 5F, 0.5F)
.setOther(5F, 0.25F));
registerSet(ModItems.schrabidium_helmet, ModItems.schrabidium_plate, ModItems.schrabidium_legs, ModItems.schrabidium_boots, new ResistanceStats()
.addCategory(CATEGORY_PROJECTILE, 10F, 0.65F)
.addCategory(CATEGORY_PHYSICAL, 10F, 0.65F)
.setOther(5F, 0.5F));
registerSet(ModItems.robes_helmet, ModItems.robes_plate, ModItems.robes_legs, ModItems.robes_boots, new ResistanceStats());
registerSet(ModItems.security_helmet, ModItems.security_plate, ModItems.security_legs, ModItems.security_boots, new ResistanceStats()
.addCategory(CATEGORY_PROJECTILE, 5F, 0.5F)
.addCategory(CATEGORY_PHYSICAL, 5F, 0.5F)
.addCategory(CATEGORY_EXPLOSION, 2F, 0.25F));
registerSet(ModItems.steamsuit_helmet, ModItems.steamsuit_plate, ModItems.steamsuit_legs, ModItems.steamsuit_boots, new ResistanceStats()
.addCategory(CATEGORY_PROJECTILE, 2F, 0.15F)
.addCategory(CATEGORY_PHYSICAL, 2F, 0.15F)
.addCategory(CATEGORY_FIRE, 0.5F, 0.25F)
.addExact(DamageSource.fall.damageType, 5F, 0.25F)
.setOther(0F, 0.1F));
registerSet(ModItems.dieselsuit_helmet, ModItems.dieselsuit_plate, ModItems.dieselsuit_legs, ModItems.dieselsuit_boots, new ResistanceStats()
.addCategory(CATEGORY_PROJECTILE, 1F, 0.15F)
.addCategory(CATEGORY_PHYSICAL, 1F, 0.15F)
.addCategory(CATEGORY_FIRE, 0.5F, 0.5F)
.addCategory(CATEGORY_EXPLOSION, 2F, 0.15F)
.setOther(0F, 0.1F));
registerSet(ModItems.t45_helmet, ModItems.t45_plate, ModItems.t45_legs, ModItems.t45_boots, new ResistanceStats()
.addCategory(CATEGORY_PROJECTILE, 2F, 0.15F)
.addCategory(CATEGORY_PHYSICAL, 2F, 0.15F)
.addCategory(CATEGORY_FIRE, 0.5F, 0.35F)
.addCategory(CATEGORY_EXPLOSION, 5F, 0.25F)
.addExact(DamageSource.fall.damageType, 0F, 1F)
.setOther(0F, 0.1F));
registerSet(ModItems.ajr_helmet, ModItems.ajr_plate, ModItems.ajr_legs, ModItems.ajr_boots, new ResistanceStats()
.addCategory(CATEGORY_PROJECTILE, 4F, 0.15F)
.addCategory(CATEGORY_PHYSICAL, 4F, 0.15F)
.addCategory(CATEGORY_FIRE, 0.5F, 0.35F)
.addCategory(CATEGORY_EXPLOSION, 7.5F, 0.25F)
.addExact(DamageSource.fall.damageType, 0F, 1F)
.setOther(0F, 0.15F));
registerSet(ModItems.ajro_helmet, ModItems.ajro_plate, ModItems.ajro_legs, ModItems.ajro_boots, new ResistanceStats()
.addCategory(CATEGORY_PROJECTILE, 4F, 0.15F)
.addCategory(CATEGORY_PHYSICAL, 4F, 0.15F)
.addCategory(CATEGORY_FIRE, 0.5F, 0.35F)
.addCategory(CATEGORY_EXPLOSION, 7.5F, 0.25F)
.addExact(DamageSource.fall.damageType, 0F, 1F)
.setOther(0F, 0.15F));
registerSet(ModItems.rpa_helmet, ModItems.rpa_plate, ModItems.rpa_legs, ModItems.rpa_boots, new ResistanceStats()
.addCategory(CATEGORY_PROJECTILE, 25F, 0.65F)
.addCategory(CATEGORY_PHYSICAL, 25F, 0.65F)
.addCategory(CATEGORY_FIRE, 10F, 0.9F)
.addCategory(CATEGORY_EXPLOSION, 15F, 0.25F)
.addCategory(CATEGORY_ENERGY, 25F, 0.75F)
.addExact(DamageSource.fall.damageType, 0F, 1F)
.setOther(15F, 0.3F));
ResistanceStats bj = new ResistanceStats()
.addCategory(CATEGORY_PROJECTILE, 5F, 0.5F)
.addCategory(CATEGORY_PHYSICAL, 5F, 0.5F)
.addCategory(CATEGORY_FIRE, 2.5F, 0.5F)
.addCategory(CATEGORY_EXPLOSION, 10F, 0.25F)
.addExact(DamageSource.fall.damageType, 0F, 1F)
@ -197,14 +198,14 @@ public class DamageResistanceHandler {
.addExact(DamageSource.fall.damageType, 5F, 0.75F)
.setOther(0F, 0.1F));
registerSet(ModItems.hev_helmet, ModItems.hev_plate, ModItems.hev_legs, ModItems.hev_boots, new ResistanceStats()
.addCategory(CATEGORY_PROJECTILE, 2F, 0.25F)
.addCategory(CATEGORY_PHYSICAL, 2F, 0.25F)
.addCategory(CATEGORY_FIRE, 0.5F, 0.5F)
.addCategory(CATEGORY_EXPLOSION, 5F, 0.25F)
.addExact(DamageSource.onFire.damageType, 0F, 1F)
.addExact(DamageSource.fall.damageType, 10F, 0F)
.setOther(2F, 0.25F));
registerSet(ModItems.bismuth_helmet, ModItems.bismuth_plate, ModItems.bismuth_legs, ModItems.bismuth_boots, new ResistanceStats()
.addCategory(CATEGORY_PROJECTILE, 2F, 0.15F)
.addCategory(CATEGORY_PHYSICAL, 2F, 0.15F)
.addCategory(CATEGORY_FIRE, 5F, 0.5F)
.addCategory(CATEGORY_EXPLOSION, 5F, 0.25F)
.addExact(DamageSource.fall.damageType, 0F, 1F)
@ -220,13 +221,13 @@ public class DamageResistanceHandler {
.addCategory(CATEGORY_FIRE, 0F, 1F)
.setOther(1000F, 1F));
registerSet(ModItems.taurun_helmet, ModItems.taurun_plate, ModItems.taurun_legs, ModItems.taurun_boots, new ResistanceStats()
.addCategory(CATEGORY_PROJECTILE, 2F, 0.15F)
.addCategory(CATEGORY_PHYSICAL, 2F, 0.15F)
.addCategory(CATEGORY_FIRE, 0F, 0.25F)
.addCategory(CATEGORY_EXPLOSION, 0F, 0.25F)
.addExact(DamageSource.fall.damageType, 4F, 0.5F)
.setOther(2F, 0.1F));
registerSet(ModItems.trenchmaster_helmet, ModItems.trenchmaster_plate, ModItems.trenchmaster_legs, ModItems.trenchmaster_boots, new ResistanceStats()
.addCategory(CATEGORY_PROJECTILE, 5F, 0.5F)
.addCategory(CATEGORY_PHYSICAL, 5F, 0.5F)
.addCategory(CATEGORY_FIRE, 5F, 0.5F)
.addCategory(CATEGORY_EXPLOSION, 5F, 0.25F)
.addExact(DamageClass.LASER.name(), 15F, 0.9F)
@ -443,10 +444,13 @@ public class DamageResistanceHandler {
public static String typeToCategory(DamageSource source) {
if(source.isExplosion()) return CATEGORY_EXPLOSION;
if(source.isFireDamage()) return CATEGORY_FIRE;
if(source.isProjectile()) return CATEGORY_PROJECTILE;
if(source.isProjectile()) return CATEGORY_PHYSICAL;
if(source.damageType.equals(DamageClass.LASER.name())) return CATEGORY_ENERGY;
if(source.damageType.equals(DamageClass.MICROWAVE.name())) return CATEGORY_ENERGY;
if(source.damageType.equals(DamageClass.SUBATOMIC.name())) return CATEGORY_ENERGY;
if(source.damageType.equals(DamageClass.ELECTRIC.name())) return CATEGORY_ENERGY;
if(source == DamageSource.cactus) return CATEGORY_PHYSICAL;
if(source instanceof EntityDamageSource) return CATEGORY_PHYSICAL;
return source.damageType;
}

View File

@ -509,7 +509,7 @@ damage.item=Resistenz wenn getragen:
damage.category.EN=Energie
damage.category.EXPL=Explosion
damage.category.FIRE=Feuer
damage.category.PROJ=Projektil
damage.category.PHYS=Physisch
damage.exact.drown=Ertrinken
damage.exact.fall=Fallschaden
damage.exact.LASER=Laser

View File

@ -925,7 +925,7 @@ damage.item=Resistances when worn:
damage.category.EN=Energy
damage.category.EXPL=Explosion
damage.category.FIRE=Fire
damage.category.PROJ=Projectile
damage.category.PHYS=Physical
damage.exact.drown=Drowning
damage.exact.fall=Fall damage
damage.exact.LASER=Laser