Jump to content

Recommended Posts

Posted

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)
{

}
}

Posted

the blocks ids must be lower than 256 (its a chunk bug, which forge semi fixed, like, without forge the chunks can only generate with block ids lower than 127)

@OffTopic

PLEASE USE spoiler and /spoiler ...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

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