package tc.oc.pgm.tracker.damage;
import javax.annotation.Nullable;
import net.md_5.bungee.api.chat.BaseComponent;
import net.md_5.bungee.api.chat.TranslatableComponent;
import org.bukkit.block.BlockState;
import org.bukkit.material.MaterialData;
import tc.oc.commons.core.chat.Component;
import tc.oc.commons.bukkit.util.NMSHacks;
import tc.oc.pgm.match.ParticipantState;
public class BlockInfo extends OwnerInfoBase implements PhysicalInfo {
@Inspect private final MaterialData material;
public BlockInfo(MaterialData material, @Nullable ParticipantState owner) {
super(owner);
this.material = material;
}
public BlockInfo(MaterialData material) {
this(material, null);
}
public BlockInfo(BlockState block, @Nullable ParticipantState owner) {
this(block.getMaterialData(), owner);
}
public BlockInfo(BlockState block) {
this(block, null);
}
public MaterialData getMaterial() {
return material;
}
@Override
public String getIdentifier() {
return getMaterial().getItemType().name();
}
@Override
public BaseComponent getLocalizedName() {
String key = NMSHacks.getTranslationKey(getMaterial());
return key != null ? new TranslatableComponent(key)
: new Component(getMaterial().getItemType().name());
}
}