-
Notifications
You must be signed in to change notification settings - Fork 753
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' of github.com:mDiyo/TinkersConstruct
- Loading branch information
Showing
43 changed files
with
1,182 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
package mods.battlegear2.api; | ||
|
||
import net.minecraft.entity.player.EntityPlayer; | ||
import net.minecraft.entity.projectile.EntityArrow; | ||
import net.minecraft.item.ItemStack; | ||
import net.minecraft.world.World; | ||
@Deprecated | ||
public interface IArrowContainer{ | ||
|
||
/** | ||
* | ||
* @param stack The {@link #ItemStack} representing this item | ||
* @param bow The bow trying to use this container | ||
* @param player The {@link #EntityPlayer} using the bow | ||
* @return true if the item contains at least one arrow | ||
*/ | ||
public boolean hasArrowFor(ItemStack stack, ItemStack bow, EntityPlayer player); | ||
/** | ||
* The arrow spawned when bow is used with this non empty container equipped | ||
* @param stack The {@link #ItemStack} representing this item | ||
* @param charge Amount of charge in the bow, ranging from 0.2F to 2.0F | ||
* @param player The {@link #EntityPlayer} using the bow | ||
* @param world | ||
* @return the arrow entity to spawn when bow is used | ||
*/ | ||
public EntityArrow getArrowType(ItemStack stack, World world, EntityPlayer player, float charge); | ||
/** | ||
* Action to take after an arrow has been fired | ||
* Usually equal to removing an arrow from the container | ||
* @param player The {@link #EntityPlayer} using the bow | ||
* @param world | ||
* @param stack The {@link #ItemStack} representing this item | ||
* @param bow The bow which fired | ||
* @param arrow the arrow fired | ||
*/ | ||
public void onArrowFired(World world, EntityPlayer player, ItemStack stack, ItemStack bow, EntityArrow arrow); | ||
/** | ||
* Called before the arrow is fired from this container | ||
* @param arrowEvent Used to decide bow damage, bow sound and arrow enchantment | ||
*/ | ||
public void onPreArrowFired(QuiverArrowEvent arrowEvent); | ||
/** | ||
* Called when the container is put on a crafting bench with vanilla arrows | ||
* @param stack | ||
* @return True to receive {@link #addArrows(ItemStack, int)} | ||
*/ | ||
public boolean isCraftableWithArrows(ItemStack stack); | ||
/** | ||
* Crafts the item with vanilla arrows | ||
* @param stack | ||
* @param arrows Number of vanilla arrows on the crafting bench | ||
* @return Number of vanilla arrows that couldn't fit in | ||
*/ | ||
public int addArrows(ItemStack stack, int arrows); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,99 @@ | ||
package mods.battlegear2.api; | ||
|
||
import net.minecraft.entity.player.EntityPlayer; | ||
import net.minecraft.entity.projectile.EntityArrow; | ||
import net.minecraft.item.ItemStack; | ||
import net.minecraft.world.World; | ||
|
||
public interface IArrowContainer2 { | ||
|
||
/** | ||
* Returns the maximum amout of slots in the arrow container | ||
* @param container {@link #ItemStack} representing this item | ||
* @return the amount of slots | ||
*/ | ||
public int getSlotCount(ItemStack container); | ||
|
||
/** | ||
* Returns the currently selected slot in the arrow container | ||
* @param container {@link #ItemStack} representing this item | ||
* @return the currently selected slot | ||
*/ | ||
public int getSelectedSlot(ItemStack container); | ||
|
||
/** | ||
* Sets the currently selected slot to the given value | ||
* @param container {@link #ItemStack} representing this item | ||
* @param newSlot the new slot index | ||
*/ | ||
public void setSelectedSlot(ItemStack container, int newSlot); | ||
|
||
/** | ||
* Returns the itemStack in the currently selected slot | ||
* @param container The {@link #ItemStack} representing this item | ||
* @param slot the slot index | ||
* @return The {@link #ItemStack} in the given slot. | ||
*/ | ||
public ItemStack getStackInSlot(ItemStack container, int slot); | ||
|
||
/** | ||
* Sets places the given item stack in the give slot | ||
* @param container {@link #ItemStack} representing this item | ||
* @param slot the slot index | ||
* @param container {@link #ItemStack} representing the new stack | ||
*/ | ||
public void setStackInSlot(ItemStack container, int slot, ItemStack stack); | ||
|
||
|
||
/** | ||
* | ||
* @param container The {@link #ItemStack} representing this item | ||
* @param bow The bow trying to use this container | ||
* @param player The {@link #EntityPlayer} using the bow | ||
* @return true if the item contains at least one arrow in the selected slot | ||
*/ | ||
public boolean hasArrowFor(ItemStack container, ItemStack bow, EntityPlayer player, int slot); | ||
|
||
/** | ||
* The arrow spawned when bow is used with this non empty container equipped | ||
* @param container The {@link #ItemStack} representing this item | ||
* @param charge Amount of charge in the bow, ranging from 0.2F to 2.0F | ||
* @param player The {@link #EntityPlayer} using the bow | ||
* @param world | ||
* @return the arrow entity to spawn when bow is used | ||
*/ | ||
public EntityArrow getArrowType(ItemStack container, World world, EntityPlayer player, float charge); | ||
/** | ||
* Action to take after an arrow has been fired | ||
* Usually equal to removing an arrow from the container | ||
* @param player The {@link #EntityPlayer} using the bow | ||
* @param world | ||
* @param container The {@link #ItemStack} representing this item | ||
* @param bow The bow which fired | ||
* @param arrow the arrow fired | ||
*/ | ||
public void onArrowFired(World world, EntityPlayer player, ItemStack container, ItemStack bow, EntityArrow arrow); | ||
/** | ||
* Called before the arrow is fired from this container | ||
* @param arrowEvent Used to decide bow damage, bow sound and arrow enchantment | ||
*/ | ||
public void onPreArrowFired(QuiverArrowEvent arrowEvent); | ||
/** | ||
* Called when the container is put on a crafting bench with other items | ||
* @param container The {@link #ItemStack} representing this item | ||
* @param arrowStack The {@link #ItemStack} representing other items | ||
* @return True to receive {@link #addArrows(ItemStack, ItemStack)} | ||
*/ | ||
public boolean isCraftableWithArrows(ItemStack contaner, ItemStack arrowStack); | ||
|
||
/** | ||
* Crafts the item with the items from {@link #isCraftableWithArrows(ItemStack, ItemStack)} | ||
* @param container The {@link #ItemStack} representing this item | ||
* @param arrows Another valid item on the crafting bench | ||
* @return Number of arrows that couldn't fit in | ||
*/ | ||
public ItemStack addArrows(ItemStack container, ItemStack newStack); | ||
|
||
|
||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
package mods.battlegear2.api; | ||
|
||
import net.minecraft.entity.EntityLivingBase; | ||
|
||
public interface IBackStabbable { | ||
|
||
/** | ||
* Action to perform on back stabbing | ||
* @param entityHit | ||
* @param entityHitting | ||
* @return true if it adds an hitting action | ||
*/ | ||
public boolean onBackStab(EntityLivingBase entityHit, EntityLivingBase entityHitting); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
package mods.battlegear2.api; | ||
|
||
import cpw.mods.fml.relauncher.Side; | ||
import net.minecraft.item.ItemStack; | ||
import net.minecraftforge.event.entity.player.PlayerInteractEvent; | ||
|
||
public interface IBattlegearWeapon { | ||
|
||
/** | ||
* Returns true if the weapon will allow other weapons to be placed in the partner offhand slot | ||
*/ | ||
public boolean willAllowOffhandWeapon(); | ||
|
||
/** | ||
* Will allow shield | ||
*/ | ||
public boolean willAllowShield(); | ||
|
||
/** | ||
* Returns true if the weapon be dual wielded in the offhand slot | ||
*/ | ||
public boolean isOffhandHandDualWeapon(); | ||
|
||
/** | ||
* Returns true if the weapon should always be sheathed on the back, false if it should be sheathed on the hip | ||
*/ | ||
public boolean sheatheOnBack(); | ||
|
||
/** | ||
* Perform any function when the item is held in the offhand and the user right clicks an entity. | ||
* This is generally used to attack an entity with the offhand item. If this is the case the event should | ||
* be canceled to prevent any default right clicking events (Eg Villager Trading) | ||
* | ||
* @param event the OffhandAttackEvent that was generated | ||
* @param mainhandItem the ItemStack currently being held in the right hand | ||
* @param offhandItem the ItemStack currently being held in the left hand | ||
* @return true if the off hand swing animation should be performed | ||
*/ | ||
public boolean offhandAttackEntity(OffhandAttackEvent event, ItemStack mainhandItem, ItemStack offhandItem); | ||
|
||
/** | ||
* Perform any function when the item is held in the offhand and the user right clicks "Air". | ||
* | ||
* @param event the PlayerInteractEvent that was generated | ||
* @param mainhandItem the ItemStack currently being held in the right hand | ||
* @param offhandItem the ItemStack currently being held in the left hand | ||
* @return true if the off hand swing animation should be performed | ||
*/ | ||
public boolean offhandClickAir(PlayerInteractEvent event, ItemStack mainhandItem, ItemStack offhandItem); | ||
|
||
/** | ||
* Perform any function when the item is held in the offhand and the user right clicks a block. | ||
* Note that this will happen prior to the activation of any activation functions of blocks | ||
* | ||
* @param event the PlayerInteractEvent that was generated | ||
* @param mainhandItem the ItemStack currently being held in the right hand | ||
* @param offhandItem the ItemStack currently being held in the left hand | ||
*/ | ||
public boolean offhandClickBlock(PlayerInteractEvent event, ItemStack mainhandItem, ItemStack offhandItem); | ||
|
||
/** | ||
* Perform any passive effects on each game tick when the item is held in the offhand | ||
* | ||
* @param effectiveSide the effective side the method was called from | ||
* @param mainhandItem the ItemStack currently being held in the right hand | ||
* @param offhandItem the ItemStack currently being held in the left hand | ||
*/ | ||
public void performPassiveEffects(Side effectiveSide, ItemStack mainhandItem, ItemStack offhandItem); | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
package mods.battlegear2.api; | ||
|
||
|
||
import net.minecraft.item.ItemStack; | ||
import net.minecraft.nbt.NBTTagCompound; | ||
|
||
//This is a tempory fix until we get the heradry system up and running | ||
public interface IDyable { | ||
|
||
/** | ||
* Return whether the specified armor ItemStack has a color. | ||
*/ | ||
public boolean hasColor(ItemStack par1ItemStack); | ||
|
||
|
||
/** | ||
* Return the color for the specified armor ItemStack. | ||
*/ | ||
public int getColor(ItemStack par1ItemStack); | ||
|
||
public void setColor(ItemStack dyable, int rgb); | ||
|
||
/** | ||
* Remove the color from the specified armor ItemStack. | ||
*/ | ||
public void removeColor(ItemStack par1ItemStack); | ||
|
||
public int getDefaultColor(ItemStack par1ItemStack); | ||
|
||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
package mods.battlegear2.api; | ||
|
||
import net.minecraft.item.ItemStack; | ||
|
||
public interface IExtendedReachWeapon { | ||
/** | ||
* The distance the weapon will hit (note this will ONLY work for main hand weapons) | ||
* @param stack | ||
* @return | ||
*/ | ||
public float getReachModifierInBlocks(ItemStack stack); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
package mods.battlegear2.api; | ||
|
||
import net.minecraft.entity.EntityLiving; | ||
import net.minecraft.entity.EntityLivingBase; | ||
import net.minecraft.item.ItemStack; | ||
|
||
public interface IHitTimeModifier { | ||
/** | ||
* | ||
* @param entityHit | ||
* @return The amount to modify the hit shield | ||
*/ | ||
public int getHitTime(ItemStack stack, EntityLivingBase entityHit); | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
package mods.battlegear2.api; | ||
|
||
import net.minecraft.entity.EntityLivingBase; | ||
import net.minecraft.item.ItemStack; | ||
|
||
public interface IPenetrateWeapon { | ||
/** | ||
* The amount of damage bypassing armor | ||
* @param stack The {@link net.minecraft.item.ItemStack} representative of the item dealing the hit. | ||
* @return the amount of damage that bypasses armour | ||
*/ | ||
public int getPenetratingPower(ItemStack stack); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
package mods.battlegear2.api; | ||
|
||
|
||
import net.minecraft.entity.EntityLivingBase; | ||
import net.minecraft.potion.PotionEffect; | ||
|
||
import java.util.Map; | ||
|
||
public interface IPotionEffect { | ||
|
||
|
||
/** | ||
* Returns a map containing the potion effects to apply to an entity hit by the weapon. Each effect | ||
* has a float value associated with the chance of applying the effect. Note that the "dice roll" only | ||
* occurs once so any value under this roll will be applied. | ||
* | ||
* @param entityHit The entity the effect will be applied to. | ||
* @param entityHitting | ||
* @return A Map of {@link PotionEffect} with chance value ranging from 0 to 1, to be dealt to the entityHit | ||
*/ | ||
public Map<PotionEffect,Float> getEffectsOnHit(EntityLivingBase entityHit, EntityLivingBase entityHitting); | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
package mods.battlegear2.api; | ||
|
||
|
||
import net.minecraft.item.ItemStack; | ||
import net.minecraft.util.DamageSource; | ||
|
||
public interface IShield { | ||
|
||
/** | ||
* Gets the decay rate for the stamina bar when the shield is in use. | ||
* The value should be between 0 and 1. The duration of maximum blocking can be calculated | ||
* by 1/decayRate/20. | ||
* | ||
* @param shield The {@link #ItemStack} representing the shield | ||
* @return a value between 0 & 1 representing the decay rate per tick | ||
*/ | ||
public float getDecayRate(ItemStack shield); | ||
|
||
/** | ||
* Returns true if the current shield can and should block the given damage source | ||
* | ||
* @param shield The {@link #ItemStack} representing the shield | ||
* @param source The {@link #DamageSource} representing the current damage | ||
* @return true if the shield can block the given damage type | ||
*/ | ||
public boolean canBlock(ItemStack shield, DamageSource source); | ||
|
||
/** | ||
* Gets the extra decay rate to the stamina bar when the shield is damaged | ||
* | ||
* @param shield The {@link #ItemStack} representing the shield | ||
* @param amount The amount of damage the shield has absorbed | ||
* @return a value between 0 & 1 representing the decay rate | ||
*/ | ||
public float getDamageDecayRate(ItemStack shield, float amount); | ||
|
||
/** | ||
* Returns the block angle in degrees that the shield can block. | ||
* This angle is taken as 0 degrees being directly in front of the player. The shield | ||
* will block between -blockAngle to blockangle | ||
* @param shield The {@link #ItemStack} representing the shield | ||
* @return The maximum angle the shield should be able to block at | ||
*/ | ||
public float getBlockAngle(ItemStack shield); | ||
|
||
|
||
/** | ||
* Returns the time a shield bash should take to be preformed. A shield bash will disallow actions | ||
* for the number of ticks given and will knockback an oponent at time/2 | ||
* | ||
* @return The amount of ticks the shield bash animation will play | ||
*/ | ||
public int getBashTimer(ItemStack shield); | ||
} |
Oops, something went wrong.