aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/items/behaviors
diff options
context:
space:
mode:
authorTechnus <daniel112092@gmail.com>2017-04-27 17:06:22 +0200
committerTechnus <daniel112092@gmail.com>2017-04-27 17:06:22 +0200
commit929073a7aea2ff925aa04403be746398b1fc57e7 (patch)
tree8f162d84344aeadbef04b3e313fdd8e5438130c0 /src/main/java/gregtech/common/items/behaviors
parent2ee3b7e712413604549af3097fda93cbb22a262e (diff)
parentf5e078aa1eb2da76585d620afa91903f0dbdd031 (diff)
downloadGT5-Unofficial-929073a7aea2ff925aa04403be746398b1fc57e7.tar.gz
GT5-Unofficial-929073a7aea2ff925aa04403be746398b1fc57e7.tar.bz2
GT5-Unofficial-929073a7aea2ff925aa04403be746398b1fc57e7.zip
Merge branch 'experimental' from GTNH into mergeGTNH (based on BLOODASP)
# Conflicts: # build.properties # src/main/java/gregtech/GT_Mod.java # src/main/java/gregtech/api/enums/ItemList.java # src/main/java/gregtech/api/enums/Materials.java # src/main/java/gregtech/api/enums/Textures.java # src/main/java/gregtech/api/enums/Tier.java # src/main/java/gregtech/api/items/GT_MetaGenerated_Tool.java # src/main/java/gregtech/api/metatileentity/BaseMetaTileEntity.java # src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java # src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicGenerator.java # src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java # src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Maintenance.java # src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Muffler.java # src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java # src/main/java/gregtech/api/util/GT_ModHandler.java # src/main/java/gregtech/api/util/GT_Recipe.java # src/main/java/gregtech/api/util/GT_RecipeRegistrator.java # src/main/java/gregtech/api/util/GT_Utility.java # src/main/java/gregtech/common/GT_Client.java # src/main/java/gregtech/common/GT_Pollution.java # src/main/java/gregtech/common/GT_Proxy.java # src/main/java/gregtech/common/GT_RecipeAdder.java # src/main/java/gregtech/common/GT_Worldgen_GT_Ore_Layer.java # src/main/java/gregtech/common/GT_Worldgenerator.java # src/main/java/gregtech/common/blocks/GT_Block_Casings3.java # src/main/java/gregtech/common/blocks/GT_Block_Casings_Abstract.java # src/main/java/gregtech/common/blocks/GT_Block_Machines.java # src/main/java/gregtech/common/blocks/GT_Block_Stones_Abstract.java # src/main/java/gregtech/common/blocks/GT_Item_Machines.java # src/main/java/gregtech/common/blocks/GT_Item_Ores.java # src/main/java/gregtech/common/blocks/GT_TileEntity_Ores.java # src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java # src/main/java/gregtech/common/covers/GT_Cover_Fluidfilter.java # src/main/java/gregtech/common/covers/GT_Cover_ItemMeter.java # src/main/java/gregtech/common/gui/GT_Container_Regulator.java # src/main/java/gregtech/common/items/GT_IntegratedCircuit_Item.java # src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java # src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java # src/main/java/gregtech/common/items/GT_MetaGenerated_Item_03.java # src/main/java/gregtech/common/items/GT_MetaGenerated_Tool_01.java # src/main/java/gregtech/common/items/armor/ArmorData.java # src/main/java/gregtech/common/items/armor/GuiElectricArmor1.java # src/main/java/gregtech/common/items/armor/ModularArmor_Item.java # src/main/java/gregtech/common/items/armor/Values.java # src/main/java/gregtech/common/items/armor/gui/GuiModularArmor.java # src/main/java/gregtech/common/items/armor/gui/InventoryArmor.java # src/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Fluid.java # src/main/java/gregtech/common/items/behaviors/Behaviour_Sense.java # src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_Regulator.java # src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_TypeFilter.java # src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Bronze.java # src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Lava.java # src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Steel.java # src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java # src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_FluidNaquadahReactor.java # src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SolidNaquadahReactor.java # src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SteamTurbine.java # src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_AdvSeismicProspector.java # src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java # src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Massfabricator.java # src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Replicator.java # src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java # src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Teleporter.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AdvMiner2.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Steam.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilCracker.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilDrill.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java # src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_VacuumFreezer.java # src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Bronze.java # src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Steel.java # src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Bronze.java # src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Steel.java # src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java # src/main/java/gregtech/common/tools/GT_Tool_Scoop.java # src/main/java/gregtech/loaders/load/GT_FuelLoader.java # src/main/java/gregtech/loaders/misc/GT_Achievements.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingCircuit.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingDustSmall.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingDustTiny.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingGemExquisite.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingGemFlawless.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingNugget.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPipeLarge.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPipeMedium.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPipeSmall.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate1.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate2.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate3.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate4.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate5.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadBuzzSaw.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadChainsaw.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadDrill.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadFile.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadHammer.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHeadWrench.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingWire01.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingWire02.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingWire04.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingWire08.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingWire12.java # src/main/java/gregtech/loaders/oreprocessing/ProcessingWire16.java # src/main/java/gregtech/loaders/postload/GT_CraftingRecipeLoader.java # src/main/java/gregtech/loaders/postload/GT_MachineRecipeLoader.java # src/main/java/gregtech/loaders/postload/GT_Worldgenloader.java # src/main/java/gregtech/loaders/preload/GT_Loader_ItemData.java # src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java # src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java # src/main/java/gregtech/loaders/preload/GT_Loader_OreProcessing.java # src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java # src/main/resources/assets/gregtech/textures/items/gt.Double_Naquadahcell.png # src/main/resources/assets/gregtech/textures/items/gt.Double_NaquadahcellDep.png # src/main/resources/assets/gregtech/textures/items/gt.Naquadahcell.png # src/main/resources/assets/gregtech/textures/items/gt.NaquadahcellDep.png # src/main/resources/assets/gregtech/textures/items/gt.Quad_Naquadahcell.png # src/main/resources/assets/gregtech/textures/items/gt.Quad_NaquadahcellDep.png
Diffstat (limited to 'src/main/java/gregtech/common/items/behaviors')
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_Arrow.java224
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_Arrow_Potion.java118
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_Crowbar.java110
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_DataOrb.java206
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_DataStick.java68
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_Hoe.java120
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_Lighter.java240
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_None.java144
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_Plunger_Essentia.java92
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_PrintedPages.java74
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_Prospecting.java254
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_Scanner.java103
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_Scoop.java90
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_Screwdriver.java96
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_SensorKit.java96
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_SoftHammer.java208
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_Sonictron.java246
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_Spray_Color.java242
-rw-r--r--src/main/java/gregtech/common/items/behaviors/Behaviour_WrittenBook.java68
19 files changed, 1411 insertions, 1388 deletions
diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Arrow.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Arrow.java
index acb6986ec6..1ebd3c0d16 100644
--- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Arrow.java
+++ b/src/main/java/gregtech/common/items/behaviors/Behaviour_Arrow.java
@@ -1,112 +1,112 @@
-package gregtech.common.items.behaviors;
-
-import gregtech.api.enums.SubTag;
-import gregtech.api.items.GT_MetaBase_Item;
-import gregtech.api.util.GT_Utility;
-import gregtech.common.entities.GT_Entity_Arrow;
-import net.minecraft.block.BlockDispenser;
-import net.minecraft.dispenser.IBlockSource;
-import net.minecraft.dispenser.IPosition;
-import net.minecraft.enchantment.Enchantment;
-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.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.util.EnumFacing;
-import net.minecraft.world.World;
-
-public class Behaviour_Arrow
- extends Behaviour_None {
- public static Behaviour_Arrow DEFAULT_WOODEN = new Behaviour_Arrow(GT_Entity_Arrow.class, 1.0F, 6.0F);
- public static Behaviour_Arrow DEFAULT_PLASTIC = new Behaviour_Arrow(GT_Entity_Arrow.class, 1.5F, 6.0F);
- private final int mLevel;
- private final Enchantment mEnchantment;
- private final float mSpeedMultiplier;
- private final float mPrecision;
- private final Class<? extends GT_Entity_Arrow> mArrow;
-
- public Behaviour_Arrow(Class<? extends GT_Entity_Arrow> aArrow, float aSpeed, float aPrecision) {
- this(aArrow, aSpeed, aPrecision, null, 0);
- }
-
- public Behaviour_Arrow(Class<? extends GT_Entity_Arrow> aArrow, float aSpeed, float aPrecision, Enchantment aEnchantment, int aLevel) {
- this.mArrow = aArrow;
- this.mSpeedMultiplier = aSpeed;
- this.mPrecision = aPrecision;
- this.mEnchantment = aEnchantment;
- this.mLevel = aLevel;
- }
-
- public boolean onLeftClickEntity(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity) {
- if ((aEntity instanceof EntityLivingBase)) {
- GT_Utility.GT_EnchantmentHelper.applyBullshitA((EntityLivingBase) aEntity, aPlayer, aStack);
- GT_Utility.GT_EnchantmentHelper.applyBullshitB(aPlayer, aEntity, aStack);
- if (!aPlayer.capabilities.isCreativeMode) {
- aStack.stackSize -= 1;
- }
- if (aStack.stackSize <= 0) {
- aPlayer.destroyCurrentEquippedItem();
- }
- return false;
- }
- return false;
- }
-
- public boolean isItemStackUsable(GT_MetaBase_Item aItem, ItemStack aStack) {
- if ((this.mEnchantment != null) && (this.mLevel > 0)) {
- NBTTagCompound tNBT = GT_Utility.ItemNBT.getNBT(aStack);
- if (!tNBT.getBoolean("GT.HasBeenUpdated")) {
- tNBT.setBoolean("GT.HasBeenUpdated", true);
- GT_Utility.ItemNBT.setNBT(aStack, tNBT);
- GT_Utility.ItemNBT.addEnchantment(aStack, this.mEnchantment, this.mLevel);
- }
- }
- return true;
- }
-
- public boolean canDispense(GT_MetaBase_Item aItem, IBlockSource aSource, ItemStack aStack) {
- return true;
- }
-
- public ItemStack onDispense(GT_MetaBase_Item aItem, IBlockSource aSource, ItemStack aStack) {
- World aWorld = aSource.getWorld();
- IPosition tPosition = BlockDispenser.func_149939_a(aSource);
- EnumFacing tFacing = BlockDispenser.func_149937_b(aSource.getBlockMetadata());
- GT_Entity_Arrow tEntityArrow = (GT_Entity_Arrow) getProjectile(aItem, SubTag.PROJECTILE_ARROW, aStack, aWorld, tPosition.getX(), tPosition.getY(), tPosition.getZ());
- if (tEntityArrow != null) {
- tEntityArrow.setThrowableHeading(tFacing.getFrontOffsetX(), tFacing.getFrontOffsetY() + 0.1F, tFacing.getFrontOffsetZ(), this.mSpeedMultiplier * 1.1F, this.mPrecision);
- tEntityArrow.setArrowItem(aStack);
- tEntityArrow.canBePickedUp = 1;
- aWorld.spawnEntityInWorld(tEntityArrow);
- if (aStack.stackSize < 100) {
- aStack.stackSize -= 1;
- }
- return aStack;
- }
- return super.onDispense(aItem, aSource, aStack);
- }
-
- public boolean hasProjectile(GT_MetaBase_Item aItem, SubTag aProjectileType, ItemStack aStack) {
- return aProjectileType == SubTag.PROJECTILE_ARROW;
- }
-
- public EntityArrow getProjectile(GT_MetaBase_Item aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, double aX, double aY, double aZ) {
- if (!hasProjectile(aItem, aProjectileType, aStack)) {
- return null;
- }
- GT_Entity_Arrow rArrow = (GT_Entity_Arrow) GT_Utility.callConstructor(this.mArrow.getName(), -1, null, true, new Object[]{aWorld, Double.valueOf(aX), Double.valueOf(aY), Double.valueOf(aZ)});
- rArrow.setArrowItem(aStack);
- return rArrow;
- }
-
- public EntityArrow getProjectile(GT_MetaBase_Item aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, EntityLivingBase aEntity, float aSpeed) {
- if (!hasProjectile(aItem, aProjectileType, aStack)) {
- return null;
- }
- GT_Entity_Arrow rArrow = (GT_Entity_Arrow) GT_Utility.callConstructor(this.mArrow.getName(), -1, null, true, new Object[]{aWorld, aEntity, Float.valueOf(this.mSpeedMultiplier * aSpeed)});
- rArrow.setArrowItem(aStack);
- return rArrow;
- }
-}
+package gregtech.common.items.behaviors;
+
+import gregtech.api.enums.SubTag;
+import gregtech.api.items.GT_MetaBase_Item;
+import gregtech.api.util.GT_Utility;
+import gregtech.common.entities.GT_Entity_Arrow;
+import net.minecraft.block.BlockDispenser;
+import net.minecraft.dispenser.IBlockSource;
+import net.minecraft.dispenser.IPosition;
+import net.minecraft.enchantment.Enchantment;
+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.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraft.util.EnumFacing;
+import net.minecraft.world.World;
+
+public class Behaviour_Arrow
+ extends Behaviour_None {
+ public static Behaviour_Arrow DEFAULT_WOODEN = new Behaviour_Arrow(GT_Entity_Arrow.class, 1.0F, 6.0F);
+ public static Behaviour_Arrow DEFAULT_PLASTIC = new Behaviour_Arrow(GT_Entity_Arrow.class, 1.5F, 6.0F);
+ private final int mLevel;
+ private final Enchantment mEnchantment;
+ private final float mSpeedMultiplier;
+ private final float mPrecision;
+ private final Class<? extends GT_Entity_Arrow> mArrow;
+
+ public Behaviour_Arrow(Class<? extends GT_Entity_Arrow> aArrow, float aSpeed, float aPrecision) {
+ this(aArrow, aSpeed, aPrecision, null, 0);
+ }
+
+ public Behaviour_Arrow(Class<? extends GT_Entity_Arrow> aArrow, float aSpeed, float aPrecision, Enchantment aEnchantment, int aLevel) {
+ this.mArrow = aArrow;
+ this.mSpeedMultiplier = aSpeed;
+ this.mPrecision = aPrecision;
+ this.mEnchantment = aEnchantment;
+ this.mLevel = aLevel;
+ }
+
+ public boolean onLeftClickEntity(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity) {
+ if ((aEntity instanceof EntityLivingBase)) {
+ GT_Utility.GT_EnchantmentHelper.applyBullshitA((EntityLivingBase) aEntity, aPlayer, aStack);
+ GT_Utility.GT_EnchantmentHelper.applyBullshitB(aPlayer, aEntity, aStack);
+ if (!aPlayer.capabilities.isCreativeMode) {
+ aStack.stackSize -= 1;
+ }
+ if (aStack.stackSize <= 0) {
+ aPlayer.destroyCurrentEquippedItem();
+ }
+ return false;
+ }
+ return false;
+ }
+
+ public boolean isItemStackUsable(GT_MetaBase_Item aItem, ItemStack aStack) {
+ if ((this.mEnchantment != null) && (this.mLevel > 0)) {
+ NBTTagCompound tNBT = GT_Utility.ItemNBT.getNBT(aStack);
+ if (!tNBT.getBoolean("GT.HasBeenUpdated")) {
+ tNBT.setBoolean("GT.HasBeenUpdated", true);
+ GT_Utility.ItemNBT.setNBT(aStack, tNBT);
+ GT_Utility.ItemNBT.addEnchantment(aStack, this.mEnchantment, this.mLevel);
+ }
+ }
+ return true;
+ }
+
+ public boolean canDispense(GT_MetaBase_Item aItem, IBlockSource aSource, ItemStack aStack) {
+ return true;
+ }
+
+ public ItemStack onDispense(GT_MetaBase_Item aItem, IBlockSource aSource, ItemStack aStack) {
+ World aWorld = aSource.getWorld();
+ IPosition tPosition = BlockDispenser.func_149939_a(aSource);
+ EnumFacing tFacing = BlockDispenser.func_149937_b(aSource.getBlockMetadata());
+ GT_Entity_Arrow tEntityArrow = (GT_Entity_Arrow) getProjectile(aItem, SubTag.PROJECTILE_ARROW, aStack, aWorld, tPosition.getX(), tPosition.getY(), tPosition.getZ());
+ if (tEntityArrow != null) {
+ tEntityArrow.setThrowableHeading(tFacing.getFrontOffsetX(), tFacing.getFrontOffsetY() + 0.1F, tFacing.getFrontOffsetZ(), this.mSpeedMultiplier * 1.1F, this.mPrecision);
+ tEntityArrow.setArrowItem(aStack);
+ tEntityArrow.canBePickedUp = 1;
+ aWorld.spawnEntityInWorld(tEntityArrow);
+ if (aStack.stackSize < 100) {
+ aStack.stackSize -= 1;
+ }
+ return aStack;
+ }
+ return super.onDispense(aItem, aSource, aStack);
+ }
+
+ public boolean hasProjectile(GT_MetaBase_Item aItem, SubTag aProjectileType, ItemStack aStack) {
+ return aProjectileType == SubTag.PROJECTILE_ARROW;
+ }
+
+ public EntityArrow getProjectile(GT_MetaBase_Item aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, double aX, double aY, double aZ) {
+ if (!hasProjectile(aItem, aProjectileType, aStack)) {
+ return null;
+ }
+ GT_Entity_Arrow rArrow = (GT_Entity_Arrow) GT_Utility.callConstructor(this.mArrow.getName(), -1, null, true, new Object[]{aWorld, Double.valueOf(aX), Double.valueOf(aY), Double.valueOf(aZ)});
+ rArrow.setArrowItem(aStack);
+ return rArrow;
+ }
+
+ public EntityArrow getProjectile(GT_MetaBase_Item aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, EntityLivingBase aEntity, float aSpeed) {
+ if (!hasProjectile(aItem, aProjectileType, aStack)) {
+ return null;
+ }
+ GT_Entity_Arrow rArrow = (GT_Entity_Arrow) GT_Utility.callConstructor(this.mArrow.getName(), -1, null, true, new Object[]{aWorld, aEntity, Float.valueOf(this.mSpeedMultiplier * aSpeed)});
+ rArrow.setArrowItem(aStack);
+ return rArrow;
+ }
+}
diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Arrow_Potion.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Arrow_Potion.java
index 80a646bde4..000937b4de 100644
--- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Arrow_Potion.java
+++ b/src/main/java/gregtech/common/items/behaviors/Behaviour_Arrow_Potion.java
@@ -1,59 +1,59 @@
-package gregtech.common.items.behaviors;
-
-import gregtech.api.enums.SubTag;
-import gregtech.api.items.GT_MetaBase_Item;
-import gregtech.common.entities.GT_Entity_Arrow_Potion;
-import net.minecraft.enchantment.Enchantment;
-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.ItemStack;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.world.World;
-
-public class Behaviour_Arrow_Potion
- extends Behaviour_Arrow {
- private final int[] mPotions;
-
- public Behaviour_Arrow_Potion(float aSpeed, float aPrecision, int... aPotions) {
- super(GT_Entity_Arrow_Potion.class, aSpeed, aPrecision);
- this.mPotions = aPotions;
- }
-
- public Behaviour_Arrow_Potion(float aSpeed, float aPrecision, Enchantment aEnchantment, int aLevel, int... aPotions) {
- super(GT_Entity_Arrow_Potion.class, aSpeed, aPrecision, aEnchantment, aLevel);
- this.mPotions = aPotions;
- }
-
- public boolean onLeftClickEntity(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity) {
- if ((aEntity instanceof EntityLivingBase)) {
- for (int i = 3; i < this.mPotions.length; i += 4) {
- if (aEntity.worldObj.rand.nextInt(100) < this.mPotions[i]) {
- ((EntityLivingBase) aEntity).addPotionEffect(new PotionEffect(this.mPotions[(i - 3)], this.mPotions[(i - 2)], this.mPotions[(i - 1)], false));
- }
- }
- }
- return super.onLeftClickEntity(aItem, aStack, aPlayer, aEntity);
- }
-
- public EntityArrow getProjectile(GT_MetaBase_Item aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, double aX, double aY, double aZ) {
- if (!hasProjectile(aItem, aProjectileType, aStack)) {
- return null;
- }
- GT_Entity_Arrow_Potion rArrow = new GT_Entity_Arrow_Potion(aWorld, aX, aY, aZ);
- rArrow.setArrowItem(aStack);
- rArrow.setPotions(this.mPotions);
- return rArrow;
- }
-
- public EntityArrow getProjectile(GT_MetaBase_Item aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, EntityLivingBase aEntity, float aSpeed) {
- if (!hasProjectile(aItem, aProjectileType, aStack)) {
- return null;
- }
- GT_Entity_Arrow_Potion rArrow = new GT_Entity_Arrow_Potion(aWorld, aEntity, aSpeed);
- rArrow.setArrowItem(aStack);
- rArrow.setPotions(this.mPotions);
- return rArrow;
- }
-}
+package gregtech.common.items.behaviors;
+
+import gregtech.api.enums.SubTag;
+import gregtech.api.items.GT_MetaBase_Item;
+import gregtech.common.entities.GT_Entity_Arrow_Potion;
+import net.minecraft.enchantment.Enchantment;
+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.ItemStack;
+import net.minecraft.potion.PotionEffect;
+import net.minecraft.world.World;
+
+public class Behaviour_Arrow_Potion
+ extends Behaviour_Arrow {
+ private final int[] mPotions;
+
+ public Behaviour_Arrow_Potion(float aSpeed, float aPrecision, int... aPotions) {
+ super(GT_Entity_Arrow_Potion.class, aSpeed, aPrecision);
+ this.mPotions = aPotions;
+ }
+
+ public Behaviour_Arrow_Potion(float aSpeed, float aPrecision, Enchantment aEnchantment, int aLevel, int... aPotions) {
+ super(GT_Entity_Arrow_Potion.class, aSpeed, aPrecision, aEnchantment, aLevel);
+ this.mPotions = aPotions;
+ }
+
+ public boolean onLeftClickEntity(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, Entity aEntity) {
+ if ((aEntity instanceof EntityLivingBase)) {
+ for (int i = 3; i < this.mPotions.length; i += 4) {
+ if (aEntity.worldObj.rand.nextInt(100) < this.mPotions[i]) {
+ ((EntityLivingBase) aEntity).addPotionEffect(new PotionEffect(this.mPotions[(i - 3)], this.mPotions[(i - 2)], this.mPotions[(i - 1)], false));
+ }
+ }
+ }
+ return super.onLeftClickEntity(aItem, aStack, aPlayer, aEntity);
+ }
+
+ public EntityArrow getProjectile(GT_MetaBase_Item aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, double aX, double aY, double aZ) {
+ if (!hasProjectile(aItem, aProjectileType, aStack)) {
+ return null;
+ }
+ GT_Entity_Arrow_Potion rArrow = new GT_Entity_Arrow_Potion(aWorld, aX, aY, aZ);
+ rArrow.setArrowItem(aStack);
+ rArrow.setPotions(this.mPotions);
+ return rArrow;
+ }
+
+ public EntityArrow getProjectile(GT_MetaBase_Item aItem, SubTag aProjectileType, ItemStack aStack, World aWorld, EntityLivingBase aEntity, float aSpeed) {
+ if (!hasProjectile(aItem, aProjectileType, aStack)) {
+ return null;
+ }
+ GT_Entity_Arrow_Potion rArrow = new GT_Entity_Arrow_Potion(aWorld, aEntity, aSpeed);
+ rArrow.setArrowItem(aStack);
+ rArrow.setPotions(this.mPotions);
+ return rArrow;
+ }
+}
diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_Crowbar.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_Crowbar.java
index 8524f7ca17..1fe66cb723 100644
--- a/src/main/java/gregtech/common/items/behaviors/Behaviour_Crowbar.java
+++ b/src/main/java/gregtech/common/items/behaviors/Behaviour_Crowbar.java
@@ -1,55 +1,55 @@
-package gregtech.common.items.behaviors;
-
-import gregtech.api.GregTech_API;
-import gregtech.api.items.GT_MetaBase_Item;
-import gregtech.api.util.GT_ModHandler;
-import gregtech.api.util.GT_Utility;
-import net.minecraft.block.Block;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.init.Blocks;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-
-public class Behaviour_Crowbar
- extends Behaviour_None {
- private final int mVanillaCosts;
- private final int mEUCosts;
-
- public Behaviour_Crowbar(int aVanillaCosts, int aEUCosts) {
- this.mVanillaCosts = aVanillaCosts;
- this.mEUCosts = aEUCosts;
- }
-
- public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) {
- if (aWorld.isRemote) {
- return false;
- }
- if (GT_ModHandler.getModItem("Railcraft", "fluid.creosote.bucket", 1L) != null) {
- return false;
- }
- Block aBlock = aWorld.getBlock(aX, aY, aZ);
- if (aBlock == null) {
- return false;
- }
- byte aMeta = (byte) aWorld.getBlockMetadata(aX, aY, aZ);
- if (aBlock == Blocks.rail) {
- if (GT_ModHandler.damageOrDechargeItem(aStack, this.mVanillaCosts, this.mEUCosts, aPlayer)) {
- aWorld.isRemote = true;
- aWorld.setBlock(aX, aY, aZ, aBlock, (aMeta + 1) % 10, 0);
- aWorld.isRemote = false;
- GT_Utility.sendSoundToPlayers(aWorld, (String) GregTech_API.sSoundList.get(Integer.valueOf(0)), 1.0F, -1.0F, aX, aY, aZ);
- }
- return true;
- }
- if ((aBlock == Blocks.detector_rail) || (aBlock == Blocks.activator_rail) || (aBlock == Blocks.golden_rail)) {
- if (GT_ModHandler.damageOrDechargeItem(aStack, this.mVanillaCosts, this.mEUCosts, aPlayer)) {
- aWorld.isRemote = true;
- aWorld.setBlock(aX, aY, aZ, aBlock, aMeta / 8 * 8 + (aMeta % 8 + 1) % 6, 0);
- aWorld.isRemote = false;
- GT_Utility.sendSoundToPlayers(aWorld, (String) GregTech_API.sSoundList.get(Integer.valueOf(0)), 1.0F, -1.0F, aX, aY, aZ);
- }
- return true;
- }
- return false;
- }
-}
+package gregtech.common.items.behaviors;
+
+import gregtech.api.GregTech_API;
+import gregtech.api.items.GT_MetaBase_Item;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Utility;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
+public class Behaviour_Crowbar
+ extends Behaviour_None {
+ private final int mVanillaCosts;
+ private final int mEUCosts;
+
+ public Behaviour_Crowbar(int aVanillaCosts, int aEUCosts) {
+ this.mVanillaCosts = aVanillaCosts;
+ this.mEUCosts = aEUCosts;
+ }
+
+ public boolean onItemUseFirst(GT_MetaBase_Item aItem, ItemStack aStack, EntityPlayer aPlayer, World aWorld, int aX, int aY, int aZ, int aSide, float hitX, float hitY, float hitZ) {
+ if (aWorld.isRemote) {
+ return false;
+ }
+ if (GT_ModHandler.getModItem("Railcraft", "fluid.creosote.bucket", 1L) != null) {
+ return false;
+ }
+ Block aBlock = aWorld.getBlock(aX, aY, aZ);
+ if (aBlock == null) {
+ return false;
+ }
+ byte aMeta = (byte) aWorld.getBlockMetadata(aX, aY, aZ);
+ if (aBlock == Blocks.rail) {
+ if (GT_ModHandler.damageOrDechargeItem(aStack, this.mVanillaCosts, this.mEUCosts, aPlayer)) {
+ aWorld.isRemote = true;
+ aWorld.setBlock(aX, aY, aZ, aBlock, (aMeta + 1) % 10, 0);
+ aWorld.isRemote = false;
+ GT_Utility.sendSoundToPlayers(aWorld, (String) GregTech_API.sSoundList.get(Integer.valueOf(0)), 1.0F, -1.0F, aX, aY, aZ);
+ }
+ return true;
+ }
+ if ((aBlock == Blocks.detector_rail) || (aBlock == Blocks.activator_rail) || (aBlock == Blocks.golden_rail)) {
+ if (GT_ModHandler.damageOrDechargeItem(aStack, this.mVanillaCosts, this.mEUCosts, aPlayer)) {
+ aWorld.isRemote = true;
+ aWorld.setBlock(aX, aY, aZ, aBlock, aMeta / 8 * 8 + (aMeta % 8 + 1) % 6, 0);
+ aWorld.isRemote = false;
+ GT_Utility.sendSoundToPlayers(aWorld, (String) GregTech_API.sSoundList.get(Integer.valueOf(0)), 1.0F, -1.0F, aX, aY, aZ);
+ }
+ return true;
+ }
+ return false;
+ }
+}
diff --git a/src/main/java/gregtech/common/items/behaviors/Behaviour_DataOrb.java b/src/main/java/gregtech/common/items/behaviors/Behaviour_DataOrb.java
index a339c5f35b..0943a9b9e2 100644
--- a/src/main/java/gregtech/common/items/behaviors/Behaviour_DataOrb.java
+++ b/src/main/java/gregtech/common/items/behaviors/Behaviour_DataOrb.java
@@ -1,103 +1,103 @@
-package gregtech.common.items.behaviors;
-
-import gregtech.api.items.GT_MetaBase_Item;
-import gregtech.api.util.GT_Utility;
-import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.nbt.NBTTagList;
-
-import java.util.List;
-
-public class Behaviour_DataOrb
- extends Behaviour_None {
- public static void copyInventory(ItemStack[] aInventory, ItemStack[] aNewContent, int aIndexlength) {
- for (int i = 0; i < aIndexlength; i++) {
- if (aNewContent[i] == null) {
- aInventory[i] = null;
- } else {
- aInventory[i] = GT_Utility.copy(new Object[]{aNewContent[i]});
- }
- }
- }
-
- public static String getDataName(ItemStack aStack) {
- NBTTagCompound tNBT = aStack.getTagCompound();
- if (tNBT == null) {
- return "";
- }
- return tNBT.getString("mDataName");
- }
-
- public static String getDataTitle(ItemStack aStack) {
- NBTTagCompound tNBT = aStack.getTagCompound();
- if (tNBT == null) {
- return "";
- }
- return tNBT.getString("mDataTitle");
- }
-
- public static NBTTagCompound setDataName(ItemStack aStack, String aDataName) {
- NBTTagCompound tNBT = aStack.getTagCompound();
- if (tNBT == null) {
- tNBT = new NBTTagCompound();
- }
- tNBT.setString("mDataName", aDataName);
- aStack.setTagCompound(tNBT);
- return tNBT;
- }
-
- public static NBTTagCompound setDataTitle(ItemStack aStack, String aDataTitle) {
- NBTTagCompound tNBT = aStack.getTagCompound();
- if (tNBT == null) {
- tNBT = new NBTTagCompound();
- }
- tNBT.setString("mDataTitle", aDataTitle);
- aStack.setTagCompound(tNBT);
- return tNBT;
- }
-
- public static ItemStack[] getNBTInventory(ItemStack aStack) {
- ItemStack[] tInventory = new ItemStack[256];
- NBTTagCompound tNBT = aStack.getTagCompound();
- if (tNBT == null) {
- return tInventory;
-