Class SlimefunItem
- java.lang.Object
-
- me.mrCookieSlime.Slimefun.Objects.SlimefunItem.SlimefunItem
-
- All Implemented Interfaces:
Placeable
- Direct Known Subclasses:
AContainer
,AdvancedCargoOutputNode
,AGenerator
,AncientAltar
,AncientPedestal
,AnimalGrowthAccelerator
,AReactor
,AutoBreeder
,AutomatedCraftingChamber
,BirthdayCake
,Capacitor
,CargoInputNode
,CargoManager
,CargoOutputNode
,ChargableItem
,CropGrowthAccelerator
,EnergyRegulator
,HandledBlock
,Juice
,Parachute
,PersonalActivationPlate
,ProgrammableAndroid
,RadioactiveItem
,ReactorAccessPort
,SimpleSlimefunItem
,SlimefunArmorPiece
,SlimefunBow
,SlimefunMachine
,SolarHelmet
,SoulboundItem
,Talisman
,Teleporter
,TrashCan
,TreeGrowthAccelerator
,VanillaItem
,WitherProofBlock
,XPCollector
public class SlimefunItem extends Object implements Placeable
-
-
Field Summary
Fields Modifier and Type Field Description protected SlimefunAddon
addon
protected Category
category
protected boolean
disenchantable
protected boolean
enchantable
protected boolean
hidden
protected String
id
protected ItemStack
item
protected ItemStack[]
recipe
protected ItemStack
recipeOutput
protected RecipeType
recipeType
protected Research
research
protected boolean
useableInWorkbench
-
Constructor Summary
Constructors Modifier Constructor Description SlimefunItem(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe)
This creates a newSlimefunItem
from the given arguments.SlimefunItem(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe, String[] keys, Object[] values)
SlimefunItem(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe, ItemStack recipeOutput)
This creates a newSlimefunItem
from the given arguments.SlimefunItem(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe, ItemStack recipeOutput, String[] keys, Object[] values)
protected
SlimefunItem(Category category, ItemStack item, String id, RecipeType recipeType, ItemStack[] recipe)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addItemHandler(ItemHandler... handlers)
void
addOficialWikipage(String page)
This method will assign the given wiki page to this Item.void
bindToResearch(Research r)
<T extends ItemHandler>
booleancallItemHandler(Class<T> c, Consumer<T> callable)
This method calls everyItemHandler
of the givenClass
and performs the action as specified via theConsumer
.void
error(String message, Throwable throwable)
This will throw aThrowable
to the console and signal that this was caused by thisSlimefunItem
.SlimefunAddon
getAddon()
This method returns theSlimefunAddon
that registered thisSlimefunItem
.BlockTicker
getBlockTicker()
static SlimefunItem
getByID(String id)
static SlimefunItem
getByItem(ItemStack item)
Category
getCategory()
This returns theCategory
of ourSlimefunItem
, everySlimefunItem
is associated with exactly oneCategory
.Collection<ItemStack>
getDrops()
Collection<ItemStack>
getDrops(Player p)
GeneratorTicker
getEnergyTicker()
Collection<ItemHandler>
getHandlers()
This method returns a Set of item handlers associated with this Item.String
getID()
Returns the identifier of thisSlimefunItem
.ItemStack
getItem()
This returns theItemStack
of thisSlimefunItem
.static ItemStack
getItem(String id)
String
getItemName()
static Set<ItemHandler>
getPublicItemHandlers(Class<? extends ItemHandler> identifier)
ItemStack[]
getRecipe()
ItemStack
getRecipeOutput()
This method returns the result of crafting thisSlimefunItem
RecipeType
getRecipeType()
Research
getResearch()
This method returns theResearch
thisSlimefunItem
is linked to.ItemState
getState()
This method returns theItemState
thisSlimefunItem
is currently in.Optional<String>
getWikipage()
This method returns the wiki page that has been asigned to this item.void
info(String message)
boolean
isAddonItem()
This method returns whether thisSlimefunItem
was added by an addon.boolean
isDisabled()
This method returns whether thisSlimefunItem
is disabled.boolean
isDisenchantable()
This returns whether or not thisSlimefunItem
is allowed to be used in anAutoDisenchanter
.boolean
isEnchantable()
This returns whether or not thisSlimefunItem
is allowed to be used in anAutoEnchanter
.boolean
isHidden()
This method returns whether thisSlimefunItem
was hidden from theSlimefunGuide
.boolean
isItem(ItemStack item)
This method checks whether the providedItemStack
represents thisSlimefunItem
.boolean
isTicking()
This returns whether or not we are scheduling a ticking task for this block.boolean
isUseableInWorkbench()
This method returns whether or not thisSlimefunItem
is allowed to be used in a Crafting Table.void
load()
This method is used for internal purposes only.void
postRegister()
This method is called afterregister(SlimefunAddon)
.void
preRegister()
This method is called beforeregister(SlimefunAddon)
.void
register(SlimefunAddon addon)
This method registers thisSlimefunItem
.static void
registerBlockHandler(String id, SlimefunBlockHandler handler)
void
setCategory(Category category)
void
setRecipe(ItemStack[] recipe)
void
setRecipeOutput(ItemStack output)
void
setRecipeType(RecipeType type)
SlimefunItem
setUseableInWorkbench(boolean useable)
This sets whether or not thisSlimefunItem
is allowed to be used in a normal Crafting Table.String
toString()
void
warn(String message)
-
-
-
Field Detail
-
id
protected String id
-
addon
protected SlimefunAddon addon
-
item
protected ItemStack item
-
category
protected Category category
-
recipe
protected ItemStack[] recipe
-
recipeType
protected RecipeType recipeType
-
recipeOutput
protected ItemStack recipeOutput
-
research
protected Research research
-
enchantable
protected boolean enchantable
-
disenchantable
protected boolean disenchantable
-
hidden
protected boolean hidden
-
useableInWorkbench
protected boolean useableInWorkbench
-
-
Constructor Detail
-
SlimefunItem
public SlimefunItem(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe)
This creates a newSlimefunItem
from the given arguments.- Parameters:
category
- TheCategory
thisSlimefunItem
belongs toitem
- TheSlimefunItemStack
that describes the visual features of ourSlimefunItem
recipeType
- theRecipeType
that determines how thisSlimefunItem
is craftedrecipe
- An Array representing the recipe of thisSlimefunItem
-
SlimefunItem
public SlimefunItem(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe, ItemStack recipeOutput)
This creates a newSlimefunItem
from the given arguments.- Parameters:
category
- TheCategory
thisSlimefunItem
belongs toitem
- TheSlimefunItemStack
that describes the visual features of ourSlimefunItem
recipeType
- theRecipeType
that determines how thisSlimefunItem
is craftedrecipe
- An Array representing the recipe of thisSlimefunItem
recipeOutput
- The result of crafting this item
-
SlimefunItem
public SlimefunItem(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe, String[] keys, Object[] values)
-
SlimefunItem
public SlimefunItem(Category category, SlimefunItemStack item, RecipeType recipeType, ItemStack[] recipe, ItemStack recipeOutput, String[] keys, Object[] values)
-
SlimefunItem
protected SlimefunItem(Category category, ItemStack item, String id, RecipeType recipeType, ItemStack[] recipe)
-
-
Method Detail
-
getID
public String getID()
Returns the identifier of thisSlimefunItem
.- Returns:
- the identifier of this
SlimefunItem
-
getState
public ItemState getState()
This method returns theItemState
thisSlimefunItem
is currently in. This can be used to determine whether aSlimefunItem
is enabled or disabled.VanillaItem
represents a special case here.- Returns:
- The
ItemState
of thisSlimefunItem
-
getItem
public ItemStack getItem()
This returns theItemStack
of thisSlimefunItem
. TheItemStack
describes the look and feel of thisSlimefunItem
.- Returns:
- The
ItemStack
that thisSlimefunItem
represents
-
getCategory
public Category getCategory()
This returns theCategory
of ourSlimefunItem
, everySlimefunItem
is associated with exactly oneCategory
.- Returns:
- The
Category
that thisSlimefunItem
belongs to
-
getRecipe
public ItemStack[] getRecipe()
-
getRecipeType
public RecipeType getRecipeType()
-
getRecipeOutput
public ItemStack getRecipeOutput()
This method returns the result of crafting thisSlimefunItem
- Returns:
- The recipe output of this
SlimefunItem
-
getResearch
public Research getResearch()
This method returns theResearch
thisSlimefunItem
is linked to. This will be null if the item is not linked to anyResearch
- Returns:
- The linked
Research
or null
-
isEnchantable
public boolean isEnchantable()
This returns whether or not thisSlimefunItem
is allowed to be used in anAutoEnchanter
.- Returns:
- Whether this
SlimefunItem
can be enchanted.
-
isDisenchantable
public boolean isDisenchantable()
This returns whether or not thisSlimefunItem
is allowed to be used in anAutoDisenchanter
.- Returns:
- Whether this
SlimefunItem
can be disenchanted.
-
isHidden
public boolean isHidden()
This method returns whether thisSlimefunItem
was hidden from theSlimefunGuide
.- Returns:
- Whether this
SlimefunItem
is hidden.
-
isAddonItem
public boolean isAddonItem()
This method returns whether thisSlimefunItem
was added by an addon.- Returns:
- Whether this
SlimefunItem
was added by an addon.
-
getAddon
public SlimefunAddon getAddon()
This method returns theSlimefunAddon
that registered thisSlimefunItem
. If this Item is from Slimefun itself, the current instance ofSlimefunPlugin
will be returned. Use an instanceof check orisAddonItem()
to account for that.- Returns:
- The
SlimefunAddon
that registered thisSlimefunItem
-
getBlockTicker
public BlockTicker getBlockTicker()
-
getEnergyTicker
public GeneratorTicker getEnergyTicker()
-
isDisabled
public boolean isDisabled()
This method returns whether thisSlimefunItem
is disabled.- Returns:
- Whether this
SlimefunItem
is disabled.
-
register
public void register(SlimefunAddon addon)
This method registers thisSlimefunItem
. Always call this method after yourSlimefunItem
has been initialized. Never call it more than once!- Parameters:
addon
- TheSlimefunAddon
that thisSlimefunItem
belongs to.
-
bindToResearch
public void bindToResearch(Research r)
-
setRecipe
public void setRecipe(ItemStack[] recipe)
-
setRecipeType
public void setRecipeType(RecipeType type)
-
setCategory
public void setCategory(Category category)
-
setRecipeOutput
public void setRecipeOutput(ItemStack output)
-
isUseableInWorkbench
public boolean isUseableInWorkbench()
This method returns whether or not thisSlimefunItem
is allowed to be used in a Crafting Table. Items of typeVanillaItem
may be used in workbenches for example.- Returns:
- Whether this
SlimefunItem
may be used in a Workbench. - See Also:
setUseableInWorkbench(boolean)
-
setUseableInWorkbench
public SlimefunItem setUseableInWorkbench(boolean useable)
This sets whether or not thisSlimefunItem
is allowed to be used in a normal Crafting Table.- Parameters:
useable
- Whether thisSlimefunItem
should be useable in a workbench- Returns:
- This instance of
SlimefunItem
-
isItem
public boolean isItem(ItemStack item)
This method checks whether the providedItemStack
represents thisSlimefunItem
.- Parameters:
item
- TheItemStack
to compare- Returns:
- Whether the given
ItemStack
represents thisSlimefunItem
-
load
public void load()
This method is used for internal purposes only.
-
addItemHandler
public void addItemHandler(ItemHandler... handlers)
-
preRegister
public void preRegister()
This method is called beforeregister(SlimefunAddon)
. Override this method to add any additional setup, adding anItemHandler
for example.
-
postRegister
public void postRegister()
This method is called afterregister(SlimefunAddon)
. Override this method to add any additional setup that needs to happen after the original registration of thisSlimefunItem
.
-
addOficialWikipage
public void addOficialWikipage(String page)
This method will assign the given wiki page to this Item. Note that you only need to provide the page name itself, the URL to our wiki is prepended automatically.- Parameters:
page
- The associated wiki page
-
getWikipage
public Optional<String> getWikipage()
This method returns the wiki page that has been asigned to this item. It will return null, if no wiki page was found.- Returns:
- This item's wiki page
- See Also:
addOficialWikipage(String)
-
getItemName
public final String getItemName()
This method will return this Item's Name (The name that is displayed when hovering over thisItemStack
in anInventory
).- Returns:
- This item's name in
ItemStack
form
-
getHandlers
public Collection<ItemHandler> getHandlers()
This method returns a Set of item handlers associated with this Item.- Returns:
- The Set of item handlers
-
callItemHandler
public <T extends ItemHandler> boolean callItemHandler(Class<T> c, Consumer<T> callable)
This method calls everyItemHandler
of the givenClass
and performs the action as specified via theConsumer
.- Type Parameters:
T
- The type ofItemHandler
to call.- Parameters:
c
- TheClass
of theItemHandler
to call.callable
- AConsumer
that is called for any foundItemHandler
.- Returns:
- Whether or not an
ItemHandler
was found.
-
isTicking
public boolean isTicking()
This returns whether or not we are scheduling a ticking task for this block.- Returns:
- Whether this
SlimefunItem
is a ticking block
-
getDrops
public Collection<ItemStack> getDrops()
-
getDrops
public Collection<ItemStack> getDrops(Player p)
-
info
public void info(String message)
-
warn
public void warn(String message)
-
error
public void error(String message, Throwable throwable)
This will throw aThrowable
to the console and signal that this was caused by thisSlimefunItem
.- Parameters:
message
- The message to display alongside this Stacktracethrowable
- TheThrowable
to throw as a stacktrace.
-
getByID
public static SlimefunItem getByID(String id)
-
getByItem
public static SlimefunItem getByItem(ItemStack item)
-
getPublicItemHandlers
public static Set<ItemHandler> getPublicItemHandlers(Class<? extends ItemHandler> identifier)
-
registerBlockHandler
public static void registerBlockHandler(String id, SlimefunBlockHandler handler)
-
-