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