Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Problem with my Forge mod


Adanos
 Share

Recommended Posts

When I try to build my portal it's impossible to launch it! When I put fire inside the structure it doesn't fill with my custom portal block :(

 

Screenshot:

 

jBXr84T.png

 

Code of my custom portal block:

 

package LivingSponge.common;

import java.util.Random;

import net.minecraft.block.Block;
import net.minecraft.block.BlockPortal;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.world.World;

public class BlockSpongePortal extends BlockPortal
{
public BlockSpongePortal(int id, int texture)
{
  super(id, texture);
  this.setCreativeTab(CreativeTabs.tabBlock);
  this.blockIndexInTexture = 5;
  this.setLightValue(14);
  this.setLightOpacity(1);
}
public String getTextureFile()
    {
            return "/LivingSponge/gfx/blocks.png";
    }
public void updateTick(World par1World, int par2, int par3, int par4, Random par5Random)
{

}
public void onEntityCollidedWithBlock(World par1World, int par2, int par3, int par4, Entity par5Entity)
{
  if (par5Entity.ridingEntity == null && par5Entity.riddenByEntity == null)
  {
   if (par5Entity instanceof EntityPlayerMP)
   {
    EntityPlayerMP thePlayer = (EntityPlayerMP) par5Entity;
    if (par5Entity.dimension != Main.SpongeDimension)
    {
     thePlayer.mcServer.getConfigurationManager().transferPlayerToDimension(thePlayer, Main.SpongeDimension, new TeleporterSponge(thePlayer.mcServer.worldServerForDimension(Main.SpongeDimension)));
    }
    else
    {
     thePlayer.mcServer.getConfigurationManager().transferPlayerToDimension(thePlayer, 0, new TeleporterSponge(thePlayer.mcServer.worldServerForDimension(0)));
    }
   }
  }
}
public boolean tryToCreatePortal(World par1World, int par2, int par3, int par4)
    {
        byte var5 = 0;
        byte var6 = 0;

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

        if (par1World.getBlockId(par2, par3, par4 - 1) == Main.instance.blockSpongePortalFrame.blockID || par1World.getBlockId(par2, par3, par4 + 1) == Main.instance.blockSpongePortalFrame.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 != Main.instance.blockSpongePortalFrame.blockID)
                            {
                                return false;
                            }
                        }
                        else if (var10 != 0 && var10 != Block.fire.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, this.blockID);
                }
            }
            par1World.editingBlocks = false;
            return true;
        }
    }
public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random)
    {
        
    }
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) != Main.instance.blockSpongePortalFrame.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) == Main.instance.blockSpongePortalFrame.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) != Main.instance.blockSpongePortalFrame.blockID || par1World.getBlockId(par2 - var6, par3, par4 - var7) != this.blockID) && (par1World.getBlockId(par2 - var6, par3, par4 - var7) != Main.instance.blockSpongePortalFrame.blockID || par1World.getBlockId(par2 + var6, par3, par4 + var7) != this.blockID))
     {
      par1World.setBlockWithNotify(par2, par3, par4, 0);
     }
    }
   }
   else
   {
    par1World.setBlockWithNotify(par2, par3, par4, 0);
   }
  }
}
}

 

 

What do I have to correct? Reply please!!! Sorry for bad English.

Link to comment
Share on other sites

  • 2 weeks later...

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
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.

 Share



×
×
  • Create New...

Important Information

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