ProjectAres/PGM/src/main/java/tc/oc/pgm/itemmeta/ItemModifier.java

34 lines
792 B
Java

package tc.oc.pgm.itemmeta;
import java.util.Optional;
import javax.inject.Inject;
import org.bukkit.inventory.ItemStack;
public class ItemModifier {
private final Optional<ItemModifyModule> module;
@Inject ItemModifier(Optional<ItemModifyModule> module) {
this.module = module;
}
public boolean needsModification(ItemStack stack) {
return module.isPresent() && module.get().shouldApply(stack);
}
public ItemStack modifyCopy(ItemStack stack) {
if(needsModification(stack)) {
stack = module.get().applyToCopy(stack);
}
return stack;
}
public ItemStack modify(ItemStack stack) {
if(needsModification(stack)) {
module.get().applyRules(stack);
}
return stack;
}
}