Jump to content

[1.8][SOLVED] Has Anyone fixed their portals for their custom dimensions?


Recommended Posts

Posted

Ok, I'm asking everyone who is modding 1.8 if you have made any kind of rewrite of to your custom portals and dimensions AND has had success with getting them to work correctly. If anyone has, please respond to this or PM and show me your code or at least explain how you fixed it. I WILL give them full credit to the code also. If you need to see my code, it is on Github with latest changes: https://github.com/NovaViper/ZeroQuest/tree/master/src/main

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

  • Replies 57
  • Created
  • Last Reply

Top Posters In This Topic

Posted

Actually I didn't change much with my portal, except simply move x,y,z to BlockPos.

 

Here's my BlockPortal, which is slightly changed since 1.7.2:

// package and imports
...

public class BlockTaoPortal extends BlockBreakable {

public static final PropertyDirection FACING = PropertyDirection.create("facing", EnumFacing.Plane.HORIZONTAL);

public BlockTaoPortal() {
	super(Material.portal, false);
	MinecraftForge.EVENT_BUS.register(new EventHandler());
	TaoLandMod.runner.registerLoopTask(new CheckYinyangBallTask());
}

@Override
public AxisAlignedBB getCollisionBoundingBox(World world, BlockPos pos, IBlockState state) {
	return null;
}

@Override
public boolean isFullCube() {
	return false;
}

@Override
public int quantityDropped(Random rand) {
	return 0;
}

@Override
@SideOnly(Side.CLIENT)
public final Item getItem(World world, BlockPos pos) {
	return null;
}

@Override
@SideOnly(Side.CLIENT)
public EnumWorldBlockLayer getBlockLayer() {
	return EnumWorldBlockLayer.TRANSLUCENT;
}

@Override
public void setBlockBoundsBasedOnState(IBlockAccess world, BlockPos pos) {
	IBlockState state = world.getBlockState(pos);
	EnumFacing facing = (EnumFacing)state.getValue(FACING);
	if(facing == EnumFacing.EAST || facing == EnumFacing.WEST) {
		this.setBlockBounds(0.4f, 0, 0, 0.6f, 1, 1);
	} else {
		this.setBlockBounds(0, 0, 0.4f, 1, 1, 0.6f);
	}
}

@Override
public void onNeighborBlockChange(World world, BlockPos pos, IBlockState state, Block block) {
	EnumFacing facing = (EnumFacing)state.getValue(FACING);
	boolean shouldBreak = false;

	shouldBreak |= (!blockIsPortalOrSolid(world.getBlockState(pos.down()).getBlock()) ||
			!blockIsPortalOrSolid(world.getBlockState(pos.up()).getBlock()));

	if(facing == EnumFacing.EAST || facing == EnumFacing.WEST) {
		shouldBreak |= (!blockIsPortalOrSolid(world.getBlockState(pos.north()).getBlock()) ||
				!blockIsPortalOrSolid(world.getBlockState(pos.south()).getBlock()));
	} else {
		shouldBreak |= (!blockIsPortalOrSolid(world.getBlockState(pos.east()).getBlock()) ||
				!blockIsPortalOrSolid(world.getBlockState(pos.west()).getBlock()));
	}

	if(shouldBreak) {
		world.setBlockState(pos, Blocks.air.getDefaultState());
	}
}

public boolean blockIsPortalOrSolid(Block block) {
	return block.isOpaqueCube() || block == this;
}

@Override
public void onEntityCollidedWithBlock(World world, BlockPos pos, IBlockState state, Entity entity) {
	if(entity.ridingEntity == null && entity.riddenByEntity == null && entity.timeUntilPortal <= 0) {
		int id = TaoLandModConfig.instance().dimensionId;
		if(entity.dimension == id) {
			id = 0;
		}

		if(entity instanceof EntityPlayerMP) {
  
			EntityPlayerMP player = (EntityPlayerMP)entity;
			MinecraftServer mcServer = player.mcServer;

			if(id == 0) {
				Teleporter teleporter = new TaoTeleporter(mcServer.worldServerForDimension(id));
				mcServer.getConfigurationManager().transferPlayerToDimension(player, id, teleporter);
			} else {
				player.triggerAchievement(TaoLandAchievement.tao);
				Teleporter teleporter = new TaoTeleporter(mcServer.worldServerForDimension(id));
				mcServer.getConfigurationManager().transferPlayerToDimension(player, id, teleporter);
				player.triggerAchievement(TaoLandAchievement.taoWorld);
			}
		} else {
			travelToDimension(entity, id);
		}
	}
}

private void travelToDimension(Entity entity, int id) {
	if (!entity.worldObj.isRemote && !entity.isDead) {
		entity.worldObj.theProfiler.startSection("changeDimension");
		MinecraftServer minecraftserver = MinecraftServer.getServer();
		int j = entity.dimension;
		WorldServer worldserver = minecraftserver.worldServerForDimension(j);
		WorldServer worldserver1 = minecraftserver.worldServerForDimension(id);
		entity.dimension = id;

		if (j == 1 && id == 1)
		{
			worldserver1 = minecraftserver.worldServerForDimension(0);
			entity.dimension = 0;
		}

		entity.worldObj.removeEntity(entity);
		entity.isDead = false;
		entity.worldObj.theProfiler.startSection("reposition");
		minecraftserver.getConfigurationManager().transferEntityToWorld(entity, j, worldserver, worldserver1, new TaoTeleporter(worldserver1));
		entity.worldObj.theProfiler.endStartSection("reloading");
		Entity entity1 = EntityList.createEntityByName(EntityList.getEntityString(entity), worldserver1);

		if (entity1 != null)
		{
			entity1.copyDataFromOld(entity);

			if (j == 1 && id == 1)
			{
				BlockPos spawnPoint = worldserver1.getSpawnPoint();
				spawnPoint = entity.worldObj.getTopSolidOrLiquidBlock(spawnPoint);
				entity1.setLocationAndAngles(spawnPoint.getX(), spawnPoint.getY(), spawnPoint.getZ(), entity1.rotationYaw, entity1.rotationPitch);
			}

			worldserver1.spawnEntityInWorld(entity1);
		}

		entity.isDead = true;
		entity.worldObj.theProfiler.endSection();
		worldserver.resetUpdateEntityTick();
		worldserver1.resetUpdateEntityTick();
		entity.worldObj.theProfiler.endSection();
	}
}

@Override
public IBlockState getStateFromMeta(int meta) {
	EnumFacing facing = EnumFacing.getFront(meta);
	return this.getDefaultState().withProperty(FACING, facing);
}

@Override
public int getMetaFromState(IBlockState state) {
	return ((EnumFacing)state.getValue(FACING)).getIndex();
}

@Override
protected BlockState createBlockState() {
	return new BlockState(this, new IProperty[] { FACING });
}

@SideOnly(Side.CLIENT)
@Override
public void randomDisplayTick(World world, BlockPos pos, IBlockState state, Random rand) {
	Axis axis = ((EnumFacing)state.getValue(FACING)).getAxis();
	boolean cond = axis == Axis.Z;
	int i = rand.nextInt(2) * 2 - 1;
	TaoLandMod.proxy.spawnParticleInWorld(ParticleType.PORTAL, world,
			pos.getX() + rand.nextDouble(),
			pos.getY() + rand.nextDouble(),
			pos.getZ() + rand.nextDouble(),
			i * (cond ? 0 : 1), 0, i * (cond ? 1 : 0),
			world.provider.getDimensionId() != 0);
}

private List<EntityItem> yinyangBalls = new ArrayList<EntityItem>();

public class EventHandler {
	@SubscribeEvent
	public void onItemToss(ItemTossEvent event) {
		EntityItem ei = event.entityItem;
		if(ei.getEntityItem().getItem() == TaoLandItems.yinyangBall &&
				(ei.dimension == 0 || ei.dimension == TaoLandModConfig.instance().dimensionId)) {
			yinyangBalls.add(ei);
		}
	}
}

class CheckYinyangBallTask implements Runnable {
	@Override
	public void run() {
		Iterator<EntityItem> it = yinyangBalls.iterator();
		while(it.hasNext()) {
			EntityItem ei = it.next();

			int x = MathHelper.floor_double(ei.posX);
			int y = MathHelper.floor_double(ei.posY);
			int z = MathHelper.floor_double(ei.posZ);
			if(ei.isBurning()) {
				ei.setDead();
				ei.worldObj.createExplosion(ei, ei.posX, ei.posY, ei.posZ, 1, false);
				y--;
				int meta = ei.worldObj.rand.nextInt(4)+1;
				new TaoTeleporter((WorldServer) ei.worldObj).buildPortal(x-(meta==1?1:2), y, z-(meta==3?1:2), meta, false);
			}

			if(ei.isDead) {
				it.remove();
			}
		}
	}
}

}

Author of Tao Land Mod.

width=200 height=69http://taoland.herbix.me/images/1/14/TaoLandLogo.png[/img]

Also, author of RenderTo

----

I'm not an English native speaker. I just try my best.

Posted

It's under block/portal but here it is incase you can't find it

 

package common.zeroquest.block.portal;

import java.util.Random;

import common.zeroquest.ModBlocks;
import common.zeroquest.ZeroQuest;
import net.minecraft.block.Block;
import net.minecraft.block.BlockPortal;
import net.minecraft.block.material.Material;
import net.minecraft.block.properties.PropertyEnum;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.init.Blocks;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.FMLCommonHandler;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

public class BlockPortalNillax extends BlockPortal{

public BlockPortalNillax() {
	super();
        this.setStepSound(soundTypeGlass);
}

 @Override
 public int getLightValue(IBlockAccess world, BlockPos pos){ return 14; }

@Override
public void onEntityCollidedWithBlock(World world, BlockPos pos, Entity entity){
	if(entity.ridingEntity == null && entity.riddenByEntity == null && entity instanceof EntityPlayerMP){
		EntityPlayerMP player = (EntityPlayerMP) entity;
		FMLCommonHandler.instance().getMinecraftServerInstance();
		MinecraftServer server = MinecraftServer.getServer();

		if(player.timeUntilPortal > 0){
			player.timeUntilPortal = 10;
		}else if(player.dimension != ZeroQuest.NillaxID){
			player.timeUntilPortal = 10;
			player.mcServer.getConfigurationManager().transferPlayerToDimension(player, ZeroQuest.NillaxID, new TeleporterNillax(server.worldServerForDimension(ZeroQuest.NillaxID), false));
		}else{
			player.timeUntilPortal = 10;
			player.mcServer.getConfigurationManager().transferPlayerToDimension(player, 0, new TeleporterNillax(server.worldServerForDimension(0), false));
		}
	}
}

@Override
    public boolean func_176548_d(World par1World, BlockPos blockPos) //func_176548_d
    {
        byte b0 = 0;
        byte b1 = 0;
        
        int par2= blockPos.getX();
        int par3= blockPos.getY();
        int par4= blockPos.getZ();

        if (par1World.getBlockState(new BlockPos(par2 - 1, par3, par4)).getBlock() == ModBlocks.darkaxStone || par1World.getBlockState(new BlockPos(par2 + 1, par3, par4)).getBlock() == ModBlocks.darkaxStone)
        {
            b0 = 1;
        }

        if (par1World.getBlockState(new BlockPos(par2, par3, par4 - 1)).getBlock() == ModBlocks.darkaxStone || par1World.getBlockState(new BlockPos(par2, par3, par4 + 1)).getBlock() == ModBlocks.darkaxStone)
        {
            b1 = 1;
        }

        if (b0 == b1)
        {
            return false;
        }
        else
        {
            if (par1World.isAirBlock(new BlockPos(par2 - b0, par3, par4 - b1)))
            {
                par2 -= b0;
                par4 -= b1;
            }

            int l;
            int i1;

            for (l = -1; l <= 2; ++l)
            {
                for (i1 = -1; i1 <= 3; ++i1)
                {
                    boolean flag = l == -1 || l == 2 || i1 == -1 || i1 == 3;

                    if (l != -1 && l != 2 || i1 != -1 && i1 != 3)
                    {
                        Block j1 = par1World.getBlockState(new BlockPos(par2 + b0 * l, par3 + i1, par4 + b1 * l)).getBlock();
                        boolean isAirBlock = par1World.isAirBlock(new BlockPos(par2 + b0 * l, par3 + i1, par4 + b1 * l));

                        if (flag)
                        {
                            if (j1 != ModBlocks.darkaxStone)
                            {
                                return false;
                            }
                        }
                        else if (!isAirBlock && j1 != ModBlocks.darkFire)
                        {
                            return false;
                        }
                    }
                }
            }

            for (l = 0; l < 2; ++l)
            {
                for (i1 = 0; i1 < 3; ++i1)
                {
                    par1World.setBlockState(new BlockPos(par2 + b0 * l, par3 + i1, par4 + b1 * l), ModBlocks.portalDarkax.getDefaultState());
                }
            }

            return true;
        }
    }
    @Override
    public void randomDisplayTick(World worldIn, BlockPos pos, IBlockState state, Random rand)
    {
    	
        int par2= pos.getX();
        int par3= pos.getY();
        int par4= pos.getZ();
    	
        if (rand.nextInt(100) == 0)
        {
        	worldIn.playSound((double)pos.getX() + 0.5D, (double)pos.getY() + 0.5D, (double)pos.getZ() + 0.5D, "portal.portal", 0.5F, rand.nextFloat() * 0.4F + 0.8F, false);
        }

        for (int i = 0; i < 4; ++i)
        {
            double d0 = (double)((float)pos.getX() + rand.nextFloat());
            double d1 = (double)((float)pos.getY() + rand.nextFloat());
            double d2 = (double)((float)pos.getZ() + rand.nextFloat());
            double d3 = ((double)rand.nextFloat() - 0.5D) * 0.5D;
            double d4 = ((double)rand.nextFloat() - 0.5D) * 0.5D;
            double d5 = ((double)rand.nextFloat() - 0.5D) * 0.5D;
            int j = rand.nextInt(2) * 2 - 1;

            if (worldIn.getBlockState(pos.west()).getBlock() != this && worldIn.getBlockState(pos.east()).getBlock() != this)
            {
                d0 = (double)pos.getX() + 0.5D + 0.25D * (double)j;
                d3 = (double)(rand.nextFloat() * 2.0F * (float)j);
            }
            else
            {
                d2 = (double)pos.getZ() + 0.5D + 0.25D * (double)j;
                d5 = (double)(rand.nextFloat() * 2.0F * (float)j);
            }

            worldIn.spawnParticle(EnumParticleTypes.PORTAL, d0, d1, d2, d3, d4, d5, new int[0]);
        }
    }

    @Override
public void onNeighborBlockChange(World par1World, BlockPos blockPos, IBlockState state, Block neighborBlock)
    	{
        byte b0 = 0;
        byte b1 = 1;
        
        int par2= blockPos.getX();
        int par3= blockPos.getY();
        int par4= blockPos.getZ();

        if (par1World.getBlockState(new BlockPos(par2 - 1, par3, par4)) == this || par1World.getBlockState(new BlockPos(par2 + 1, par3, par4)) == this)
        {
            b0 = 1;
            b1 = 0;
        }

        int i1;

        for (i1 = par3; par1World.getBlockState(new BlockPos(par2, i1 - 1, par4)) == this; --i1)
        {
            ;
        }

        if (par1World.getBlockState(new BlockPos(par2, i1 - 1, par4)) != ModBlocks.darkaxStone)
        {
            par1World.setBlockToAir(new BlockPos(par2, par3, par4));
        }
        else
        {
            int j1;

            for (j1 = 1; j1 < 4 && par1World.getBlockState(new BlockPos(par2, i1 + j1, par4)) == this; ++j1)
            {
                ;
            }

            if (j1 == 3 && par1World.getBlockState(new BlockPos(par2, i1 + j1, par4)) == ModBlocks.darkaxStone)
            {
                boolean flag = par1World.getBlockState(new BlockPos(par2 - 1, par3, par4)) == this || par1World.getBlockState(new BlockPos(par2 + 1, par3, par4)) == this;
                boolean flag1 = par1World.getBlockState(new BlockPos(par2, par3, par4 - 1)) == this || par1World.getBlockState(new BlockPos(par2, par3, par4 + 1)) == this;

                if (flag && flag1)
                {
                    par1World.setBlockToAir(new BlockPos(par2, par3, par4));
                }
                else
                {
                    if ((par1World.getBlockState(new BlockPos(par2 + b0, par3, par4 + b1)) != ModBlocks.darkaxStone || par1World.getBlockState(new BlockPos(par2 - b0, par3, par4 - b1)) != this) && (par1World.getBlockState(new BlockPos(par2 - b0, par3, par4 - b1)) != ModBlocks.darkaxStone || par1World.getBlockState(new BlockPos(par2 + b0, par3, par4 + b1)) != this))
                    {
                        par1World.setBlockToAir(new BlockPos(par2, par3, par4));
                    }
                }
            }
            else
            {
                par1World.setBlockToAir(new BlockPos(par2, par3, par4));
            }
        }
    }
}

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Posted

There's several problems with it: the portal isn't being activated, and when I manunally get the portal block, it teleports me to the Nether instead of the correct dimension. Also on Github, look around in the 1.7.10 code, I completely scratched out the portal use and changed some things that you will find not making any sense with 1.8

 

https://github.com/NovaViper/ZeroQuest/tree/master/1.7.10-src/common/zeroquest/dimension

https://github.com/NovaViper/ZeroQuest/tree/master/1.7.10-src/common/zeroquest/block/portal

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Posted

About why you teleports you to nether: you should override onEntityCollidedWithBlock(World, BlockPos, IBlockState, Entity) not onEntityCollidedWithBlock(World, BlockPos, Entity). I would say WTF when two methods share same name and similar parameters but are totally different!

Author of Tao Land Mod.

width=200 height=69http://taoland.herbix.me/images/1/14/TaoLandLogo.png[/img]

Also, author of RenderTo

----

I'm not an English native speaker. I just try my best.

Posted

Huh, didn't know that, let me convert my 1.7.10 code over to 1.8 and put that override in and i'll post my result

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Posted

And overriding that onEntityCollide method made me teleport to the correct dimension! Thanks for helping me solve that part of the problem. But now I must deal with the main one, why isn't the portal being activated

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Posted
package common.zeroquest.block.portal;

import java.util.Random;

import net.minecraft.block.Block;
import net.minecraft.block.BlockPortal;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.FMLCommonHandler;

import common.zeroquest.ModBlocks;
import common.zeroquest.ZeroQuest;

public class BlockPortalNillax extends BlockPortal {

public BlockPortalNillax() {
	super();
	this.setStepSound(soundTypeGlass);
}

@Override
public int getLightValue(IBlockAccess world, BlockPos pos) {
	return 14;
}

@Override
public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn) {
	if (entityIn.ridingEntity == null && entityIn.riddenByEntity == null && entityIn instanceof EntityPlayerMP) {
		EntityPlayerMP player = (EntityPlayerMP) entityIn;
		FMLCommonHandler.instance().getMinecraftServerInstance();
		MinecraftServer server = MinecraftServer.getServer();

		if (player.timeUntilPortal > 0) {
			player.timeUntilPortal = 10;
		}
		else if (player.dimension != ZeroQuest.NillaxID) {
			player.timeUntilPortal = 10;
			player.mcServer.getConfigurationManager().transferPlayerToDimension(player, ZeroQuest.NillaxID, new TeleporterNillax(server.worldServerForDimension(ZeroQuest.NillaxID)));
		}
		else {
			player.timeUntilPortal = 10;
			player.mcServer.getConfigurationManager().transferPlayerToDimension(player, 0, new TeleporterNillax(server.worldServerForDimension(0)));
		}
	}
}

@Override
public boolean func_176548_d(World par1World, BlockPos blockPos) // func_176548_d
{
	byte b0 = 0;
	byte b1 = 0;

	int par2 = blockPos.getX();
	int par3 = blockPos.getY();
	int par4 = blockPos.getZ();

	if (par1World.getBlockState(new BlockPos(par2 - 1, par3, par4)).getBlock() == ModBlocks.nillaxStone || par1World.getBlockState(new BlockPos(par2 + 1, par3, par4)).getBlock() == ModBlocks.nillaxStone) {
		b0 = 1;
	}

	if (par1World.getBlockState(new BlockPos(par2, par3, par4 - 1)).getBlock() == ModBlocks.nillaxStone || par1World.getBlockState(new BlockPos(par2, par3, par4 + 1)).getBlock() == ModBlocks.nillaxStone) {
		b1 = 1;
	}

	if (b0 == b1) {
		return false;
	}
	else {
		if (par1World.isAirBlock(new BlockPos(par2 - b0, par3, par4 - b1))) {
			par2 -= b0;
			par4 -= b1;
		}

		int l;
		int i1;

		for (l = -1; l <= 2; ++l) {
			for (i1 = -1; i1 <= 3; ++i1) {
				boolean flag = l == -1 || l == 2 || i1 == -1 || i1 == 3;

				if (l != -1 && l != 2 || i1 != -1 && i1 != 3) {
					Block j1 = par1World.getBlockState(new BlockPos(par2 + b0 * l, par3 + i1, par4 + b1 * l)).getBlock();
					boolean isAirBlock = par1World.isAirBlock(new BlockPos(par2 + b0 * l, par3 + i1, par4 + b1 * l));

					if (flag) {
						if (j1 != ModBlocks.nillaxStone) {
							return false;
						}
					}
					else if (!isAirBlock && j1 != ModBlocks.nileFire) {
						return false;
					}
				}
			}
		}

		for (l = 0; l < 2; ++l) {
			for (i1 = 0; i1 < 3; ++i1) {
				par1World.setBlockState(new BlockPos(par2 + b0 * l, par3 + i1, par4 + b1 * l), ModBlocks.portalNillax.getDefaultState());
			}
		}

		return true;
	}
}

@Override
public void randomDisplayTick(World worldIn, BlockPos pos, IBlockState state, Random rand) {

	int par2 = pos.getX();
	int par3 = pos.getY();
	int par4 = pos.getZ();

	if (rand.nextInt(100) == 0) {
		worldIn.playSound(pos.getX() + 0.5D, pos.getY() + 0.5D, pos.getZ() + 0.5D, "portal.portal", 0.5F, rand.nextFloat() * 0.4F + 0.8F, false);
	}

	for (int i = 0; i < 4; ++i) {
		double d0 = pos.getX() + rand.nextFloat();
		double d1 = pos.getY() + rand.nextFloat();
		double d2 = pos.getZ() + rand.nextFloat();
		double d3 = (rand.nextFloat() - 0.5D) * 0.5D;
		double d4 = (rand.nextFloat() - 0.5D) * 0.5D;
		double d5 = (rand.nextFloat() - 0.5D) * 0.5D;
		int j = rand.nextInt(2) * 2 - 1;

		if (worldIn.getBlockState(pos.west()).getBlock() != this && worldIn.getBlockState(pos.east()).getBlock() != this) {
			d0 = pos.getX() + 0.5D + 0.25D * j;
			d3 = rand.nextFloat() * 2.0F * j;
		}
		else {
			d2 = pos.getZ() + 0.5D + 0.25D * j;
			d5 = rand.nextFloat() * 2.0F * j;
		}

		worldIn.spawnParticle(EnumParticleTypes.PORTAL, d0, d1, d2, d3, d4, d5, new int[0]);
	}
}

@Override
public void onNeighborBlockChange(World par1World, BlockPos blockPos, IBlockState state, Block neighborBlock) {
	byte b0 = 0;
	byte b1 = 1;

	int par2 = blockPos.getX();
	int par3 = blockPos.getY();
	int par4 = blockPos.getZ();

	if (par1World.getBlockState(new BlockPos(par2 - 1, par3, par4)) == this || par1World.getBlockState(new BlockPos(par2 + 1, par3, par4)) == this) {
		b0 = 1;
		b1 = 0;
	}

	int i1;

	for (i1 = par3; par1World.getBlockState(new BlockPos(par2, i1 - 1, par4)) == this; --i1) {
		;
	}

	if (par1World.getBlockState(new BlockPos(par2, i1 - 1, par4)) != ModBlocks.nillaxStone) {
		par1World.setBlockToAir(new BlockPos(par2, par3, par4));
	}
	else {
		int j1;

		for (j1 = 1; j1 < 4 && par1World.getBlockState(new BlockPos(par2, i1 + j1, par4)) == this; ++j1) {
			;
		}

		if (j1 == 3 && par1World.getBlockState(new BlockPos(par2, i1 + j1, par4)) == ModBlocks.nillaxStone) {
			boolean flag = par1World.getBlockState(new BlockPos(par2 - 1, par3, par4)) == this || par1World.getBlockState(new BlockPos(par2 + 1, par3, par4)) == this;
			boolean flag1 = par1World.getBlockState(new BlockPos(par2, par3, par4 - 1)) == this || par1World.getBlockState(new BlockPos(par2, par3, par4 + 1)) == this;

			if (flag && flag1) {
				par1World.setBlockToAir(new BlockPos(par2, par3, par4));
			}
			else {
				if ((par1World.getBlockState(new BlockPos(par2 + b0, par3, par4 + b1)) != ModBlocks.nillaxStone || par1World.getBlockState(new BlockPos(par2 - b0, par3, par4 - b1)) != this) && (par1World.getBlockState(new BlockPos(par2 - b0, par3, par4 - b1)) != ModBlocks.nillaxStone || par1World.getBlockState(new BlockPos(par2 + b0, par3, par4 + b1)) != this)) {
					par1World.setBlockToAir(new BlockPos(par2, par3, par4));
				}
			}
		}
		else {
			par1World.setBlockToAir(new BlockPos(par2, par3, par4));
		}
	}
}
}

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Posted

Oh wait, I got the fire disappearing but the portal block isn't being spawned. Here is my code

 

Fire

package common.zeroquest.block.portal;

import java.util.Map;
import java.util.Random;

import net.minecraft.block.Block;
import net.minecraft.block.BlockFire;
import net.minecraft.block.BlockTNT;
import net.minecraft.block.material.MapColor;
import net.minecraft.block.properties.IProperty;
import net.minecraft.block.properties.PropertyBool;
import net.minecraft.block.properties.PropertyInteger;
import net.minecraft.block.state.BlockState;
import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Blocks;
import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.util.EnumWorldBlockLayer;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

import com.google.common.collect.Maps;
import common.zeroquest.ModBlocks;

public class BlockNileFire extends BlockFire {
public static final PropertyInteger AGE = PropertyInteger.create("age", 0, 15);
public static final PropertyBool FLIP = PropertyBool.create("flip");
public static final PropertyBool ALT = PropertyBool.create("alt");
public static final PropertyBool NORTH = PropertyBool.create("north");
public static final PropertyBool EAST = PropertyBool.create("east");
public static final PropertyBool SOUTH = PropertyBool.create("south");
public static final PropertyBool WEST = PropertyBool.create("west");
public static final PropertyInteger UPPER = PropertyInteger.create("upper", 0, 2);
private final Map encouragements = Maps.newIdentityHashMap();
private final Map flammabilities = Maps.newIdentityHashMap();
private static final String __OBFID = "CL_00000245";

/**
 * Get the actual Block state of this Block at the given position. This
 * applies properties not visible in the metadata, such as fence
 * connections.
 */
@Override
public IBlockState getActualState(IBlockState state, IBlockAccess worldIn, BlockPos pos) {
	int i = pos.getX();
	int j = pos.getY();
	int k = pos.getZ();

	if (!World.doesBlockHaveSolidTopSurface(worldIn, pos.down()) && !((BlockNileFire) ModBlocks.nileFire).canCatchFire(worldIn, pos.down(), EnumFacing.UP)) {
		boolean flag = (i + j + k & 1) == 1;
		boolean flag1 = (i / 2 + j / 2 + k / 2 & 1) == 1;
		int l = 0;

		if (this.canCatchFire(worldIn, pos.up(), EnumFacing.DOWN)) {
			l = flag ? 1 : 2;
		}

		return state.withProperty(NORTH, Boolean.valueOf(this.canCatchFire(worldIn, pos.north(), EnumFacing.SOUTH))).withProperty(EAST, Boolean.valueOf(this.canCatchFire(worldIn, pos.east(), EnumFacing.EAST))).withProperty(SOUTH, Boolean.valueOf(this.canCatchFire(worldIn, pos.south(), EnumFacing.NORTH))).withProperty(WEST, Boolean.valueOf(this.canCatchFire(worldIn, pos.west(), EnumFacing.EAST))).withProperty(UPPER, Integer.valueOf(l)).withProperty(FLIP, Boolean.valueOf(flag1)).withProperty(ALT, Boolean.valueOf(flag));
	}
	else {
		return this.getDefaultState();
	}
}

public BlockNileFire() {
	super();
	this.setDefaultState(this.blockState.getBaseState().withProperty(AGE, Integer.valueOf(0)).withProperty(FLIP, Boolean.valueOf(false)).withProperty(ALT, Boolean.valueOf(false)).withProperty(NORTH, Boolean.valueOf(false)).withProperty(EAST, Boolean.valueOf(false)).withProperty(SOUTH, Boolean.valueOf(false)).withProperty(WEST, Boolean.valueOf(false)).withProperty(UPPER, Integer.valueOf(0)));
	this.setTickRandomly(true);
}

public static void init() {
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.planks, 5, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.double_wooden_slab, 5, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.wooden_slab, 5, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.oak_fence_gate, 5, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.spruce_fence_gate, 5, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.birch_fence_gate, 5, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.jungle_fence_gate, 5, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.dark_oak_fence_gate, 5, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.acacia_fence_gate, 5, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.oak_fence, 5, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.spruce_fence, 5, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.birch_fence, 5, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.jungle_fence, 5, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.dark_oak_fence, 5, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.acacia_fence, 5, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.oak_stairs, 5, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.birch_stairs, 5, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.spruce_stairs, 5, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.jungle_stairs, 5, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.log, 5, 5);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.log2, 5, 5);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.leaves, 30, 60);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.leaves2, 30, 60);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.bookshelf, 30, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.tnt, 15, 100);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.tallgrass, 60, 100);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.double_plant, 60, 100);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.yellow_flower, 60, 100);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.red_flower, 60, 100);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.deadbush, 60, 100);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.wool, 30, 60);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.vine, 15, 100);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.coal_block, 5, 5);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.hay_block, 60, 20);
	((BlockNileFire) ModBlocks.nileFire).setFireInfo(Blocks.carpet, 60, 20);
}

@Override
public void setFireInfo(Block blockIn, int encouragement, int flammability) {
	if (blockIn == Blocks.air)
		throw new IllegalArgumentException("Tried to set air on fire... This is bad.");
	this.encouragements.put(blockIn, Integer.valueOf(encouragement));
	this.flammabilities.put(blockIn, Integer.valueOf(flammability));
}

@Override
public AxisAlignedBB getCollisionBoundingBox(World worldIn, BlockPos pos, IBlockState state) {
	return null;
}

@Override
public boolean isOpaqueCube() {
	return false;
}

@Override
public boolean isFullCube() {
	return false;
}

/**
 * Returns the quantity of items to drop on block destruction.
 */
@Override
public int quantityDropped(Random random) {
	return 0;
}

/**
 * How many world ticks before ticking
 */
@Override
public int tickRate(World worldIn) {
	return 30;
}

@Override
public void updateTick(World worldIn, BlockPos pos, IBlockState state, Random rand) {
	if (worldIn.getGameRules().getGameRuleBooleanValue("doFireTick")) {
		if (!this.canPlaceBlockAt(worldIn, pos)) {
			worldIn.setBlockToAir(pos);
		}

		Block block = worldIn.getBlockState(pos.down()).getBlock();
		boolean flag = block.isFireSource(worldIn, pos.down(), EnumFacing.UP);

		if (!flag && worldIn.isRaining() && this.canDie(worldIn, pos)) {
			worldIn.setBlockToAir(pos);
		}
		else {
			int i = ((Integer) state.getValue(AGE)).intValue();

			if (i < 15) {
				state = state.withProperty(AGE, Integer.valueOf(i + rand.nextInt(3) / 2));
				worldIn.setBlockState(pos, state, 4);
			}

			worldIn.scheduleUpdate(pos, this, this.tickRate(worldIn) + rand.nextInt(10));

			if (!flag) {
				if (!this.canNeighborCatchFire(worldIn, pos)) {
					if (!World.doesBlockHaveSolidTopSurface(worldIn, pos.down()) || i > 3) {
						worldIn.setBlockToAir(pos);
					}

					return;
				}

				if (!this.canCatchFire(worldIn, pos.down(), EnumFacing.UP) && i == 15 && rand.nextInt(4) == 0) {
					worldIn.setBlockToAir(pos);
					return;
				}
			}

			boolean flag1 = worldIn.isBlockinHighHumidity(pos);
			byte b0 = 0;

			if (flag1) {
				b0 = -50;
			}

			this.tryCatchFire(worldIn, pos.east(), 300 + b0, rand, i, EnumFacing.WEST);
			this.tryCatchFire(worldIn, pos.west(), 300 + b0, rand, i, EnumFacing.EAST);
			this.tryCatchFire(worldIn, pos.down(), 250 + b0, rand, i, EnumFacing.UP);
			this.tryCatchFire(worldIn, pos.up(), 250 + b0, rand, i, EnumFacing.DOWN);
			this.tryCatchFire(worldIn, pos.north(), 300 + b0, rand, i, EnumFacing.SOUTH);
			this.tryCatchFire(worldIn, pos.south(), 300 + b0, rand, i, EnumFacing.NORTH);

			for (int j = -1; j <= 1; ++j) {
				for (int k = -1; k <= 1; ++k) {
					for (int l = -1; l <= 4; ++l) {
						if (j != 0 || l != 0 || k != 0) {
							int i1 = 100;

							if (l > 1) {
								i1 += (l - 1) * 100;
							}

							BlockPos blockpos1 = pos.add(j, l, k);
							int j1 = this.getNeighborEncouragement(worldIn, blockpos1);

							if (j1 > 0) {
								int k1 = (j1 + 40 + worldIn.getDifficulty().getDifficultyId() * 7) / (i + 30);

								if (flag1) {
									k1 /= 2;
								}

								if (k1 > 0 && rand.nextInt(i1) <= k1 && (!worldIn.isRaining() || !this.canDie(worldIn, blockpos1))) {
									int l1 = i + rand.nextInt(5) / 4;

									if (l1 > 15) {
										l1 = 15;
									}

									worldIn.setBlockState(blockpos1, state.withProperty(AGE, Integer.valueOf(l1)), 3);
								}
							}
						}
					}
				}
			}
		}
	}
}

@Override
protected boolean canDie(World worldIn, BlockPos pos) {
	return worldIn.canLightningStrike(pos) || worldIn.canLightningStrike(pos.west()) || worldIn.canLightningStrike(pos.east()) || worldIn.canLightningStrike(pos.north()) || worldIn.canLightningStrike(pos.south());
}

@Override
public boolean requiresUpdates() {
	return false;
}

@Override
@Deprecated
// Use Block.getFlammability
public int getFlammability(Block blockIn) {
	Integer integer = (Integer) this.flammabilities.get(blockIn);
	return integer == null ? 0 : integer.intValue();
}

@Override
@Deprecated
// Use Block.getFlammability
public int getEncouragement(Block blockIn) {
	Integer integer = (Integer) this.encouragements.get(blockIn);
	return integer == null ? 0 : integer.intValue();
}

@Deprecated
// Use tryCatchFire with face below
private void catchOnFire(World worldIn, BlockPos pos, int chance, Random random, int age) {
	this.tryCatchFire(worldIn, pos, chance, random, age, EnumFacing.UP);
}

private void tryCatchFire(World worldIn, BlockPos pos, int chance, Random random, int age, EnumFacing face) {
	int k = worldIn.getBlockState(pos).getBlock().getFlammability(worldIn, pos, face);

	if (random.nextInt(chance) < k) {
		IBlockState iblockstate = worldIn.getBlockState(pos);

		if (random.nextInt(age + 10) < 5 && !worldIn.canLightningStrike(pos)) {
			int l = age + random.nextInt(5) / 4;

			if (l > 15) {
				l = 15;
			}

			worldIn.setBlockState(pos, this.getDefaultState().withProperty(AGE, Integer.valueOf(l)), 3);
		}
		else {
			worldIn.setBlockToAir(pos);
		}

		if (iblockstate.getBlock() == Blocks.tnt) {
			Blocks.tnt.onBlockDestroyedByPlayer(worldIn, pos, iblockstate.withProperty(BlockTNT.EXPLODE, Boolean.valueOf(true)));
		}
	}
}

private boolean canNeighborCatchFire(World worldIn, BlockPos pos) {
	EnumFacing[] aenumfacing = EnumFacing.values();
	int i = aenumfacing.length;

	for (int j = 0; j < i; ++j) {
		EnumFacing enumfacing = aenumfacing[j];

		if (this.canCatchFire(worldIn, pos.offset(enumfacing), enumfacing.getOpposite())) {
			return true;
		}
	}

	return false;
}

private int getNeighborEncouragement(World worldIn, BlockPos pos) {
	if (!worldIn.isAirBlock(pos)) {
		return 0;
	}
	else {
		int i = 0;
		EnumFacing[] aenumfacing = EnumFacing.values();
		int j = aenumfacing.length;

		for (int k = 0; k < j; ++k) {
			EnumFacing enumfacing = aenumfacing[k];
			i = Math.max(worldIn.getBlockState(pos.offset(enumfacing)).getBlock().getFlammability(worldIn, pos.offset(enumfacing), enumfacing.getOpposite()), i);
		}

		return i;
	}
}

/**
 * Returns if this block is collidable (only used by Fire). Args: x, y, z
 */
@Override
public boolean isCollidable() {
	return false;
}

/**
 * Checks if the block can be caught on fire
 */
@Override
@Deprecated
// Use canCatchFire with face sensitive version below
public boolean canCatchFire(IBlockAccess worldIn, BlockPos pos) {
	return canCatchFire(worldIn, pos, EnumFacing.UP);
}

@Override
public boolean canPlaceBlockAt(World worldIn, BlockPos pos) {
	return World.doesBlockHaveSolidTopSurface(worldIn, pos.down()) || this.canNeighborCatchFire(worldIn, pos);
}

/**
 * Called when a neighboring block changes.
 */
@Override
public void onNeighborBlockChange(World worldIn, BlockPos pos, IBlockState state, Block neighborBlock) {
	if (!World.doesBlockHaveSolidTopSurface(worldIn, pos.down()) && !this.canNeighborCatchFire(worldIn, pos)) {
		worldIn.setBlockToAir(pos);
	}
}

@Override
public void onBlockAdded(World worldIn, BlockPos pos, IBlockState state) {
	if (worldIn.provider.getDimensionId() > 0 || !((BlockPortalNillax) ModBlocks.portalNillax).func_176548_d(worldIn, pos)) {
		if (!World.doesBlockHaveSolidTopSurface(worldIn, pos.down()) && !this.canNeighborCatchFire(worldIn, pos)) {
			worldIn.setBlockToAir(pos);
		}
		else {
			worldIn.scheduleUpdate(pos, this, this.tickRate(worldIn) + worldIn.rand.nextInt(10));
		}
	}
}

@Override
@SideOnly(Side.CLIENT)
public void randomDisplayTick(World worldIn, BlockPos pos, IBlockState state, Random rand) {
	if (rand.nextInt(24) == 0) {
		worldIn.playSound(pos.getX() + 0.5F, pos.getY() + 0.5F, pos.getZ() + 0.5F, "fire.fire", 1.0F + rand.nextFloat(), rand.nextFloat() * 0.7F + 0.3F, false);
	}

	int i;
	double d0;
	double d1;
	double d2;

	if (!World.doesBlockHaveSolidTopSurface(worldIn, pos.down()) && !Blocks.fire.canCatchFire(worldIn, pos.down(), EnumFacing.UP)) {
		if (((BlockNileFire) ModBlocks.nileFire).canCatchFire(worldIn, pos.west(), EnumFacing.EAST)) {
			for (i = 0; i < 2; ++i) {
				d0 = pos.getX() + rand.nextDouble() * 0.10000000149011612D;
				d1 = pos.getY() + rand.nextDouble();
				d2 = pos.getZ() + rand.nextDouble();
				worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d0, d1, d2, 0.0D, 0.0D, 0.0D, new int[0]);
			}
		}

		if (((BlockNileFire) ModBlocks.nileFire).canCatchFire(worldIn, pos.east(), EnumFacing.WEST)) {
			for (i = 0; i < 2; ++i) {
				d0 = pos.getX() + 1 - rand.nextDouble() * 0.10000000149011612D;
				d1 = pos.getY() + rand.nextDouble();
				d2 = pos.getZ() + rand.nextDouble();
				worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d0, d1, d2, 0.0D, 0.0D, 0.0D, new int[0]);
			}
		}

		if (((BlockNileFire) ModBlocks.nileFire).canCatchFire(worldIn, pos.north(), EnumFacing.SOUTH)) {
			for (i = 0; i < 2; ++i) {
				d0 = pos.getX() + rand.nextDouble();
				d1 = pos.getY() + rand.nextDouble();
				d2 = pos.getZ() + rand.nextDouble() * 0.10000000149011612D;
				worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d0, d1, d2, 0.0D, 0.0D, 0.0D, new int[0]);
			}
		}

		if (((BlockNileFire) ModBlocks.nileFire).canCatchFire(worldIn, pos.south(), EnumFacing.NORTH)) {
			for (i = 0; i < 2; ++i) {
				d0 = pos.getX() + rand.nextDouble();
				d1 = pos.getY() + rand.nextDouble();
				d2 = pos.getZ() + 1 - rand.nextDouble() * 0.10000000149011612D;
				worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d0, d1, d2, 0.0D, 0.0D, 0.0D, new int[0]);
			}
		}

		if (((BlockNileFire) ModBlocks.nileFire).canCatchFire(worldIn, pos.up(), EnumFacing.DOWN)) {
			for (i = 0; i < 2; ++i) {
				d0 = pos.getX() + rand.nextDouble();
				d1 = pos.getY() + 1 - rand.nextDouble() * 0.10000000149011612D;
				d2 = pos.getZ() + rand.nextDouble();
				worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d0, d1, d2, 0.0D, 0.0D, 0.0D, new int[0]);
			}
		}
	}
	else {
		for (i = 0; i < 3; ++i) {
			d0 = pos.getX() + rand.nextDouble();
			d1 = pos.getY() + rand.nextDouble() * 0.5D + 0.5D;
			d2 = pos.getZ() + rand.nextDouble();
			worldIn.spawnParticle(EnumParticleTypes.SMOKE_LARGE, d0, d1, d2, 0.0D, 0.0D, 0.0D, new int[0]);
		}
	}
}

/**
 * Get the MapColor for this Block and the given BlockState
 */
@Override
public MapColor getMapColor(IBlockState state) {
	return MapColor.tntColor;
}

@Override
@SideOnly(Side.CLIENT)
public EnumWorldBlockLayer getBlockLayer() {
	return EnumWorldBlockLayer.CUTOUT;
}

/**
 * Convert the given metadata into a BlockState for this Block
 */
@Override
public IBlockState getStateFromMeta(int meta) {
	return this.getDefaultState().withProperty(AGE, Integer.valueOf(meta));
}

/**
 * Convert the BlockState into the correct metadata value
 */
@Override
public int getMetaFromState(IBlockState state) {
	return ((Integer) state.getValue(AGE)).intValue();
}

@Override
protected BlockState createBlockState() {
	return new BlockState(this, new IProperty[] { AGE, NORTH, EAST, SOUTH, WEST, UPPER, FLIP,
			ALT });
}

/* ================================= Forge Start
 * ====================================== */
/**
 * Side sensitive version that calls the block function.
 * 
 * @param world
 *        The current world
 * @param pos
 *        Block position
 * @param face
 *        The side the fire is coming from
 * @return True if the face can catch fire.
 */
@Override
public boolean canCatchFire(IBlockAccess world, BlockPos pos, EnumFacing face) {
	return world.getBlockState(pos).getBlock().isFlammable(world, pos, face);
}
/* ================================= Forge Start
 * ====================================== */
}

 

Teleporter

package common.zeroquest.block.portal;

import java.util.Iterator;
import java.util.List;
import java.util.Random;

import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.init.Blocks;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.LongHashMap;
import net.minecraft.util.MathHelper;
import net.minecraft.world.ChunkCoordIntPair;
import net.minecraft.world.Teleporter;
import net.minecraft.world.WorldServer;

import com.google.common.collect.Lists;
import common.zeroquest.ModBlocks;

public class TeleporterNillax extends Teleporter {
private final WorldServer worldServerInstance;
/** A private Random() function in Teleporter */
private final Random random;
/** Stores successful portal placement locations for rapid lookup. */
private final LongHashMap destinationCoordinateCache = new LongHashMap();
/**
 * A list of valid keys for the destinationCoordainteCache. These are based
 * on the X & Z of the players initial location.
 */
private final List destinationCoordinateKeys = Lists.newArrayList();
private static final String __OBFID = "CL_00000153";

public TeleporterNillax(WorldServer worldIn) {
	super(worldIn);
	this.worldServerInstance = worldIn;
	this.random = new Random(worldIn.getSeed());
}

@Override
public void placeInPortal(Entity entityIn, float rotationYaw) {
	if (this.worldServerInstance.provider.getDimensionId() != 1) {
		if (!this.placeInExistingPortal(entityIn, rotationYaw)) {
			this.makePortal(entityIn);
			this.placeInExistingPortal(entityIn, rotationYaw);
		}
	}
	else {
		int i = MathHelper.floor_double(entityIn.posX);
		int j = MathHelper.floor_double(entityIn.posY) - 1;
		int k = MathHelper.floor_double(entityIn.posZ);
		byte b0 = 1;
		byte b1 = 0;

		for (int l = -2; l <= 2; ++l) {
			for (int i1 = -2; i1 <= 2; ++i1) {
				for (int j1 = -1; j1 < 3; ++j1) {
					int k1 = i + i1 * b0 + l * b1;
					int l1 = j + j1;
					int i2 = k + i1 * b1 - l * b0;
					boolean flag = j1 < 0;
					this.worldServerInstance.setBlockState(new BlockPos(k1, l1, i2), flag
							? ModBlocks.nillaxStone.getDefaultState()
							: Blocks.air.getDefaultState());
				}
			}
		}

		entityIn.setLocationAndAngles(i, j, k, entityIn.rotationYaw, 0.0F);
		entityIn.motionX = entityIn.motionY = entityIn.motionZ = 0.0D;
	}
}

@Override
public boolean placeInExistingPortal(Entity entityIn, float p_180620_2_) {
	boolean flag = true;
	double d0 = -1.0D;
	int i = MathHelper.floor_double(entityIn.posX);
	int j = MathHelper.floor_double(entityIn.posZ);
	boolean flag1 = true;
	Object object = BlockPos.ORIGIN;
	long k = ChunkCoordIntPair.chunkXZ2Int(i, j);

	if (this.destinationCoordinateCache.containsItem(k)) {
		Teleporter.PortalPosition portalposition = (Teleporter.PortalPosition) this.destinationCoordinateCache.getValueByKey(k);
		d0 = 0.0D;
		object = portalposition;
		portalposition.lastUpdateTime = this.worldServerInstance.getTotalWorldTime();
		flag1 = false;
	}
	else {
		BlockPos blockpos4 = new BlockPos(entityIn);

		for (int l = -128; l <= 128; ++l) {
			BlockPos blockpos1;

			for (int i1 = -128; i1 <= 128; ++i1) {
				for (BlockPos blockpos = blockpos4.add(l, this.worldServerInstance.getActualHeight() - 1 - blockpos4.getY(), i1); blockpos.getY() >= 0; blockpos = blockpos1) {
					blockpos1 = blockpos.down();

					if (this.worldServerInstance.getBlockState(blockpos).getBlock() == ModBlocks.portalNillax) {
						while (this.worldServerInstance.getBlockState(blockpos1 = blockpos.down()).getBlock() == ModBlocks.portalNillax) {
							blockpos = blockpos1;
						}

						double d1 = blockpos.distanceSq(blockpos4);

						if (d0 < 0.0D || d1 < d0) {
							d0 = d1;
							object = blockpos;
						}
					}
				}
			}
		}
	}

	if (d0 >= 0.0D) {
		if (flag1) {
			this.destinationCoordinateCache.add(k, new TeleporterNillax.PortalPosition((BlockPos) object, this.worldServerInstance.getTotalWorldTime()));
			this.destinationCoordinateKeys.add(Long.valueOf(k));
		}

		double d4 = ((BlockPos) object).getX() + 0.5D;
		double d5 = ((BlockPos) object).getY() + 0.5D;
		double d6 = ((BlockPos) object).getZ() + 0.5D;
		EnumFacing enumfacing = null;

		if (this.worldServerInstance.getBlockState(((BlockPos) object).west()).getBlock() == ModBlocks.portalNillax) {
			enumfacing = EnumFacing.NORTH;
		}

		if (this.worldServerInstance.getBlockState(((BlockPos) object).east()).getBlock() == ModBlocks.portalNillax) {
			enumfacing = EnumFacing.SOUTH;
		}

		if (this.worldServerInstance.getBlockState(((BlockPos) object).north()).getBlock() == ModBlocks.portalNillax) {
			enumfacing = EnumFacing.EAST;
		}

		if (this.worldServerInstance.getBlockState(((BlockPos) object).south()).getBlock() == ModBlocks.portalNillax) {
			enumfacing = EnumFacing.WEST;
		}

		EnumFacing enumfacing1 = EnumFacing.getHorizontal(entityIn.getTeleportDirection());

		if (enumfacing != null) {
			EnumFacing enumfacing2 = enumfacing.rotateYCCW();
			BlockPos blockpos2 = ((BlockPos) object).offset(enumfacing);
			boolean flag2 = this.func_180265_a(blockpos2);
			boolean flag3 = this.func_180265_a(blockpos2.offset(enumfacing2));

			if (flag3 && flag2) {
				object = ((BlockPos) object).offset(enumfacing2);
				enumfacing = enumfacing.getOpposite();
				enumfacing2 = enumfacing2.getOpposite();
				BlockPos blockpos3 = ((BlockPos) object).offset(enumfacing);
				flag2 = this.func_180265_a(blockpos3);
				flag3 = this.func_180265_a(blockpos3.offset(enumfacing2));
			}

			float f6 = 0.5F;
			float f1 = 0.5F;

			if (!flag3 && flag2) {
				f6 = 1.0F;
			}
			else if (flag3 && !flag2) {
				f6 = 0.0F;
			}
			else if (flag3) {
				f1 = 0.0F;
			}

			d4 = ((BlockPos) object).getX() + 0.5D;
			d5 = ((BlockPos) object).getY() + 0.5D;
			d6 = ((BlockPos) object).getZ() + 0.5D;
			d4 += enumfacing2.getFrontOffsetX() * f6 + enumfacing.getFrontOffsetX() * f1;
			d6 += enumfacing2.getFrontOffsetZ() * f6 + enumfacing.getFrontOffsetZ() * f1;
			float f2 = 0.0F;
			float f3 = 0.0F;
			float f4 = 0.0F;
			float f5 = 0.0F;

			if (enumfacing == enumfacing1) {
				f2 = 1.0F;
				f3 = 1.0F;
			}
			else if (enumfacing == enumfacing1.getOpposite()) {
				f2 = -1.0F;
				f3 = -1.0F;
			}
			else if (enumfacing == enumfacing1.rotateY()) {
				f4 = 1.0F;
				f5 = -1.0F;
			}
			else {
				f4 = -1.0F;
				f5 = 1.0F;
			}

			double d2 = entityIn.motionX;
			double d3 = entityIn.motionZ;
			entityIn.motionX = d2 * f2 + d3 * f5;
			entityIn.motionZ = d2 * f4 + d3 * f3;
			entityIn.rotationYaw = p_180620_2_ - enumfacing1.getHorizontalIndex() * 90 + enumfacing.getHorizontalIndex() * 90;
		}
		else {
			entityIn.motionX = entityIn.motionY = entityIn.motionZ = 0.0D;
		}

		entityIn.setLocationAndAngles(d4, d5, d6, entityIn.rotationYaw, entityIn.rotationPitch);
		return true;
	}
	else {
		return false;
	}
}

private boolean func_180265_a(BlockPos p_180265_1_) {
	return !this.worldServerInstance.isAirBlock(p_180265_1_) || !this.worldServerInstance.isAirBlock(p_180265_1_.up());
}

@Override
public boolean makePortal(Entity p_85188_1_) {
	byte b0 = 16;
	double d0 = -1.0D;
	int i = MathHelper.floor_double(p_85188_1_.posX);
	int j = MathHelper.floor_double(p_85188_1_.posY);
	int k = MathHelper.floor_double(p_85188_1_.posZ);
	int l = i;
	int i1 = j;
	int j1 = k;
	int k1 = 0;
	int l1 = this.random.nextInt(4);
	int i2;
	double d1;
	int k2;
	double d2;
	int i3;
	int j3;
	int k3;
	int l3;
	int i4;
	int j4;
	int k4;
	int l4;
	int i5;
	double d3;
	double d4;

	for (i2 = i - b0; i2 <= i + b0; ++i2) {
		d1 = i2 + 0.5D - p_85188_1_.posX;

		for (k2 = k - b0; k2 <= k + b0; ++k2) {
			d2 = k2 + 0.5D - p_85188_1_.posZ;
			label271:

			for (i3 = this.worldServerInstance.getActualHeight() - 1; i3 >= 0; --i3) {
				if (this.worldServerInstance.isAirBlock(new BlockPos(i2, i3, k2))) {
					while (i3 > 0 && this.worldServerInstance.isAirBlock(new BlockPos(i2, i3 - 1, k2))) {
						--i3;
					}

					for (j3 = l1; j3 < l1 + 4; ++j3) {
						k3 = j3 % 2;
						l3 = 1 - k3;

						if (j3 % 4 >= 2) {
							k3 = -k3;
							l3 = -l3;
						}

						for (i4 = 0; i4 < 3; ++i4) {
							for (j4 = 0; j4 < 4; ++j4) {
								for (k4 = -1; k4 < 4; ++k4) {
									l4 = i2 + (j4 - 1) * k3 + i4 * l3;
									i5 = i3 + k4;
									int j5 = k2 + (j4 - 1) * l3 - i4 * k3;

									if (k4 < 0 && !this.worldServerInstance.getBlockState(new BlockPos(l4, i5, j5)).getBlock().getMaterial().isSolid() || k4 >= 0 && !this.worldServerInstance.isAirBlock(new BlockPos(l4, i5, j5))) {
										continue label271;
									}
								}
							}
						}

						d3 = i3 + 0.5D - p_85188_1_.posY;
						d4 = d1 * d1 + d3 * d3 + d2 * d2;

						if (d0 < 0.0D || d4 < d0) {
							d0 = d4;
							l = i2;
							i1 = i3;
							j1 = k2;
							k1 = j3 % 4;
						}
					}
				}
			}
		}
	}

	if (d0 < 0.0D) {
		for (i2 = i - b0; i2 <= i + b0; ++i2) {
			d1 = i2 + 0.5D - p_85188_1_.posX;

			for (k2 = k - b0; k2 <= k + b0; ++k2) {
				d2 = k2 + 0.5D - p_85188_1_.posZ;
				label219:

				for (i3 = this.worldServerInstance.getActualHeight() - 1; i3 >= 0; --i3) {
					if (this.worldServerInstance.isAirBlock(new BlockPos(i2, i3, k2))) {
						while (i3 > 0 && this.worldServerInstance.isAirBlock(new BlockPos(i2, i3 - 1, k2))) {
							--i3;
						}

						for (j3 = l1; j3 < l1 + 2; ++j3) {
							k3 = j3 % 2;
							l3 = 1 - k3;

							for (i4 = 0; i4 < 4; ++i4) {
								for (j4 = -1; j4 < 4; ++j4) {
									k4 = i2 + (i4 - 1) * k3;
									l4 = i3 + j4;
									i5 = k2 + (i4 - 1) * l3;

									if (j4 < 0 && !this.worldServerInstance.getBlockState(new BlockPos(k4, l4, i5)).getBlock().getMaterial().isSolid() || j4 >= 0 && !this.worldServerInstance.isAirBlock(new BlockPos(k4, l4, i5))) {
										continue label219;
									}
								}
							}

							d3 = i3 + 0.5D - p_85188_1_.posY;
							d4 = d1 * d1 + d3 * d3 + d2 * d2;

							if (d0 < 0.0D || d4 < d0) {
								d0 = d4;
								l = i2;
								i1 = i3;
								j1 = k2;
								k1 = j3 % 2;
							}
						}
					}
				}
			}
		}
	}

	int k5 = l;
	int j2 = i1;
	k2 = j1;
	int l5 = k1 % 2;
	int l2 = 1 - l5;

	if (k1 % 4 >= 2) {
		l5 = -l5;
		l2 = -l2;
	}

	if (d0 < 0.0D) {
		i1 = MathHelper.clamp_int(i1, 70, this.worldServerInstance.getActualHeight() - 10);
		j2 = i1;

		for (i3 = -1; i3 <= 1; ++i3) {
			for (j3 = 1; j3 < 3; ++j3) {
				for (k3 = -1; k3 < 3; ++k3) {
					l3 = k5 + (j3 - 1) * l5 + i3 * l2;
					i4 = j2 + k3;
					j4 = k2 + (j3 - 1) * l2 - i3 * l5;
					boolean flag = k3 < 0;
					this.worldServerInstance.setBlockState(new BlockPos(l3, i4, j4), flag
							? ModBlocks.nillaxStone.getDefaultState()
							: Blocks.air.getDefaultState());
				}
			}
		}
	}

	IBlockState iblockstate = ModBlocks.portalNillax.getDefaultState().withProperty(BlockPortalNillax.AXIS, l5 != 0
			? EnumFacing.Axis.X : EnumFacing.Axis.Z);

	for (j3 = 0; j3 < 4; ++j3) {
		for (k3 = 0; k3 < 4; ++k3) {
			for (l3 = -1; l3 < 4; ++l3) {
				i4 = k5 + (k3 - 1) * l5;
				j4 = j2 + l3;
				k4 = k2 + (k3 - 1) * l2;
				boolean flag1 = k3 == 0 || k3 == 3 || l3 == -1 || l3 == 3;
				this.worldServerInstance.setBlockState(new BlockPos(i4, j4, k4), flag1
						? ModBlocks.nillaxStone.getDefaultState() : iblockstate, 2);
			}
		}

		for (k3 = 0; k3 < 4; ++k3) {
			for (l3 = -1; l3 < 4; ++l3) {
				i4 = k5 + (k3 - 1) * l5;
				j4 = j2 + l3;
				k4 = k2 + (k3 - 1) * l2;
				this.worldServerInstance.notifyNeighborsOfStateChange(new BlockPos(i4, j4, k4), this.worldServerInstance.getBlockState(new BlockPos(i4, j4, k4)).getBlock());
			}
		}
	}

	return true;
}

/**
 * called periodically to remove out-of-date portal locations from the cache
 * list. Argument par1 is a WorldServer.getTotalWorldTime() value.
 */
@Override
public void removeStalePortalLocations(long p_85189_1_) {
	if (p_85189_1_ % 100L == 0L) {
		Iterator iterator = this.destinationCoordinateKeys.iterator();
		long j = p_85189_1_ - 600L;

		while (iterator.hasNext()) {
			Long olong = (Long) iterator.next();
			Teleporter.PortalPosition portalposition = (Teleporter.PortalPosition) this.destinationCoordinateCache.getValueByKey(olong.longValue());

			if (portalposition == null || portalposition.lastUpdateTime < j) {
				iterator.remove();
				this.destinationCoordinateCache.remove(olong.longValue());
			}
		}
	}
}

public class PortalPosition extends BlockPos {
	/** The worldtime at which this PortalPosition was last verified */
	public long lastUpdateTime;
	private static final String __OBFID = "CL_00000154";

	public PortalPosition(BlockPos pos, long p_i45747_3_) {
		super(pos.getX(), pos.getY(), pos.getZ());
		this.lastUpdateTime = p_i45747_3_;
	}
}
}

 

Portal Block

package common.zeroquest.block.portal;

import java.util.Random;

import net.minecraft.block.Block;
import net.minecraft.block.BlockPortal;
import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.server.MinecraftServer;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.FMLCommonHandler;

import common.zeroquest.ModBlocks;
import common.zeroquest.ZeroQuest;

public class BlockPortalNillax extends BlockPortal {

public BlockPortalNillax() {
	super();
	this.setStepSound(soundTypeGlass);
}

@Override
public int getLightValue(IBlockAccess world, BlockPos pos) {
	return 14;
}

@Override
public void onEntityCollidedWithBlock(World worldIn, BlockPos pos, IBlockState state, Entity entityIn) {
	if (entityIn.ridingEntity == null && entityIn.riddenByEntity == null && entityIn instanceof EntityPlayerMP) {
		EntityPlayerMP player = (EntityPlayerMP) entityIn;
		FMLCommonHandler.instance().getMinecraftServerInstance();
		MinecraftServer server = MinecraftServer.getServer();

		if (player.timeUntilPortal > 0) {
			player.timeUntilPortal = 10;
		}
		else if (player.dimension != ZeroQuest.NillaxID) {
			player.timeUntilPortal = 10;
			player.mcServer.getConfigurationManager().transferPlayerToDimension(player, ZeroQuest.NillaxID, new TeleporterNillax(server.worldServerForDimension(ZeroQuest.NillaxID)));
		}
		else {
			player.timeUntilPortal = 10;
			player.mcServer.getConfigurationManager().transferPlayerToDimension(player, 0, new TeleporterNillax(server.worldServerForDimension(0)));
		}
	}
}

@Override
public boolean func_176548_d(World par1World, BlockPos blockPos) // func_176548_d
{
	byte b0 = 0;
	byte b1 = 0;

	int par2 = blockPos.getX();
	int par3 = blockPos.getY();
	int par4 = blockPos.getZ();

	if (par1World.getBlockState(new BlockPos(par2 - 1, par3, par4)).getBlock() == ModBlocks.nillaxStone || par1World.getBlockState(new BlockPos(par2 + 1, par3, par4)).getBlock() == ModBlocks.nillaxStone) {
		b0 = 1;
	}

	if (par1World.getBlockState(new BlockPos(par2, par3, par4 - 1)).getBlock() == ModBlocks.nillaxStone || par1World.getBlockState(new BlockPos(par2, par3, par4 + 1)).getBlock() == ModBlocks.nillaxStone) {
		b1 = 1;
	}

	if (b0 == b1) {
		return false;
	}
	else {
		if (par1World.isAirBlock(new BlockPos(par2 - b0, par3, par4 - b1))) {
			par2 -= b0;
			par4 -= b1;
		}

		int l;
		int i1;

		for (l = -1; l <= 2; ++l) {
			for (i1 = -1; i1 <= 3; ++i1) {
				boolean flag = l == -1 || l == 2 || i1 == -1 || i1 == 3;

				if (l != -1 && l != 2 || i1 != -1 && i1 != 3) {
					Block j1 = par1World.getBlockState(new BlockPos(par2 + b0 * l, par3 + i1, par4 + b1 * l)).getBlock();
					boolean isAirBlock = par1World.isAirBlock(new BlockPos(par2 + b0 * l, par3 + i1, par4 + b1 * l));

					if (flag) {
						if (j1 != ModBlocks.nillaxStone) {
							return false;
						}
					}
					else if (!isAirBlock && j1 != ModBlocks.nileFire) {
						return false;
					}
				}
			}
		}

		for (l = 0; l < 2; ++l) {
			for (i1 = 0; i1 < 3; ++i1) {
				par1World.setBlockState(new BlockPos(par2 + b0 * l, par3 + i1, par4 + b1 * l), ModBlocks.portalNillax.getDefaultState());
			}
		}

		return true;
	}
}

@Override
public void randomDisplayTick(World worldIn, BlockPos pos, IBlockState state, Random rand) {

	int par2 = pos.getX();
	int par3 = pos.getY();
	int par4 = pos.getZ();

	if (rand.nextInt(100) == 0) {
		worldIn.playSound(pos.getX() + 0.5D, pos.getY() + 0.5D, pos.getZ() + 0.5D, "portal.portal", 0.5F, rand.nextFloat() * 0.4F + 0.8F, false);
	}

	for (int i = 0; i < 4; ++i) {
		double d0 = pos.getX() + rand.nextFloat();
		double d1 = pos.getY() + rand.nextFloat();
		double d2 = pos.getZ() + rand.nextFloat();
		double d3 = (rand.nextFloat() - 0.5D) * 0.5D;
		double d4 = (rand.nextFloat() - 0.5D) * 0.5D;
		double d5 = (rand.nextFloat() - 0.5D) * 0.5D;
		int j = rand.nextInt(2) * 2 - 1;

		if (worldIn.getBlockState(pos.west()).getBlock() != this && worldIn.getBlockState(pos.east()).getBlock() != this) {
			d0 = pos.getX() + 0.5D + 0.25D * j;
			d3 = rand.nextFloat() * 2.0F * j;
		}
		else {
			d2 = pos.getZ() + 0.5D + 0.25D * j;
			d5 = rand.nextFloat() * 2.0F * j;
		}

		worldIn.spawnParticle(EnumParticleTypes.PORTAL, d0, d1, d2, d3, d4, d5, new int[0]);
	}
}

@Override
public void onNeighborBlockChange(World par1World, BlockPos blockPos, IBlockState state, Block neighborBlock) {
	byte b0 = 0;
	byte b1 = 1;

	int par2 = blockPos.getX();
	int par3 = blockPos.getY();
	int par4 = blockPos.getZ();

	if (par1World.getBlockState(new BlockPos(par2 - 1, par3, par4)) == this || par1World.getBlockState(new BlockPos(par2 + 1, par3, par4)) == this) {
		b0 = 1;
		b1 = 0;
	}

	int i1;

	for (i1 = par3; par1World.getBlockState(new BlockPos(par2, i1 - 1, par4)) == this; --i1) {
		;
	}

	if (par1World.getBlockState(new BlockPos(par2, i1 - 1, par4)) != ModBlocks.nillaxStone) {
		par1World.setBlockToAir(new BlockPos(par2, par3, par4));
	}
	else {
		int j1;

		for (j1 = 1; j1 < 4 && par1World.getBlockState(new BlockPos(par2, i1 + j1, par4)) == this; ++j1) {
			;
		}

		if (j1 == 3 && par1World.getBlockState(new BlockPos(par2, i1 + j1, par4)) == ModBlocks.nillaxStone) {
			boolean flag = par1World.getBlockState(new BlockPos(par2 - 1, par3, par4)) == this || par1World.getBlockState(new BlockPos(par2 + 1, par3, par4)) == this;
			boolean flag1 = par1World.getBlockState(new BlockPos(par2, par3, par4 - 1)) == this || par1World.getBlockState(new BlockPos(par2, par3, par4 + 1)) == this;

			if (flag && flag1) {
				par1World.setBlockToAir(new BlockPos(par2, par3, par4));
			}
			else {
				if ((par1World.getBlockState(new BlockPos(par2 + b0, par3, par4 + b1)) != ModBlocks.nillaxStone || par1World.getBlockState(new BlockPos(par2 - b0, par3, par4 - b1)) != this) && (par1World.getBlockState(new BlockPos(par2 - b0, par3, par4 - b1)) != ModBlocks.nillaxStone || par1World.getBlockState(new BlockPos(par2 + b0, par3, par4 + b1)) != this)) {
					par1World.setBlockToAir(new BlockPos(par2, par3, par4));
				}
			}
		}
		else {
			par1World.setBlockToAir(new BlockPos(par2, par3, par4));
		}
	}
}
}

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Posted

In my opinion, it's a better choice to rewrite func_176548_d than trying to fix it.

Obfuscated codes make it harder to read or modify. It would also make trouble in future updates.

 

How do I do so? Do I just completely copy and paste from source and just change up the Axises? I really have no idea where to start off if I have to completely rewrite the function

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Posted

*GASPS* It's a miracle! I got the portal to activate! I copied the onNeighborBlockChange, the func and that BlockPortal.Size from the original BlockPortal and just renamed it and changed the blocks to mine and it works!

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Posted

Also, I need help registering the textures for the custom fire, I can't get it to find the states despite I double checked it all

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Posted

How do I do so? Do I just completely copy and paste from source and just change up the Axises? I really have no idea where to start off if I have to completely rewrite the function

 

At least local variables should have a good name I thought.

 

I just got it all working,  but im getting errors about the fire models not being found

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

Posted

Hey, I'm about to get off since my eyes are starting to hurt <_> So tomorrow i'll finish the renaming and rerun the client. I'll post my results

Main Developer and Owner of Zero Quest

Visit the Wiki for more information

If I helped anyone, please give me a applaud and a thank you!

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




  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • If there is no such folder, then it refers to another issue   Create a new world with the same settings - then copy level.dat level.dat_old and session.lock from the new world to the broken one Delete the new world and test the broken one again    
    • You are using create 6.0.6 So one or more create addons are not compatible with it Remove all Create addons and test it again If this works, add the addons one by one If not, add the new crash-report       Add crash-reports with sites like https://mclo.gs/  
    • This is the main problem area, however I've already updated my graphics drivers [09:55:10] [main/WARN]: Mod file C:\Users\raypr\curseforge\minecraft\Install\libraries\net\minecraftforge\fmlcore\1.20.1-47.4.0\fmlcore-1.20.1-47.4.0.jar is missing mods.toml file [09:55:10] [main/WARN]: Mod file C:\Users\raypr\curseforge\minecraft\Install\libraries\net\minecraftforge\javafmllanguage\1.20.1-47.4.0\javafmllanguage-1.20.1-47.4.0.jar is missing mods.toml file [09:55:10] [main/WARN]: Mod file C:\Users\raypr\curseforge\minecraft\Install\libraries\net\minecraftforge\lowcodelanguage\1.20.1-47.4.0\lowcodelanguage-1.20.1-47.4.0.jar is missing mods.toml file [09:55:10] [main/WARN]: Mod file C:\Users\raypr\curseforge\minecraft\Install\libraries\net\minecraftforge\mclanguage\1.20.1-47.4.0\mclanguage-1.20.1-47.4.0.jar is missing mods.toml file
    • [09:55:08] [main/INFO]: ModLauncher running: args [--username, RayPry, --version, forge-47.4.0, --gameDir, C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ, --assetsDir, C:\Users\raypr\curseforge\minecraft\Install\assets, --assetIndex, 5, --uuid, fbb29d2614504f7d9b01434af9f7bb0e, --accessToken, ????????, --clientId, NTdlYmZmNTUtODY2ZC00NGZkLTg2NzEtZTkxMThmNmY1NmM3, --xuid, 2535429034718815, --userType, msa, --versionType, release, --width, 1024, --height, 768, --quickPlayPath, C:\Users\raypr\curseforge\minecraft\Install\quickPlay\java\1758030906375.json, --launchTarget, forgeclient, --fml.forgeVersion, 47.4.0, --fml.mcVersion, 1.20.1, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20230612.114412] [09:55:08] [main/INFO]: ModLauncher 10.0.9+10.0.9+main.dcd20f30 starting: java version 17.0.15 by Microsoft; OS Windows 11 arch amd64 version 10.0 [09:55:09] [main/INFO]: Loading ImmediateWindowProvider fmlearlywindow [09:55:09] [main/INFO]: Trying GL version 4.6 [09:55:10] [main/INFO]: Requested GL version 4.6 got version 4.6 [09:55:10] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/C:/Users/raypr/curseforge/minecraft/Install/libraries/org/spongepowered/mixin/0.8.5/mixin-0.8.5.jar%23100!/ Service=ModLauncher Env=CLIENT [09:55:10] [pool-2-thread-1/INFO]: GL info: NVIDIA GeForce RTX 3050 Laptop GPU/PCIe/SSE2 GL version 4.6.0 NVIDIA 581.29, NVIDIA Corporation [09:55:10] [main/INFO]: Found mod file additional_recipes-1.5.0-forge-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file AE2 Tools Complement 1.20.1-1.0.4.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file alexscaves-2.0.2.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file alloyed-1.20.1-c6.0.0-v2.0.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file Applied-Mekanistics-1.4.2.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file appliede-0.14.3.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file appliedenergistics2-forge-15.4.8.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file AppliedFlux-1.20-1.3.2-forge.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file appliedschematicannon-1.0.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file appliedsorting-forge-1.20.1-v1.0.0.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file architectury-9.2.14-forge.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file badpackets-forge-0.4.3.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file balm-forge-1.20.1-7.3.35-all.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file biomancy-forge-1.20.1-2.8.19.0.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file Botania-1.20.1-450-FORGE.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file botarium-forge-1.20.1-2.3.4.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file caelus-forge-3.2.0+1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file cbabo V1.1 forge.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file citadel-2.6.2-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file cloth-config-11.1.136-forge.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file cofh_core-1.20.1-11.0.2.56.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file compressed_create_recipes-1.2.4.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file configuration-forge-1.20.1-3.1.0.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file copycats-3.0.2+mc.1.20.1-forge.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file cratestuff-0.1.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file Create Encased-1.20.1-1.7.2-fix1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file Create Quality of Life-1.20.1-1.6.0.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create-1.20.1-6.0.6.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file Create-DnDesire-1.20.1-0.1b.Release-Early-Dev.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create-metalwork-1.20.1-1.0.11-forge.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create-mob-spawners-1.20.1-3.1.0.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create-new-age-forge-1.20.1-1.1.4.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create-stuff-additions1.20.1_v2.1.0.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_alexscaves_compat-1.5.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_cardboarded_conveynience-1.20.1-0.0.3.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_connected-1.1.7-mc1.20.1-all.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_easy_structures-0.2-forge-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_enchantment_industry-1.3.3-for-create-6.0.6.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_factory_logistics-1.20.1-1.4.6.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_jetpack-forge-4.4.2.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_jetpack_curios-1.2.0-forge-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_kart-2.3.0-forge-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_logistics-1.20.1-0.0.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_ltab-3.0.0.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_mecanical_extruder-1.20.1-1.6.11-6.0.6.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_mechanical_chicken-1.20.1-1.1.5-6.0.2.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_misc_and_things_ 1.20.1_4.0A.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_mobile_packages-1.20.1-0.5.5.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_netherless-1.20.1-1.3.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_optical-0.3.0.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_oxidized-0.1.2.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_power_loader-2.0.3-mc1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_recycle_1.0.2_forge_1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_rustic_structures-1.0.0-forge-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_sabers-1.20.1-1.3.0.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_security-0.1.2-forge-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_structures_arise-162.35.34-forge-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_ultimate_factory-2.1.0-forge-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_waystones_recipes-1.0.1.b.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file create_wt-forge-1.20.1-1.0.7.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createaddition-1.20.1-1.3.2.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createair-1.0.5.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createappliedkinetics-1.5.1-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createbb-1.20.1-3.2.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createchunkloading-1.6.0-forge.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createcobblestone-1.4.5+forge-1.20.1-106.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createcompounds-1.0.0.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createcontraptionterminals-1.20-1.2.0.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createdieselgenerators-1.20.1-1.3.5.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createenchantablemachinery-3.4.1+mc1.20.1-forge.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createenderlink-1.4.0+mc1.20.1-forge.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createendertransmission-2.1.0-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createfiltersanywhere-1.5.0-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createlowheated-forge-1.20.1-6.0.6-4.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createmetallurgy-0.0.7-HF-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createnewbeg-0.1.0-1.20.1-c6.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createnuclear-1.3.0-forge.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createoreexcavation-1.20-1.6.4.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createrailwaysnavigator-forge-1.20.1-beta-0.8.4-C6.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createsifter-1.20.1-1.8.6-6.0.6.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createstockbridge-1.20-0.1.5.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file CreateTankDefenses v0.80.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createteleporters2.3-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createultimine-1.20.1-forge-1.1.2.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file createutilities-0.3.2+1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file Crystal-Clear-2.1-Beta-forge.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file curios-forge-5.14.1+1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file delivery_director-1.0.1-all.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file design_decor-0.4.0b-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file dynamicvillage-v0.4-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file easy_applied_energestics_start-8.0-forge-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file edible_stuff-2.1.0-forge-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file embeddium-0.3.31+mc1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file extendedgears-2.1.1-1.20.1-0.5.1.f-forge.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file extra_gauges-1.1.2-all.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file FarmersDelight-1.20.1-1.2.9.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file framework-forge-1.20.1-0.7.15.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file ftb-library-forge-2001.2.10.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file ftb-quests-forge-2001.4.14.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file ftb-teams-forge-2001.3.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file ftb-ultimine-forge-2001.1.7.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file fusion-1.2.11a-forge-mc1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file garnished-2.1.2+1.20.1-neoforged.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file geckolib-forge-1.20.1-4.7.4.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file Glodium-1.20-1.5-forge.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file guideme-20.1.12.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file irons_spellbooks-1.20.1-3.4.0.11.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file kotlinforforge-4.11.0-all.jar of type LIBRARY with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file kubejs-create-forge-2001.3.0-build.8.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file kubejs-forge-2001.6.5-build.16.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file mechanical_botany-1.0.5+1.20.1-neoforged.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file Mekanism-1.20.1-10.4.16.80.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file molten_metals-1.20.1-0.1.4-forge.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file molten_vents-1.20.1-2.0.9.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file moonlight-1.20-2.16.10-forge.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file nocube's_create_compact_exp_1.0.4_forge_1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file Patchouli-1.20.1-84.1-FORGE.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file pattern_schematics-1.2.3+forge-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file petrolpark-1.20.1-1.4.11.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file petrolsparts-1.20.1-1.2.3-all.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file player-animation-lib-forge-1.0.2-rc1+1.20.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file ProjectE-1.20.1-PE1.0.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file PuzzlesLib-v8.1.33-1.20.1-Forge.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file rechiseled-1.1.6-forge-mc1.20.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file rechiseledcreate-1.0.2b-forge-mc1.20.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file resourcefulconfig-forge-1.20.1-2.1.3.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file resourcefullib-forge-1.20.1-2.1.29.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file rhino-forge-2001.2.3-build.10.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file ritchiesprojectilelib-2.1.0+mc.1.20.1-forge.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file sebastrnlib-4.0.0.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file SmartBrainLib-forge-1.20.1-1.15.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file smartcrafter-0.2.0.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file sophisticatedcore-1.20.1-1.2.89.1147.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file sophisticatedstorage-1.20.1-1.4.4.1286.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file Steam_Rails-1.6.7+forge-mc1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file steampowered-1.20.1-3.0.2.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file supermartijn642configlib-1.1.8-forge-mc1.20.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file supermartijn642corelib-1.1.18-forge-mc1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file ThinAir-v8.1.7-1.20.1-Forge.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file timeclock-3.0.0-forge-1.20.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file toms_storage-1.20-1.7.1.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file tools_complement-1.20.1-4.0.0.25.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file vintageimprovements-1.20.1-0.2.0.3.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/INFO]: Found mod file waystones-forge-1.20.1-14.1.17.jar of type MOD with provider {mods folder locator at C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods} [09:55:10] [main/WARN]: Mod file C:\Users\raypr\curseforge\minecraft\Install\libraries\net\minecraftforge\fmlcore\1.20.1-47.4.0\fmlcore-1.20.1-47.4.0.jar is missing mods.toml file [09:55:10] [main/WARN]: Mod file C:\Users\raypr\curseforge\minecraft\Install\libraries\net\minecraftforge\javafmllanguage\1.20.1-47.4.0\javafmllanguage-1.20.1-47.4.0.jar is missing mods.toml file [09:55:10] [main/WARN]: Mod file C:\Users\raypr\curseforge\minecraft\Install\libraries\net\minecraftforge\lowcodelanguage\1.20.1-47.4.0\lowcodelanguage-1.20.1-47.4.0.jar is missing mods.toml file [09:55:10] [main/WARN]: Mod file C:\Users\raypr\curseforge\minecraft\Install\libraries\net\minecraftforge\mclanguage\1.20.1-47.4.0\mclanguage-1.20.1-47.4.0.jar is missing mods.toml file [09:55:10] [main/INFO]: Found mod file fmlcore-1.20.1-47.4.0.jar of type LIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.MinecraftLocator@344426bf [09:55:10] [main/INFO]: Found mod file javafmllanguage-1.20.1-47.4.0.jar of type LANGPROVIDER with provider net.minecraftforge.fml.loading.moddiscovery.MinecraftLocator@344426bf [09:55:10] [main/INFO]: Found mod file lowcodelanguage-1.20.1-47.4.0.jar of type LANGPROVIDER with provider net.minecraftforge.fml.loading.moddiscovery.MinecraftLocator@344426bf [09:55:10] [main/INFO]: Found mod file mclanguage-1.20.1-47.4.0.jar of type LANGPROVIDER with provider net.minecraftforge.fml.loading.moddiscovery.MinecraftLocator@344426bf [09:55:10] [main/INFO]: Found mod file client-1.20.1-20230612.114412-srg.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.MinecraftLocator@344426bf [09:55:10] [main/INFO]: Found mod file forge-1.20.1-47.4.0-universal.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.MinecraftLocator@344426bf [09:55:11] [main/WARN]: Attempted to select a dependency jar for JarJar which was passed in as source: architectury. Using Mod File: C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ\mods\architectury-9.2.14-forge.jar [09:55:11] [main/INFO]: Found 18 dependencies adding them to mods collection [09:55:11] [main/INFO]: Found mod file dragonlib-forge-1.20.1-2.2.24.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@2b03d52f [09:55:11] [main/INFO]: Found mod file kuma-api-forge-20.1.11+1.20.1.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@2b03d52f [09:55:11] [main/INFO]: Found mod file yabn-1.0.3.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@2b03d52f [09:55:11] [main/INFO]: Found mod file kfflang-4.11.0.jar of type LANGPROVIDER with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@2b03d52f [09:55:11] [main/INFO]: Found mod file Ponder-Forge-1.20.1-1.0.80.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@2b03d52f [09:55:11] [main/INFO]: Found mod file Registrate-MC1.20-1.3.3.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@2b03d52f [09:55:11] [main/INFO]: Found mod file conditional-mixin-forge-0.6.4.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@2b03d52f [09:55:11] [main/INFO]: Found mod file flightlib-forge-2.1.0.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@2b03d52f [09:55:11] [main/INFO]: Found mod file mclib-20.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@2b03d52f [09:55:11] [main/INFO]: Found mod file puzzlesaccessapi-forge-20.1.1.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@2b03d52f [09:55:11] [main/INFO]: Found mod file mixinextras-forge-0.5.0-rc.4.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@2b03d52f [09:55:11] [main/INFO]: Found mod file kfflib-4.11.0.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@2b03d52f [09:55:11] [main/INFO]: Found mod file kffmod-4.11.0.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@2b03d52f [09:55:11] [main/INFO]: Found mod file create_factory_abstractions-1.20.1-1.4.6.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@2b03d52f [09:55:11] [main/INFO]: Found mod file flywheel-forge-1.20.1-1.0.4.jar of type MOD with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@2b03d52f [09:55:11] [main/INFO]: Found mod file bytecodecs-1.0.2.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@2b03d52f [09:55:11] [main/INFO]: Found mod file h2-mvstore-2.3.232.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@2b03d52f [09:55:11] [main/INFO]: Found mod file MixinExtras-0.5.0-rc.4.jar of type GAMELIBRARY with provider net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator@2b03d52f [09:55:13] [main/INFO]: Compatibility level set to JAVA_17 [09:55:13] [main/INFO]: Launching target 'forgeclient' with arguments [--version, forge-47.4.0, --gameDir, C:\Users\raypr\curseforge\minecraft\Instances\BRKN SCPT GNZ, --assetsDir, C:\Users\raypr\curseforge\minecraft\Install\assets, --uuid, fbb29d2614504f7d9b01434af9f7bb0e, --username, RayPry, --assetIndex, 5, --accessToken, ????????, --clientId, NTdlYmZmNTUtODY2ZC00NGZkLTg2NzEtZTkxMThmNmY1NmM3, --xuid, 2535429034718815, --userType, msa, --versionType, release, --width, 1024, --height, 768, --quickPlayPath, C:\Users\raypr\curseforge\minecraft\Install\quickPlay\java\1758030906375.json] [09:55:13] [main/WARN]: Reference map 'mixins.create_security.refmap.json' for mixins.create_security.json could not be read. If this is a development environment you can ignore this message [09:55:13] [main/INFO]: Loaded configuration file for Embeddium: 199 options available, 0 override(s) found [09:55:13] [main/INFO]: Searching for graphics cards... [09:55:14] [main/INFO]: Found graphics card: GraphicsAdapterInfo[vendor=UNKNOWN, name=Meta Virtual Monitor, version=DriverVersion=17.12.55.198] [09:55:14] [main/INFO]: Found graphics card: GraphicsAdapterInfo[vendor=NVIDIA, name=NVIDIA GeForce RTX 3050 Laptop GPU, version=DriverVersion=32.0.15.8129] [09:55:14] [main/INFO]: Found graphics card: GraphicsAdapterInfo[vendor=INTEL, name=Intel(R) UHD Graphics, version=DriverVersion=31.0.101.4502] [09:55:14] [main/WARN]: Embeddium has applied one or more workarounds to prevent crashes or other issues on your system: [NVIDIA_THREADED_OPTIMIZATIONS] [09:55:14] [main/WARN]: This is not necessarily an issue, but it may result in certain features or optimizations being disabled. You can sometimes fix these issues by upgrading your graphics driver. [09:55:14] [main/WARN]: Reference map 'createcobblestone-common-refmap.json' for createcobblestone-common.mixins.json could not be read. If this is a development environment you can ignore this message [09:55:14] [main/WARN]: Reference map 'tfmg.refmap.json' for design_decor.mixins.json could not be read. If this is a development environment you can ignore this message [09:55:14] [main/WARN]: Reference map 'createappliedkinetics.refmap.json' for createappliedkinetics.mixins.json could not be read. If this is a development environment you can ignore this message [09:55:14] [main/WARN]: Reference map 'puzzlesaccessapi.common.refmap.json' for puzzlesaccessapi.common.mixins.json could not be read. If this is a development environment you can ignore this message [09:55:14] [main/WARN]: Reference map 'molten_metals-common-refmap.json' for molten_metals-common.mixins.json could not be read. If this is a development environment you can ignore this message [09:55:14] [main/WARN]: Reference map 'steampowered.refmap.json' for steampowered.mixins.json could not be read. If this is a development environment you can ignore this message [09:55:14] [main/WARN]: Reference map 'createcompounds.refmap.json' for createcompounds.mixins.json could not be read. If this is a development environment you can ignore this message [09:55:14] [main/WARN]: Reference map 'pattern_schematics-common-refmap.json' for pattern_schematics.common.mixins.json could not be read. If this is a development environment you can ignore this message [09:55:14] [main/INFO]: Loading 154 mods:     - additional_recipes 1.0.0     - ae2 15.4.8     - ae2_tools 1.0.4     - alexscaves 2.0.2     - alloyed 2.0+1.20.1     - appflux 1.20-1.3.2-forge     - appliede 0.14.3     - appliedschematicannon 1.0.1     - appliedsorting 1.0.0     - appmek 1.4.2     - architectury 9.2.14     - badpackets 0.4.3     - balm 7.3.35         \-- kuma_api 20.1.11     - biomancy 2.8.19.0     - botania 1.20.1-450-FORGE     - botarium 2.3.4     - caelus 3.2.0+1.20.1     - citadel 2.6.2     - cloth_config 11.1.136     - cofh_core 11.0.2     - compressed_create_recipes 1.2.4     - configuration 3.1.0     - copycats 3.0.2+mc.1.20.1-forge     - cratestuff 0.1.1     - create 6.0.6         |-- flywheel 1.0.4         \-- ponder 1.0.80     - create_alexscaves_compat 1.5.1     - create_buffers__beams_overhauled 1.0.0     - create_cardboarded_conveynience 0.0.3     - create_connected 1.1.7-mc1.20.1     - create_crush_everything 1.0.2     - create_dd 0.1b.Release-Early-Dev     - create_easy_structures 0.2     - create_enchantment_industry 1.3.3-for-create-6.0.6     - create_factory_logistics 1.4.6         \-- create_factory_abstractions 1.4.6     - create_jetpack 4.4.2         \-- flightlib 2.1.0     - create_jetpack_curios 1.2.0     - create_kart 2.3.0     - create_logistics 1.0.0     - create_ltab 3.0.0     - create_mechanical_chicken 1.20.1-1.1.5-6.0.2     - create_mechanical_extruder 1.20.1-1.6.10-6.0.6     - create_mob_spawners 3.1.0     - create_mobile_packages 0.5.5     - create_netherless 1.3.0     - create_new_age 1.1.4     - create_optical 0.3.0     - create_oxidized 0.1.2     - create_pattern_schematics 1.2.3+forge-1.20.1     - create_power_loader 2.0.3-mc1.20.1     - create_rustic_structures 1.0.0     - create_sa 2.1.0     - create_sabers 1.3.0     - create_security 0.1.2     - create_structures_arise 162.35.34     - create_tank_defenses 0.80     - create_things_and_misc 1.0.0     - create_ultimate_factory 2.1.0     - create_waystones_recipes 1.0.1.b     - create_wt 1.0.7     - createaddition 1.20.1-1.3.2     - createair 1.0.5     - createappliedkinetics 1.5.1-1.20.1     - createbb 3.1.1     - createcasing 1.7.2-fix1     - createchunkloading 1.6.0     - createcobblestone 1.4.5+forge-1.20.1-106     - createcompounds 1.0.0     - createcontraptionterminals 1.2.0     - createdieselgenerators 1.20.1-1.3.5     - createenchantablemachinery 3.4.1     - createenderlink 1.4.0     - createendertransmission 2.1.0-1.20.1     - createfiltersanywhere 1.5.0         \-- conditional_mixin 0.6.4     - createlowheated 1.20.1-6.0.6-4     - createmetallurgy 0.0.7-HF-1.20.1     - createmetalwork 1.20.1-1.0.11-forge     - createnewbeg 0.1.0-1.20.1-c6     - createnuclear 1.3.0     - createoreexcavation 1.6.4     - createqol 1.5.1-fix2     - createrailwaysnavigator 1.20.1-beta-0.8.4-C6         \-- dragonlib 1.20.1-2.2.24     - createsifter 1.20.1-1.8.6-6.0.6     - createstockbridge 0.1.5     - createteleporters 2.2     - createultimine 1.1.2     - createutilities 0.3.2+1.20.1     - crystal_clear 2.1-Beta     - curios 5.14.1+1.20.1     - delivery_director 1.0.1     - design_decor 0.4.0b     - dynamicvillage 0.4     - easy_applied_energestics_start 1.0     - edible_stuff 2.0.0     - embeddium 0.3.31+mc1.20.1         \-- rubidium 0.7.1     - extendedgears 2.1.1-1.20.1-0.5.1.f-forge     - extra_gauges 1.1.2     - farmersdelight 1.20.1-1.2.9     - forge 47.4.0     - framework 0.7.15     - ftblibrary 2001.2.10     - ftbquests 2001.4.14     - ftbteams 2001.3.1     - ftbultimine 2001.1.7     - fusion 1.2.11+a     - garnished 2.1.2     - geckolib 4.7.4     - glodium 1.20-1.5-forge     - guideme 20.1.12     - irons_spellbooks 1.20.1-3.4.0.11     - kotlinforforge 4.11.0     - kubejs 2001.6.5-build.16     - kubejs_create 2001.3.0-build.8     - mechanical_botany 1.0.5     - mekanism 10.4.16     - minecraft 1.20.1     - molten_metals 1.20.1-0.1.4     - molten_vents 2.0.9     - moonlight 1.20-2.16.10     - nocubescreateexp 1.0.4     - patchouli 1.20.1-84.1-FORGE     - petrolpark 1.4.11     - petrolsparts 1.2.3     - playeranimator 1.0.2-rc1+1.20     - projecte 1.0.1     - puzzleslib 8.1.33         \-- puzzlesaccessapi 20.1.1     - railways 1.6.7+forge-mc1.20.1     - rechiseled 1.1.6     - rechiseledcreate 1.0.2+b     - resourcefulconfig 2.1.3     - resourcefullib 2.1.29     - rhino 2001.2.3-build.10     - ritchiesprojectilelib 2.1.0     - sebastrnlib 4.0.0     - smartbrainlib 1.15     - smartcrafter 0.2.0     - sophisticatedcore 1.2.89.1147     - sophisticatedstorage 1.4.4.1286     - steampowered 1.20.1-3.0.2     - supermartijn642configlib 1.1.8     - supermartijn642corelib 1.1.18     - thinair 8.1.7     - timeclock 3.0.0     - toms_storage 1.7.1     - tools_complement 4.0.0     - vintageimprovements 1.20.1-0.2.0.3     - waystones 14.1.17
  • Topics

×
×
  • Create New...

Important Information

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