my BlockPortal.class gets an error when using the usePortal method and it wants me to add the usePortal function into Minecraft.class
I can't run the game so no error logs but here is my mod files
P.S. I know I am not very organized.
BaseMod
package net.dimension.src;
import net.minecraft.src.*;
import net.minecraftforge.common.DimensionManager;
import net.minecraftforge.common.MinecraftForge;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Init;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.Mod.PostInit;
import cpw.mods.fml.common.Mod.PreInit;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.network.NetworkMod;
import cpw.mods.fml.common.registry.EntityRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.common.registry.LanguageRegistry;
import cpw.mods.fml.common.SidedProxy;
@Mod (modid = "DimensionCraftmod", name = "SorceryCraft", version = "0.0.1pre-alpha")
@NetworkMod (clientSideRequired = true, serverSideRequired = false)
public class DimensionBase
{
public static Block rubyore;
public static Item ruby;
public static Item ceular;
public static Block ceularore;
public static Item bopperbone;
public static Block compressedbopperbones;
public static Item bopperflesh;
public static Item hammer;
public static BiomeGenBase arctic = new BiomegenArtic(10);
public static Tundra_Teleporter teleporter = new Tundra_Teleporter();
public static WorldProvider tundra = new Tundra_WorldProvider1();
public static Block tundraportal = new BlockTundraPortal();
public static Item rubyshards;
public static Item chisel;
public static Item circuit;
public static Block computer;
@Instance("DimensionBase")
public static DimensionBase instance;
@SidedProxy(clientSide = "net.dimensionClient.src.ClientProxy", serverSide = "net.dimension.src.CommonProxy")
public static CommonProxy proxy;
@Init
public void load(FMLInitializationEvent event)
{
rubyore = (new BlockRubyOre(500, 0)).setBlockName("rubyo");
LanguageRegistry.addName(rubyore, "Ruby Ore");
MinecraftForge.setBlockHarvestLevel(rubyore, "pickaxe", 2);
GameRegistry.registerBlock(rubyore);
GameRegistry.registerWorldGenerator(new WorldGenerator());
ruby = (new ItemRuby(501).setItemName("ruby").setIconIndex(1));
LanguageRegistry.addName(ruby, "Ruby");
proxy.registerRenderThings();
ceular = (new ItemCeular(502).setItemName("ceular").setIconIndex(3));
LanguageRegistry.addName(ceular, "Ceular");
GameRegistry.registerFuelHandler(new Fuel());
ceularore = (new BlockCeularOre(503,2).setBlockName("ceularo"));
LanguageRegistry.addName(ceularore, "Ceular Ore");
MinecraftForge.setBlockHarvestLevel(ceularore, "pickaxe", 1);
GameRegistry.registerBlock(ceularore);
proxy.registerRenderThings();
EntityRegistry.registerModEntity(EntityBopper.class, "Bopper", 1, this, 70, 2, true);
EntityRegistry.addSpawn(EntityBopper.class, 10, 1, 2, EnumCreatureType.monster, BiomeGenBase.beach, BiomeGenBase.extremeHills, BiomeGenBase.extremeHillsEdge, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.jungle, BiomeGenBase.jungleHills, BiomeGenBase.mushroomIsland, BiomeGenBase.mushroomIslandShore, BiomeGenBase.ocean, BiomeGenBase.plains, BiomeGenBase.river, BiomeGenBase.swampland, BiomeGenBase.iceMountains);
bopperbone = (new ItemBopperBone(504).setItemName("bbones").setIconIndex(4));
LanguageRegistry.addName(bopperbone, "BopperBone");
compressedbopperbones = (new BlockCBones(505,5).setBlockName("cbones").setHardness(1.5f));
LanguageRegistry.addName(compressedbopperbones, "Compressed BopperBones");
GameRegistry.registerBlock(compressedbopperbones);
proxy.addRecipe();
bopperflesh = (new overworldFood(506, 4, 4F, false).setItemName("bopperflesh").setIconIndex(7));
LanguageRegistry.addName(bopperflesh, "Bopper Flesh");
hammer = (new ItemHammer(507).setItemName("hammer").setIconIndex(6));
LanguageRegistry.addName(hammer, "Hammer");
DimensionManager.registerProviderType(10, Tundra_WorldProvider1.class, true);
DimensionManager.registerDimension(10, 10);
//tundraportal = (new BlockTundraPortal(3000,255).setBlockName("tundraportal").setHardness(10000000.0f));
LanguageRegistry.addName(tundraportal, "Tundra Portal");
GameRegistry.registerCraftingHandler(new CraftingHandler());
//GameRegistry.addRecipe(new ItemStack(compressedbopperbones, 1), new Object[] { "CCC", "CCC", "CCC", Character.valueOf('C'), bopperbone});
//GameRegistry.addRecipe(new ItemStack(hammer, 1), new Object[] { "AAA", "AB ", " B ", Character.valueOf('A'), ruby, Character.valueOf('B'), bopperbone});
ModLoader.addRecipe(new ItemStack(hammer,1), new Object[] { "AAA", "AB ", " B ", Character.valueOf('A'), ruby, Character.valueOf('B'), bopperbone});
rubyshards = (new ItemRubyShards(508).setItemName("rshards").setIconIndex();
LanguageRegistry.addName(rubyshards, "Ruby Shards");
chisel = (new ItemScrewdriver(509).setItemName("chisel").setIconIndex(9));
LanguageRegistry.addName(chisel, "Chisel");
ModLoader.addRecipe(new ItemStack(chisel,1), new Object[] { " ", " A ", " B ", Character.valueOf('A'), Item.ingotIron, Character.valueOf('B'), Item.stick});
circuit = (new ItemCircuit(510).setItemName("circuit").setIconIndex(10));
LanguageRegistry.addName(circuit, "Cirucit");
ModLoader.addShapelessRecipe(new ItemStack(circuit, 1), new ItemStack(rubyshards), new ItemStack(chisel));
ModLoader.addShapelessRecipe(new ItemStack(rubyshards,2), new ItemStack(ruby), new ItemStack(hammer));
computer = new BlockComputer(511, 11).setBlockName("computer");
LanguageRegistry.addName(computer, "Computer");
ModLoader.addRecipe(new ItemStack(computer,1), new Object[] {"AAA", "DCB", "ABA", Character.valueOf('A'), Item.ingotIron, Character.valueOf('B'), Block.redstoneWire, Character.valueOf('C'), this.circuit, Character.valueOf('D'), Block.glass});
}
@PreInit
public void init(FMLPreInitializationEvent preEvent)
{
instance = this;
}
@PostInit
public static void postinit(FMLPostInitializationEvent event)
{
}
}
teleporter class
package net.dimension.src;
import java.util.Random;
import net.minecraft.src.Entity;
import net.minecraft.src.MathHelper;
import net.minecraft.src.Teleporter;
import net.minecraft.src.World;
import net.minecraft.src.WorldServer;
public class Tundra_Teleporter extends Teleporter {
public Tundra_Teleporter() {
super(null);
// TODO Auto-generated constructor stub
}
private Random random = new Random();
public void placeInPortal(World par1World, Entity par2Entity)
{
if (par1World.provider.dimensionId != 0)
{
if (!this.placeInExistingPortal(par1World, par2Entity))
{
this.createPortal(par1World, par2Entity);
this.placeInExistingPortal(par1World, par2Entity);
}
}
else
{
int var3 = MathHelper.floor_double(par2Entity.posX);
int var4 = MathHelper.floor_double(par2Entity.posY) - 1;
int var5 = MathHelper.floor_double(par2Entity.posZ);
byte var6 = 1;
byte var7 = 0;
for (int var8 = -2; var8 <= 2; ++var8)
{
for (int var9 = -2; var9 <= 2; ++var9)
{
for (int var10 = -1; var10 < 3; ++var10)
{
int var11 = var3 + var9 * var6 + var8 * var7;
int var12 = var4 + var10;
int var13 = var5 + var9 * var7 - var8 * var6;
boolean var14 = var10 < 0;
par1World.setBlockWithNotify(var11, var12, var13, var14 ? DimensionBase.compressedbopperbones.blockID : 0);
}
}
}
par2Entity.setLocationAndAngles((double)var3, (double)var4, (double)var5, par2Entity.rotationYaw, 0.0F);
par2Entity.motionX = par2Entity.motionY = par2Entity.motionZ = 0.0D;
}
}
/**
* Place an entity in a nearby portal which already exists.
*/
public boolean placeInExistingPortal(World par1World, Entity par2Entity)
{
short var3 = 128;
double var4 = -1.0D;
int var6 = 0;
int var7 = 0;
int var8 = 0;
int var9 = MathHelper.floor_double(par2Entity.posX);
int var10 = MathHelper.floor_double(par2Entity.posZ);
double var18;
for (int var11 = var9 - var3; var11 <= var9 + var3; ++var11)
{
double var12 = (double)var11 + 0.5D - par2Entity.posX;
for (int var14 = var10 - var3; var14 <= var10 + var3; ++var14)
{
double var15 = (double)var14 + 0.5D - par2Entity.posZ;
for (int var17 = 127; var17 >= 0; --var17)
{
if (par1World.getBlockId(var11, var17, var14) == DimensionBase.tundraportal.blockID)
{
while (par1World.getBlockId(var11, var17 - 1, var14) == DimensionBase.tundraportal.blockID)
{
--var17;
}
var18 = (double)var17 + 0.5D - par2Entity.posY;
double var20 = var12 * var12 + var18 * var18 + var15 * var15;
if (var4 < 0.0D || var20 < var4)
{
var4 = var20;
var6 = var11;
var7 = var17;
var8 = var14;
}
}
}
}
}
if (var4 >= 0.0D)
{
double var22 = (double)var6 + 0.5D;
double var16 = (double)var7 + 0.5D;
var18 = (double)var8 + 0.5D;
if (par1World.getBlockId(var6 - 1, var7, var8) == DimensionBase.tundraportal.blockID)
{
var22 -= 0.5D;
}
if (par1World.getBlockId(var6 + 1, var7, var8) == DimensionBase.tundraportal.blockID)
{
var22 += 0.5D;
}
if (par1World.getBlockId(var6, var7, var8 - 1) == DimensionBase.tundraportal.blockID)
{
var18 -= 0.5D;
}
if (par1World.getBlockId(var6, var7, var8 + 1) == DimensionBase.tundraportal.blockID)
{
var18 += 0.5D;
}
par2Entity.setLocationAndAngles(var22, var16, var18, par2Entity.rotationYaw, 0.0F);
par2Entity.motionX = par2Entity.motionY = par2Entity.motionZ = 0.0D;
return true;
}
else
{
return false;
}
}
/**
* Create a new portal near an entity.
*/
public boolean createPortal(World par1World, Entity par2Entity)
{
byte var3 = 16;
double var4 = -1.0D;
int var6 = MathHelper.floor_double(par2Entity.posX);
int var7 = MathHelper.floor_double(par2Entity.posY);
int var8 = MathHelper.floor_double(par2Entity.posZ);
int var9 = var6;
int var10 = var7;
int var11 = var8;
int var12 = 0;
int var13 = this.random.nextInt(4);
int var14;
double var15;
int var17;
double var18;
int var21;
int var20;
int var23;
int var22;
int var25;
int var24;
int var27;
int var26;
int var28;
double var34;
double var32;
for (var14 = var6 - var3; var14 <= var6 + var3; ++var14)
{
var15 = (double)var14 + 0.5D - par2Entity.posX;
for (var17 = var8 - var3; var17 <= var8 + var3; ++var17)
{
var18 = (double)var17 + 0.5D - par2Entity.posZ;
label274:
for (var20 = 127; var20 >= 0; --var20)
{
if (par1World.isAirBlock(var14, var20, var17))
{
while (var20 > 0 && par1World.isAirBlock(var14, var20 - 1, var17))
{
--var20;
}
for (var21 = var13; var21 < var13 + 4; ++var21)
{
var22 = var21 % 2;
var23 = 1 - var22;
if (var21 % 4 >= 2)
{
var22 = -var22;
var23 = -var23;
}
for (var24 = 0; var24 < 3; ++var24)
{
for (var25 = 0; var25 < 4; ++var25)
{
for (var26 = -1; var26 < 4; ++var26)
{
var27 = var14 + (var25 - 1) * var22 + var24 * var23;
var28 = var20 + var26;
int var29 = var17 + (var25 - 1) * var23 - var24 * var22;
if (var26 < 0 && !par1World.getBlockMaterial(var27, var28, var29).isSolid() || var26 >= 0 && !par1World.isAirBlock(var27, var28, var29))
{
continue label274;
}
}
}
}
var32 = (double)var20 + 0.5D - par2Entity.posY;
var34 = var15 * var15 + var32 * var32 + var18 * var18;
if (var4 < 0.0D || var34 < var4)
{
var4 = var34;
var9 = var14;
var10 = var20;
var11 = var17;
var12 = var21 % 4;
}
}
}
}
}
}
if (var4 < 0.0D)
{
for (var14 = var6 - var3; var14 <= var6 + var3; ++var14)
{
var15 = (double)var14 + 0.5D - par2Entity.posX;
for (var17 = var8 - var3; var17 <= var8 + var3; ++var17)
{
var18 = (double)var17 + 0.5D - par2Entity.posZ;
label222:
for (var20 = 127; var20 >= 0; --var20)
{
if (par1World.isAirBlock(var14, var20, var17))
{
while (var20 > 0 && par1World.isAirBlock(var14, var20 - 1, var17))
{
--var20;
}
for (var21 = var13; var21 < var13 + 2; ++var21)
{
var22 = var21 % 2;
var23 = 1 - var22;
for (var24 = 0; var24 < 4; ++var24)
{
for (var25 = -1; var25 < 4; ++var25)
{
var26 = var14 + (var24 - 1) * var22;
var27 = var20 + var25;
var28 = var17 + (var24 - 1) * var23;
if (var25 < 0 && !par1World.getBlockMaterial(var26, var27, var28).isSolid() || var25 >= 0 && !par1World.isAirBlock(var26, var27, var28))
{
continue label222;
}
}
}
var32 = (double)var20 + 0.5D - par2Entity.posY;
var34 = var15 * var15 + var32 * var32 + var18 * var18;
if (var4 < 0.0D || var34 < var4)
{
var4 = var34;
var9 = var14;
var10 = var20;
var11 = var17;
var12 = var21 % 2;
}
}
}
}
}
}
}
int var30 = var9;
int var16 = var10;
var17 = var11;
int var31 = var12 % 2;
int var19 = 1 - var31;
if (var12 % 4 >= 2)
{
var31 = -var31;
var19 = -var19;
}
boolean var33;
if (var4 < 0.0D)
{
if (var10 < 70)
{
var10 = 70;
}
if (var10 > 118)
{
var10 = 118;
}
var16 = var10;
for (var20 = -1; var20 <= 1; ++var20)
{
for (var21 = 1; var21 < 3; ++var21)
{
for (var22 = -1; var22 < 3; ++var22)
{
var23 = var30 + (var21 - 1) * var31 + var20 * var19;
var24 = var16 + var22;
var25 = var17 + (var21 - 1) * var19 - var20 * var31;
var33 = var22 < 0;
par1World.setBlockWithNotify(var23, var24, var25, var33 ? DimensionBase.compressedbopperbones.blockID : 0);
}
}
}
}
for (var20 = 0; var20 < 4; ++var20)
{
par1World.editingBlocks = true;
for (var21 = 0; var21 < 4; ++var21)
{
for (var22 = -1; var22 < 4; ++var22)
{
var23 = var30 + (var21 - 1) * var31;
var24 = var16 + var22;
var25 = var17 + (var21 - 1) * var19;
var33 = var21 == 0 || var21 == 3 || var22 == -1 || var22 == 3;
par1World.setBlockWithNotify(var23, var24, var25, var33 ? DimensionBase.compressedbopperbones.blockID : DimensionBase.tundraportal.blockID);
}
}
par1World.editingBlocks = false;
for (var21 = 0; var21 < 4; ++var21)
{
for (var22 = -1; var22 < 4; ++var22)
{
var23 = var30 + (var21 - 1) * var31;
var24 = var16 + var22;
var25 = var17 + (var21 - 1) * var19;
par1World.notifyBlocksOfNeighborChange(var23, var24, var25, par1World.getBlockId(var23, var24, var25));
}
}
}
return true;
}
}
BlockPortal class
package net.dimension.src;
import cpw.mods.fml.client.FMLClientHandler;
import cpw.mods.fml.common.Side;
import cpw.mods.fml.common.asm.SideOnly;
import java.util.Random;
import net.minecraft.src.AxisAlignedBB;
import net.minecraft.src.Block;
import net.minecraft.src.BlockBreakable;
import net.minecraft.src.CreativeTabs;
import net.minecraft.src.Entity;
import net.minecraft.src.EntityPlayer;
import net.minecraft.src.EntityPlayerMP;
import net.minecraft.src.EntityPlayerSP;
import net.minecraft.src.EntityPortalFX;
import net.minecraft.src.IBlockAccess;
import net.minecraft.src.Material;
import net.minecraft.src.ModLoader;
import net.minecraft.src.World;
import net.minecraft.src.WorldServer;
import net.dimension.src.DimensionBase;
import net.dimension.src.Tundra_Teleporter;
public class BlockTundraPortal extends Block
{
public Tundra_Teleporter teleporter = new Tundra_Teleporter();
public BlockTundraPortal(){
super(3000, 0, Material.iron);
this.setBlockName("tundraportal");
setCreativeTab(CreativeTabs.tabBlock);
this.setResistance(100000000.0f);
}
@Override
public void onEntityCollidedWithBlock(World world, int i, int j, int k, Entity entity)
{
if(entity.ridingEntity == null && entity.riddenByEntity == null && entity instanceof EntityPlayerSP)
{
if(ModLoader.getMinecraftInstance().thePlayer.timeUntilPortal == 0)
{
if(ModLoader.getMinecraftInstance().thePlayer.dimension != 10)
{
ModLoader.getMinecraftInstance().thePlayer.timeUntilPortal = 5;
ModLoader.getMinecraftInstance().usePortal(10, teleporter);
}else
{
ModLoader.getMinecraftInstance().thePlayer.timeUntilPortal = 5;
ModLoader.getMinecraftInstance().usePortal(0, teleporter);
}
}
else{
ModLoader.getMinecraftInstance().thePlayer.timeUntilPortal = 5;
}
}
}
public String getTextureFile()
{
return ("/mods/SpriteSheet.png");
}
}
WorldProvider class
package net.dimension.src;
import net.minecraft.src.WorldProvider;
public class Tundra_WorldProvider1 extends WorldProvider{
// Returns the dimension's name, e.g. "The End", "Nether", or "Overworld".
public String getDimensionName()
{
return "Tundra";
}
}