2014-05-02 21:31:20 +02:00
|
|
|
/*******************************************************************************
|
2014-08-07 08:29:25 +02:00
|
|
|
* Copyright (c) 2011-2014 SirSengir.
|
|
|
|
|
* All rights reserved. This program and the accompanying materials
|
|
|
|
|
* are made available under the terms of the GNU Lesser Public License v3
|
|
|
|
|
* which accompanies this distribution, and is available at
|
2014-08-07 02:56:58 -07:00
|
|
|
* http://www.gnu.org/licenses/lgpl-3.0.txt
|
2014-05-02 21:31:20 +02:00
|
|
|
*
|
2014-08-07 08:29:25 +02:00
|
|
|
* Various Contributors including, but not limited to:
|
|
|
|
|
* SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges
|
2014-05-02 21:31:20 +02:00
|
|
|
******************************************************************************/
|
|
|
|
|
package forestry.storage;
|
|
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
|
|
|
|
|
import net.minecraft.entity.player.EntityPlayer;
|
|
|
|
|
import net.minecraft.item.ItemStack;
|
|
|
|
|
|
|
|
|
|
import forestry.api.storage.IBackpackDefinition;
|
|
|
|
|
import forestry.core.config.Defaults;
|
|
|
|
|
import forestry.core.utils.StringUtil;
|
|
|
|
|
|
|
|
|
|
public class BackpackDefinition implements IBackpackDefinition {
|
|
|
|
|
final String name;
|
|
|
|
|
|
|
|
|
|
final int primaryColor; // - c03384
|
|
|
|
|
final int secondaryColor;
|
|
|
|
|
|
|
|
|
|
ArrayList<ItemStack> validItems = new ArrayList<ItemStack>();
|
|
|
|
|
|
|
|
|
|
public BackpackDefinition(String name, int primaryColor) {
|
|
|
|
|
this(name, primaryColor, 0xffffff);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public BackpackDefinition(String name, int primaryColor, int secondaryColor) {
|
|
|
|
|
this.name = name;
|
|
|
|
|
this.primaryColor = primaryColor;
|
|
|
|
|
this.secondaryColor = secondaryColor;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String getKey() {
|
|
|
|
|
return name;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public String getName() {
|
|
|
|
|
return StringUtil.localize("storage.backpack." + name);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int getPrimaryColour() {
|
|
|
|
|
return primaryColor;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public int getSecondaryColour() {
|
|
|
|
|
return secondaryColor;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public BackpackDefinition setValidItems(ArrayList<ItemStack> validItems) {
|
|
|
|
|
this.validItems = validItems;
|
|
|
|
|
return this;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void addValidItem(ItemStack validItem) {
|
2014-06-13 13:55:13 -03:00
|
|
|
if (validItem.getItem() != null) {
|
|
|
|
|
this.validItems.add(validItem);
|
|
|
|
|
}
|
2014-05-02 21:31:20 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public ArrayList<ItemStack> getValidItems(EntityPlayer player) {
|
|
|
|
|
return validItems;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public boolean isValidItem(EntityPlayer player, ItemStack itemstack) {
|
|
|
|
|
for (ItemStack stack : getValidItems(player))
|
2014-05-28 22:05:47 +02:00
|
|
|
if (stack != null && stack.getItem() != null ) {
|
2014-05-20 20:58:38 +09:30
|
|
|
if (stack.getItemDamage() == Defaults.WILDCARD) {
|
|
|
|
|
if (stack.getItem() == itemstack.getItem())
|
|
|
|
|
return true;
|
|
|
|
|
} else if (stack.isItemEqual(itemstack))
|
2014-05-02 21:31:20 +02:00
|
|
|
return true;
|
2014-05-20 20:58:38 +09:30
|
|
|
}
|
2014-05-02 21:31:20 +02:00
|
|
|
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|