No one cares about ComplexItemLayout

This commit is contained in:
libraryaddict 2014-11-30 16:48:57 +13:00
parent 9ddd0bd9cc
commit 89892097d0
1 changed files with 0 additions and 113 deletions

View File

@ -1,113 +0,0 @@
package mineplex.core.itemstack;
import java.util.ArrayList;
import java.util.HashMap;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
public class ComplexItemLayout
{
private int _invSize = 0;
private HashMap<Character, ArrayList<Integer>> placing = new HashMap<Character, ArrayList<Integer>>();
public ComplexItemLayout(String... strings)
{
_invSize = strings.length * 9;
for (int row = 0; row < strings.length; row++)
{
final String string = strings[row];
char[] cArray = string.toCharArray();
int entries = 0;
for (int i = 0; i < cArray.length; i++)
{
entries++;
if (cArray[i] == '(')
{
for (; i < cArray.length; i++)
{
if (cArray[i] == ')')
{
break;
}
else
{
if (!placing.containsKey(cArray[i]))
{
placing.put(cArray[i], new ArrayList<Integer>());
}
placing.get(cArray[i]).add((row * 9) + i);
}
if (i + 1 >= cArray.length)
{
throw new IllegalArgumentException("String '" + string + "' does not have a enclosing ) after the (");
}
}
}
else
{
if (!placing.containsKey(cArray[i]))
{
placing.put(cArray[i], new ArrayList<Integer>());
}
placing.get(cArray[i]).add((row * 9) + i);
}
}
if (entries != 9)
throw new IllegalArgumentException("String '" + string + "' does not 9 entries but instead has " + entries
+ " entries");
}
}
public ItemStack[] generate(char toReplace, ArrayList<ItemStack> items, boolean replaceExistingItems)
{
return generate(toReplace, items.toArray(new ItemStack[0]), replaceExistingItems);
}
public ItemStack[] generate(ItemStack[] existingItems, char toReplace, ItemStack[] items, boolean replaceExistingItems)
{
ArrayList<Integer> list = placing.get(toReplace);
for (int i = 0; i < list.size(); i++)
{
if (i < items.length && i < existingItems.length)
{
ItemStack item = existingItems[list.get(i)];
if (replaceExistingItems || item == null || item.getType() == Material.AIR)
{
existingItems[list.get(i)] = items[i];
}
}
}
return existingItems;
}
public ItemStack[] generate(char toReplace, ItemStack[] items, boolean replaceExistingItems)
{
return generate(new ItemStack[this._invSize], toReplace, items, replaceExistingItems);
}
public ItemStack[] generate(ItemStack[] existingItems, char toReplace, ItemStack item, boolean replaceExistingItems)
{
ArrayList<Integer> list = placing.get(toReplace);
for (int i = 0; i < list.size(); i++)
{
if (i < existingItems.length)
{
ItemStack checkItem = existingItems[list.get(i)];
if (replaceExistingItems || checkItem == null || checkItem.getType() == Material.AIR)
{
existingItems[list.get(i)] = item;
}
}
}
return existingItems;
}
public ItemStack[] generate(char toReplace, ItemStack item, boolean replaceExistingItems)
{
return generate(new ItemStack[this._invSize], toReplace, item, replaceExistingItems);
}
}