diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-12-27 22:17:24 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-12-27 22:17:24 +1000 |
commit | d41a850da5a9bcfe7dda85dba2aad08387833d04 (patch) | |
tree | 1e52640e23ebbd3acec577f9342f2c4f1f70cf65 /src/Java/gtPlusPlus/core/item | |
parent | c364c247e74765014d9c6441ebbaf6761e68eb05 (diff) | |
download | GT5-Unofficial-d41a850da5a9bcfe7dda85dba2aad08387833d04.tar.gz GT5-Unofficial-d41a850da5a9bcfe7dda85dba2aad08387833d04.tar.bz2 GT5-Unofficial-d41a850da5a9bcfe7dda85dba2aad08387833d04.zip |
+ Added the Slow Builders Ring, which toggles crouch on while worn. (Baubles Required)
$ Fixed Distillation tower recipe for Helium/hydrogen blobs.
Diffstat (limited to 'src/Java/gtPlusPlus/core/item')
-rw-r--r-- | src/Java/gtPlusPlus/core/item/ModItems.java | 1 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/item/general/ItemSlowBuildingRing.java | 121 |
2 files changed, 122 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java index b212263d45..2a6b767295 100644 --- a/src/Java/gtPlusPlus/core/item/ModItems.java +++ b/src/Java/gtPlusPlus/core/item/ModItems.java @@ -106,6 +106,7 @@ public final class ModItems { public static Item itemPersonalCloakingDevice; public static Item itemPersonalCloakingDeviceCharged; public static Item itemPersonalHealingDevice; + public static Item itemSlowBuildingRing; public static MultiPickaxeBase MP_GTMATERIAL; public static MultiSpadeBase MS_GTMATERIAL; diff --git a/src/Java/gtPlusPlus/core/item/general/ItemSlowBuildingRing.java b/src/Java/gtPlusPlus/core/item/general/ItemSlowBuildingRing.java new file mode 100644 index 0000000000..2d1c758116 --- /dev/null +++ b/src/Java/gtPlusPlus/core/item/general/ItemSlowBuildingRing.java @@ -0,0 +1,121 @@ +package gtPlusPlus.core.item.general; + +import gtPlusPlus.core.creative.AddToCreativeTab; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.util.item.ItemUtils; + +import java.util.List; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import baubles.api.BaubleType; +import baubles.api.IBauble; +import cpw.mods.fml.common.Optional; +import cpw.mods.fml.common.registry.GameRegistry; + +@Optional.InterfaceList(value = {@Optional.Interface(iface = "baubles.api.IBauble", modid = "Baubles"), @Optional.Interface(iface = "baubles.api.BaubleType", modid = "Baubles")}) +public class ItemSlowBuildingRing extends Item implements IBauble{ + + private final String unlocalizedName = "SlowBuildingRing"; + + public ItemSlowBuildingRing(){ + this.setCreativeTab(AddToCreativeTab.tabMachines); + this.setUnlocalizedName(unlocalizedName); + this.setMaxStackSize(1); + this.setTextureName(CORE.MODID + ":" + "personalCloakingDevice"); + ItemUtils.getSimpleStack(this); + GameRegistry.registerItem(this, unlocalizedName); + } + + @Override + public void onUpdate(ItemStack itemStack, World worldObj, Entity player, int p_77663_4_, boolean p_77663_5_) { + if (worldObj.isRemote) { + return; + } + if (player instanceof EntityPlayer){ + for (ItemStack is : ((EntityPlayer) player).inventory.mainInventory) { + if (is == itemStack) { + continue; + } + if (is != null) { + + + } + } + } + super.onUpdate(itemStack, worldObj, player, p_77663_4_, p_77663_5_); + } + + @Override + public String getItemStackDisplayName(ItemStack p_77653_1_) { + + return (EnumChatFormatting.YELLOW+"Slow Building Ring"+EnumChatFormatting.GRAY); + } + + @Override + public boolean showDurabilityBar(ItemStack stack) + { + return false; + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer aPlayer, List list, boolean bool) { + list.add(""); + list.add(EnumChatFormatting.GREEN+"Worn as a Ring within Baubles."+EnumChatFormatting.GRAY); + list.add(EnumChatFormatting.GREEN+"Prevents you from sprinting and keeps you stuck crouching."+EnumChatFormatting.GRAY); + list.add(EnumChatFormatting.GREEN+"Press shift once worn to active, take off to stop the effect."+EnumChatFormatting.GRAY); + list.add(""); + super.addInformation(stack, aPlayer, list, bool); + } + + @Override + public boolean canEquip(ItemStack arg0, EntityLivingBase arg1) { + return true; + } + + @Override + public boolean canUnequip(ItemStack arg0, EntityLivingBase arg1) { + return true; + } + + @Override + public BaubleType getBaubleType(ItemStack arg0) { + return BaubleType.RING; + } + + @Override //TODO + public void onEquipped(ItemStack arg0, EntityLivingBase arg1) { + doEffect(arg1); + } + + @Override //TODO + public void onUnequipped(ItemStack arg0, EntityLivingBase arg1) { + if (arg1.worldObj.isRemote){ + if (arg1.isSneaking()){ + arg1.setSneaking(false); + } + } + } + + @Override //TODO + public void onWornTick(ItemStack arg0, EntityLivingBase arg1) { + doEffect(arg1); + } + + private static void doEffect(EntityLivingBase arg1){ + if (arg1.worldObj.isRemote){ + if (!arg1.isSneaking()){ + arg1.setSneaking(true); + } + else if (arg1.isSneaking()){ + arg1.setSprinting(false); + } + } + } + +} |