Fix crafting with items received from Salvage

Only set metadata on Salvage items when it’s not set to -1
Fixes #2078

And cleanup some javadocs in Salvageable
This commit is contained in:
TfT_02 2014-06-18 11:44:21 +02:00
parent 2eeb9b1f35
commit 8e474170e4
2 changed files with 18 additions and 18 deletions

View File

@ -84,8 +84,6 @@ public class SalvageManager extends SkillManager {
return;
}
byte salvageMaterialMetadata = salvageable.getSalvageMaterialMetadata();
int salvageableAmount = Salvage.calculateSalvageableAmount(item.getDurability(), salvageable.getMaximumDurability(), salvageable.getMaximumQuantity());
if (salvageableAmount == 0) {
@ -108,6 +106,8 @@ public class SalvageManager extends SkillManager {
}
}
byte salvageMaterialMetadata = (salvageable.getSalvageMaterialMetadata() != (byte) -1) ? salvageable.getSalvageMaterialMetadata() : 0;
Misc.dropItems(location, new MaterialData(salvageable.getSalvageMaterial(), salvageMaterialMetadata).toItemStack(salvageableAmount), 1);
// BWONG BWONG BWONG - CLUNK!

View File

@ -7,37 +7,37 @@ import com.gmail.nossr50.datatypes.skills.MaterialType;
public interface Salvageable {
/**
* Gets the type of this repairable item
* Gets the type of this salvageable item
*
* @return the type of this repairable
* @return the type of this salvageable
*/
public Material getItemMaterial();
/**
* Gets the id of the material used to repair this item
* Gets the material of the items dropped when salvaging this item
*
* @return the id of the repair material
* @return the material of the salvage drop
*/
public Material getSalvageMaterial();
/**
* Gets the metadata byte value of the material used to repair this item
* Gets the metadata byte value of the items dropped when salvaging this item
*
* @return the byte metadata of the repair material
* @return the byte metadata of the salvage drop
*/
public byte getSalvageMaterialMetadata();
/**
* Gets the RepairItemType value for this repairable item
* Gets the ItemType value for this salvageable item
*
* @return the RepairItemType for this repairable
* @return the ItemType for this salvageable
*/
public ItemType getSalvageItemType();
/**
* Gets the RepairMaterialType value for this repairable item
* Gets the MaterialType value for this salvageable item
*
* @return the RepairMaterialType for this repairable
* @return the MaterialType for this salvageable
*/
public MaterialType getSalvageMaterialType();
@ -58,25 +58,25 @@ public interface Salvageable {
public short getMaximumDurability();
/**
* Gets the base repair durability on which to calculate bonuses.
* Gets the base salvage durability on which to calculate bonuses.
*
* This is actually the maximum durability divided by the minimum quantity
*
* @return the base repair durability
* @return the base salvage durability
*/
public short getBaseSalvageDurability();
/**
* Gets the minimum repair level needed to repair this item
* Gets the minimum salvage level needed to salvage this item
*
* @return the minimum level to repair this item, or 0 for no minimum
* @return the minimum level to salvage this item, or 0 for no minimum
*/
public int getMinimumLevel();
/**
* Gets the xpMultiplier for this repairable
* Gets the xpMultiplier for this salvageable
*
* @return the xpMultiplier of this repairable
* @return the xpMultiplier of this salvageable
*/
public double getXpMultiplier();
}