mirror of
https://github.com/GTNewHorizons/ForestryMC.git
synced 2026-11-14 01:04:12 +00:00
Move mail items to PluginMail.items
This commit is contained in:
1 parent
317dd0dbf9
commit
7e50c57ba9
12 files changed
+195
-142
No files matched your search
@@ -32,10 +32,6 @@ import forestry.plugins.PluginManager.Stage;
|
||||
* @author SirSengir
|
||||
*/
|
||||
public enum ForestryItem {
|
||||
// Mail
|
||||
stamps,
|
||||
letters,
|
||||
catalogue,
|
||||
// Butterflies
|
||||
butterflyGE,
|
||||
flutterlyzer,
|
||||
|
||||
@@ -13,6 +13,7 @@ package forestry.mail;
|
||||
import net.minecraft.client.gui.Gui;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.inventory.Container;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
|
||||
@@ -20,7 +21,6 @@ import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
import forestry.core.GuiHandlerBase;
|
||||
import forestry.core.config.ForestryItem;
|
||||
import forestry.core.network.GuiId;
|
||||
import forestry.core.tiles.TileUtil;
|
||||
import forestry.mail.gui.ContainerCatalogue;
|
||||
@@ -36,10 +36,10 @@ import forestry.mail.gui.GuiPhilatelist;
|
||||
import forestry.mail.gui.GuiTradeName;
|
||||
import forestry.mail.gui.GuiTrader;
|
||||
import forestry.mail.inventory.ItemInventoryLetter;
|
||||
import forestry.mail.items.ItemLetter;
|
||||
import forestry.mail.tiles.TileMailbox;
|
||||
import forestry.mail.tiles.TilePhilatelist;
|
||||
import forestry.mail.tiles.TileTrader;
|
||||
import forestry.plugins.PluginMail;
|
||||
|
||||
public class GuiHandlerMail extends GuiHandlerBase {
|
||||
|
||||
@@ -58,7 +58,8 @@ public class GuiHandlerMail extends GuiHandlerBase {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (ForestryItem.catalogue.isItemEqual(cata)) {
|
||||
Item cataItem = cata.getItem();
|
||||
if (PluginMail.items.catalogue == cataItem) {
|
||||
return new GuiCatalogue(player);
|
||||
} else {
|
||||
return null;
|
||||
@@ -70,7 +71,7 @@ public class GuiHandlerMail extends GuiHandlerBase {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (equipped.getItem() instanceof ItemLetter) {
|
||||
if (equipped.getItem() == PluginMail.items.letters) {
|
||||
return new GuiLetter(player, new ItemInventoryLetter(player, equipped));
|
||||
} else {
|
||||
return null;
|
||||
@@ -104,7 +105,8 @@ public class GuiHandlerMail extends GuiHandlerBase {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (ForestryItem.catalogue.isItemEqual(cata)) {
|
||||
Item cataItem = cata.getItem();
|
||||
if (PluginMail.items.catalogue == cataItem) {
|
||||
return new ContainerCatalogue(player);
|
||||
} else {
|
||||
return null;
|
||||
@@ -116,7 +118,7 @@ public class GuiHandlerMail extends GuiHandlerBase {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (equipped.getItem() instanceof ItemLetter) {
|
||||
if (equipped.getItem() == PluginMail.items.letters) {
|
||||
return new ContainerLetter(player, new ItemInventoryLetter(player, equipped));
|
||||
} else {
|
||||
return null;
|
||||
|
||||
@@ -10,7 +10,11 @@
|
||||
******************************************************************************/
|
||||
package forestry.mail;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.IIcon;
|
||||
|
||||
@@ -18,8 +22,8 @@ import cpw.mods.fml.relauncher.Side;
|
||||
import cpw.mods.fml.relauncher.SideOnly;
|
||||
|
||||
import forestry.api.mail.ILetter;
|
||||
import forestry.core.config.ForestryItem;
|
||||
import forestry.core.render.TextureManager;
|
||||
import forestry.plugins.PluginMail;
|
||||
|
||||
public class LetterProperties {
|
||||
private enum State {
|
||||
@@ -33,7 +37,7 @@ public class LetterProperties {
|
||||
public static ItemStack createStampedLetterStack(ILetter letter) {
|
||||
Size size = getSize(letter);
|
||||
int meta = encodeMeta(State.STAMPED, size);
|
||||
return ForestryItem.letters.getItemStack(1, meta);
|
||||
return new ItemStack(PluginMail.items.letters, 1, meta);
|
||||
}
|
||||
|
||||
public static void closeLetter(ItemStack parent, ILetter letter) {
|
||||
@@ -89,6 +93,17 @@ public class LetterProperties {
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public static void getSubItems(Item item, CreativeTabs tab, List list) {
|
||||
for (State state : State.values()) {
|
||||
for (Size size : Size.values()) {
|
||||
int meta = encodeMeta(state, size);
|
||||
ItemStack letter = new ItemStack(item, 1, meta);
|
||||
list.add(letter);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@SideOnly(Side.CLIENT)
|
||||
public static IIcon getIconFromDamage(int damage) {
|
||||
State state = getState(damage);
|
||||
|
||||
@@ -27,7 +27,8 @@ import forestry.api.mail.IPostalState;
|
||||
import forestry.api.mail.IStamps;
|
||||
import forestry.api.mail.ITradeStation;
|
||||
import forestry.api.mail.PostManager;
|
||||
import forestry.core.config.ForestryItem;
|
||||
import forestry.mail.items.EnumStampDefinition;
|
||||
import forestry.plugins.PluginMail;
|
||||
|
||||
public class PostOffice extends WorldSavedData implements IPostOffice {
|
||||
|
||||
@@ -129,24 +130,13 @@ public class PostOffice extends WorldSavedData implements IPostOffice {
|
||||
|
||||
@Override
|
||||
public ItemStack getAnyStamp(EnumPostage[] postages, int max) {
|
||||
|
||||
for (EnumPostage postage : postages) {
|
||||
|
||||
int collected;
|
||||
if (collectedPostage[postage.ordinal()] <= 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (max >= collectedPostage[postage.ordinal()]) {
|
||||
collected = collectedPostage[postage.ordinal()];
|
||||
collectedPostage[postage.ordinal()] = 0;
|
||||
} else {
|
||||
collected = max;
|
||||
collectedPostage[postage.ordinal()] -= max;
|
||||
}
|
||||
int collected = Math.min(max, collectedPostage[postage.ordinal()]);
|
||||
collectedPostage[postage.ordinal()] -= collected;
|
||||
|
||||
if (collected > 0) {
|
||||
return ForestryItem.stamps.getItemStack(collected, postage.ordinal() - 1);
|
||||
EnumStampDefinition stampDefinition = EnumStampDefinition.getFromPostage(postage);
|
||||
return PluginMail.items.stamps.get(stampDefinition, collected);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -30,10 +30,10 @@ import forestry.api.mail.IPostRegistry;
|
||||
import forestry.api.mail.IPostalCarrier;
|
||||
import forestry.api.mail.ITradeStation;
|
||||
import forestry.api.mail.PostManager;
|
||||
import forestry.core.config.ForestryItem;
|
||||
import forestry.core.proxy.Proxies;
|
||||
import forestry.core.utils.PlayerUtil;
|
||||
import forestry.mail.network.packets.PacketPOBoxInfoResponse;
|
||||
import forestry.plugins.PluginMail;
|
||||
|
||||
public class PostRegistry implements IPostRegistry {
|
||||
|
||||
@@ -238,7 +238,6 @@ public class PostRegistry implements IPostRegistry {
|
||||
|
||||
@Override
|
||||
public boolean isLetter(ItemStack itemstack) {
|
||||
return ForestryItem.letters.isItemEqual(itemstack);
|
||||
return itemstack != null && itemstack.getItem() == PluginMail.items.letters;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -30,12 +30,13 @@ import forestry.api.mail.IStamps;
|
||||
import forestry.api.mail.ITradeStation;
|
||||
import forestry.api.mail.PostManager;
|
||||
import forestry.api.mail.TradeStationInfo;
|
||||
import forestry.core.config.ForestryItem;
|
||||
import forestry.core.inventory.IInventoryAdapter;
|
||||
import forestry.core.inventory.InventoryAdapter;
|
||||
import forestry.core.utils.InventoryUtil;
|
||||
import forestry.core.utils.ItemStackUtil;
|
||||
import forestry.mail.inventory.InventoryTradeStation;
|
||||
import forestry.mail.items.EnumStampDefinition;
|
||||
import forestry.plugins.PluginMail;
|
||||
|
||||
public class TradeStation extends WorldSavedData implements ITradeStation, IInventoryAdapter {
|
||||
public static final String SAVE_NAME = "TradePO_";
|
||||
@@ -224,8 +225,11 @@ public class TradeStation extends WorldSavedData implements ITradeStation, IInve
|
||||
// Attach necessary postage
|
||||
int[] stampCount = getPostage(requiredPostage, isVirtual());
|
||||
for (int i = 0; i < stampCount.length; i++) {
|
||||
if (stampCount[i] > 0) {
|
||||
mail.addStamps(ForestryItem.stamps.getItemStack(stampCount[i], EnumPostage.values()[i].ordinal() - 1));
|
||||
int count = stampCount[i];
|
||||
if (count > 0) {
|
||||
EnumPostage postage = EnumPostage.values()[i];
|
||||
EnumStampDefinition stampDefinition = EnumStampDefinition.getFromPostage(postage);
|
||||
mail.addStamps(PluginMail.items.stamps.get(stampDefinition, count));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -264,7 +268,7 @@ public class TradeStation extends WorldSavedData implements ITradeStation, IInve
|
||||
|
||||
ILetter confirm = new Letter(this.address, new MailAddress(this.owner));
|
||||
confirm.setText(ordersToFill + " order(s) from " + letter.getSender().getName() + " were filled.");
|
||||
confirm.addStamps(ForestryItem.stamps.getItemStack(1, EnumPostage.P_1.ordinal() - 1));
|
||||
confirm.addStamps(PluginMail.items.stamps.get(EnumStampDefinition.P_1, 1));
|
||||
confirm.writeToNBT(nbttagcompound);
|
||||
|
||||
ItemStack confirmstack = LetterProperties.createStampedLetterStack(confirm);
|
||||
|
||||
@@ -23,10 +23,10 @@ import forestry.api.core.IErrorSource;
|
||||
import forestry.api.core.IErrorState;
|
||||
import forestry.api.mail.ILetter;
|
||||
import forestry.core.config.Config;
|
||||
import forestry.core.config.ForestryItem;
|
||||
import forestry.core.errors.EnumErrorCode;
|
||||
import forestry.core.gui.IHintSource;
|
||||
import forestry.core.inventory.ItemInventory;
|
||||
import forestry.core.items.ItemWithGui;
|
||||
import forestry.core.utils.SlotUtil;
|
||||
import forestry.mail.Letter;
|
||||
import forestry.mail.LetterProperties;
|
||||
@@ -121,7 +121,7 @@ public class ItemInventoryLetter extends ItemInventory implements IErrorSource,
|
||||
Item item = itemStack.getItem();
|
||||
return item instanceof ItemStamps;
|
||||
} else if (SlotUtil.isSlotInRange(slotIndex, Letter.SLOT_ATTACHMENT_1, Letter.SLOT_ATTACHMENT_COUNT)) {
|
||||
return !ForestryItem.letters.isItemEqual(itemStack);
|
||||
return !(itemStack.getItem() instanceof ItemWithGui);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,88 @@
|
||||
/*******************************************************************************
|
||||
* 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
|
||||
* http://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
*
|
||||
* Various Contributors including, but not limited to:
|
||||
* SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges
|
||||
******************************************************************************/
|
||||
package forestry.mail.items;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.util.EnumMap;
|
||||
import java.util.Map;
|
||||
|
||||
import net.minecraft.init.Items;
|
||||
|
||||
import forestry.api.mail.EnumPostage;
|
||||
import forestry.core.items.ItemOverlay;
|
||||
import forestry.plugins.PluginCore;
|
||||
|
||||
public enum EnumStampDefinition implements ItemOverlay.IOverlayInfo {
|
||||
P_1("1n", EnumPostage.P_1, PluginCore.items.apatite, new Color(0x4a8ca7), new Color(0xffffff)),
|
||||
P_2("2n", EnumPostage.P_2, "ingotCopper", new Color(0xe8c814), new Color(0xffffff)),
|
||||
P_5("5n", EnumPostage.P_5, "ingotTin", new Color(0x9c0707), new Color(0xffffff)),
|
||||
P_10("10n", EnumPostage.P_10, Items.gold_ingot, new Color(0x7bd1b8), new Color(0xffffff)),
|
||||
P_20("20n", EnumPostage.P_20, Items.diamond, new Color(0xff9031), new Color(0xfff7dd)),
|
||||
P_50("50n", EnumPostage.P_50, Items.emerald, new Color(0x6431d7), new Color(0xfff7dd)),
|
||||
P_100("100n", EnumPostage.P_100, Items.nether_star, new Color(0xd731ba), new Color(0xfff7dd)),
|
||||
// P_200("200n", EnumPostage.P_200, Items.nether_star, new Color(0xcd9831), new Color(0xfff7dd)),
|
||||
;
|
||||
|
||||
public static final EnumStampDefinition[] VALUES = values();
|
||||
private static final Map<EnumPostage, EnumStampDefinition> postageMap = new EnumMap<>(EnumPostage.class);
|
||||
|
||||
static {
|
||||
for (EnumStampDefinition stampDefinition : VALUES) {
|
||||
postageMap.put(stampDefinition.getPostage(), stampDefinition);
|
||||
}
|
||||
}
|
||||
|
||||
private final String name;
|
||||
private final int primaryColor;
|
||||
private final int secondaryColor;
|
||||
private final Object craftingIngredient;
|
||||
private final EnumPostage postage;
|
||||
|
||||
EnumStampDefinition(String name, EnumPostage postage, Object crafting, Color primaryColor, Color secondaryColor) {
|
||||
this.name = name;
|
||||
this.primaryColor = primaryColor.getRGB();
|
||||
this.secondaryColor = secondaryColor.getRGB();
|
||||
this.craftingIngredient = crafting;
|
||||
this.postage = postage;
|
||||
}
|
||||
|
||||
public EnumPostage getPostage() {
|
||||
return this.postage;
|
||||
}
|
||||
|
||||
public Object getCraftingIngredient() {
|
||||
return this.craftingIngredient;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPrimaryColor() {
|
||||
return primaryColor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSecondaryColor() {
|
||||
return secondaryColor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSecret() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public static EnumStampDefinition getFromPostage(EnumPostage postage) {
|
||||
return postageMap.get(postage);
|
||||
}
|
||||
}
|
||||
@@ -13,7 +13,9 @@ package forestry.mail.items;
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||
import net.minecraft.creativetab.CreativeTabs;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraft.util.ChatComponentTranslation;
|
||||
@@ -79,4 +81,9 @@ public class ItemLetter extends ItemWithGui {
|
||||
ILetter letter = new Letter(nbttagcompound);
|
||||
letter.addTooltip(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getSubItems(Item item, CreativeTabs tab, List list) {
|
||||
LetterProperties.getSubItems(item, tab, list);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
/*******************************************************************************
|
||||
* 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
|
||||
* http://www.gnu.org/licenses/lgpl-3.0.txt
|
||||
*
|
||||
* Various Contributors including, but not limited to:
|
||||
* SirSengir (original work), CovertJaguar, Player, Binnie, MysteriousAges
|
||||
******************************************************************************/
|
||||
package forestry.mail.items;
|
||||
|
||||
import forestry.core.items.ItemRegistry;
|
||||
import forestry.core.items.ItemWithGui;
|
||||
import forestry.core.network.GuiId;
|
||||
|
||||
public class ItemRegistryMail extends ItemRegistry {
|
||||
public final ItemStamps stamps;
|
||||
public final ItemLetter letters;
|
||||
public final ItemWithGui catalogue;
|
||||
|
||||
public ItemRegistryMail() {
|
||||
stamps = registerItem(new ItemStamps(), "stamps");
|
||||
letters = registerItem(new ItemLetter(), "letters");
|
||||
catalogue = registerItem(new ItemWithGui(GuiId.CatalogueGUI), "catalogue");
|
||||
}
|
||||
}
|
||||
@@ -18,56 +18,8 @@ import forestry.core.CreativeTabForestry;
|
||||
import forestry.core.items.ItemOverlay;
|
||||
|
||||
public class ItemStamps extends ItemOverlay implements IStamps {
|
||||
|
||||
public static class StampInfo implements IOverlayInfo {
|
||||
private final String name;
|
||||
private final int primaryColor;
|
||||
private final int secondaryColor;
|
||||
private final Object craftingIngredient;
|
||||
private final EnumPostage postage;
|
||||
|
||||
public StampInfo(String name, EnumPostage postage, Object crafting, int primaryColor, int secondaryColor) {
|
||||
this.name = name;
|
||||
this.primaryColor = primaryColor;
|
||||
this.secondaryColor = secondaryColor;
|
||||
this.craftingIngredient = crafting;
|
||||
this.postage = postage;
|
||||
}
|
||||
|
||||
public EnumPostage getPostage() {
|
||||
return this.postage;
|
||||
}
|
||||
|
||||
public Object getCraftingIngredient() {
|
||||
return this.craftingIngredient;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getPrimaryColor() {
|
||||
return primaryColor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getSecondaryColor() {
|
||||
return secondaryColor;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSecret() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
private final StampInfo[] stampInfo;
|
||||
|
||||
public ItemStamps(StampInfo[] overlays) {
|
||||
super(CreativeTabForestry.tabForestry, overlays);
|
||||
this.stampInfo = overlays;
|
||||
public ItemStamps() {
|
||||
super(CreativeTabForestry.tabForestry, EnumStampDefinition.VALUES);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -76,21 +28,14 @@ public class ItemStamps extends ItemOverlay implements IStamps {
|
||||
return EnumPostage.P_0;
|
||||
}
|
||||
|
||||
if (itemstack.getItemDamage() < 0 || itemstack.getItemDamage() >= stampInfo.length) {
|
||||
if (itemstack.getItemDamage() < 0 || itemstack.getItemDamage() >= EnumStampDefinition.VALUES.length) {
|
||||
return EnumPostage.P_0;
|
||||
}
|
||||
|
||||
return stampInfo[itemstack.getItemDamage()].getPostage();
|
||||
return EnumStampDefinition.VALUES[itemstack.getItemDamage()].getPostage();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack itemstack) {
|
||||
if (itemstack.getItemDamage() < 0 || itemstack.getItemDamage() >= stampInfo.length) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return super.getUnlocalizedName(itemstack);
|
||||
public ItemStack get(EnumStampDefinition stampInfo, int amount) {
|
||||
return new ItemStack(this, amount, stampInfo.ordinal());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -12,7 +12,6 @@ package forestry.plugins;
|
||||
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
@@ -20,9 +19,9 @@ import net.minecraftforge.oredict.OreDictionary;
|
||||
import cpw.mods.fml.common.FMLCommonHandler;
|
||||
|
||||
import forestry.api.mail.EnumAddressee;
|
||||
import forestry.api.mail.EnumPostage;
|
||||
import forestry.api.mail.PostManager;
|
||||
import forestry.api.recipes.RecipeManagers;
|
||||
import forestry.apiculture.items.ItemRegistryApiculture;
|
||||
import forestry.core.GuiHandlerBase;
|
||||
import forestry.core.ISaveEventHandler;
|
||||
import forestry.core.blocks.BlockBase;
|
||||
@@ -30,12 +29,9 @@ import forestry.core.circuits.EnumCircuitBoardType;
|
||||
import forestry.core.config.Config;
|
||||
import forestry.core.config.Constants;
|
||||
import forestry.core.config.ForestryBlock;
|
||||
import forestry.core.config.ForestryItem;
|
||||
import forestry.core.fluids.Fluids;
|
||||
import forestry.core.items.EnumElectronTube;
|
||||
import forestry.core.items.ItemBlockForestry;
|
||||
import forestry.core.items.ItemWithGui;
|
||||
import forestry.core.network.GuiId;
|
||||
import forestry.core.network.IPacketRegistry;
|
||||
import forestry.core.recipes.RecipeUtil;
|
||||
import forestry.core.recipes.ShapedRecipeCustom;
|
||||
@@ -46,9 +42,8 @@ import forestry.mail.PostalCarrier;
|
||||
import forestry.mail.SaveEventHandlerMail;
|
||||
import forestry.mail.TickHandlerMailClient;
|
||||
import forestry.mail.commands.CommandMail;
|
||||
import forestry.mail.items.ItemLetter;
|
||||
import forestry.mail.items.ItemStamps;
|
||||
import forestry.mail.items.ItemStamps.StampInfo;
|
||||
import forestry.mail.items.EnumStampDefinition;
|
||||
import forestry.mail.items.ItemRegistryMail;
|
||||
import forestry.mail.network.PacketRegistryMail;
|
||||
import forestry.mail.tiles.TileMailbox;
|
||||
import forestry.mail.tiles.TilePhilatelist;
|
||||
@@ -61,7 +56,8 @@ public class PluginMail extends ForestryPlugin {
|
||||
private static MachineDefinition definitionMailbox;
|
||||
private static MachineDefinition definitionTradestation;
|
||||
private static MachineDefinition definitionPhilatelist;
|
||||
private static StampInfo[] stampDefinitions;
|
||||
|
||||
public static ItemRegistryMail items;
|
||||
|
||||
@Override
|
||||
protected void setupAPI() {
|
||||
@@ -74,28 +70,9 @@ public class PluginMail extends ForestryPlugin {
|
||||
|
||||
@Override
|
||||
protected void registerItemsAndBlocks() {
|
||||
|
||||
stampDefinitions = new StampInfo[]{
|
||||
new StampInfo("1n", EnumPostage.P_1, PluginCore.items.apatite, 0x4a8ca7, 0xffffff),
|
||||
new StampInfo("2n", EnumPostage.P_2, "ingotCopper", 0xe8c814, 0xffffff),
|
||||
new StampInfo("5n", EnumPostage.P_5, "ingotTin", 0x9c0707, 0xffffff),
|
||||
new StampInfo("10n", EnumPostage.P_10, Items.gold_ingot, 0x7bd1b8, 0xffffff),
|
||||
new StampInfo("20n", EnumPostage.P_20, Items.diamond, 0xff9031, 0xfff7dd),
|
||||
new StampInfo("50n", EnumPostage.P_50, Items.emerald, 0x6431d7, 0xfff7dd),
|
||||
new StampInfo("100n", EnumPostage.P_100, Items.nether_star, 0xd731ba, 0xfff7dd)}; //new StampInfo("200n", EnumPostage.P_200, Item.netherStar, 0xcd9831, 0xfff7dd)};
|
||||
|
||||
/* STAMPS */
|
||||
ForestryItem.stamps.registerItem(new ItemStamps(stampDefinitions), "stamps");
|
||||
|
||||
/* LETTER */
|
||||
ForestryItem.letters.registerItem(new ItemLetter(), "letters");
|
||||
|
||||
/* CATALOGUE */
|
||||
Item itemCatalogue = new ItemWithGui(GuiId.CatalogueGUI).setMaxStackSize(1);
|
||||
ForestryItem.catalogue.registerItem(itemCatalogue, "catalogue");
|
||||
items = new ItemRegistryMail();
|
||||
|
||||
ForestryBlock.mail.registerBlock(new BlockBase(Material.iron), ItemBlockForestry.class, "mail");
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -160,42 +137,45 @@ public class PluginMail extends ForestryPlugin {
|
||||
|
||||
@Override
|
||||
protected void registerRecipes() {
|
||||
// Letters
|
||||
Object stampGlue;
|
||||
Object letterGlue;
|
||||
|
||||
Item stampGlue;
|
||||
if (PluginManager.Module.APICULTURE.isEnabled()) {
|
||||
RecipeUtil.addShapelessRecipe(ForestryItem.letters.getItemStack(), Items.paper, PluginApiculture.items.propolis.getWildcard());
|
||||
stampGlue = PluginApiculture.items.honeyDrop;
|
||||
ItemRegistryApiculture beeItems = PluginApiculture.items;
|
||||
if (beeItems != null) {
|
||||
stampGlue = beeItems.honeyDrop;
|
||||
letterGlue = beeItems.propolis.getWildcard();
|
||||
} else {
|
||||
RecipeUtil.addShapelessRecipe(ForestryItem.letters.getItemStack(), Items.paper, Items.slime_ball);
|
||||
stampGlue = Items.slime_ball;
|
||||
letterGlue = Items.slime_ball;
|
||||
}
|
||||
|
||||
RecipeUtil.addShapelessRecipe(items.letters.getItemStack(), Items.paper, letterGlue);
|
||||
|
||||
if (Config.craftingStampsEnabled) {
|
||||
for (int i = 0; i < stampDefinitions.length; i++) {
|
||||
if (Config.collectorStamps.contains(stampDefinitions[i].getName())) {
|
||||
for (EnumStampDefinition stampDefinition : EnumStampDefinition.VALUES) {
|
||||
if (Config.collectorStamps.contains(stampDefinition.getName())) {
|
||||
continue;
|
||||
}
|
||||
|
||||
RecipeUtil.addRecipe(ForestryItem.stamps.getItemStack(9, i),
|
||||
RecipeUtil.addRecipe(items.stamps.get(stampDefinition, 9),
|
||||
"XXX", "###", "ZZZ",
|
||||
'X', stampDefinitions[i].getCraftingIngredient(),
|
||||
'X', stampDefinition.getCraftingIngredient(),
|
||||
'#', Items.paper,
|
||||
'Z', stampGlue);
|
||||
RecipeManagers.carpenterManager.addRecipe(10, Fluids.SEEDOIL.getFluid(300), null, ForestryItem.stamps.getItemStack(9, i),
|
||||
RecipeManagers.carpenterManager.addRecipe(10, Fluids.SEEDOIL.getFluid(300), null, items.stamps.get(stampDefinition, 9),
|
||||
"XXX", "###",
|
||||
'X', stampDefinitions[i].getCraftingIngredient(),
|
||||
'X', stampDefinition.getCraftingIngredient(),
|
||||
'#', Items.paper);
|
||||
}
|
||||
}
|
||||
|
||||
// Recycling
|
||||
RecipeUtil.addRecipe(new ItemStack(Items.paper), "###", '#', ForestryItem.letters.getItemStack(1, OreDictionary.WILDCARD_VALUE));
|
||||
RecipeUtil.addRecipe(new ItemStack(Items.paper), "###", '#', new ItemStack(items.letters, 1, OreDictionary.WILDCARD_VALUE));
|
||||
|
||||
// Carpenter
|
||||
RecipeManagers.carpenterManager.addRecipe(10, Fluids.WATER.getFluid(250), null, ForestryItem.letters.getItemStack(), "###", "###", '#', PluginCore.items.woodPulp);
|
||||
RecipeManagers.carpenterManager.addRecipe(10, Fluids.WATER.getFluid(250), null, items.letters.getItemStack(), "###", "###", '#', PluginCore.items.woodPulp);
|
||||
|
||||
RecipeUtil.addShapelessRecipe(ForestryItem.catalogue.getItemStack(), ForestryItem.stamps.getItemStack(1, OreDictionary.WILDCARD_VALUE), new ItemStack(Items.book));
|
||||
RecipeUtil.addShapelessRecipe(items.catalogue.getItemStack(), new ItemStack(items.stamps, 1, OreDictionary.WILDCARD_VALUE), new ItemStack(Items.book));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in new issue
Block a user