001 /* 002 * The FML Forge Mod Loader suite. 003 * Copyright (C) 2012 cpw 004 * 005 * This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free 006 * Software Foundation; either version 2.1 of the License, or any later version. 007 * 008 * This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR 009 * A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. 010 * 011 * You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 012 * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 013 */ 014 015 package cpw.mods.fml.common.modloader; 016 017 import java.util.Random; 018 019 import net.minecraft.src.Entity; 020 import net.minecraft.src.EntityPlayer; 021 import net.minecraft.src.GuiScreen; 022 import net.minecraft.src.IInventory; 023 import net.minecraft.src.ItemStack; 024 import net.minecraft.src.NetClientHandler; 025 import net.minecraft.src.NetHandler; 026 import net.minecraft.src.NetServerHandler; 027 import net.minecraft.src.NetworkManager; 028 import net.minecraft.src.Packet250CustomPayload; 029 import net.minecraft.src.World; 030 import net.minecraft.src.WorldClient; 031 import cpw.mods.fml.common.Side; 032 import cpw.mods.fml.common.TickType; 033 import cpw.mods.fml.common.asm.SideOnly; 034 035 /** 036 * 037 * Marker interface for BaseMod 038 * 039 * @author cpw 040 * 041 */ 042 public interface BaseModProxy 043 { 044 void modsLoaded(); 045 046 void load(); 047 048 String getName(); 049 050 String getPriorities(); 051 052 String getVersion(); 053 054 boolean doTickInGUI(TickType type, boolean end, Object... tickData); 055 boolean doTickInGame(TickType type, boolean end, Object... tickData); 056 void generateSurface(World w, Random random, int i, int j); 057 void generateNether(World w, Random random, int i, int j); 058 int addFuel(int itemId, int damage); 059 void takenFromCrafting(EntityPlayer player, ItemStack item, IInventory craftMatrix); 060 void takenFromFurnace(EntityPlayer player, ItemStack item); 061 062 public abstract void onClientLogout(NetworkManager manager); 063 064 public abstract void onClientLogin(EntityPlayer player); 065 066 public abstract void serverDisconnect(); 067 068 public abstract void serverConnect(NetHandler handler); 069 070 public abstract void receiveCustomPacket(Packet250CustomPayload packet); 071 072 public abstract void clientChat(String text); 073 074 public abstract void onItemPickup(EntityPlayer player, ItemStack item); 075 076 public abstract int dispenseEntity(World world, ItemStack item, Random rnd, int x, int y, int z, int xVel, int zVel, double entX, 077 double entY, double entZ); 078 079 public abstract void serverCustomPayload(NetServerHandler handler, Packet250CustomPayload packet); 080 081 public abstract void serverChat(NetServerHandler source, String message); 082 }