Well after going through the snippets section and seeing several poor attempts at dragon armour trimming I have decided to just release mine. I didn't notice it until now but godsword making could be added to it(the hilts being added to blade).
Code:
package server.model.players.content;
import server.model.players.Client;
import server.model.items.ItemAssistant;
import server.util.Misc;
public class Trimming {
public static enum TrimmingData {
DRAGON_FULL_HELM(19346, 11335, 19336),
DRAGON_FULL_HELM2(19354, 11335, 19341),
DRAGON_PLATEBODY(19350, 14479, 19337),
DRAGON_PLATEBODY2(19358, 14479, 19342),
DRAGON_PLATELEGS(19348, 4087, 19338),
DRAGON_PLATELEGS2(19356, 4087, 19343),
DRAGON_PLATESKIRT(19348, 4585, 19339),
DRAGON_PLATESKIRT2(19356, 4585, 19344),
DRAGON_SQ_SHIELD(19352, 1187, 19340),
DRAGON_SQ_SHIELD2 (19360, 1187, 19345),
AMULET_OF_FURY(19333, 6585, 19335);
private int set, armour, upgraded;
private TrimmingData(final int set, final int armour, final int upgraded) {
this.set = set;
this.armour = armour;
this.upgraded = upgraded;
}
private int getSet() {
return set;
}
private int getArmour() {
return armour;
}
private int getUpgrade() {
return upgraded;
}
private String getName() {
return Misc.optimizeText(toString().toLowerCase().replaceAll("_", " "));
}
}
public static void trimArmour(final Client player, int itemUsed, int useWith) {
for(final TrimmingData t: TrimmingData.values()) {
if(itemUsed == t.getSet() && useWith == t.getArmour() || itemUsed == t.getArmour() && useWith == t.getSet()) {
player.getItems().deleteItem(itemUsed, 1);
player.getItems().deleteItem(useWith, 1);
player.getItems().addItem(t.getUpgrade(), 1);
player.sM("You add trim to your "+t.getName()+".");
}
}
}
public static void dismantleArmour(final Client player, int trimmed) {
for(final TrimmingData t: TrimmingData.values()) {
if(trimmed == t.getUpgrade()) {
player.getItems().deleteItem(t.getUpgrade(), 1);
player.getItems().addItem(t.getArmour(), 1);
player.getItems().addItem(t.getSet(), 1);
player.sM("You remove the trim from your "+t.getName()+".");
}
}
}
public static boolean canDismantle(int trim) {
for(final TrimmingData t: TrimmingData.values())
if(trim == t.getUpgrade())
return true;
return false;
}
}
in itemclick2:
Code:
if(Trimming.canDismantle(itemId)) {
Trimming.dismantleArmour(c, itemId);
}
in useItem in itemonitem method:
Code:
Trimming.trimArmour(c, itemUsed, useWith);
Don't forget to add imports.
Enjoy.