package de.take_weiland.mods.commons.internal.test;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.GameRegistry;
import de.take_weiland.mods.commons.util.Sides;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.ForgeSubscribe;
import net.minecraftforge.event.entity.EntityEvent;
import java.lang.reflect.InvocationTargetException;
@Mod(modid = "testmod_sc", name = "testmod_sc", version = "0.1", dependencies = "required-after:sevencommons")
@NetworkMod()
public class testmod_sc {
@Mod.Instance
public static testmod_sc instance;
private static Block myBlock;
@Mod.EventHandler
public void preInit(FMLPostInitializationEvent event) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
myBlock = new Block(4000, Material.rock) {
@Override
public boolean hasTileEntity(int metadata) {
return true;
}
@Override
public TileEntity createTileEntity(World world, int metadata) {
return new TestTE();
}
@Override
public boolean onBlockActivated(World world, int par2, int par3, int par4, EntityPlayer player, int par6, float par7, float par8, float par9) {
if (Sides.logical(world).isServer()) {
TestTE te = (TestTE) world.getBlockTileEntity(par2, par3, par4);
player.addChatMessage("old val: " + te.test);
te.test = String.valueOf(world.rand.nextFloat());
player.addChatMessage("new val: " + te.test);
}
// PlayerProps props = (PlayerProps) player.getExtendedProperties("testmod_sc");
// if (Sides.logical(world).isClient()) {
// player.addChatMessage("On client: " + props.getSomeData());
// } else {
// props.setSomeData(String.valueOf(world.rand.nextFloat()));
// }
return true;
}
};
myBlock.setCreativeTab(CreativeTabs.tabBlock);
GameRegistry.registerTileEntity(TestTE.class, "testte");
GameRegistry.registerBlock(myBlock, "testblock");
MinecraftForge.EVENT_BUS.register(this);
}
@ForgeSubscribe
public void onEntityConstruct(EntityEvent.EntityConstructing event) {
// if (event.entity instanceof EntityPlayer) {
// event.entity.registerExtendedProperties("testmod_sc", new PlayerProps());
// }
}
}