package WayofTime.bloodmagic.api.orb;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraftforge.registries.IForgeRegistryEntry;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
/**
* Base object for all Blood Orbs. Makes Orb creation quite a bit easier.
*
* Just create a new BloodOrb instance then register it in {@link net.minecraftforge.event.RegistryEvent.Register}
*/
public class BloodOrb extends IForgeRegistryEntry.Impl {
private final String name;
private final int tier;
private final int capacity;
@Nullable
private ModelResourceLocation modelLocation;
/**
* A base object for BloodOrbs. A bit cleaner than the old way through
* EnergyItems.
*
* @param name - A name for the Orb. Gets put into an unlocalized name.
* @param tier - The tier of the Orb.
* @param capacity - The max amount of LP the Orb can store.
*/
public BloodOrb(String name, int tier, int capacity) {
this.name = name;
this.tier = tier;
this.capacity = capacity;
}
public String getName() {
return name;
}
public int getTier() {
return tier;
}
public int getCapacity() {
return capacity;
}
@Nullable
public ModelResourceLocation getModelLocation() {
return modelLocation;
}
public BloodOrb withModel(@Nonnull ModelResourceLocation modelLocation) {
this.modelLocation = modelLocation;
return this;
}
@Override
public String toString() {
return "BloodOrb{" + "name='" + name + '\'' + ", tier=" + tier + ", capacity=" + capacity + ", owner=" + getRegistryName() + '}';
}
}