summaryrefslogtreecommitdiff
path: root/src/main/java/darkknight/jewelrycraft/item
diff options
context:
space:
mode:
authorOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-08-13 21:12:11 +0100
committerOnyxDarkKnight <sor1n.iliutza16@gmail.com>2015-08-13 21:12:11 +0100
commit0ef6a00aa79f022e5bd56b3f77e6861bbecf6d94 (patch)
tree03966c83cd16d1912ec1596d83f89f251cc35f83 /src/main/java/darkknight/jewelrycraft/item
parent921f1ba6f30e66c80c803618ebff496778e78970 (diff)
Added a new structure, a new curse, achievements, challenges, curses
entry in the guide; reworked liquids to be tile entities, cleaned the structures code, potion code and... you know what? I improved and changed so much stuff that I literally forgot what I did...
Diffstat (limited to 'src/main/java/darkknight/jewelrycraft/item')
-rw-r--r--src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java4
-rw-r--r--src/main/java/darkknight/jewelrycraft/item/ItemGuide.java56
-rw-r--r--src/main/java/darkknight/jewelrycraft/item/ItemJewelryModifier.java52
-rw-r--r--src/main/java/darkknight/jewelrycraft/item/ItemList.java9
-rw-r--r--src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java95
-rw-r--r--src/main/java/darkknight/jewelrycraft/item/ItemStructureGen.java18
-rw-r--r--src/main/java/darkknight/jewelrycraft/item/ItemTest.java54
7 files changed, 155 insertions, 133 deletions
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java b/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java
index f5dafb8..a67a274 100644
--- a/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java
+++ b/src/main/java/darkknight/jewelrycraft/item/ItemBaseJewelry.java
@@ -111,7 +111,7 @@ public abstract class ItemBaseJewelry extends Item
public boolean onPlayerAttackedCacellable(ItemStack item, EntityPlayer player, DamageSource source, float amount)
{
for(ModifierEffects mod: ModifierEffects.getEffects())
- return JewelryNBT.doesModifierExist(item, mod.getModifier()) ? mod.onPlayerAttackedCacellable(item, player, source, this, amount) : false;
+ if(JewelryNBT.doesModifierExist(item, mod.getModifier())) return mod.onPlayerAttackedCacellable(item, player, source, this, amount);
return false;
}
@@ -124,7 +124,7 @@ public abstract class ItemBaseJewelry extends Item
public boolean onEntityAttackedCacellable(ItemStack item, EntityPlayer player, Entity target, float amount)
{
for(ModifierEffects mod: ModifierEffects.getEffects())
- return JewelryNBT.doesModifierExist(item, mod.getModifier()) ? mod.onEntityAttackedCacellable(item, player, target, this, amount) : false;
+ if(JewelryNBT.doesModifierExist(item, mod.getModifier())) return mod.onEntityAttackedCacellable(item, player, target, this, amount);
return false;
}
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemGuide.java b/src/main/java/darkknight/jewelrycraft/item/ItemGuide.java
index 9c2f627..ce42093 100644
--- a/src/main/java/darkknight/jewelrycraft/item/ItemGuide.java
+++ b/src/main/java/darkknight/jewelrycraft/item/ItemGuide.java
@@ -1,28 +1,30 @@
-package darkknight.jewelrycraft.item;
-
-import net.minecraft.entity.EntityLivingBase;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.potion.Potion;
-import net.minecraft.potion.PotionEffect;
-import net.minecraft.util.DamageSource;
-import net.minecraft.world.World;
-import net.minecraftforge.event.entity.player.PlayerEvent.Clone;
-import darkknight.jewelrycraft.JewelrycraftMod;
-import darkknight.jewelrycraft.api.IJewelryItem;
-
-public class ItemGuide extends Item
-{
- public ItemGuide()
- {
- super();
- }
-
- @Override
- public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
- {
- if (world.isRemote) player.openGui(JewelrycraftMod.instance, 1, player.worldObj, 0, 0, 0);
- return stack;
- }
+package darkknight.jewelrycraft.item;
+
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraft.potion.Potion;
+import net.minecraft.potion.PotionEffect;
+import net.minecraft.util.DamageSource;
+import net.minecraft.world.World;
+import net.minecraftforge.event.entity.player.PlayerEvent.Clone;
+import darkknight.jewelrycraft.JewelrycraftMod;
+import darkknight.jewelrycraft.achievements.AchievementsList;
+import darkknight.jewelrycraft.api.IJewelryItem;
+
+public class ItemGuide extends Item
+{
+ public ItemGuide()
+ {
+ super();
+ }
+
+ @Override
+ public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
+ {
+ if (world.isRemote) player.openGui(JewelrycraftMod.instance, 1, player.worldObj, 0, 0, 0);
+ player.addStat(AchievementsList.openGuide, 1);
+ return stack;
+ }
} \ No newline at end of file
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemJewelryModifier.java b/src/main/java/darkknight/jewelrycraft/item/ItemJewelryModifier.java
index 0ffed2c..c8fbb9d 100644
--- a/src/main/java/darkknight/jewelrycraft/item/ItemJewelryModifier.java
+++ b/src/main/java/darkknight/jewelrycraft/item/ItemJewelryModifier.java
@@ -1,23 +1,31 @@
-package darkknight.jewelrycraft.item;
-
-import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraft.world.World;
-import darkknight.jewelrycraft.JewelrycraftMod;
-
-public class ItemJewelryModifier extends Item
-{
- public ItemJewelryModifier()
- {
- super();
- }
-
- @Override
- public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
- {
- if (!world.isRemote && player.capabilities.isCreativeMode) player.openGui(JewelrycraftMod.instance, 3, world, 0, 0, 0);
- return stack;
- }
+package darkknight.jewelrycraft.item;
+
+import java.util.List;
+
+import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
+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 darkknight.jewelrycraft.JewelrycraftMod;
+
+public class ItemJewelryModifier extends Item
+{
+ public ItemJewelryModifier()
+ {
+ super();
+ }
+
+ @Override
+ public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
+ {
+ if (!world.isRemote && player.capabilities.isCreativeMode) player.openGui(JewelrycraftMod.instance, 3, world, 0, 0, 0);
+ return stack;
+ }
+
+ public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4)
+ {
+ list.add(EnumChatFormatting.GRAY + "Creative Only");
+ }
} \ No newline at end of file
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemList.java b/src/main/java/darkknight/jewelrycraft/item/ItemList.java
index 49c6679..0105d4a 100644
--- a/src/main/java/darkknight/jewelrycraft/item/ItemList.java
+++ b/src/main/java/darkknight/jewelrycraft/item/ItemList.java
@@ -1,12 +1,12 @@
package darkknight.jewelrycraft.item;
-import net.minecraft.item.Item;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.oredict.OreDictionary;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import darkknight.jewelrycraft.JewelrycraftMod;
import darkknight.jewelrycraft.util.Variables;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.oredict.OreDictionary;
public class ItemList
{
@@ -25,6 +25,7 @@ public class ItemList
public static Item goldObj;
public static Item structureGen;
public static Item spawnEgg;
+ public static Item testItem;
private static boolean isInitialized = false;
/**
@@ -47,6 +48,7 @@ public class ItemList
goldObj = new ItemGoldObj().setUnlocalizedName(Variables.MODID + ".goldObject");
structureGen = new ItemStructureGen().setUnlocalizedName(Variables.MODID + ".structureGen").setTextureName(Variables.MODID + ":structureGen").setCreativeTab(JewelrycraftMod.jewelrycraft);
spawnEgg = new ItemSpawnEgg().setUnlocalizedName(Variables.MODID + ".monsterPlacer").setTextureName("spawn_egg");
+ testItem = new ItemTest().setUnlocalizedName(Variables.MODID + ".test");
GameRegistry.registerItem(thiefGloves, "thiefGloves");
GameRegistry.registerItem(shadowIngot, "shadowIngot");
@@ -63,6 +65,7 @@ public class ItemList
GameRegistry.registerItem(goldObj, "goldObject");
GameRegistry.registerItem(structureGen, "structureGen");
GameRegistry.registerItem(spawnEgg, "spawnEgg");
+ GameRegistry.registerItem(testItem, "testItem");
OreDictionary.registerOre("ingotShadow", new ItemStack(ItemList.shadowIngot));
}
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java b/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java
index d376648..869af26 100644
--- a/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java
+++ b/src/main/java/darkknight/jewelrycraft/item/ItemMoltenMetalBucket.java
@@ -1,52 +1,37 @@
package darkknight.jewelrycraft.item;
import java.io.IOException;
-
+import cpw.mods.fml.common.eventhandler.Event;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.block.BlockList;
+import darkknight.jewelrycraft.tileentity.TileEntityMoltenMetal;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.Variables;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
-import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.FillBucketEvent;
-import cpw.mods.fml.common.eventhandler.Event;
-import cpw.mods.fml.relauncher.Side;
-import cpw.mods.fml.relauncher.SideOnly;
-import darkknight.jewelrycraft.JewelrycraftMod;
-import darkknight.jewelrycraft.block.BlockList;
-import darkknight.jewelrycraft.network.PacketRequestLiquidData;
-import darkknight.jewelrycraft.network.PacketSendLiquidData;
-import darkknight.jewelrycraft.util.JewelryNBT;
-import darkknight.jewelrycraft.util.JewelrycraftUtil;
-import darkknight.jewelrycraft.util.Variables;
public class ItemMoltenMetalBucket extends Item {
- public IIcon liquid;
+ public IIcon liquid;
- /**
- *
- */
public ItemMoltenMetalBucket() {
maxStackSize = 1;
}
- /**
- * Called whenever this item is equipped and the right mouse button is
- * pressed. Args: itemStack, world, entityPlayer
- *
- * @param stack
- * @param par2World
- * @param par3EntityPlayer
- * @return
- */
@Override
public ItemStack onItemRightClick(ItemStack stack, World par2World, EntityPlayer par3EntityPlayer) {
boolean flag = BlockList.moltenMetal == Blocks.air;
@@ -75,11 +60,11 @@ public class ItemMoltenMetalBucket extends Item {
} else {
if (BlockList.moltenMetal == Blocks.air) return new ItemStack(Items.bucket);
if (movingobjectposition.sideHit == 0) --j;
- if (movingobjectposition.sideHit == 1) ++j;
- if (movingobjectposition.sideHit == 2) --k;
- if (movingobjectposition.sideHit == 3) ++k;
- if (movingobjectposition.sideHit == 4) --i;
- if (movingobjectposition.sideHit == 5) ++i;
+ else if (movingobjectposition.sideHit == 1) ++j;
+ else if (movingobjectposition.sideHit == 2) --k;
+ else if (movingobjectposition.sideHit == 3) ++k;
+ else if (movingobjectposition.sideHit == 4) --i;
+ else if (movingobjectposition.sideHit == 5) ++i;
if (!par3EntityPlayer.canPlayerEdit(i, j, k, movingobjectposition.sideHit, stack)) return stack;
if (tryPlaceContainedLiquid(par2World, i, j, k, stack) && !par3EntityPlayer.capabilities.isCreativeMode) return new ItemStack(Items.bucket);
}
@@ -88,12 +73,6 @@ public class ItemMoltenMetalBucket extends Item {
}
}
- /**
- * @param p_150910_1_
- * @param p_150910_2_
- * @param p_150910_3_
- * @return
- */
private ItemStack func_150910_a(ItemStack p_150910_1_, EntityPlayer p_150910_2_, Item p_150910_3_) {
if (p_150910_2_.capabilities.isCreativeMode) return p_150910_1_;
else if (--p_150910_1_.stackSize <= 0) return new ItemStack(p_150910_3_);
@@ -103,18 +82,7 @@ public class ItemMoltenMetalBucket extends Item {
}
}
- /**
- * Attempts to place the liquid contained inside the bucket.
- *
- * @param world
- * @param x
- * @param y
- * @param z
- * @param stack
- * @return
- * @throws IOException
- */
- public boolean tryPlaceContainedLiquid(World world, int x, int y, int z, ItemStack stack) {
+ public static boolean tryPlaceContainedLiquid(World world, int x, int y, int z, ItemStack stack) {
if (BlockList.moltenMetal == Blocks.air) return false;
else {
Material material = world.getBlock(x, y, z).getMaterial();
@@ -122,30 +90,20 @@ public class ItemMoltenMetalBucket extends Item {
if (!world.isAirBlock(x, y, z) && !flag) return false;
else if (stack != null && JewelryNBT.ingot(stack) != null) {
if (!world.isRemote && flag && !material.isLiquid()) world.func_147480_a(x, y, z, true);
- if (world.isRemote) {
- JewelrycraftMod.saveData.setString(x + " " + y + " " + z + " " + world.provider.dimensionId, Item.getIdFromItem(JewelryNBT.ingot(stack).getItem()) + ":" + JewelryNBT.ingot(stack).getItemDamage());
- JewelrycraftMod.netWrapper.sendToAll(new PacketSendLiquidData(world.provider.dimensionId, x, y, z, Item.getIdFromItem(JewelryNBT.ingot(stack).getItem()), JewelryNBT.ingot(stack).getItemDamage()));
- }
world.setBlock(x, y, z, BlockList.moltenMetal, 0, 3);
+ TileEntity moltenLiquid = world.getTileEntity(x, y, z);
+ if(moltenLiquid instanceof TileEntityMoltenMetal) ((TileEntityMoltenMetal) moltenLiquid).setMetal(JewelryNBT.ingot(stack));
return true;
} else return false;
}
}
- /**
- * @param iconRegister
- */
@Override
public void registerIcons(IIconRegister iconRegister) {
itemIcon = iconRegister.registerIcon("bucket_empty");
liquid = iconRegister.registerIcon(Variables.MODID + ":bucketOverlay");
}
- /**
- * @param stack
- * @param pass
- * @return
- */
@Override
@SideOnly(Side.CLIENT)
public int getColorFromItemStack(ItemStack stack, int pass) {
@@ -153,19 +111,11 @@ public class ItemMoltenMetalBucket extends Item {
return 16777215;
}
- /**
- * @return
- */
@Override
public boolean requiresMultipleRenderPasses() {
return true;
}
- /**
- * @param stack
- * @param pass
- * @return
- */
@Override
public IIcon getIcon(ItemStack stack, int pass) {
if (pass == 0) return itemIcon;
@@ -173,27 +123,18 @@ public class ItemMoltenMetalBucket extends Item {
return itemIcon;
}
- /**
- * @param ingot
- * @return
- */
public ItemStack getModifiedItemStack(ItemStack ingot) {
ItemStack itemstack = new ItemStack(this);
JewelryNBT.addMetal(itemstack, ingot);
return itemstack;
}
- /**
- * @param stack
- * @return
- */
@Override
public String getItemStackDisplayName(ItemStack stack) {
try {
if (JewelryNBT.ingot(stack) != null) {
ItemStack ingot = JewelryNBT.ingot(stack);
if (ingot != null) {
- if (Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_glass) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.stained_hardened_clay) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.wool) || Item.getIdFromItem(ingot.getItem()) == Block.getIdFromBlock(Blocks.carpet)) ingot.setItemDamage(15 - ingot.getItemDamage());
return StatCollector.translateToLocal(getUnlocalizedNameInefficiently(stack) + ".name").trim() + " " + ingot.getDisplayName().replace("Ingot", " ").trim();
} else return StatCollector.translateToLocal("bucket.unknown");
}
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemStructureGen.java b/src/main/java/darkknight/jewelrycraft/item/ItemStructureGen.java
index 25f5f4d..33ffd3d 100644
--- a/src/main/java/darkknight/jewelrycraft/item/ItemStructureGen.java
+++ b/src/main/java/darkknight/jewelrycraft/item/ItemStructureGen.java
@@ -4,8 +4,17 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ChatComponentText;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import darkknight.jewelrycraft.config.ConfigHandler;
+import darkknight.jewelrycraft.util.JewelryNBT;
import darkknight.jewelrycraft.util.JewelrycraftUtil;
+import darkknight.jewelrycraft.util.Variables;
public class ItemStructureGen extends Item
{
@@ -19,7 +28,7 @@ public class ItemStructureGen extends Item
@Override
public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
{
- if (!world.isRemote){
+ if (!world.isRemote && player.capabilities.isCreativeMode){
if (!player.isSneaking()){
if (no < JewelrycraftUtil.structures.size() - 1) no++;
else no = 0;
@@ -36,7 +45,12 @@ public class ItemStructureGen extends Item
@Override
public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int par1, float par2, float par3, float par4)
{
- JewelrycraftUtil.structures.get(no).generate(world, itemRand, x, y + 1, z);
+ if(player.capabilities.isCreativeMode) JewelrycraftUtil.structures.get(no).generate(world, world.getBiomeGenForCoords(x, z), itemRand, x, y + 1, z);
return true;
}
+
+ public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4)
+ {
+ list.add(EnumChatFormatting.GRAY + "Creative Only");
+ }
} \ No newline at end of file
diff --git a/src/main/java/darkknight/jewelrycraft/item/ItemTest.java b/src/main/java/darkknight/jewelrycraft/item/ItemTest.java
new file mode 100644
index 0000000..e7dbb33
--- /dev/null
+++ b/src/main/java/darkknight/jewelrycraft/item/ItemTest.java
@@ -0,0 +1,54 @@
+package darkknight.jewelrycraft.item;
+
+import java.util.List;
+import net.minecraft.block.Block;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.creativetab.CreativeTabs;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemFood;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.MathHelper;
+import net.minecraft.util.StatCollector;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
+import darkknight.jewelrycraft.api.Curse;
+import darkknight.jewelrycraft.util.JewelryNBT;
+import darkknight.jewelrycraft.util.Variables;
+
+public class ItemTest extends Item
+{
+ @SideOnly (Side.CLIENT)
+ private IIcon[] icons;
+
+ public ItemTest()
+ {
+ super();
+ setHasSubtypes(true);
+ }
+
+ @Override
+ @SideOnly (Side.CLIENT)
+ public IIcon getIconFromDamage(int damage)
+ {
+ int j = MathHelper.clamp_int(damage, 0, Curse.getCurseList().size() - 1);
+ return icons[j];
+ }
+
+ public void getSubItems(Item par1, CreativeTabs par2CreativeTabs, List par3List)
+ {
+ for(int j = 0; j < Curse.getCurseList().size(); ++j)
+ par3List.add(new ItemStack(par1, 1, j));
+ }
+
+ public void registerIcons(IIconRegister par1IconRegister)
+ {
+ icons = new IIcon[Curse.getCurseList().size()];
+ for(int i = 0; i < Curse.getCurseList().size(); ++i)
+ icons[i] = par1IconRegister.registerIcon(Variables.MODID + ":" + "testItem_" + i);
+ }
+}