Jump to content

useportal doesn't work without modifying base files


Jdb100

Recommended Posts

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";
    }
}

 

 

Link to comment
Share on other sites

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.