zero7717 Posted November 15, 2012 Posted November 15, 2012 I've been trying to get a custom dimension to work for a while. I finally got past the "go to the nether instead of your custom dimension" issue that quite a few people seem to run into, but now I'm getting some weird errors: Firstly, when I travel to my custom dimension, it takes a while to load up the terrain and on one occasion I actually fell out of the world and died before the local area was loaded enough to stand on. This isn't the main issue I'm having, but as long as I'm here, is there anything I can do to fix that? Secondly, the first time I travel to the custom dimension, there is no light. Every block is very dark, and even torches and things don't make any light. This is purely visual; trees can be grown, mushrooms can't be planted, etc. If I exit the game and reload it, everything's lit like normal. Thirdly and most importantly, upon returning to the overworld, I can walk around for a second or two and then the game crashes. Console log == MCP 7.21 (data: 7.21, client: 1.4.4, server: 1.4.4) == [19:48:16] 2012-11-15 19:48:16 [iNFO] [ForgeModLoader] Forge Mod Loader version 4.4.4.442 for Minecraft 1.4.4 loading [19:48:16] 2012-11-15 19:48:16 [iNFO] [ForgeModLoader] Downloading file http://f iles.minecraftforge.net/fmllibs/argo-2.25.jar [19:48:16] 2012-11-15 19:48:16 [iNFO] [ForgeModLoader] Download complete [19:48:16] 2012-11-15 19:48:16 [iNFO] [ForgeModLoader] Downloading file http://f iles.minecraftforge.net/fmllibs/guava-12.0.1.jar [19:48:20] 2012-11-15 19:48:20 [iNFO] [ForgeModLoader] Download complete [19:48:20] 2012-11-15 19:48:20 [iNFO] [ForgeModLoader] Downloading file http://f iles.minecraftforge.net/fmllibs/asm-all-4.0.jar [19:48:20] 2012-11-15 19:48:20 [iNFO] [ForgeModLoader] Download complete [19:48:23] 2012-11-15 19:48:23 [iNFO] [sTDOUT] 27 achievements [19:48:23] 2012-11-15 19:48:23 [iNFO] [sTDOUT] 208 recipes [19:48:23] 2012-11-15 19:48:23 [iNFO] [sTDOUT] Setting user: Player789, - [19:48:23] 2012-11-15 19:48:23 [iNFO] [sTDERR] Client asked for parameter: serve r [19:48:23] 2012-11-15 19:48:23 [iNFO] [sTDOUT] LWJGL Version: 2.4.2 [19:48:24] 2012-11-15 19:48:24 [iNFO] [ForgeModLoader] Attempting early Minecraf tForge initialization [19:48:24] 2012-11-15 19:48:24 [iNFO] [sTDOUT] MinecraftForge v6.3.0.372 Initial ized [19:48:24] 2012-11-15 19:48:24 [iNFO] [ForgeModLoader] MinecraftForge v6.3.0.372 Initialized [19:48:24] 2012-11-15 19:48:24 [iNFO] [sTDOUT] Replaced 84 ore recipies [19:48:24] 2012-11-15 19:48:24 [iNFO] [ForgeModLoader] Completed early Minecraft Forge initialization [19:48:24] 2012-11-15 19:48:24 [iNFO] [ForgeModLoader] No mod directory found, c reating one: C:\Users\Joe\Desktop\minecraft mods\mcpInvfiniverse144\jars\mods [19:48:24] 2012-11-15 19:48:24 [iNFO] [ForgeModLoader] Mod directory created suc cessfully [19:48:24] 2012-11-15 19:48:24 [iNFO] [ForgeModLoader] Config directory created successfully [19:48:25] 2012-11-15 19:48:25 [iNFO] [ForgeModLoader] Searching C:\Users\Joe\De sktop\minecraft mods\mcpInvfiniverse144\jars\mods for mods [19:48:26] 2012-11-15 19:48:26 [iNFO] [ForgeModLoader] Forge Mod Loader has iden tified 4 mods to load [19:48:26] 2012-11-15 19:48:26 [iNFO] [ForgeModLoader] Configured a dormant chun k cache size of 0 [19:48:26] 2012-11-15 19:48:26 [iNFO] [sTDOUT] Starting up SoundSystem... [19:48:27] 2012-11-15 19:48:27 [iNFO] [sTDOUT] Initializing LWJGL OpenAL [19:48:27] 2012-11-15 19:48:27 [iNFO] [sTDOUT] (The LWJGL binding of OpenAL. For more information, see http://www.lwjgl.org) [19:48:27] 2012-11-15 19:48:27 [iNFO] [sTDOUT] OpenAL initialized. [19:48:28] 2012-11-15 19:48:28 [iNFO] [ForgeModLoader] Forge Mod Loader has succ essfully loaded 4 mods [19:48:38] 2012-11-15 19:48:38 [iNFO] [sTDOUT] Scanning folders... [19:48:38] 2012-11-15 19:48:38 [iNFO] [sTDOUT] Total conversion count is 0 [19:48:39] 2012-11-15 19:48:39 [iNFO] [ForgeModLoader] Loading dimension 0 (New World) (net.minecraft.src.IntegratedServer@29dd8664) [19:48:39] 2012-11-15 19:48:39 [iNFO] [ForgeModLoader] Loading dimension 2 (New World) (net.minecraft.src.IntegratedServer@29dd8664) [19:48:39] 2012-11-15 19:48:39 [iNFO] [ForgeModLoader] Loading dimension 1 (New World) (net.minecraft.src.IntegratedServer@29dd8664) [19:48:39] 2012-11-15 19:48:39 [iNFO] [ForgeModLoader] Loading dimension -1 (New World) (net.minecraft.src.IntegratedServer@29dd8664) [19:51:25] 2012-11-15 19:51:25 [iNFO] [ForgeModLoader] Unloading dimension 0 [19:51:25] 2012-11-15 19:51:25 [iNFO] [ForgeModLoader] Unloading dimension 1 [19:51:36] 2012-11-15 19:51:36 [iNFO] [ForgeModLoader] Loading dimension 0 (New World) (net.minecraft.src.IntegratedServer@5987f36) [19:51:36] 2012-11-15 19:51:36 [iNFO] [ForgeModLoader] Loading dimension 2 (New World) (net.minecraft.src.IntegratedServer@5987f36) [19:51:36] 2012-11-15 19:51:36 [iNFO] [ForgeModLoader] Loading dimension 1 (New World) (net.minecraft.src.IntegratedServer@5987f36) [19:51:36] 2012-11-15 19:51:36 [iNFO] [ForgeModLoader] Loading dimension -1 (New World) (net.minecraft.src.IntegratedServer@5987f36) [19:52:13] 2012-11-15 19:52:13 [iNFO] [ForgeModLoader] Unloading dimension 0 [19:52:13] 2012-11-15 19:52:13 [iNFO] [sTDERR] net.minecraft.src.ReportedExcepti on: Ticking memory connection [19:52:13] 2012-11-15 19:52:13 [iNFO] [sTDERR] at net.minecraft.src.NetworkList enThread.networkTick(NetworkListenThread.java:62) [19:52:13] 2012-11-15 19:52:13 [iNFO] [sTDERR] at net.minecraft.src.IntegratedS erverListenThread.networkTick(IntegratedServerListenThread.java:111) [19:52:13] 2012-11-15 19:52:13 [iNFO] [sTDERR] at net.minecraft.server.Minecraf tServer.updateTimeLightAndEntities(MinecraftServer.java:691) [19:52:13] 2012-11-15 19:52:13 [iNFO] [sTDERR] at net.minecraft.server.Minecraf tServer.tick(MinecraftServer.java:587) [19:52:13] 2012-11-15 19:52:13 [iNFO] [sTDERR] at net.minecraft.src.IntegratedS erver.tick(IntegratedServer.java:110) [19:52:13] 2012-11-15 19:52:13 [iNFO] [sTDERR] at net.minecraft.server.Minecraf tServer.run(MinecraftServer.java:494) [19:52:13] 2012-11-15 19:52:13 [iNFO] [sTDERR] at net.minecraft.src.ThreadMinec raftServer.run(ThreadMinecraftServer.java:17) [19:52:13] 2012-11-15 19:52:13 [iNFO] [sTDERR] Caused by: java.lang.RuntimeExcep tion: Cannot Hotload Dim: Overworld is not Loaded! [19:52:13] 2012-11-15 19:52:13 [iNFO] [sTDERR] at net.minecraftforge.common.Dim ensionManager.initDimension(DimensionManager.java:142) [19:52:13] 2012-11-15 19:52:13 [iNFO] [sTDERR] at net.minecraft.server.Minecraf tServer.worldServerForDimension(MinecraftServer.java:746) [19:52:13] 2012-11-15 19:52:13 [iNFO] [sTDERR] at net.minecraft.src.NetServerHa ndler.handleFlying(NetServerHandler.java:122) [19:52:14] 2012-11-15 19:52:13 [iNFO] [sTDERR] at net.minecraft.src.Packet10Fly ing.processPacket(Packet10Flying.java:51) [19:52:14] 2012-11-15 19:52:13 [iNFO] [sTDERR] at net.minecraft.src.MemoryConne ction.processReadPackets(MemoryConnection.java:79) [19:52:14] 2012-11-15 19:52:13 [iNFO] [sTDERR] at net.minecraft.src.NetServerHa ndler.networkTick(NetServerHandler.java:82) [19:52:14] 2012-11-15 19:52:13 [iNFO] [sTDERR] at net.minecraft.src.NetworkList enThread.networkTick(NetworkListenThread.java:55) [19:52:14] 2012-11-15 19:52:13 [iNFO] [sTDERR] ... 6 more [19:52:14] 2012-11-15 19:52:14 [iNFO] [ForgeModLoader] Unloading dimension -1 [19:52:14] 2012-11-15 19:52:14 [iNFO] [ForgeModLoader] Unloading dimension 0 [19:52:24] 2012-11-15 19:52:24 [iNFO] [sTDOUT] Stopping! [19:52:24] 2012-11-15 19:52:24 [iNFO] [sTDOUT] SoundSystem shutting down... [19:52:24] 2012-11-15 19:52:24 [iNFO] [sTDOUT] Author: Paul Lamb, www.paulsc ode.com Crash report ---- Minecraft Crash Report ---- // Uh... Did I do that? Time: 11/15/12 8:41 PM Description: Ticking memory connection java.lang.RuntimeException: Cannot Hotload Dim: Overworld is not Loaded! at net.minecraftforge.common.DimensionManager.initDimension(DimensionManager.java:142) at net.minecraft.server.MinecraftServer.worldServerForDimension(MinecraftServer.java:746) at net.minecraft.src.NetServerHandler.handleFlying(NetServerHandler.java:122) at net.minecraft.src.Packet10Flying.processPacket(Packet10Flying.java:51) at net.minecraft.src.MemoryConnection.processReadPackets(MemoryConnection.java:79) at net.minecraft.src.NetServerHandler.networkTick(NetServerHandler.java:82) at net.minecraft.src.NetworkListenThread.networkTick(NetworkListenThread.java:55) at net.minecraft.src.IntegratedServerListenThread.networkTick(IntegratedServerListenThread.java:111) at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:691) at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:587) at net.minecraft.src.IntegratedServer.tick(IntegratedServer.java:110) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:494) at net.minecraft.src.ThreadMinecraftServer.run(ThreadMinecraftServer.java:17) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- System Details -- Details: Minecraft Version: 1.4.4 Operating System: Windows 7 (amd64) version 6.1 Java Version: 1.6.0_27, Sun Microsystems Inc. Java VM Version: Java HotSpot 64-Bit Server VM (mixed mode), Sun Microsystems Inc. Memory: 813221416 bytes (775 MB) / 1065025536 bytes (1015 MB) up to 1065025536 bytes (1015 MB) JVM Flags: 3 total; -Xincgc -Xms1024M -Xmx1024M AABB Pool Size: 9689 (542584 bytes; 0 MB) allocated, 4046 (226576 bytes; 0 MB) used Suspicious classes: $Proxy3, $Proxy4, $Proxy5, ...[com.google.common.base.Preconditions, Charsets, Splitter, ...], [com.google.common.cache.CacheLoader, CacheBuilder, Cache, ...], [com.google.common.collect.Multimap, ListMultimap, AbstractMultimap, ...], [com.google.common.eventbus.EventBus, HandlerFindingStrategy, AnnotatedHandlerFinder, ...], [com.google.common.hash.Hashing, HashFunction, AbstractStreamingHashFunction, ...], [com.google.common.io.LineProcessor, Resources, InputSupplier, ...], [com.google.common.primitives.Ints, UnsignedBytes, Bytes], [com.google.common.reflect.TypeCapture, TypeToken, SimpleTypeToken, ...], [com.google.common.util.concurrent.UncheckedExecutionException, ExecutionError, MoreExecutors, ...], [cpw.mods.fml.client.ITextureFX, FMLTextureFX, TextureFXManager, ...], [cpw.mods.fml.client.modloader.ModLoaderClientHelper, ModLoaderKeyBindingHandler], [cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler, KeyHandler, RenderingRegistry, ...], [cpw.mods.fml.common.Loader, LoaderException, WrongMinecraftVersionException, ...], [cpw.mods.fml.common.asm.FMLSanityChecker, MLDetectorClassVisitor, SideOnly], [cpw.mods.fml.common.asm.transformers.AccessTransformer, Modifier, MarkerTransformer, ...], [cpw.mods.fml.common.discovery.ModDiscoverer, ASMDataTable, ModCandidate, ...], [cpw.mods.fml.common.discovery.asm.ASMModParser, ModClassVisitor, ModAnnotationVisitor, ...], [cpw.mods.fml.common.event.FMLLoadEvent, FMLEvent, FMLStateEvent, ...], [cpw.mods.fml.common.functions.ModIdFunction], [cpw.mods.fml.common.modloader.IModLoaderSidedHelper, ModLoaderHelper, ModLoaderVillageTradeHandler, ...], [cpw.mods.fml.common.network.Player, IPacketHandler, IConnectionHandler, ...], [cpw.mods.fml.common.registry.BlockProxy, ItemProxy, LanguageRegistry, ...], [cpw.mods.fml.common.toposort.ModSortingException, ModSorter, DirectedGraph, ...], [cpw.mods.fml.common.versioning.ArtifactVersion, VersionParser, InvalidVersionSpecificationException, ...], [infiniverse.client.ClientProxyInfiniverse], [infiniverse.common.Infiniverse, CommonProxyInfiniverse, IVWorldProviderBasic, ...], [net.minecraft.src.CallableMinecraftVersion, IPlayerUsage, MinecraftError, ...], [net.minecraftforge.client.ForgeHooksClient, ModCompatibilityClient, MinecraftForgeClient, ...], [net.minecraftforge.client.event.TextureLoadEvent, DrawBlockHighlightEvent, RenderWorldLastEvent, ...], [net.minecraftforge.client.event.sound.SoundEvent, SoundLoadEvent, SoundResultEvent, ...], [net.minecraftforge.common.IPlantable, IShearable, ISidedInventory, ...], [net.minecraftforge.event.Event, ListenerList, EventBus, ...], [net.minecraftforge.event.entity.EntityEvent, EntityJoinWorldEvent, PlaySoundAtEntityEvent, ...], [net.minecraftforge.event.entity.item.ItemEvent, ItemExpireEvent, ItemTossEvent], [net.minecraftforge.event.entity.living.LivingEvent, LivingSpecialSpawnEvent, LivingUpdateEvent, ...], [net.minecraftforge.event.entity.player.PlayerEvent, ArrowLooseEvent, ArrowNockEvent, ...], [net.minecraftforge.event.world.WorldEvent, Load, Save, ...], [net.minecraftforge.oredict.OreDictionary, OreRegisterEvent, ShapedOreRecipe, ...], [net.minecraftforge.transformers.ForgeAccessTransformer, EventTransformer], [org.objectweb.asm.ClassVisitor, ClassWriter, MethodVisitor, ...], [org.objectweb.asm.tree.ClassNode, MethodNode, FieldNode, ...] IntCache: cache: 0, tcache: 0, allocated: 3, tallocated: 63 FML: MCP v7.21 FML v4.4.4.442 Minecraft Forge 6.3.0.372 4 mods loaded, 4 mods active mcp [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available FML [Forge Mod Loader] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available Forge [Minecraft Forge] (coremods) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available zero_infiniverse [infiniverse] (minecraft) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available->Available->Available Profiler Position: N/A (disabled) Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used Player Count: 1 / 8; [EntityPlayerMP['Player32'/14893, l='New World', x=-214.10, y=57.23, z=226.95]] Type: Integrated Server (map_client.txt) Is Modded: Definitely; Client brand changed to 'forge,fml' Base mod class package infiniverse.common; import net.minecraft.src.Block; import net.minecraft.src.BlockPortal; import net.minecraft.src.Item; import net.minecraft.src.ItemStack; import net.minecraftforge.common.DimensionManager; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.Init; import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.network.NetworkMod; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.common.registry.LanguageRegistry; @Mod(modid = "zero_infiniverse", name = "Infiniverse", version = "0.1") @NetworkMod(clientSideRequired = true, serverSideRequired = false) public class Infiniverse { public static Block ivstabilizer; public static Block ivwormhole; private int maxworlds; //public int[] dimIDlist; public static int dimID; @SidedProxy(clientSide = "infiniverse.client.ClientProxyInfiniverse", serverSide = "infiniverse.common.CommonProxyInfiniverse") public static CommonProxyInfiniverse proxy; @Init public void load(FMLInitializationEvent event) { // find some some dimension IDs and register them /*dimIDlist = new int[maxworlds]; DimensionManager.registerProviderType(7717, IVWorldProviderBasic.class, false) for (int i = 0; i < maxworlds; i++) { dimIDlist[i] = DimensionManager.getNextFreeDimId(); DimensionManager.registerDimension(dimIDlist[i], 7717); }*/ dimID = DimensionManager.getNextFreeDimId(); DimensionManager.registerProviderType(dimID, IVWorldProviderBasic.class, false); DimensionManager.registerDimension(dimID, dimID); // register stabilizer block ivstabilizer = new IVBlockStabilizer(230, 0).setStepSound(Block.soundStoneFootstep).setHardness(3F).setResistance(1.0F).setBlockName("ivstabilizer"); GameRegistry.registerBlock(ivstabilizer); LanguageRegistry.addName(ivstabilizer, "Happy Fun Block"); // register portal block ivwormhole = new IVBlockWormhole(231, 14).setHardness(-1F).setStepSound(Block.soundGlassFootstep).setLightValue(0.75F).setBlockName("ivwormhole"); GameRegistry.registerBlock(ivwormhole); LanguageRegistry.addName(ivwormhole, "Happy Fun Wormhole"); // register stabilizer recipe GameRegistry.addRecipe(new ItemStack(ivstabilizer), new Object[] { "WpW", "rSr", "WSW", 'W', Block.planks, 'S', Block.stone, 'p', Item.enderPearl, 'r', Item.redstone }); // register texture files proxy.registerRenderThings(); } } Portal block class package infiniverse.common; import java.util.Random; import net.minecraft.server.MinecraftServer; import net.minecraft.src.AxisAlignedBB; import net.minecraft.src.Block; import net.minecraft.src.BlockBreakable; import net.minecraft.src.BlockPortal; import net.minecraft.src.Entity; import net.minecraft.src.EntityList; import net.minecraft.src.EntityPlayer; import net.minecraft.src.EntityPlayerMP; import net.minecraft.src.IBlockAccess; import net.minecraft.src.ItemMonsterPlacer; import net.minecraft.src.Material; import net.minecraft.src.World; import net.minecraft.src.WorldServer; import cpw.mods.fml.common.Side; import cpw.mods.fml.common.asm.SideOnly; public class IVBlockWormhole extends BlockPortal { public IVBlockWormhole(int par1, int par2) { super(par1, par2); this.setTickRandomly(true); } /** * Ticks the block if it's been scheduled */ //public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random) /** * 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) { this.setBlockBounds(0, 0, 0, 1, 1, 1); // wormhole portals are cubey for now } /** * 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 boolean tryToCreatePortal(World world, int i, int j, int k) { // If blocks above block are air, air, iron, create portal if(world.getBlockId(i, j+1, k) == 0 && world.getBlockId(i, j+2, k) == 0 && world.getBlockId(i, j+3, k) == Block.blockSteel.blockID) { world.editingBlocks = true; for (int n=1; n <= 2; n++) world.setBlockWithNotify(i, j+n, k, Infiniverse.ivwormhole.blockID); world.editingBlocks = false; return true; } return false; } /** * 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 */ @Override public void onNeighborBlockChange(World world, int i, int j, int k, int l) { // kill self if any part of system breaks, or new portal placed nearby if ((world.getBlockId(i, j-1, k) == 0) || (world.getBlockId(i, j+1, k) == 0)) world.setBlockWithNotify(i, j, k, 0); if (arePortalsNear(world, i, j, k, 0, 1, false)) world.setBlockWithNotify(i, j, k, 0); } //check if portals exist in a vertical column at or above target //warning! More recursion than necessary done if horiz > 1. Need to handle this if wider search needed. public boolean arePortalsNear(World world, int i, int j, int k, int vert, int horiz, boolean self) { //if current block is portal if (self == true && ((world.getBlockId(i, j, k) == 90) || (world.getBlockId(i, j, k) == 231))) { return true; } //check horizontals if (horiz > 0) { if (arePortalsNear(world, i+1, j, k, 0, horiz-1, true)) return true; if (arePortalsNear(world, i-1, j, k, 0, horiz-1, true)) return true; if (arePortalsNear(world, i, j, k+1, 0, horiz-1, true)) return true; if (arePortalsNear(world, i, j, k-1, 0, horiz-1, true)) return true; } //check level above if (vert > 0) return (arePortalsNear(world, i, j+1, k, vert-1, horiz, true)); return false; } @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 x, int y, int z, int side) { if (par1IBlockAccess.getBlockId(x, y, z) == this.blockID) { return false; } else { switch (side) { case 0: return par1IBlockAccess.getBlockId(x, y-1, z) != this.blockID; case 1: return par1IBlockAccess.getBlockId(x, y+1, z) != this.blockID; case 2: return par1IBlockAccess.getBlockId(x, y, z-1) != this.blockID; case 3: return par1IBlockAccess.getBlockId(x, y, z+1) != this.blockID; case 4: return par1IBlockAccess.getBlockId(x-1, y, z) != this.blockID; case 5: return par1IBlockAccess.getBlockId(x+1, y, z) != this.blockID; default: return false; } } } /** * Triggered whenever an entity collides with this block (enters into the block). Args: world, x, y, z, entity */ @Override public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity entityPlayer) { if (!(entityPlayer.ridingEntity == null && entityPlayer.riddenByEntity == null && (entityPlayer instanceof EntityPlayerMP) && (entityPlayer.worldObj instanceof WorldServer))) return; EntityPlayerMP ent = (EntityPlayerMP)entityPlayer; WorldServer wserv = (WorldServer) ent.worldObj; if (ent.timeUntilPortal < 50) { ent.timeUntilPortal = 200; } else if (ent.timeUntilPortal >= 50 && ent.timeUntilPortal <= 100) { ent.timeUntilPortal = 250; int currentdim = ent.dimension; if (currentdim != Infiniverse.dimID) // if not in other place yet, send them there { ent.mcServer.getConfigurationManager().transferPlayerToDimension(ent, Infiniverse.dimID, new IVTeleporterBasic(wserv)); } else { ent.mcServer.getConfigurationManager().transferPlayerToDimension(ent, 0, new IVTeleporterBasic(wserv)); } } } } World provider class package infiniverse.common; import net.minecraft.src.BiomeGenBase; import net.minecraft.src.Block; import net.minecraft.src.Chunk; import net.minecraft.src.ChunkCoordinates; import net.minecraft.src.Entity; import net.minecraft.src.EntityPlayer; import net.minecraft.src.EnumGameType; import net.minecraft.src.IChunkProvider; import net.minecraft.src.MathHelper; import net.minecraft.src.Vec3; import net.minecraft.src.World; import net.minecraft.src.WorldChunkManager; import net.minecraft.src.WorldChunkManagerHell; import net.minecraft.src.WorldInfo; import net.minecraft.src.WorldProvider; import net.minecraft.src.WorldProviderEnd; import net.minecraft.src.WorldProviderHell; import net.minecraft.src.WorldType; import net.minecraftforge.client.SkyProvider; import net.minecraftforge.common.DimensionManager; import cpw.mods.fml.common.Side; import cpw.mods.fml.common.asm.SideOnly; public class IVWorldProviderBasic extends WorldProvider { public final String saveFolder; /** * States whether the Hell world provider is used(true) or if the normal world provider is used(false) */ public boolean isHellWorld = false; /** * A boolean that tells if a world does not have a sky. Used in calculating weather and skylight */ public boolean hasNoSky = false; public int dimensionId = Infiniverse.dimID; public IVWorldProviderBasic() { setDimension(Infiniverse.dimID); this.saveFolder = ("IV-A-" + Infiniverse.dimID); } /** * creates a new world chunk manager for WorldProvider */ protected void registerWorldChunkManager() { // TODO change later? //this.worldChunkMgr = new IVWorldChunkManagerBasic(worldObj); this.worldChunkMgr = new WorldChunkManagerHell(BiomeGenBase.plains, 1.0F, 0.0F); this.isHellWorld = false; this.hasNoSky = false; this.dimensionId = Infiniverse.dimID; } /** * Will check if the x, z position specified is alright to be set as the map spawn point */ public boolean canCoordinateBeSpawn(int par1, int par2) { return false; } /** * True if the player can respawn in this dimension (true = overworld, false = nether). */ public boolean canRespawnHere() { return false; } public String getDimensionName() { return "Another World"; } /** * A message to display to the user when they transfer to this dimension. * * @return The message to be displayed */ public String getWelcomeMessage() { return "Entering Another World"; } /** * A Message to display to the user when they transfer out of this dismension. * * @return The message to be displayed */ public String getDepartMessage() { return "Leaving Another World"; } } Is there any chance anyone else can figure out what I'm doing wrong? I've been trying to figure this out for a while. EDIT: Updated to MC 1.4.4 and appropriate MCP and Forge releases. Same problems still happening. EDIT 2: Added a crash report, forgot about that one. Quote
LexManos Posted November 16, 2012 Posted November 16, 2012 1) Please dont post mojang code -.- your provider class can be like, 5 lines of code go learn object inheratance. 2) Interesting nothing should unless the overworld unless you screw with the registration in the dimension manager. Anything marked as 'keepLoaded' should never be unloaded. Quote I do Forge for free, however the servers to run it arn't free, so anything is appreciated. Consider supporting the team on Patreon
zero7717 Posted November 16, 2012 Author Posted November 16, 2012 Sorry about that, I know about object inheritance but I kept most of the functions around in case I wanted to change them later. In any case, I'll try again with a trimmed-down file and post that one (I doubt it'll fix my problem but at least it'll be easier to read). EDIT: Holy batmobiles, it did fix it (the lighting works too now). That'll teach me to override as many things as possible ahead of time, I guess. Thanks! Quote
Recommended Posts
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.