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 /** 044 * 045 */ 046 void modsLoaded(); 047 048 /** 049 * 050 */ 051 void load(); 052 053 /** 054 * @return 055 */ 056 String getName(); 057 058 /** 059 * @return 060 */ 061 String getPriorities(); 062 063 /** 064 * @return 065 */ 066 String getVersion(); 067 068 boolean doTickInGUI(TickType type, boolean end, Object... tickData); 069 boolean doTickInGame(TickType type, boolean end, Object... tickData); 070 void generateSurface(World w, Random random, int i, int j); 071 void generateNether(World w, Random random, int i, int j); 072 int addFuel(int itemId, int damage); 073 void takenFromCrafting(EntityPlayer player, ItemStack item, IInventory craftMatrix); 074 void takenFromFurnace(EntityPlayer player, ItemStack item); 075 076 public abstract void onClientLogout(NetworkManager manager); 077 078 public abstract void onClientLogin(EntityPlayer player); 079 080 public abstract void onPacket250Received(EntityPlayer source, Packet250CustomPayload payload); 081 082 public abstract void serverDisconnect(); 083 084 public abstract void serverConnect(NetHandler handler); 085 086 public abstract void receiveCustomPacket(Packet250CustomPayload packet); 087 088 public abstract void receiveChatPacket(String text); 089 090 public abstract void onItemPickup(EntityPlayer player, ItemStack item); 091 092 public abstract int dispenseEntity(World world, ItemStack item, Random rnd, int x, int y, int z, int xVel, int zVel, double entX, 093 double entY, double entZ); 094 095 public abstract void serverCustomPayload(NetServerHandler handler, Packet250CustomPayload packet); 096 }