Well sure. Let's take the armor as an example. I want to remove the old, ugly, vanilla armor mechanic. I don't like it at all, it's messy. Instead of the original armor I want to create damage reduction out from armor points. Let's say you have 1000 armor, that will equal, let's say 40% damage reduction. To do this, I would have made this:
/**
* Reduces damage, depending on armor
*/
protected float applyArmorCalculations(DamageSource par1DamageSource, float par2)
{
if (!par1DamageSource.isUnblockable())
{
int i = 25 - this.getTotalArmorValue();
float f1 = par2 * (float)i;
this.damageArmor(par2);
par2 = f1 / 25.0F;
}
return par2;
}
into this:
/**
* Reduces damage, depending on armor
*/
protected float applyArmorCalculations(DamageSource par1DamageSource, float par2)
{
if (!par1DamageSource.isUnblockable())
{
par2 = ArmorHelper.damageReduction();
}
return par2;
}
or something like that. ArmorHelper.damageReduction(); would return a value of 0.6.
I guess that's as specific as I can get. This is what I did back in 1.6, using class transformers, but it seems a lot harder now that the source code is non-editable.