From d4f11459f2e78e954a4c060c92861614c114d1cb Mon Sep 17 00:00:00 2001 From: Draknyte1 Date: Sun, 19 Jun 2016 14:53:32 +1000 Subject: +More classes stolen from GT to implement my own items on a metaitem. +Added LuV -> Max Voltage Machine components. +Added Rocket Engines, High tier diesel generators. +Added new textures for everything. +Added BedLocator_Base.java - Debug item for testing and NBT data storage. +Added Machine_Charger.java - Another Debug machine for testing NBT value manipulation. --- .../internal/Interface_ItemBehaviour.java | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/Java/miscutil/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java (limited to 'src/Java/miscutil/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java') diff --git a/src/Java/miscutil/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java b/src/Java/miscutil/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java new file mode 100644 index 0000000000..74980e5d3c --- /dev/null +++ b/src/Java/miscutil/gregtech/api/interfaces/internal/Interface_ItemBehaviour.java @@ -0,0 +1,41 @@ +package miscutil.gregtech.api.interfaces.internal; + +import gregtech.api.enums.SubTag; + +import java.util.List; + +import miscutil.gregtech.api.items.Gregtech_MetaItem_Base; +import net.minecraft.dispenser.IBlockSource; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.projectile.EntityArrow; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public interface Interface_ItemBehaviour { + public boolean onLeftClickEntity(E aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity); + + public boolean onItemUse(E aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ); + + public boolean onItemUseFirst(E aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ); + + public ItemStack onItemRightClick(E aItem, ItemStack aStack, World aWorld, EntityPlayer aPlayer); + + public List getAdditionalToolTips(E aItem, List aList, ItemStack aStack); + + public void onUpdate(E aItem, ItemStack aStack, World aWorld, Entity aPlayer, int aTimer, boolean aIsInHand); + + public boolean isItemStackUsable(E aItem, ItemStack aStack); + + public boolean canDispense(E aItem, IBlockSource aSource, ItemStack aStack); + + public ItemStack onDispense(E aItem, IBlockSource aSource, ItemStack aStack); + + public boolean hasProjectile(Gregtech_MetaItem_Base aItem, SubTag aProjectileType, ItemStack aStack); + + public EntityArrow getProjectile(E aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, double aX, double aY, double aZ); + + public EntityArrow getProjectile(E aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, EntityLivingBase aEntity, float aSpeed); +} \ No newline at end of file -- cgit