Jump to content

Dimension error


Jdb100

Recommended Posts

I got the dimension working and then the custom biome but when i connect them together i get an error

 

Error Log

2013-01-08 16:05:17 [iNFO] [ForgeModLoader] Forge Mod Loader version 4.6.12.511 for Minecraft 1.4.6 loading
2013-01-08 16:05:26 [iNFO] [sTDOUT] 27 achievements
2013-01-08 16:05:27 [iNFO] [sTDOUT] 210 recipes
2013-01-08 16:05:27 [iNFO] [sTDOUT] Setting user: Player424, -
2013-01-08 16:05:27 [iNFO] [sTDERR] Client asked for parameter: server
2013-01-08 16:05:27 [iNFO] [sTDOUT] LWJGL Version: 2.4.2
2013-01-08 16:05:29 [iNFO] [ForgeModLoader] Attempting early MinecraftForge initialization
2013-01-08 16:05:29 [iNFO] [sTDOUT] MinecraftForge v6.5.0.467 Initialized
2013-01-08 16:05:29 [iNFO] [ForgeModLoader] MinecraftForge v6.5.0.467 Initialized
2013-01-08 16:05:30 [iNFO] [sTDOUT] Replaced 84 ore recipies
2013-01-08 16:05:30 [iNFO] [ForgeModLoader] Completed early MinecraftForge initialization
2013-01-08 16:05:30 [iNFO] [ForgeModLoader] Searching C:\Users\Joe\Desktop\my mods\Youtube\forge\mcp\jars\mods for mods
2013-01-08 16:05:37 [iNFO] [ForgeModLoader] Forge Mod Loader has identified 4 mods to load
2013-01-08 16:05:39 [iNFO] [ForgeModLoader] Configured a dormant chunk cache size of 0
2013-01-08 16:05:41 [iNFO] [ForgeModLoader] Forge Mod Loader has successfully loaded 4 mods
2013-01-08 16:06:18 [iNFO] [sTDOUT] Scanning folders...
2013-01-08 16:06:18 [iNFO] [sTDOUT] Total conversion count is 0
2013-01-08 16:06:20 [iNFO] [ForgeModLoader] Loading dimension 0 (New World) (net.minecraft.server.integrated.IntegratedServer@36d5ee2)
2013-01-08 16:06:20 [iNFO] [sTDOUT] Unable to find spawn biome
2013-01-08 16:06:20 [iNFO] [ForgeModLoader] Loading dimension 2 (New World) (net.minecraft.server.integrated.IntegratedServer@36d5ee2)
2013-01-08 16:06:21 [iNFO] [ForgeModLoader] Loading dimension 1 (New World) (net.minecraft.server.integrated.IntegratedServer@36d5ee2)
2013-01-08 16:06:21 [iNFO] [ForgeModLoader] Loading dimension -1 (New World) (net.minecraft.server.integrated.IntegratedServer@36d5ee2)
2013-01-08 16:08:20 [iNFO] [sTDERR] net.minecraft.util.ReportedException: Exception getting block type in world
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:64)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.server.integrated.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:108)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:702)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:598)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:123)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:497)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.server.ThreadMinecraftServer.run(ThreadMinecraftServer.java:16)
2013-01-08 16:08:20 [iNFO] [sTDERR] Caused by: java.lang.NullPointerException
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.world.World.getBlockMaterial(World.java:616)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.world.gen.feature.WorldGenDungeons.generate(WorldGenDungeons.java:33)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.world.gen.ChunkProviderGenerate.populate(ChunkProviderGenerate.java:571)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.world.gen.ChunkProviderServer.populate(ChunkProviderServer.java:258)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.world.chunk.Chunk.populateChunk(Chunk.java:1258)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.world.gen.ChunkProviderServer.loadChunk(ChunkProviderServer.java:153)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.world.gen.ChunkProviderServer.provideChunk(ChunkProviderServer.java:166)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.world.World.getChunkFromChunkCoords(World.java:524)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.world.World.getBlockId(World.java:407)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.modbase.NexusTeleporter.placeInExistingPortal(NexusTeleporter.java:109)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.modbase.NexusTeleporter.placeInPortal(NexusTeleporter.java:38)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.server.management.ServerConfigurationManager.transferEntityToWorld(ServerConfigurationManager.java:494)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.server.management.ServerConfigurationManager.transferPlayerToDimension(ServerConfigurationManager.java:419)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.modbase.BlockNexusPortal.onEntityCollidedWithBlock(BlockNexusPortal.java:253)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.entity.Entity.doBlockCollisions(Entity.java:1008)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.entity.Entity.moveEntity(Entity.java:952)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.network.NetServerHandler.handleFlying(NetServerHandler.java:347)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.network.packet.Packet10Flying.processPacket(Packet10Flying.java:51)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.network.MemoryConnection.processReadPackets(MemoryConnection.java:80)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.network.NetServerHandler.networkTick(NetServerHandler.java:136)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	at net.minecraft.network.NetworkListenThread.networkTick(NetworkListenThread.java:57)
2013-01-08 16:08:20 [iNFO] [sTDERR] 	... 6 more
2013-01-08 16:08:24 [iNFO] [ForgeModLoader] Unloading dimension 0
2013-01-08 16:08:24 [iNFO] [ForgeModLoader] Unloading dimension -1
2013-01-08 16:08:24 [iNFO] [ForgeModLoader] Unloading dimension 1
2013-01-08 16:08:24 [iNFO] [ForgeModLoader] Unloading dimension 2
2013-01-08 16:08:35 [iNFO] [sTDOUT] Stopping!
2013-01-08 16:09:29 [iNFO] [sTDERR] Someone is closing me!

 

Teleporter

package net.modbase;

 

import net.minecraft.block.Block;

import net.minecraft.entity.Entity;

import net.minecraft.src.*;

import net.minecraft.util.Direction;

import net.minecraft.util.LongHashMap;

import net.minecraft.util.MathHelper;

import net.minecraft.world.ChunkCoordIntPair;

import net.minecraft.world.PortalPosition;

import net.minecraft.world.Teleporter;

import net.minecraft.world.WorldServer;

 

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

import java.util.Random;

 

public class NexusTeleporter extends Teleporter

{

private final WorldServer field_85192_a;

private final Random random;

private final LongHashMap field_85191_c = new LongHashMap();

private final List field_85190_d = new ArrayList();

 

public NexusTeleporter(WorldServer par1WorldServer)

{

super(par1WorldServer);

this.field_85192_a = par1WorldServer;

this.random = new Random(par1WorldServer.getSeed());

}

 

@Override

public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8)

{

if (this.field_85192_a.provider.dimensionId != 1)

{

if (!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8))

{

this.func_85188_a(par1Entity);

this.placeInExistingPortal(par1Entity, par2, par4, par6, par8);

}

}

else

{

int var9 = MathHelper.floor_double(par1Entity.posX);

int var10 = MathHelper.floor_double(par1Entity.posY) - 1;

int var11 = MathHelper.floor_double(par1Entity.posZ);

byte var12 = 1;

byte var13 = 0;

 

for (int var14 = -2; var14 <= 2; ++var14)

{

for (int var15 = -2; var15 <= 2; ++var15)

{

for (int var16 = -1; var16 < 3; ++var16)

{

int var17 = var9 + var15 * var12 + var14 * var13;

int var18 = var10 + var16;

int var19 = var11 + var15 * var13 - var14 * var12;

boolean var20 = var16 < 0;

this.field_85192_a.setBlockWithNotify(var17, var18, var19, var20 ? Block.glowStone.blockID : 0);

}

}

}

 

par1Entity.setLocationAndAngles((double)var9, (double)var10, (double)var11, par1Entity.rotationYaw, 0.0F);

par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D;

}

}

 

@Override

public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4, double par6, float par8)

{

short var9 = 128;

double var10 = -1.0D;

int var12 = 0;

int var13 = 0;

int var14 = 0;

int var15 = MathHelper.floor_double(par1Entity.posX);

int var16 = MathHelper.floor_double(par1Entity.posZ);

long var17 = ChunkCoordIntPair.chunkXZ2Int(var15, var16);

boolean var19 = true;

double var27;

int var48;

 

if (this.field_85191_c.containsItem(var17))

{

PortalPosition var20 = (PortalPosition)this.field_85191_c.getValueByKey(var17);

var10 = 0.0D;

var12 = var20.posX;

var13 = var20.posY;

var14 = var20.posZ;

var20.field_85087_d = this.field_85192_a.getTotalWorldTime();

var19 = false;

}

else

{

for (var48 = var15 - var9; var48 <= var15 + var9; ++var48)

{

double var21 = (double)var48 + 0.5D - par1Entity.posX;

 

for (int var23 = var16 - var9; var23 <= var16 + var9; ++var23)

{

double var24 = (double)var23 + 0.5D - par1Entity.posZ;

 

for (int var26 = this.field_85192_a.getActualHeight() - 1; var26 >= 0; --var26)

{

if (this.field_85192_a.getBlockId(var48, var26, var23) == ModBase.nexusportal.blockID)

{

while (this.field_85192_a.getBlockId(var48, var26 - 1, var23) == ModBase.nexusportal.blockID)

{

--var26;

}

 

var27 = (double)var26 + 0.5D - par1Entity.posY;

double var29 = var21 * var21 + var27 * var27 + var24 * var24;

 

if (var10 < 0.0D || var29 < var10)

{

var10 = var29;

var12 = var48;

var13 = var26;

var14 = var23;

}

}

}

}

}

}

 

if (var10 >= 0.0D)

{

if (var19)

{

this.field_85191_c.add(var17, new PortalPosition(this, var12, var13, var14, this.field_85192_a.getTotalWorldTime()));

this.field_85190_d.add(Long.valueOf(var17));

}

 

double var49 = (double)var12 + 0.5D;

double var25 = (double)var13 + 0.5D;

var27 = (double)var14 + 0.5D;

int var50 = -1;

 

if (this.field_85192_a.getBlockId(var12 - 1, var13, var14) == ModBase.nexusportal.blockID)

{

var50 = 2;

}

 

if (this.field_85192_a.getBlockId(var12 + 1, var13, var14) == ModBase.nexusportal.blockID)

{

var50 = 0;

}

 

if (this.field_85192_a.getBlockId(var12, var13, var14 - 1) == ModBase.nexusportal.blockID)

{

var50 = 3;

}

 

if (this.field_85192_a.getBlockId(var12, var13, var14 + 1) == ModBase.nexusportal.blockID)

{

var50 = 1;

}

 

int var30 = par1Entity.func_82148_at();

 

if (var50 > -1)

{

int var31 = Direction.field_71578_g[var50];

int var32 = Direction.offsetX[var50];

int var33 = Direction.offsetZ[var50];

int var34 = Direction.offsetX[var31];

int var35 = Direction.offsetZ[var31];

boolean var36 = !this.field_85192_a.isAirBlock(var12 + var32 + var34, var13, var14 + var33 + var35) || !this.field_85192_a.isAirBlock(var12 + var32 + var34, var13 + 1, var14 + var33 + var35);

boolean var37 = !this.field_85192_a.isAirBlock(var12 + var32, var13, var14 + var33) || !this.field_85192_a.isAirBlock(var12 + var32, var13 + 1, var14 + var33);

 

if (var36 && var37)

{

var50 = Direction.footInvisibleFaceRemap[var50];

var31 = Direction.footInvisibleFaceRemap[var31];

var32 = Direction.offsetX[var50];

var33 = Direction.offsetZ[var50];

var34 = Direction.offsetX[var31];

var35 = Direction.offsetZ[var31];

var48 = var12 - var34;

var49 -= (double)var34;

int var22 = var14 - var35;

var27 -= (double)var35;

var36 = !this.field_85192_a.isAirBlock(var48 + var32 + var34, var13, var22 + var33 + var35) || !this.field_85192_a.isAirBlock(var48 + var32 + var34, var13 + 1, var22 + var33 + var35);

var37 = !this.field_85192_a.isAirBlock(var48 + var32, var13, var22 + var33) || !this.field_85192_a.isAirBlock(var48 + var32, var13 + 1, var22 + var33);

}

 

float var38 = 0.5F;

float var39 = 0.5F;

 

if (!var36 && var37)

{

var38 = 1.0F;

}

else if (var36 && !var37)

{

var38 = 0.0F;

}

else if (var36 && var37)

{

var39 = 0.0F;

}

 

var49 += (double)((float)var34 * var38 + var39 * (float)var32);

var27 += (double)((float)var35 * var38 + var39 * (float)var33);

float var40 = 0.0F;

float var41 = 0.0F;

float var42 = 0.0F;

float var43 = 0.0F;

 

if (var50 == var30)

{

var40 = 1.0F;

var41 = 1.0F;

}

else if (var50 == Direction.footInvisibleFaceRemap[var30])

{

var40 = -1.0F;

var41 = -1.0F;

}

else if (var50 == Direction.enderEyeMetaToDirection[var30])

{

var42 = 1.0F;

var43 = -1.0F;

}

else

{

var42 = -1.0F;

var43 = 1.0F;

}

 

double var44 = par1Entity.motionX;

double var46 = par1Entity.motionZ;

par1Entity.motionX = var44 * (double)var40 + var46 * (double)var43;

par1Entity.motionZ = var44 * (double)var42 + var46 * (double)var41;

par1Entity.rotationYaw = par8 - (float)(var30 * 90) + (float)(var50 * 90);

}

else

{

par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D;

}

 

par1Entity.setLocationAndAngles(var49 + 3, var25, var27 + 3, par1Entity.rotationYaw, par1Entity.rotationPitch);

return true;

}

else

{

return false;

}

}

 

@Override

public boolean func_85188_a(Entity par1Entity)

{

byte var2 = 16;

double var3 = -1.0D;

int var5 = MathHelper.floor_double(par1Entity.posX);

int var6 = MathHelper.floor_double(par1Entity.posY);

int var7 = MathHelper.floor_double(par1Entity.posZ);

int var8 = var5;

int var9 = var6;

int var10 = var7;

int var11 = 0;

int var12 = this.random.nextInt(4);

int var13;

double var14;

double var17;

int var16;

int var19;

int var21;

int var20;

int var23;

int var22;

int var25;

int var24;

int var27;

int var26;

double var31;

double var32;

 

for (var13 = var5 - var2; var13 <= var5 + var2; ++var13)

{

var14 = (double)var13 + 0.5D - par1Entity.posX;

 

for (var16 = var7 - var2; var16 <= var7 + var2; ++var16)

{

var17 = (double)var16 + 0.5D - par1Entity.posZ;

label274:

 

for (var19 = this.field_85192_a.getActualHeight() - 1; var19 >= 0; --var19)

{

if (this.field_85192_a.isAirBlock(var13, var19, var16))

{

while (var19 > 0 && this.field_85192_a.isAirBlock(var13, var19 - 1, var16))

{

--var19;

}

 

for (var20 = var12; var20 < var12 + 4; ++var20)

{

var21 = var20 % 2;

var22 = 1 - var21;

 

if (var20 % 4 >= 2)

{

var21 = -var21;

var22 = -var22;

}

 

for (var23 = 0; var23 < 3; ++var23)

{

for (var24 = 0; var24 < 4; ++var24)

{

for (var25 = -1; var25 < 4; ++var25)

{

var26 = var13 + (var24 - 1) * var21 + var23 * var22;

var27 = var19 + var25;

int var28 = var16 + (var24 - 1) * var22 - var23 * var21;

 

if (var25 < 0 && !this.field_85192_a.getBlockMaterial(var26, var27, var28).isSolid() || var25 >= 0 && !this.field_85192_a.isAirBlock(var26, var27, var28))

{

continue label274;

}

}

}

}

 

var32 = (double)var19 + 0.5D - par1Entity.posY;

var31 = var14 * var14 + var32 * var32 + var17 * var17;

 

if (var3 < 0.0D || var31 < var3)

{

var3 = var31;

var8 = var13;

var9 = var19;

var10 = var16;

var11 = var20 % 4;

}

}

}

}

}

}

 

if (var3 < 0.0D)

{

for (var13 = var5 - var2; var13 <= var5 + var2; ++var13)

{

var14 = (double)var13 + 0.5D - par1Entity.posX;

 

for (var16 = var7 - var2; var16 <= var7 + var2; ++var16)

{

var17 = (double)var16 + 0.5D - par1Entity.posZ;

label222:

 

for (var19 = this.field_85192_a.getActualHeight() - 1; var19 >= 0; --var19)

{

if (this.field_85192_a.isAirBlock(var13, var19, var16))

{

while (var19 > 0 && this.field_85192_a.isAirBlock(var13, var19 - 1, var16))

{

--var19;

}

 

for (var20 = var12; var20 < var12 + 2; ++var20)

{

var21 = var20 % 2;

var22 = 1 - var21;

 

for (var23 = 0; var23 < 4; ++var23)

{

for (var24 = -1; var24 < 4; ++var24)

{

var25 = var13 + (var23 - 1) * var21;

var26 = var19 + var24;

var27 = var16 + (var23 - 1) * var22;

 

if (var24 < 0 && !this.field_85192_a.getBlockMaterial(var25, var26, var27).isSolid() || var24 >= 0 && !this.field_85192_a.isAirBlock(var25, var26, var27))

{

continue label222;

}

}

}

 

var32 = (double)var19 + 0.5D - par1Entity.posY;

var31 = var14 * var14 + var32 * var32 + var17 * var17;

 

if (var3 < 0.0D || var31 < var3)

{

var3 = var31;

var8 = var13;

var9 = var19;

var10 = var16;

var11 = var20 % 2;

}

}

}

}

}

}

}

 

int var29 = var8;

int var15 = var9;

var16 = var10;

int var30 = var11 % 2;

int var18 = 1 - var30;

 

if (var11 % 4 >= 2)

{

var30 = -var30;

var18 = -var18;

}

 

boolean var33;

 

if (var3 < 0.0D)

{

if (var9 < 70)

{

var9 = 70;

}

 

if (var9 > this.field_85192_a.getActualHeight() - 10)

{

var9 = this.field_85192_a.getActualHeight() - 10;

}

 

var15 = var9;

 

for (var19 = -1; var19 <= 1; ++var19)

{

for (var20 = 1; var20 < 3; ++var20)

{

for (var21 = -1; var21 < 3; ++var21)

{

var22 = var29 + (var20 - 1) * var30 + var19 * var18;

var23 = var15 + var21;

var24 = var16 + (var20 - 1) * var18 - var19 * var30;

var33 = var21 < 0;

this.field_85192_a.setBlockWithNotify(var22, var23, var24, var33 ? Block.glowStone.blockID: 0);

}

}

}

}

 

for (var19 = 0; var19 < 4; ++var19)

{

this.field_85192_a.editingBlocks = true;

 

for (var20 = 0; var20 < 4; ++var20)

{

for (var21 = -1; var21 < 4; ++var21)

{

var22 = var29 + (var20 - 1) * var30;

var23 = var15 + var21;

var24 = var16 + (var20 - 1) * var18;

var33 = var20 == 0 || var20 == 3 || var21 == -1 || var21 == 3;

this.field_85192_a.setBlockWithNotify(var22, var23, var24, var33 ? Block.glowStone.blockID : ModBase.nexusportal.blockID);

}

}

 

this.field_85192_a.editingBlocks = false;

 

for (var20 = 0; var20 < 4; ++var20)

{

for (var21 = -1; var21 < 4; ++var21)

{

var22 = var29 + (var20 - 1) * var30;

var23 = var15 + var21;

var24 = var16 + (var20 - 1) * var18;

this.field_85192_a.notifyBlocksOfNeighborChange(var22, var23, var24, this.field_85192_a.getBlockId(var22, var23, var24));

}

}

}

 

return true;

}

 

@Override

public void func_85189_a(long par1)

{

if (par1 % 100L == 0L)

{

Iterator var3 = this.field_85190_d.iterator();

long var4 = par1 - 600L;

 

while (var3.hasNext())

{

Long var6 = (Long)var3.next();

PortalPosition var7 = (PortalPosition)this.field_85191_c.getValueByKey(var6.longValue());

 

if (var7 == null || var7.field_85087_d < var4)

{

var3.remove();

this.field_85191_c.remove(var6.longValue());

}

}

}

}

}

 

Portal Block

[package net.modbase;

import java.util.Random;

import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

import net.minecraft.block.Block;
import net.minecraft.block.BlockBreakable;
import net.minecraft.block.material.Material;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemMonsterPlacer;
import net.minecraft.server.MinecraftServer;
import net.minecraft.src.*;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;

public class BlockNexusPortal extends BlockBreakable
{
    public BlockNexusPortal(int par1, int par2)
    {
        super(par1, par2, Material.portal, false);
        this.setTickRandomly(true);
    }

    /**
* Ticks the block if it's been scheduled
*/
    public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random)
    {
        super.updateTick(par1World, par2, par3, par4, par5Random);

        if (par1World.provider.isSurfaceWorld() && par5Random.nextInt(2000) < par1World.difficultySetting)
        {
            int var6;

            for (var6 = par3; !par1World.doesBlockHaveSolidTopSurface(par2, var6, par4) && var6 > 0; --var6)
            {
                ;
            }

            if (var6 > 0 && !par1World.isBlockNormalCube(par2, var6 + 1, par4))
            {
                ItemMonsterPlacer.spawnCreature(par1World, 57, (double)par2 + 0.5D, (double)var6 + 1.1D, (double)par4 + 0.5D);
            }
        }
    }

    /**
* Returns a bounding box from the pool of bounding boxes (this means this box can change after the pool has been
* cleared to be reused)
*/
    public AxisAlignedBB getCollisionBoundingBoxFromPool(World par1World, int par2, int par3, int par4)
    {
        return null;
    }

    /**
* Updates the blocks bounds based on its current state. Args: world, x, y, z
*/
    public void setBlockBoundsBasedOnState(IBlockAccess par1IBlockAccess, int par2, int par3, int par4)
    {
        float var5;
        float var6;

        if (par1IBlockAccess.getBlockId(par2 - 1, par3, par4) != this.blockID && par1IBlockAccess.getBlockId(par2 + 1, par3, par4) != this.blockID)
        {
            var5 = 0.125F;
            var6 = 0.5F;
            this.setBlockBounds(0.5F - var5, 0.0F, 0.5F - var6, 0.5F + var5, 1.0F, 0.5F + var6);
        }
        else
        {
            var5 = 0.5F;
            var6 = 0.125F;
            this.setBlockBounds(0.5F - var5, 0.0F, 0.5F - var6, 0.5F + var5, 1.0F, 0.5F + var6);
        }
    }

    /**
* Is this block (a) opaque and (b) a full 1m cube? This determines whether or not to render the shared face of two
* adjacent blocks and also whether the player can attach torches, redstone wire, etc to this block.
*/
    public boolean isOpaqueCube()
    {
        return false;
    }

    /**
* If this block doesn't render as an ordinary block it will return False (examples: signs, buttons, stairs, etc)
*/
    public boolean renderAsNormalBlock()
    {
        return false;
    }

    /**
* Checks to see if this location is valid to create a portal and will return True if it does. Args: world, x, y, z
*/
    public static boolean tryToCreatePortal(World par1World, int par2, int par3, int par4)
    {
        byte var5 = 0;
        byte var6 = 0;

        if (par1World.getBlockId(par2 - 1, par3, par4) == Block.glowStone.blockID || par1World.getBlockId(par2 + 1, par3, par4) == Block.glowStone.blockID )
        {
            var5 = 1;
        }

        if (par1World.getBlockId(par2, par3, par4 - 1) == Block.glowStone.blockID || par1World.getBlockId(par2, par3, par4 + 1) == Block.glowStone.blockID )
        {
            var6 = 1;
        }

        if (var5 == var6)
        {
            return false;
        }
        else
        {
            if (par1World.getBlockId(par2 - var5, par3, par4 - var6) == 0)
            {
                par2 -= var5;
                par4 -= var6;
            }

            int var7;
            int var8;

            for (var7 = -1; var7 <= 2; ++var7)
            {
                for (var8 = -1; var8 <= 3; ++var8)
                {
                    boolean var9 = var7 == -1 || var7 == 2 || var8 == -1 || var8 == 3;

                    if (var7 != -1 && var7 != 2 || var8 != -1 && var8 != 3)
                    {
                        int var10 = par1World.getBlockId(par2 + var5 * var7, par3 + var8, par4 + var6 * var7);

                        if (var9)
                        {
                            if (var10 != Block.glowStone.blockID )
                            {
                                return false;
                            }
                        }
                        else if (var10 != 0 && var10 != Block.stone.blockID)
                        {
                            return false;
                        }
                    }
                }
            }

            par1World.editingBlocks = true;

            for (var7 = 0; var7 < 2; ++var7)
            {
                for (var8 = 0; var8 < 3; ++var8)
                {
                    par1World.setBlockWithNotify(par2 + var5 * var7, par3 + var8, par4 + var6 * var7, ModBase.nexusportal.blockID);
                }
            }

            par1World.editingBlocks = false;
            return true;
        }
    }

    /**
* Lets the block know when one of its neighbor changes. Doesn't know which neighbor changed (coordinates passed are
* their own) Args: x, y, z, neighbor blockID
*/
    public void onNeighborBlockChange(World par1World, int par2, int par3, int par4, int par5)
    {
        byte var6 = 0;
        byte var7 = 1;

        if (par1World.getBlockId(par2 - 1, par3, par4) == this.blockID || par1World.getBlockId(par2 + 1, par3, par4) == this.blockID)
        {
            var6 = 1;
            var7 = 0;
        }

        int var8;

        for (var8 = par3; par1World.getBlockId(par2, var8 - 1, par4) == this.blockID; --var8)
        {
            ;
        }

        if (par1World.getBlockId(par2, var8 - 1, par4) != Block.glowStone.blockID )
        {
            par1World.setBlockWithNotify(par2, par3, par4, 0);
        }
        else
        {
            int var9;

            for (var9 = 1; var9 < 4 && par1World.getBlockId(par2, var8 + var9, par4) == this.blockID; ++var9)
            {
                ;
            }

            if (var9 == 3 && par1World.getBlockId(par2, var8 + var9, par4) == Block.glowStone.blockID )
            {
                boolean var10 = par1World.getBlockId(par2 - 1, par3, par4) == this.blockID || par1World.getBlockId(par2 + 1, par3, par4) == this.blockID;
                boolean var11 = par1World.getBlockId(par2, par3, par4 - 1) == this.blockID || par1World.getBlockId(par2, par3, par4 + 1) == this.blockID;

                if (var10 && var11)
                {
                    par1World.setBlockWithNotify(par2, par3, par4, 0);
                }
                else
                {
                    if ((par1World.getBlockId(par2 + var6, par3, par4 + var7) != Block.glowStone.blockID || par1World.getBlockId(par2 - var6, par3, par4 - var7) != this.blockID) && (par1World.getBlockId(par2 - var6, par3, par4 - var7) != Block.glowStone.blockID || par1World.getBlockId(par2 + var6, par3, par4 + var7) != this.blockID))
                    {
                        par1World.setBlockWithNotify(par2, par3, par4, 0);
                    }
                }
            }
            else
            {
                par1World.setBlockWithNotify(par2, par3, par4, 0);
            }
        }
    }

    /**
* Returns the quantity of items to drop on block destruction.
*/
    public int quantityDropped(Random par1Random)
    {
        return 0;
    }

    /**
* Triggered whenever an entity collides with this block (enters into the block). Args: world, x, y, z, entity
*/
    public void onEntityCollidedWithBlock(World world, int i, int j, int k, Entity entity)
    {
                if (entity.ridingEntity == null && entity.riddenByEntity == null && entity instanceof EntityPlayerMP)
                {
                        if (entity instanceof EntityPlayerMP)
                        {
                                EntityPlayerMP thePlayer = (EntityPlayerMP) entity;
                                if (entity.dimension != 2)
                                {
                                        thePlayer.mcServer.getConfigurationManager().transferPlayerToDimension(thePlayer, 2 , new NexusTeleporter(thePlayer.mcServer.worldServerForDimension(2)));
                                }
                                else
                                {
                                        thePlayer.mcServer.getConfigurationManager().transferPlayerToDimension(thePlayer, 0, new NexusTeleporter(thePlayer.mcServer.worldServerForDimension(0)));
                                }
                        }
                }

        

    }
    

    @SideOnly(Side.CLIENT)

    /**
* Returns true if the given side of this block type should be rendered, if the adjacent block is at the given
* coordinates. Args: blockAccess, x, y, z, side
*/
    public boolean shouldSideBeRendered(IBlockAccess par1IBlockAccess, int par2, int par3, int par4, int par5)
    {
        if (par1IBlockAccess.getBlockId(par2, par3, par4) == this.blockID)
        {
            return false;
        }
        else
        {
            boolean var6 = par1IBlockAccess.getBlockId(par2 - 1, par3, par4) == this.blockID && par1IBlockAccess.getBlockId(par2 - 2, par3, par4) != this.blockID;
            boolean var7 = par1IBlockAccess.getBlockId(par2 + 1, par3, par4) == this.blockID && par1IBlockAccess.getBlockId(par2 + 2, par3, par4) != this.blockID;
            boolean var8 = par1IBlockAccess.getBlockId(par2, par3, par4 - 1) == this.blockID && par1IBlockAccess.getBlockId(par2, par3, par4 - 2) != this.blockID;
            boolean var9 = par1IBlockAccess.getBlockId(par2, par3, par4 + 1) == this.blockID && par1IBlockAccess.getBlockId(par2, par3, par4 + 2) != this.blockID;
            boolean var10 = var6 || var7;
            boolean var11 = var8 || var9;
            return var10 && par5 == 4 ? true : (var10 && par5 == 5 ? true : (var11 && par5 == 2 ? true : var11 && par5 == 3));
        }
    }
    


    @SideOnly(Side.CLIENT)

    /**
* Returns which pass should this block be rendered on. 0 for solids and 1 for alpha
*/
    public int getRenderBlockPass()
    {
        return 1;
    }

    @SideOnly(Side.CLIENT)

    /**
* A randomly called display update to be able to add particles or other items for display
*/
    public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random)
    {
        if (par5Random.nextInt(100) == 0)
        {
            par1World.playSound((double)par2 + 0.5D, (double)par3 + 0.5D, (double)par4 + 0.5D, "portal.portal", 0.5F, par5Random.nextFloat() * 0.4F + 0.8F, false);
        }

        for (int var6 = 0; var6 < 4; ++var6)
        {
            double var7 = (double)((float)par2 + par5Random.nextFloat());
            double var9 = (double)((float)par3 + par5Random.nextFloat());
            double var11 = (double)((float)par4 + par5Random.nextFloat());
            double var13 = 0.0D;
            double var15 = 0.0D;
            double var17 = 0.0D;
            int var19 = par5Random.nextInt(2) * 2 - 1;
            var13 = ((double)par5Random.nextFloat() - 0.5D) * 0.5D;
            var15 = ((double)par5Random.nextFloat() - 0.5D) * 0.5D;
            var17 = ((double)par5Random.nextFloat() - 0.5D) * 0.5D;

            if (par1World.getBlockId(par2 - 1, par3, par4) != this.blockID && par1World.getBlockId(par2 + 1, par3, par4) != this.blockID)
            {
                var7 = (double)par2 + 0.5D + 0.25D * (double)var19;
                var13 = (double)(par5Random.nextFloat() * 2.0F * (float)var19);
            }
            else
            {
                var11 = (double)par4 + 0.5D + 0.25D * (double)var19;
                var17 = (double)(par5Random.nextFloat() * 2.0F * (float)var19);
            }

            par1World.spawnParticle("portal", var7, var9, var11, var13, var15, var17);
        }
    }

    @SideOnly(Side.CLIENT)

    /**
* only called by clickMiddleMouseButton , and passed to inventory.setCurrentItem (along with isCreative)
*/
    public int idPicked(World par1World, int par2, int par3, int par4)
    {
        return 0;
    }
    public String getTextureFile()
   	{
   		return ("/mods/SpriteSheet.png");
   	} 
}/code]

Base Mod
[code]package net.modbase;
import net.minecraft.block.Block;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.EnumArmorMaterial;
import net.minecraft.item.EnumToolMaterial;
import net.minecraft.item.Item;
import net.minecraft.src.*;
import net.minecraft.stats.Achievement;
import net.minecraft.stats.AchievementList;
import net.minecraft.world.biome.BiomeGenBase;
import net.minecraftforge.common.AchievementPage;
import net.minecraftforge.common.DimensionManager;
import net.minecraftforge.common.EnumHelper;
import net.minecraftforge.common.MinecraftForge;
import cpw.mods.fml.common.*;
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.network.NetworkMod.SidedPacketHandler;
import cpw.mods.fml.common.network.NetworkRegistry;
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 = "AncientCraftRPG", name = "AncientCraftRPG", version = "0.1.0")
@NetworkMod (clientSideRequired = true, serverSideRequired = false)

public class ModBase 
{
//Properties
@MLProp public static int blocknexussoil = 2500;
@MLProp public static int blocknexusdirt = 2501;
@MLProp public static int blocknexusstone = 2502;
@MLProp public static int blocknexuscobble = 2503;
@MLProp public static int blocknexusportal = 2504;
@MLProp public static int blockfire = 2505;
@MLProp public static int blockfroststone = 2506;
@MLProp public static int blockearthstone = 2507;
@MLProp public static int blockdrystone = 2508;
@MLProp public static int blockinfernostone = 2509;
@MLProp public static int blockoceanusstone = 2510;
@MLProp public static int itemfireshard = 2511;
@MLProp public static int itemfireshardchunk = 2512;
@MLProp public static int iteminfernostone = 2513;
@MLProp public static int iteminfernostonechunk = 2514;
@MLProp public static int itemfrostshard = 2515;
@MLProp public static int itemfrostshardchunk = 2516;
@MLProp public static int itemfroststone = 2517;
@MLProp public static int itemsfroststonechunk = 2518;
@MLProp public static int itemearthshard = 2519;
@MLProp public static int itemearthshardchunk = 2520;
@MLProp public static int itemearthstone = 2521;
@MLProp public static int itemearthstonechunk = 2522;
@MLProp public static int itemdryshard = 2523;
@MLProp public static int itemdryshardchunk = 2524;
@MLProp public static int itemdrystone = 2525;
@MLProp public static int itemdrystonechunk = 2526;
@MLProp public static int itemoceanusshard = 2527;
@MLProp public static int itemoceanusshardchunk = 2528;
@MLProp public static int itemoceanusstone = 2529;
@MLProp public static int itemoceanusstonechunk = 2530;
@MLProp public static int itemfrostshardsword = 2531;
@MLProp public static int itemfroststonesword = 2532;
@MLProp public static int itemfireshardsword = 2533;
@MLProp public static int iteminfernostonesword = 2534;
@MLProp public static int itemdryshardsword = 2535;
@MLProp public static int itemdrystonesword = 2536;
@MLProp public static int itemearthshardsword = 2537;
@MLProp public static int itemearthstonesword = 2538;
@MLProp public static int itemoceanusshardsword = 2539;
@MLProp public static int itemoceanusstonesword = 2540;
@MLProp public static int itemsacrifice = 2541;
@MLProp public static int itemwand1 = 2542;

//Enums
	//weapons
public static EnumToolMaterial shardweapons = EnumHelper.addToolMaterial("shard", 0, 1000, 0, 3, 12);
public static EnumToolMaterial stoneweapons = EnumHelper.addToolMaterial("stone", 0, 1200, 0, 4, 20);
	//tools
public static EnumToolMaterial shardtools = EnumHelper.addToolMaterial("shard", 2, 1000, 6, 1, 12);
public static EnumToolMaterial stonetools = EnumHelper.addToolMaterial("stone", 3, 1200, 6, 1, 20);

	//armors
public static EnumArmorMaterial shardarmor = EnumHelper.addArmorMaterial("shard", 2, new int[]{2, 6, 5 ,2}, 12);
public static EnumArmorMaterial stonearmor = EnumHelper.addArmorMaterial("stone", 25, new int[]{3, 7, 6, 2}, 20);

//Blocks
public static Block nexussoil = new BlockNexusSoil(blocknexussoil).setBlockName("nexussoil");
public static Block nexusdirt = new BlockNexusDirt(blocknexusdirt, 1).setBlockName("nexusdirt");
public static Block nexusstone = new BlockNexusStone(blocknexusstone, 3).setBlockName("nexusstone");
public static Block Fire;
public static Block nexuscobble;
public static Block nexusportal;
public static Block froststoneblock;
public static Block earthstoneblock;
public static Block drystoneblock;
public static Block infernoblock;
public static Block oceanusblock;

//Items
public static Item frostshard;
public static Item frostshardchunk;
public static Item froststone;
public static Item froststonechunk;
public static Item earthshard;
public static Item earthshardchunk;
public static Item earthstone;
public static Item earthstonechunk;
public static Item dryshard;
public static Item dryshardchunk;
public static Item dryStone;
public static Item drystonechunk;
public static Item fireshard;
public static Item fireshardchunk;
public static Item infernostone;
public static Item infernostonechunk;
public static Item oceanusshard;
public static Item oceanusshardchunk;
public static Item oceanusstone;
public static Item oceanusstonechunk;
public static Item sacrifice;
public static Item wand1;

//Tools


//Armor


//Meelee weapons
public static Item frostshardsword;
public static Item froststonesword;
public static Item fireshardsword;
public static Item infernostonesword;
public static Item dryshardsword;
public static Item drystonesword;
public static Item earthshardsword;
public static Item earthstonesword;
public static Item oceanusshardsword;
public static Item oceanusstonesword;

//Ranged Weapons


//Magic weapons


//Biomes
public static final BiomeGenBase nexusbiome = (new BiomeGenNexus(25)).setColor(2900485);

//Creative Tabs
public static final CreativeTabs AncientCraftRPGTab = new AncientCraftRpgTab("AncientCraftRPGTab");

//Achievements
public static AchievementPage page1 = new AchievementPage("AncientCraftRPG");


@Init
public void load(FMLInitializationEvent event)
{
	//Nexus ground
	GameRegistry.registerBlock(nexussoil);
	LanguageRegistry.addName(nexussoil, "Nexus Grass");
	GameRegistry.registerBlock(nexusdirt);
	LanguageRegistry.addName(nexusdirt, "Nexus Dirt");
	GameRegistry.registerBlock(nexusstone);
	LanguageRegistry.addName(nexusstone, "Nexus Stone");
	nexuscobble = new BlockNexusCobble(blocknexuscobble, 4).setBlockName("nexuscobble");
	GameRegistry.registerBlock(nexuscobble);
	LanguageRegistry.addName(nexuscobble, "Nexus Cobblestone");

	//Dimension
	nexusportal = new BlockNexusPortal(blocknexusportal, 5).setBlockName("nexusportal");
	GameRegistry.registerBlock(nexusportal);
	LanguageRegistry.addName(nexusportal, "Nexus Portal");
	Fire = new BlockFire(blockfire, 31).setBlockName("nexusfire");
	GameRegistry.registerBlock(Fire);
	LanguageRegistry.addName(Fire, "Fire");
	DimensionManager.registerProviderType(2, NexusWorldProvider.class, false);
	DimensionManager.registerDimension(2, 2);
	GameRegistry.registerWorldGenerator(new WorldGenNexus());

	//Stones & Shards
	fireshard = new FireShard(itemfireshard).setItemName("fireshard").setIconIndex(6);
	LanguageRegistry.addName(fireshard, "Fire Shard");
	fireshardchunk = new FireShard(itemfireshardchunk).setItemName("fireshardchunk").setIconIndex(16);
	LanguageRegistry.addName(fireshardchunk, "Fire Shardchunk");
	infernostone = new InfernoStone(iteminfernostone).setItemName("firestone").setIconIndex(7);
	LanguageRegistry.addName(infernostone, "Inferno Stone");
	infernostonechunk = new InfernoStone(iteminfernostonechunk).setItemName("infernostonechunk").setIconIndex(17);
	LanguageRegistry.addName(infernostonechunk, "Inferno Stonechunk");
	dryshard = new DryShard(itemdryshard).setItemName("dryshard").setIconIndex(;
	LanguageRegistry.addName(dryshard, "Dry Shard");
	dryshardchunk = new DryShard(itemdryshardchunk).setItemName("dryshardchunk").setIconIndex(18);
	LanguageRegistry.addName(dryshardchunk, "Dry Shardchunk");
	dryStone = new DryStone(itemdrystone).setItemName("drystone").setIconIndex(9);
	LanguageRegistry.addName(dryStone, "Dry Stone");
	drystonechunk = new DryStone(itemdrystonechunk).setItemName("dryshardchunk").setIconIndex(19);
	LanguageRegistry.addName(drystonechunk, "Dry Stonechunk");
	earthshard = new EarthShard(itemearthshard).setItemName("earthshard").setIconIndex(10);
	LanguageRegistry.addName(earthshard, "Earth Shard");
	earthshardchunk = new EarthShard(itemearthshardchunk).setItemName("earthshardchunk").setIconIndex(20);
	LanguageRegistry.addName(earthshardchunk, "Earth Shardchunk");
	earthstone = new EarthStone(itemearthstone).setItemName("earthstone").setIconIndex(11);
	LanguageRegistry.addName(earthstone, "Earth Stone");
	earthstonechunk = new EarthStone(itemearthstonechunk).setItemName("earthstonechunk").setIconIndex(21);
	LanguageRegistry.addName(earthstonechunk, "Earth Stonechunk");
	frostshard = new FrostShard(itemfrostshard).setItemName("frostshard").setIconIndex(12);
	LanguageRegistry.addName(frostshard, "Frost Shard");
	frostshardchunk = new FrostShard(itemfrostshardchunk).setItemName("frostshardchunk").setIconIndex(22);
	LanguageRegistry.addName(frostshardchunk, "Frost Shardchunk");
	froststone = new FrostStone(itemfroststone).setItemName("froststone").setIconIndex(13);
	LanguageRegistry.addName(froststone, "Frost Stone");
	froststonechunk = new FrostStone(itemsfroststonechunk).setItemName("froststonechunk").setIconIndex(23);
	LanguageRegistry.addName(froststonechunk, "Frost Stonechunk");
	oceanusshard = new OceanusShard(itemoceanusshard).setItemName("oceanusshard").setIconIndex(14);
	LanguageRegistry.addName(oceanusshard, "Oceanus Shard");
	oceanusshardchunk = new OceanusShard(itemoceanusshardchunk).setItemName("oceanusshardchunk").setIconIndex(24);
	LanguageRegistry.addName(oceanusshardchunk, "Oceanus Shardchunk");
	oceanusstone = new OceanusStone(itemoceanusstone).setItemName("oceanusstone").setIconIndex(15);
	LanguageRegistry.addName(oceanusstone, "OceanusStone");
	oceanusstonechunk = new OceanusStone(itemoceanusstonechunk).setItemName("oceanusstonechunk").setIconIndex(25);
	LanguageRegistry.addName(oceanusstonechunk, "Oceanus Stonechunk");

	//Misc Items
	sacrifice = new Sacrifice(itemsacrifice).setItemName("sacrifice").setIconIndex(36);
	LanguageRegistry.addName(sacrifice, "Sacrifice");

	//Wands
	wand1 = new Wand1(itemwand1).setItemName("wand1").setIconIndex(37);
	LanguageRegistry.addName(wand1, "Oceanus Wand");


	//Biomes
	GameRegistry.addBiome(nexusbiome);

	//Weapons
	frostshardsword = new FrostShardSword(itemfrostshardsword,shardweapons).setItemName("frostshardsword").setIconIndex(26);
	LanguageRegistry.addName(frostshardsword, "Frostshardsword");
	froststonesword = new FrostStoneSword(itemfroststonesword,stoneweapons).setItemName("froststonesword").setIconIndex(27);
	LanguageRegistry.addName(froststonesword, "Frost Stone Sword");
	earthshardsword = new EarthShardSword(itemearthshardsword,shardweapons).setItemName("earthshardsword").setIconIndex(28);
	LanguageRegistry.addName(earthshardsword, "Earth Shard Sword");
	earthstonesword = new EarthStoneSword(itemearthstonesword,stoneweapons).setItemName("earthstonesword").setIconIndex(29);
	LanguageRegistry.addName(earthstonesword, "Earth Stone Sword");
	dryshardsword = new DryShardSword(itemdryshardsword,shardweapons).setItemName("dryshardsword").setIconIndex(30);
	LanguageRegistry.addName(dryshardsword, "Dry Shard Sword");
	drystonesword = new DryStoneSword(itemdrystonesword,stoneweapons).setItemName("drystonesword").setIconIndex(31);
	LanguageRegistry.addName(drystonesword, "Dry Stone Sword");
	fireshardsword = new FireShardSword(itemfireshardsword,shardweapons).setItemName("fireshardsword").setIconIndex(32);
	LanguageRegistry.addName(fireshardsword, "Fire Shard Sword");
	infernostonesword = new InfernoStoneSword(iteminfernostonesword,stoneweapons).setItemName("firestonesword").setIconIndex(33);
	LanguageRegistry.addName(infernostonesword, "Inferno Stone Sword");
	oceanusshardsword = new OceanusShardSword(itemoceanusshardsword,shardweapons).setItemName("oceanusshardsword").setIconIndex(34);
	LanguageRegistry.addName(oceanusshardsword, "Oceanus Shard Sword");
	oceanusstonesword = new OceanusStoneSword(itemoceanusstonesword,stoneweapons).setItemName("oceanusstonesword").setIconIndex(35);
	LanguageRegistry.addName(oceanusstonesword, "Oceanus Stone Sword");

	//Recipes


	//Creative Tabs
	LanguageRegistry.instance().addStringLocalization("itemGroup.AncientCraftRPGTab", "en_US", "AncientCraftRPG");
	nexussoil.setCreativeTab(AncientCraftRPGTab);
	nexusdirt.setCreativeTab(AncientCraftRPGTab);
	nexusstone.setCreativeTab(AncientCraftRPGTab);
	nexuscobble.setCreativeTab(AncientCraftRPGTab);
	fireshard.setCreativeTab(AncientCraftRPGTab);
	infernostone.setCreativeTab(AncientCraftRPGTab);
	frostshard.setCreativeTab(AncientCraftRPGTab);
	froststone.setCreativeTab(AncientCraftRPGTab);
	dryshard.setCreativeTab(AncientCraftRPGTab);
	dryStone.setCreativeTab(AncientCraftRPGTab);
	oceanusshard.setCreativeTab(AncientCraftRPGTab);
	oceanusstone.setCreativeTab(AncientCraftRPGTab);
	earthshard.setCreativeTab(AncientCraftRPGTab);
	earthstone.setCreativeTab(AncientCraftRPGTab);
	nexusportal.setCreativeTab(AncientCraftRPGTab);
	fireshardchunk.setCreativeTab(AncientCraftRPGTab);
	infernostonechunk.setCreativeTab(AncientCraftRPGTab);
	frostshardchunk.setCreativeTab(AncientCraftRPGTab);
	froststonechunk.setCreativeTab(AncientCraftRPGTab);
	dryshardchunk.setCreativeTab(AncientCraftRPGTab);
	drystonechunk.setCreativeTab(AncientCraftRPGTab);
	oceanusshardchunk.setCreativeTab(AncientCraftRPGTab);
	oceanusstonechunk.setCreativeTab(AncientCraftRPGTab);
	earthshardchunk.setCreativeTab(AncientCraftRPGTab);
	earthstonechunk.setCreativeTab(AncientCraftRPGTab);
	fireshardsword.setCreativeTab(AncientCraftRPGTab);
	infernostonesword.setCreativeTab(AncientCraftRPGTab);
	frostshardsword.setCreativeTab(AncientCraftRPGTab);
	froststonesword.setCreativeTab(AncientCraftRPGTab);
	dryshardsword.setCreativeTab(AncientCraftRPGTab);
	drystonesword.setCreativeTab(AncientCraftRPGTab);
	oceanusshardsword.setCreativeTab(AncientCraftRPGTab);
	oceanusstonesword.setCreativeTab(AncientCraftRPGTab);
	earthshardsword.setCreativeTab(AncientCraftRPGTab);
	earthstonesword.setCreativeTab(AncientCraftRPGTab);
	sacrifice.setCreativeTab(AncientCraftRPGTab);
	wand1.setCreativeTab(AncientCraftRPGTab);




	//Achievements
	AchievementPage.registerAchievementPage(page1);
	this.addAchievementLocalizations();

}
private void addAchievementName(String ach, String name)
{
        LanguageRegistry.instance().addStringLocalization("achievement." + ach, "en_US", name);
}

private void addAchievementDesc(String ach, String desc)
{
        LanguageRegistry.instance().addStringLocalization("achievement." + ach + ".desc", "en_US", desc);
}
    private void addAchievementLocalizations()
    {
                    this.addAchievementName("Nexus", "Nexus?!?!");
                    this.addAchievementDesc("Nexus", "Enter The Nexus");
    }
public void PreInit(FMLPreInitializationEvent event)
{

}
public void PostInit(FMLPostInitializationEvent event)
{

}
}

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.