Work on in world transmuting, still lots to do

This commit is contained in:
pahimar 2012-06-26 16:20:06 -04:00
parent 884e024377
commit 203fdedf80
12 changed files with 115 additions and 20 deletions

View file

@ -7,6 +7,7 @@ import cpw.mods.fml.common.ReflectionHelper;
import ee3.client.core.KeyBindingHandler;
import ee3.client.core.SoundHandler;
import ee3.core.mod_EE3;
import ee3.core.interfaces.IProxy;
import static ee3.lib.CustomItemRarity.*;
import net.minecraft.client.Minecraft;
@ -16,7 +17,6 @@ import net.minecraft.src.KeyBinding;
import net.minecraft.src.ModLoader;
import net.minecraft.src.NetworkManager;
import net.minecraft.src.World;
import net.minecraft.src.mod_EE3;
import net.minecraft.src.forge.EnumHelperClient;
import net.minecraft.src.forge.MinecraftForgeClient;

View file

@ -2,9 +2,10 @@ package ee3.client.core;
import org.lwjgl.input.Keyboard;
import ee3.core.mod_EE3;
import net.minecraft.src.KeyBinding;
import net.minecraft.src.ModLoader;
import net.minecraft.src.mod_EE3;
/**
* TODO Class Description

View file

@ -6,7 +6,6 @@ import java.util.HashMap;
import static ee3.lib.ItemIds.*;
import ee3.lib.Reference;
import net.minecraft.src.mod_EE3;
import static net.minecraft.src.forge.Configuration.*;
import net.minecraft.src.forge.Configuration;
import net.minecraft.src.forge.Property;

View file

@ -1,11 +1,6 @@
package net.minecraft.src;
package ee3.core;
import cpw.mods.fml.common.FMLCommonHandler;
import ee3.core.ConfigurationManager;
import ee3.core.CraftingHandler;
import ee3.core.EntityLivingHandler;
import ee3.core.RecipesPhilStone;
import ee3.core.TickHandler;
import ee3.core.interfaces.IProxy;
import ee3.emc.EMCList;
import ee3.gui.GuiHandler;
@ -15,7 +10,9 @@ import ee3.lib.Reference;
import ee3.lib.Sounds;
import ee3.lib.Version;
import ee3.network.PacketHandler;
import net.minecraft.src.BaseMod;
import net.minecraft.src.ModLoader;
import net.minecraft.src.SidedProxy;
import net.minecraft.src.forge.MinecraftForge;
import net.minecraft.src.forge.NetworkMod;

View file

@ -1,9 +1,9 @@
package ee3.gui;
import ee3.core.mod_EE3;
import ee3.lib.GuiIds;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.World;
import net.minecraft.src.mod_EE3;
import net.minecraft.src.forge.IGuiHandler;
/**

View file

@ -7,10 +7,11 @@ import net.minecraft.src.EntityPlayer;
import net.minecraft.src.EnumRarity;
import net.minecraft.src.ItemStack;
import net.minecraft.src.World;
import net.minecraft.src.mod_EE3;
import ee3.core.mod_EE3;
import ee3.core.interfaces.ITransmuteStone;
import ee3.lib.CustomItemRarity;
import ee3.lib.Helper;
import ee3.lib.Sounds;
import ee3.lib.TransmuteEquivalencyList;
public class ItemMiniumStone extends ItemEE implements ITransmuteStone {
@ -23,11 +24,16 @@ public class ItemMiniumStone extends ItemEE implements ITransmuteStone {
public boolean onItemUse(ItemStack itemStack, EntityPlayer entityPlayer, World world,
int x, int y, int z, int l) {
ArrayList<ItemStack> list = TransmuteEquivalencyList.getEquivalencyListForItem(Block.blocksList[world.getBlockId(x, y, z)]);
System.out.println(world.getBlockId(x, y, z) + ", " + world.getBlockMetadata(x, y, z));
ItemStack nextItem = TransmuteEquivalencyList.getNextItemInEquivalencyList(world.getBlockId(x, y, z), world.getBlockMetadata(x, y, z));
if (list != null)
System.out.println(list.toString());
if (nextItem != null) {
if (Block.blocksList[nextItem.itemID] != null) {
System.out.println(world.setBlockAndMetadataWithNotify(x, y, z, nextItem.itemID, nextItem.getItemDamage()));
}
}
world.playSoundAtEntity(entityPlayer, Sounds.TRANSMUTE, 1.0F, 1.0F);
return false;
}

View file

@ -1,12 +1,12 @@
package ee3.item;
import ee3.core.mod_EE3;
import ee3.core.interfaces.IItemChargeable;
import ee3.core.interfaces.IItemModal;
import ee3.core.interfaces.ITransmuteStone;
import ee3.lib.CustomItemRarity;
import net.minecraft.src.EnumRarity;
import net.minecraft.src.ItemStack;
import net.minecraft.src.mod_EE3;
/**
* TODO Class Description

View file

@ -1,7 +1,9 @@
package ee3.lib;
import java.util.ArrayList;
import java.util.Iterator;
import net.minecraft.src.Block;
import net.minecraft.src.ItemStack;
public class TransmuteEquivalencyList {
@ -64,6 +66,23 @@ public class TransmuteEquivalencyList {
return null;
}
public static Integer getEquivalencyIndexForItem(int id, int meta) {
ArrayList<ItemStack> currentList;
int i = 0;
while (i < equivalencyLists.size()) {
currentList = equivalencyLists.get(i);
for (ItemStack currentStack : currentList) {
if ((id == currentStack.itemID) && (meta == currentStack.getItemDamage())) {
return new Integer(i);
}
}
++i;
}
return null;
}
public static ArrayList<ItemStack> getEquivalencyListForItem(Object obj) {
ItemStack checkStack = Helper.convertObjectToItemStack(obj);
@ -80,6 +99,75 @@ public class TransmuteEquivalencyList {
return null;
}
public static ArrayList<ItemStack> getEquivalencyListForItem(int id, int meta) {
for (ArrayList<ItemStack> list : equivalencyLists) {
for (ItemStack currentStack : list) {
if ((id == currentStack.itemID) && (meta == currentStack.getItemDamage())) {
return list;
}
}
}
return null;
}
public static ItemStack getNextItemInEquivalencyList(Object obj) {
ItemStack checkStack = Helper.convertObjectToItemStack(obj);
if (checkStack == null)
return null;
return getNextItemInEquivalencyList(checkStack.itemID, checkStack.getItemDamage());
}
public static ItemStack getNextItemInEquivalencyList(int id, int meta) {
System.out.println("id: " + id + ", meta: " + meta);
ArrayList<ItemStack> list = getEquivalencyListForItem(id, meta);
ItemStack currentStack;
ItemStack returnStack = null;
int i = 0;
if (list != null) {
System.out.println(list.toString());
while (i < list.size()) {
currentStack = list.get(i);
if ((id == currentStack.itemID) && (meta == currentStack.getItemDamage())) {
returnStack = list.get((i + 1) % list.size());
System.out.println(list.toString());
break;
}
++i;
}
}
return returnStack;
}
public static ItemStack getNextBlockInEquivalencyList(int id, int meta) {
ArrayList<ItemStack> list = getEquivalencyListForItem(id, meta);
ItemStack currentStack;
ItemStack returnStack = null;
int i = 0;
if (list != null) {
while (i < list.size()) {
currentStack = list.get(i);
if ((id == currentStack.itemID) && (meta == currentStack.getItemDamage())) {
for (int index = (i + 1) % list.size(); index < i; ++index) {
if (Block.blocksList[list.get(index).itemID] != null) {
returnStack = list.get(index);
System.out.println(returnStack.toString());
return returnStack;
}
}
}
++i;
}
}
return returnStack;
}
public static void debugPrintEquivalencyList() {
int i = 0;

View file

@ -6,9 +6,10 @@ import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import ee3.core.mod_EE3;
import net.minecraft.src.ModLoader;
import net.minecraft.src.mod_EE3;
/**
* TODO Class Description

View file

@ -4,8 +4,9 @@ import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import ee3.core.mod_EE3;
import net.minecraft.src.NetworkManager;
import net.minecraft.src.mod_EE3;
/**
* TODO Class Description

View file

@ -4,8 +4,9 @@ import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import ee3.core.mod_EE3;
import net.minecraft.src.NetworkManager;
import net.minecraft.src.mod_EE3;
/**
* TODO Class Description

View file

@ -5,7 +5,8 @@ import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import net.minecraft.src.mod_EE3;
import ee3.core.mod_EE3;
import net.minecraft.src.NetworkManager;
/**