/*
* This program 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
* Software Foundation, either version 3 of the License, or (at your option) any
* later version. This program is distributed in the hope that it will be
* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
* Public License for more details. You should have received a copy of the GNU
* Lesser General Public License along with this program. If not, see
* <http://www.gnu.org/licenses/>
*/
package net.slimevoid.library.proxy;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.network.IGuiHandler;
import java.io.File;
public interface ICommonProxy extends IGuiHandler {
/**
* Should be called prior to any other configuration
*/
public void preInit();
public void init();
public void postInit();
/**
* Retrieves the Minecraft directory
*
* @return the Path
*/
public String getMinecraftDir();
/**
* Registers sided Configuration
*/
public void registerConfigurationProperties(File configFile);
@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z);
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z);
/**
* Register Sided Tick handlers
*/
public void registerTickHandlers();
/**
* Register render information (Client only)
*/
public void registerRenderInformation();
/**
* Register sided event handlers
*/
public void registerEventHandlers();
/**
* Register tileentity renderer (Client only)
*
* @param clazz the TileEntity class to register for
*/
public void registerTileEntitySpecialRenderer(Class<? extends TileEntity> clazz);
/**
* Checks if we're looking at the Client side session.
*
* @return True or false.
*/
public boolean isClient(World world);
/**
* Initializes Packet Handlers
*/
public void registerPacketHandlers();
}