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.NetHandler; 025 import net.minecraft.src.NetServerHandler; 026 import net.minecraft.src.NetworkManager; 027 import net.minecraft.src.Packet250CustomPayload; 028 import net.minecraft.src.World; 029 import net.minecraft.src.WorldClient; 030 import cpw.mods.fml.common.Side; 031 import cpw.mods.fml.common.TickType; 032 import cpw.mods.fml.common.asm.SideOnly; 033 034 /** 035 * 036 * Marker interface for BaseMod 037 * 038 * @author cpw 039 * 040 */ 041 public interface BaseModProxy 042 { 043 void modsLoaded(); 044 045 void load(); 046 047 String getName(); 048 049 String getPriorities(); 050 051 String getVersion(); 052 053 boolean doTickInGUI(TickType type, boolean end, Object... tickData); 054 boolean doTickInGame(TickType type, boolean end, Object... tickData); 055 void generateSurface(World w, Random random, int i, int j); 056 void generateNether(World w, Random random, int i, int j); 057 int addFuel(int itemId, int damage); 058 void takenFromCrafting(EntityPlayer player, ItemStack item, IInventory craftMatrix); 059 void takenFromFurnace(EntityPlayer player, ItemStack item); 060 061 public abstract void onClientLogout(NetworkManager manager); 062 063 public abstract void onClientLogin(EntityPlayer player); 064 065 public abstract void serverDisconnect(); 066 067 public abstract void serverConnect(NetHandler handler); 068 069 public abstract void receiveCustomPacket(Packet250CustomPayload packet); 070 071 public abstract void clientChat(String text); 072 073 public abstract void onItemPickup(EntityPlayer player, ItemStack item); 074 075 public abstract int dispenseEntity(World world, ItemStack item, Random rnd, int x, int y, int z, int xVel, int zVel, double entX, 076 double entY, double entZ); 077 078 public abstract void serverCustomPayload(NetServerHandler handler, Packet250CustomPayload packet); 079 080 public abstract void serverChat(NetServerHandler source, String message); 081 }