aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/item
diff options
context:
space:
mode:
authorAlkalus <draknyte1@hotmail.com>2017-11-27 13:10:57 +1000
committerGitHub <noreply@github.com>2017-11-27 13:10:57 +1000
commita42842e4e93525a64d0b2efc0d68115a59acb20c (patch)
tree55f4c3c6635c1d94ff22abf90b486638661b930f /src/Java/gtPlusPlus/core/item
parent5d4d3fb679c8af83ed5ee14430c6cde0b16cfcc6 (diff)
parent066bd6475ce142f405d521975b1d4105ccaddf0d (diff)
downloadGT5-Unofficial-a42842e4e93525a64d0b2efc0d68115a59acb20c.tar.gz
GT5-Unofficial-a42842e4e93525a64d0b2efc0d68115a59acb20c.tar.bz2
GT5-Unofficial-a42842e4e93525a64d0b2efc0d68115a59acb20c.zip
Merge pull request #156 from draknyte1/Multiblock-Fix
Multiblock fix for #141, other misc. fixes & a few new additions.
Diffstat (limited to 'src/Java/gtPlusPlus/core/item')
-rw-r--r--src/Java/gtPlusPlus/core/item/ModItems.java78
-rw-r--r--src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockBase.java21
-rw-r--r--src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockEntityBase.java41
-rw-r--r--src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockMeta.java44
-rw-r--r--src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockTileEntity.java43
-rw-r--r--src/Java/gtPlusPlus/core/item/bauble/ModularBauble.java2
-rw-r--r--src/Java/gtPlusPlus/core/item/general/BaseItemGrindle.java87
-rw-r--r--src/Java/gtPlusPlus/core/item/general/books/ItemBaseBook.java19
8 files changed, 248 insertions, 87 deletions
diff --git a/src/Java/gtPlusPlus/core/item/ModItems.java b/src/Java/gtPlusPlus/core/item/ModItems.java
index ec0e21c7bb..5afd82b7d4 100644
--- a/src/Java/gtPlusPlus/core/item/ModItems.java
+++ b/src/Java/gtPlusPlus/core/item/ModItems.java
@@ -8,7 +8,12 @@ import gregtech.api.enums.Materials;
import gregtech.api.util.GT_OreDictUnificator;
import gtPlusPlus.core.common.compat.COMPAT_Baubles;
import gtPlusPlus.core.creative.AddToCreativeTab;
-import gtPlusPlus.core.item.base.*;
+import gtPlusPlus.core.item.base.BaseEuItem;
+import gtPlusPlus.core.item.base.BaseItemBackpack;
+import gtPlusPlus.core.item.base.BaseItemBurnable;
+import gtPlusPlus.core.item.base.BaseItemDamageable;
+import gtPlusPlus.core.item.base.BaseItemTCShard;
+import gtPlusPlus.core.item.base.CoreItem;
import gtPlusPlus.core.item.base.dusts.decimal.BaseItemCentidust;
import gtPlusPlus.core.item.base.dusts.decimal.BaseItemDecidust;
import gtPlusPlus.core.item.base.foods.BaseItemFood;
@@ -23,19 +28,36 @@ import gtPlusPlus.core.item.bauble.HealthBoostBauble;
import gtPlusPlus.core.item.bauble.ModularBauble;
import gtPlusPlus.core.item.chemistry.CoalTar;
import gtPlusPlus.core.item.effects.RarityUncommon;
-import gtPlusPlus.core.item.general.*;
+import gtPlusPlus.core.item.general.BaseItemGrindle;
+import gtPlusPlus.core.item.general.BufferCore;
+import gtPlusPlus.core.item.general.ItemAirFilter;
+import gtPlusPlus.core.item.general.ItemAreaClear;
+import gtPlusPlus.core.item.general.ItemBasicFirestarter;
+import gtPlusPlus.core.item.general.ItemBlueprint;
+import gtPlusPlus.core.item.general.ItemEmpty;
+import gtPlusPlus.core.item.general.ItemGemShards;
+import gtPlusPlus.core.item.general.ItemHalfCompleteCasings;
+import gtPlusPlus.core.item.general.ItemLavaFilter;
+import gtPlusPlus.core.item.general.RF2EU_Battery;
import gtPlusPlus.core.item.general.books.ItemBaseBook;
-import gtPlusPlus.core.item.general.chassis.*;
+import gtPlusPlus.core.item.general.chassis.itemBoilerChassis;
+import gtPlusPlus.core.item.general.chassis.itemDehydratorCoil;
+import gtPlusPlus.core.item.general.chassis.itemDehydratorCoilWire;
import gtPlusPlus.core.item.general.throwables.ItemHydrofluoricAcidPotion;
import gtPlusPlus.core.item.general.throwables.ItemSulfuricAcidPotion;
import gtPlusPlus.core.item.init.ItemsFoods;
import gtPlusPlus.core.item.init.ItemsMultiTools;
import gtPlusPlus.core.item.tool.misc.SandstoneHammer;
-import gtPlusPlus.core.item.tool.staballoy.*;
+import gtPlusPlus.core.item.tool.staballoy.MultiPickaxeBase;
+import gtPlusPlus.core.item.tool.staballoy.MultiSpadeBase;
+import gtPlusPlus.core.item.tool.staballoy.StaballoyAxe;
+import gtPlusPlus.core.item.tool.staballoy.StaballoyPickaxe;
import gtPlusPlus.core.lib.CORE;
import gtPlusPlus.core.lib.CORE.configSwitches;
import gtPlusPlus.core.lib.LoadedMods;
-import gtPlusPlus.core.material.*;
+import gtPlusPlus.core.material.ALLOY;
+import gtPlusPlus.core.material.ELEMENT;
+import gtPlusPlus.core.material.MaterialGenerator;
import gtPlusPlus.core.material.nuclear.FLUORIDES;
import gtPlusPlus.core.material.nuclear.NUCLIDE;
import gtPlusPlus.core.util.StringUtils;
@@ -44,12 +66,15 @@ import gtPlusPlus.core.util.debug.DEBUG_INIT;
import gtPlusPlus.core.util.fluid.FluidUtils;
import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.materials.MaterialUtils;
-import net.minecraft.block.Block;
-import net.minecraft.item.*;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
import net.minecraft.item.Item.ToolMaterial;
+import net.minecraft.item.ItemFood;
+import net.minecraft.item.ItemStack;
import net.minecraft.util.EnumChatFormatting;
import net.minecraftforge.common.util.EnumHelper;
import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidRegistry;
public final class ModItems {
@@ -241,6 +266,11 @@ public final class ModItems {
public static Item itemModularBauble;
public static Item itemCustomBook;
+ public static Item itemGrindleTablet;
+
+ public static Item itemRope;
+ public static Item itemFiber;
+
public static final void init(){
//Default item used when recipes fail, handy for debugging.
@@ -263,20 +293,20 @@ public final class ModItems {
GT_OreDictUnificator.registerOre("ingotRubber", ItemUtils.getItemStack(CORE.MODID+":itemStickyRubber", 1));
-
-
- //Register Hydrogen Blobs first, so we can replace old helium blobs.
itemCoalCoke = new BaseItemBurnable("itemCoalCoke", "Coking Coal", tabMisc, 64, 0, "Used for metallurgy.", "fuelCoke", 3200, 0).setTextureName(CORE.MODID + ":itemCoalCoke");
//Register Hydrogen Blobs first, so we can replace old helium blobs.
itemHydrogenBlob = new CoreItem("itemHydrogenBlob", "Mysterious Hydrogen Blob", tabMisc).setTextureName(CORE.MODID + ":itemHeliumBlob");
- //GT_OreDictUnificator.registerOre("dustHydrogen", new ItemStack(ModItems.itemHydrogenBlob));
//Register Old Helium Blob, this will be replaced when held by a player.
itemHeliumBlob = new CoreItem("itemHeliumBlob", tabMisc, ItemUtils.getSimpleStack(itemHydrogenBlob)).setTextureName(CORE.MODID + ":itemHydrogenBlob");
//Register this neato device, for making some fires.
itemBasicFireMaker = new ItemBasicFirestarter();
+ //Register Rope
+ itemFiber = new CoreItem("itemFiber", "Plant Fiber", tabMisc);
+ itemRope = new CoreItem("itemRope", "Rope", tabMisc);
+
//Make some backpacks
//Primary colours
backpack_Red = new BaseItemBackpack("backpackRed", Utils.rgbtoHexValue(200, 0, 0));
@@ -307,7 +337,7 @@ public final class ModItems {
itemHydrofluoricPotion = new ItemHydrofluoricAcidPotion("itemHydrofluoricPotion", "Thowable Vial of Hydrofluoric Acid", "They won't see this coming, nor anything after!").setTextureName(CORE.MODID + ":itemPotion");
//Start meta Item Generation
ItemsFoods.load();
-
+
try{
@@ -588,6 +618,14 @@ public final class ModItems {
//Create Multi-tools
ItemsMultiTools.load();
+ //Xp Fluids - Dev
+ if (!FluidRegistry.isFluidRegistered("mobessence")){
+ FluidUtils.generateFluidNoPrefix("mobessence", "mobessence", 0, new short[]{125, 175, 125, 100});
+ }
+ if (!FluidRegistry.isFluidRegistered("xpjuice")){
+ FluidUtils.generateFluidNoPrefix("xpjuice", "xpjuice", 0, new short[]{50, 150, 50, 100});
+ }
+
//Just an unusual plate needed for some black magic.
itemPlateClay = new BaseItemPlate(MaterialUtils.generateMaterialFromGtENUM(Materials.Clay));
itemDoublePlateClay = new BaseItemPlateDouble(MaterialUtils.generateMaterialFromGtENUM(Materials.Clay));
@@ -603,10 +641,10 @@ public final class ModItems {
}
//A plate of Europium.
- if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateEuropium", 1) == null && CORE.configSwitches.enableCustom_Pipes){
+ if ((ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateEuropium", 1) == null) && CORE.configSwitches.enableCustom_Pipes){
itemPlateEuropium = new BaseItemPlate(MaterialUtils.generateMaterialFromGtENUM(Materials.Europium));
}
- if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateDoubleEuropium", 1) == null && CORE.configSwitches.enableCustom_Pipes){
+ if ((ItemUtils.getItemStackOfAmountFromOreDictNoBroken("plateDoubleEuropium", 1) == null) && CORE.configSwitches.enableCustom_Pipes){
itemDoublePlateEuropium = new BaseItemPlateDouble(MaterialUtils.generateMaterialFromGtENUM(Materials.Europium));
}
@@ -617,6 +655,8 @@ public final class ModItems {
itemAirFilter = new ItemAirFilter();
itemLavaFilter = new ItemLavaFilter();
+ itemGrindleTablet = new BaseItemGrindle();
+
//Chemistry
CoalTar.run();
@@ -658,7 +698,7 @@ public final class ModItems {
itemPlatePulsatingIron = ItemUtils.generateSpecialUsePlate("itemPlate"+"PhasedIron", "Phased Iron", new short[]{50, 91, 21}, 0);
itemPlateEnergeticAlloy = ItemUtils.generateSpecialUsePlate("itemPlate"+"EnergeticAlloy", "Energetic Alloy", new short[]{252, 152, 45}, 0);
itemPlateVibrantAlloy = ItemUtils.generateSpecialUsePlate("itemPlate"+"VibrantAlloy", "Vibrant Alloy", new short[]{204, 242, 142}, 0);
- itemPlateConductiveIron = ItemUtils.generateSpecialUsePlate("itemPlate"+"ConductiveIron", "Conductive Iron", new short[]{164, 109, 100}, 0);
+ itemPlateConductiveIron = ItemUtils.generateSpecialUsePlate("itemPlate"+"ConductiveIron", "Conductive Iron", new short[]{164, 109, 100}, 0);
//Register dumb naming conventions - Who chose fucking phased Iron/Gold?
GT_OreDictUnificator.registerOre("dustPhasedGold", ItemUtils.getSimpleStack(itemDustVibrantAlloy));
@@ -673,7 +713,7 @@ public final class ModItems {
//Big Reactors
if (LoadedMods.Big_Reactors|| LOAD_ALL_CONTENT){
Utils.LOG_INFO("BigReactors Found - Loading Resources.");
- //Item Init
+ //Item Init
itemPlateBlutonium = ItemUtils.generateSpecialUsePlate("itemPlate"+"Blutonium", "Blutonium", new short[]{0, 0, 255}, 0);
itemPlateBlutonium = ItemUtils.generateSpecialUsePlate("itemPlate"+"Cyanite", "Cyanite", new short[]{0, 191, 255}, 0);
itemPlateLudicrite = ItemUtils.generateSpecialUsePlate("itemPlate"+"Ludicrite", "Ludicrite", new short[]{167, 5, 179}, 0);
@@ -688,7 +728,7 @@ public final class ModItems {
//Item Init
try {
ItemUtils.getItemForOreDict("Thaumcraft:ItemResource", "ingotVoidMetal", "Void Metal Ingot", 16);
- itemPlateVoidMetal = ItemUtils.generateSpecialUsePlate("itemPlate"+"Void", "Void", new short[]{82, 17, 82}, 0);
+ itemPlateVoidMetal = ItemUtils.generateSpecialUsePlate("itemPlate"+"Void", "Void", new short[]{82, 17, 82}, 0);
GT_OreDictUnificator.registerOre("plateVoidMetal", new ItemStack(ModItems.itemPlateVoidMetal));
} catch (final NullPointerException e){
e.getClass();
@@ -738,7 +778,7 @@ public final class ModItems {
if (LoadedMods.RFTools|| LOAD_ALL_CONTENT){
Utils.LOG_INFO("rfTools Found - Loading Resources.");
//Item Init
- itemPlateDimensionShard = ItemUtils.generateSpecialUsePlate("itemPlate"+"DimensionShard", "Dimensional Shard", new short[]{170, 230, 230}, 0);
+ itemPlateDimensionShard = ItemUtils.generateSpecialUsePlate("itemPlate"+"DimensionShard", "Dimensional Shard", new short[]{170, 230, 230}, 0);
}
else {
Utils.LOG_WARNING("rfTools not Found - Skipping Resources.");
@@ -806,7 +846,7 @@ public final class ModItems {
//ItemBlockGtFrameBox = new ItemBlockGtFrameBox(ModBlocks.blockGtFrameSet1);
//GameRegistry.registerItem(ItemBlockGtFrameBox, "itemGtFrameBoxSet1");
-
+
itemCustomBook = new ItemBaseBook();
}
}
diff --git a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockBase.java b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockBase.java
deleted file mode 100644
index 372539ca7d..0000000000
--- a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockBase.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package gtPlusPlus.core.item.base.itemblock;
-
-import gtPlusPlus.core.creative.AddToCreativeTab;
-import net.minecraft.block.Block;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-
-public class ItemBlockBase extends ItemBlock {
-
- public ItemBlockBase(final Block block) {
- super(block);
- this.setCreativeTab(AddToCreativeTab.tabBlock);
- }
-
- @Override
- public int getColorFromItemStack(final ItemStack p_82790_1_, final int p_82790_2_) {
- return super.getColorFromItemStack(p_82790_1_, p_82790_2_);
- }
-
-
-} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockEntityBase.java b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockEntityBase.java
new file mode 100644
index 0000000000..b13e6b22bc
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockEntityBase.java
@@ -0,0 +1,41 @@
+package gtPlusPlus.core.item.base.itemblock;
+
+import java.util.List;
+
+import gtPlusPlus.core.block.general.BlockTankXpConverter;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import net.minecraft.block.Block;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemBlock;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+
+public class ItemBlockEntityBase extends ItemBlock {
+
+ public ItemBlockEntityBase(final Block block) {
+ super(block);
+ this.setMaxDamage(0);
+ this.setHasSubtypes(true);
+ this.setCreativeTab(AddToCreativeTab.tabMachines);
+ }
+
+ @Override
+ public int getColorFromItemStack(final ItemStack p_82790_1_, final int p_82790_2_) {
+ return super.getColorFromItemStack(p_82790_1_, p_82790_2_);
+ }
+
+ @SuppressWarnings({ "unchecked", "rawtypes" })
+ @Override
+ public final void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) {
+ if (Block.getBlockFromItem(stack.getItem()) instanceof BlockTankXpConverter){
+ list.add(EnumChatFormatting.GRAY+"Can convert Liquid Xp to Mob Essence and back.");
+ list.add(EnumChatFormatting.GRAY+"Right click with a Screwdriver to change mode.");
+ }
+ else if (Block.getBlockFromItem(stack.getItem()) instanceof BlockTankXpConverter){
+ //list.add(EnumChatFormatting.GRAY+"A pile of " + materialName + " dust.");
+ }
+ super.addInformation(stack, aPlayer, list, bool);
+ }
+
+
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockMeta.java b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockMeta.java
new file mode 100644
index 0000000000..9cf3f796df
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockMeta.java
@@ -0,0 +1,44 @@
+package gtPlusPlus.core.item.base.itemblock;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import net.minecraft.block.Block;
+import net.minecraft.item.ItemBlockWithMetadata;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.IIcon;
+
+public class ItemBlockMeta extends ItemBlockWithMetadata
+{
+ private final Block mBlock;
+
+ public ItemBlockMeta(final Block p_i45326_1_)
+ {
+ super(p_i45326_1_, p_i45326_1_);
+ this.mBlock = p_i45326_1_;
+ this.setMaxDamage(0);
+ this.setHasSubtypes(true);
+ }
+
+ /**
+ * Gets an icon index based on an item's damage value
+ */
+ @Override
+ @SideOnly(Side.CLIENT)
+ public IIcon getIconFromDamage(final int p_77617_1_)
+ {
+ return this.mBlock.getIcon(2, p_77617_1_);
+ }
+
+ /**
+ * Returns the metadata of the block which this Item (ItemBlock) can place
+ */
+ @Override
+ public int getMetadata(final int p_77647_1_)
+ {
+ return p_77647_1_;
+ }
+
+ @Override
+ public String getUnlocalizedName(final ItemStack stack) {
+ return this.getUnlocalizedName() + "." + stack.getItemDamage();
+ }
+} \ No newline at end of file
diff --git a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockTileEntity.java b/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockTileEntity.java
deleted file mode 100644
index 7a5f20833f..0000000000
--- a/src/Java/gtPlusPlus/core/item/base/itemblock/ItemBlockTileEntity.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package gtPlusPlus.core.item.base.itemblock;
-
-import java.util.List;
-
-import net.minecraft.block.Block;
-import net.minecraft.entity.Entity;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.ItemBlock;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-
-public class ItemBlockTileEntity extends ItemBlock{
-
- String[] description;
-
- public ItemBlockTileEntity(final Block block) {
- super(block);
- }
-
- @Override
- public void addInformation(final ItemStack stack, final EntityPlayer aPlayer, final List list, final boolean bool) {
- for (int i =0; i< this.description.length; i++){
- if (!this.description[i].equals("")){
- list.add(this.description[i]);
- }
- }
-
-
- super.addInformation(stack, aPlayer, list, bool);
- }
-
- @Override
- public void onUpdate(final ItemStack iStack, final World world, final Entity entityHolding, final int p_77663_4_, final boolean p_77663_5_) {
-
- }
-
- public void setDecription(final String[] description){
- for (int i =0; i< description.length; i++){
- this.description[i] = description[i];
- }
- }
-
-}
diff --git a/src/Java/gtPlusPlus/core/item/bauble/ModularBauble.java b/src/Java/gtPlusPlus/core/item/bauble/ModularBauble.java
index 0e7df1703c..de12a77c27 100644
--- a/src/Java/gtPlusPlus/core/item/bauble/ModularBauble.java
+++ b/src/Java/gtPlusPlus/core/item/bauble/ModularBauble.java
@@ -36,7 +36,6 @@ public class ModularBauble extends BaseBauble {
private IIcon mTextureRing;
@SideOnly(Side.CLIENT)
private IIcon mTextureBelt;
- @SideOnly(Side.CLIENT)
private IIcon iconArray[] = new IIcon[3];
@SideOnly(Side.CLIENT)
private IIcon mfallback;
@@ -342,6 +341,7 @@ public class ModularBauble extends BaseBauble {
}*/
@Override
+ @SideOnly(Side.CLIENT)
public IIcon getIconFromDamage(int meta) {
if (meta < this.iconArray.length && this.iconArray[meta] != null){
return this.iconArray[meta];
diff --git a/src/Java/gtPlusPlus/core/item/general/BaseItemGrindle.java b/src/Java/gtPlusPlus/core/item/general/BaseItemGrindle.java
new file mode 100644
index 0000000000..66fd6968e4
--- /dev/null
+++ b/src/Java/gtPlusPlus/core/item/general/BaseItemGrindle.java
@@ -0,0 +1,87 @@
+package gtPlusPlus.core.item.general;
+
+import java.util.List;
+
+import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import gregtech.api.util.GT_OreDictUnificator;
+import gtPlusPlus.GTplusplus;
+import gtPlusPlus.core.creative.AddToCreativeTab;
+import gtPlusPlus.core.handler.GuiHandler;
+import gtPlusPlus.core.lib.CORE;
+import gtPlusPlus.core.util.item.ItemUtils;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.EnumRarity;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.world.World;
+
+public class BaseItemGrindle extends Item{
+
+ protected final String unlocalName;
+
+
+ public BaseItemGrindle(){
+ this.unlocalName = "itemGrindleTablet";
+ this.setUnlocalizedName("itemGrindleTablet");
+ this.setTextureName(CORE.MODID + ":" + "itemTablet");
+ GameRegistry.registerItem(this, "itemGrindleTablet");
+ GT_OreDictUnificator.registerOre("tabletGit", ItemUtils.getSimpleStack(this));
+ this.setMaxStackSize(1);
+ this.setCreativeTab(AddToCreativeTab.tabOther);
+ }
+
+ @Override
+ public int getMaxItemUseDuration(final ItemStack stack) {
+ return 1;
+ }
+
+ @Override
+ public ItemStack onItemRightClick(final ItemStack itemstack, final World world, final EntityPlayer player)
+ {
+ if (!world.isRemote){
+ if (!player.isSneaking()) {
+ player.openGui(GTplusplus.instance, GuiHandler.GUI9, world, 0, 0, 0);
+ }
+ }
+
+ return itemstack;
+ }
+
+ @Override
+ public String getItemStackDisplayName(final ItemStack p_77653_1_) {
+ return ("Git");
+ }
+
+ @Override
+ @SideOnly(Side.CLIENT)
+ public void registerIcons(final IIconRegister iconRegister)
+ {
+ this.itemIcon = iconRegister.registerIcon(CORE.MODID + ":" + "itemTablet");
+ }
+
+ @Override
+ public String getPotionEffect(ItemStack p_150896_1_) {
+ // TODO Auto-generated method stub
+ return super.getPotionEffect(p_150896_1_);
+ }
+
+ @Override
+ public void addInformation(ItemStack p_77624_1_, EntityPlayer p_77624_2_,
+ List p_77624_3_, boolean p_77624_4_) {
+ // TODO Auto-generated method stub
+ super.addInformation(p_77624_1_, p_77624_2_, p_77624_3_, p_77624_4_);
+ }
+
+ @Override
+ public EnumRarity getRarity(ItemStack i) {
+ return EnumRarity.uncommon;
+ }
+
+ @Override
+ public boolean isRepairable() {
+ return false;
+ }
+}
diff --git a/src/Java/gtPlusPlus/core/item/general/books/ItemBaseBook.java b/src/Java/gtPlusPlus/core/item/general/books/ItemBaseBook.java
index 8c4a262c32..fe0405d175 100644
--- a/src/Java/gtPlusPlus/core/item/general/books/ItemBaseBook.java
+++ b/src/Java/gtPlusPlus/core/item/general/books/ItemBaseBook.java
@@ -2,18 +2,21 @@ package gtPlusPlus.core.item.general.books;
import static gtPlusPlus.core.handler.BookHandler.mBookMap;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
import java.util.List;
import cpw.mods.fml.common.registry.GameRegistry;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
import gtPlusPlus.core.creative.AddToCreativeTab;
import gtPlusPlus.core.handler.BookHandler;
import gtPlusPlus.core.lib.CORE;
-import gtPlusPlus.core.util.Utils;
-import gtPlusPlus.core.util.item.ItemUtils;
import gtPlusPlus.core.util.nbt.NBTUtils;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.GuiScreenBook;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
@@ -96,6 +99,7 @@ public class ItemBaseBook extends ItemWritableBook{
}
@Override
+ @SideOnly(Side.CLIENT)
public ItemStack onItemRightClick(ItemStack item, World world, EntityPlayer player) {
//player.displayGUIBook(item);
int i = item.getItemDamage();
@@ -106,7 +110,16 @@ public class ItemBaseBook extends ItemWritableBook{
mBookMap.get(i).mPages);
if (player.worldObj.isRemote){
- Minecraft.getMinecraft().displayGuiScreen(new GuiScreenBook(player, bookstack, false));
+ try {
+ Class<?> clazz = Class.forName("net.minecraft.client.gui.GuiScreenBook");
+ Constructor<?> ctor = clazz.getConstructor(EntityPlayer.class, ItemStack.class, boolean.class);
+ Object object = ctor.newInstance(new Object[] { player, bookstack, false });
+ Minecraft.getMinecraft().displayGuiScreen((GuiScreen) object);
+ } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ //Minecraft.getMinecraft().displayGuiScreen(new GuiScreenBook(player, bookstack, false));
}
return item;
}