2012-03-30 10:11:13 -04:00
/*
2012-03-31 02:28:14 -04:00
* The FML Forge Mod Loader suite. Copyright (C) 2012 cpw
2012-03-30 10:11:13 -04:00
*
* 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
* Software Foundation; either version 2.1 of the License, or any later version.
*
* 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
* A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
*
* 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
* Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
2012-03-30 01:12:59 -04:00
package net.minecraft.src ;
import java.util.Random ;
2012-03-30 10:11:13 -04:00
import net.minecraft.server.MinecraftServer ;
2012-04-02 18:09:06 -04:00
import cpw.mods.fml.common.IDispenseHandler ;
import cpw.mods.fml.common.IPickupNotifier ;
import cpw.mods.fml.common.IWorldGenerator ;
2012-03-30 01:12:59 -04:00
2012-04-02 18:09:06 -04:00
public abstract class BaseMod implements IWorldGenerator , IPickupNotifier , IDispenseHandler {
2012-04-01 02:14:14 -04:00
public int addFuel ( int id , int metadata ) {
2012-03-30 01:12:59 -04:00
return 0 ;
}
2012-04-02 18:09:06 -04:00
@Override
public boolean dispense ( double x , double y , double z , byte xVelocity , byte zVelocity , Object ... data ) {
return dispenseEntity (( World ) data [ 0 ] , x , y , z , xVelocity , zVelocity , ( ItemStack ) data [ 1 ] );
}
2012-03-30 01:12:59 -04:00
public boolean dispenseEntity ( World world , double x , double y , double z , int xVel , int zVel , ItemStack item ) {
return false ;
}
2012-04-02 18:09:06 -04:00
@Override
public void notifyPickup ( Object ... pickupData ) {
EntityItem item = ( EntityItem ) pickupData [ 0 ] ;
EntityPlayer player = ( EntityPlayer ) pickupData [ 1 ] ;
onItemPickup ( player , item . field_429_a );
}
2012-04-01 02:14:14 -04:00
@Override
public void generate ( Random random , int chunkX , int chunkZ , Object ... additionalData ) {
World w = ( World ) additionalData [ 0 ] ;
IChunkProvider cp = ( IChunkProvider ) additionalData [ 1 ] ;
if ( cp instanceof ChunkProviderGenerate ) {
generateSurface ( w , random , chunkX << 4 , chunkZ << 4 );
} else if ( cp instanceof ChunkProviderHell ){
generateNether ( w , random , chunkX << 4 , chunkZ << 4 );
}
}
2012-03-30 01:12:59 -04:00
public void generateNether ( World world , Random random , int chunkX , int chunkZ ) {
}
public void generateSurface ( World world , Random random , int chunkX , int chunkZ ) {
}
2012-03-31 02:28:14 -04:00
public String getName () {
return getClass (). getSimpleName ();
}
2012-03-30 01:12:59 -04:00
public String getPriorities () {
return null ;
}
public abstract String getVersion ();
public abstract void load ();
public void modsLoaded () {
}
public void onItemPickup ( EntityPlayer player , ItemStack item ) {
}
2012-03-31 02:28:14 -04:00
/**
* Ticked every game tick if you have subscribed to tick events through {@link ModLoader#setInGameHook(BaseMod, boolean, boolean)}
* @param minecraftServer the server
* @return true to continue receiving ticks
*/
2012-03-30 10:11:13 -04:00
public boolean onTickInGame ( MinecraftServer minecraftServer ) {
2012-03-30 01:12:59 -04:00
return false ;
}
public void receiveChatPacket ( String text ) {
}
public void receiveCustomPacket ( Packet250CustomPayload packet ) {
}
public void takenFromCrafting ( EntityPlayer player , ItemStack item , IInventory matrix ) {
}
public void takenFromFurnace ( EntityPlayer player , ItemStack item ) {
}
// void addRenderer(Map<Class<? extends Entity>, Render> renderers);
// void registerAnimation(Minecraft game);
// void renderInvBlock(RenderBlocks renderer, Block block, int metadata, int modelID);
// boolean renderWorldBlock(RenderBlocks renderer, IBlockAccess world, int x, int y, int z, Block block, int modelID);
// boolean onTickInGUI(float tick, Minecraft game, GuiScreen gui);
// void keyboardEvent(KeyBinding event);
2012-04-01 02:14:14 -04:00
@Override
public String toString () {
return getName () + " " + getVersion ();
}
2012-03-30 01:12:59 -04:00
}