BiomesOPlenty/src/minecraft/biomesoplenty/helpers/TeleporterPromised.java

806 lines
No EOL
33 KiB
Java

package biomesoplenty.helpers;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Random;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.util.Direction;
import net.minecraft.util.LongHashMap;
import net.minecraft.util.MathHelper;
import net.minecraft.world.ChunkCoordIntPair;
import net.minecraft.world.PortalPosition;
import net.minecraft.world.Teleporter;
import net.minecraft.world.WorldServer;
import biomesoplenty.api.Blocks;
public class TeleporterPromised extends Teleporter
{
private final WorldServer worldServerInstance;
private final Random random;
private final LongHashMap field_85191_c = new LongHashMap();
@SuppressWarnings("rawtypes")
private final List field_85190_d = new ArrayList();
public TeleporterPromised(WorldServer par1WorldServer)
{
super(par1WorldServer);
this.worldServerInstance = par1WorldServer;
this.random = new Random(par1WorldServer.getSeed());
}
@SuppressWarnings("unused")
@Override
public void placeInPortal(Entity par1Entity, double par2, double par4, double par6, float par8)
{
if (this.worldServerInstance.provider.dimensionId != 1)
{
if (!this.placeInExistingPortal(par1Entity, par2, par4, par6, par8))
{
this.makePortal(par1Entity);
this.placeInExistingPortal(par1Entity, par2, par4, par6, par8);
}
}
else
{
int var9 = 1;
int var10 = 31;
int var11 = 0;
byte var12 = 1;
byte var13 = 0;
for (int var14 = -2; var14 <= 2; ++var14)
{
for (int var15 = -2; var15 <= 2; ++var15)
{
for (int var16 = -1; var16 < 3; ++var16)
{
int var17 = var9 + var15 * var12 + var14 * var13;
int var18 = var10 + var16;
int var19 = var11 + var15 * var13 - var14 * var12;
boolean var20 = var16 < 0;
//this.worldServerInstance.setBlockWithNotify(var17, var18, var19, var20 ? Block.whiteStone.blockID : 0);
int var99 = 32;
this.worldServerInstance.setBlock(-1, 62 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 62 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 62 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 62 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 62 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 62 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 62 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 62 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 62 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 63 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 63 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 63 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 63 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 63 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 63 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 63 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 63 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 63 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 63 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 63 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 63 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 64 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 64 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 64 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 64 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 64 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 64 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 64 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 64 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 64 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 64 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 64 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 64 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 65 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 65 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 65 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 65 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 65 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 65 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 65 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 65 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 65 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 65 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 65 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 65 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 66 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 66 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 66 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 66 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 66 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 66 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 66 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 66 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 66 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 63 - var99, 1, 0);
this.worldServerInstance.setBlock(0, 63 - var99, 1, 0);
this.worldServerInstance.setBlock(1, 63 - var99, 1, 0);
this.worldServerInstance.setBlock(1, 63 - var99, 0, 0);
this.worldServerInstance.setBlock(1, 63 - var99, -1, 0);
this.worldServerInstance.setBlock(0, 63 - var99, -1, 0);
this.worldServerInstance.setBlock(-1, 63 - var99, -1, 0);
this.worldServerInstance.setBlock(-1, 63 - var99, 0, 0);
this.worldServerInstance.setBlock(0, 63 - var99, 0, 0);
this.worldServerInstance.setBlock(-1, 64 - var99, 1, 0);
this.worldServerInstance.setBlock(0, 64 - var99, 1, 0);
this.worldServerInstance.setBlock(1, 64 - var99, 1, 0);
this.worldServerInstance.setBlock(1, 64 - var99, 0, 0);
this.worldServerInstance.setBlock(1, 64 - var99, -1, 0);
this.worldServerInstance.setBlock(0, 64 - var99, -1, 0);
this.worldServerInstance.setBlock(-1, 64 - var99, -1, 0);
this.worldServerInstance.setBlock(-1, 64 - var99, 0, 0);
this.worldServerInstance.setBlock(-1, 65 - var99, 1, 0);
this.worldServerInstance.setBlock(0, 65 - var99, 1, 0);
this.worldServerInstance.setBlock(1, 65 - var99, 1, 0);
this.worldServerInstance.setBlock(1, 65 - var99, 0, 0);
this.worldServerInstance.setBlock(1, 65 - var99, -1, 0);
this.worldServerInstance.setBlock(0, 65 - var99, -1, 0);
this.worldServerInstance.setBlock(-1, 65 - var99, -1, 0);
this.worldServerInstance.setBlock(-1, 65 - var99, 0, 0);
this.worldServerInstance.setBlock(0, 65 - var99, 0, 0);
this.worldServerInstance.setBlock(3, 64 - var99, 3, 0);
this.worldServerInstance.setBlock(3, 63 - var99, 3, 0);
this.worldServerInstance.setBlock(3, 62 - var99, 3, 0);
this.worldServerInstance.setBlock(3, 61 - var99, 3, 0);
this.worldServerInstance.setBlock(3, 60 - var99, 3, 0);
this.worldServerInstance.setBlock(0, 64 - var99, 0, Blocks.promisedPortal.get().blockID);
}
}
}
par1Entity.setLocationAndAngles((double) var9, (double) var10, (double) var11, par1Entity.rotationYaw, 0.0F);
par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D;
}
}
@SuppressWarnings("unchecked")
@Override
public boolean placeInExistingPortal(Entity par1Entity, double par2, double par4, double par6, float par8)
{
short var9 = 128;
double var10 = -1.0D;
int var12 = 0;
int var13 = 0;
int var14 = 0;
int var15 = MathHelper.floor_double(1);
int var16 = MathHelper.floor_double(0);
long var17 = ChunkCoordIntPair.chunkXZ2Int(var15, var16);
boolean var19 = true;
double var27;
int var48;
if (this.field_85191_c.containsItem(var17))
{
PortalPosition var20 = (PortalPosition) this.field_85191_c.getValueByKey(var17);
var10 = 0.0D;
var12 = 1;
var13 = 31;
var14 = 0;
var20.lastUpdateTime = this.worldServerInstance.getTotalWorldTime();
var19 = false;
}
else
{
for (var48 = var15 - var9; var48 <= var15 + var9; ++var48)
{
double var21 = (double) var48 + 0.5D - par1Entity.posX;
for (int var23 = var16 - var9; var23 <= var16 + var9; ++var23)
{
double var24 = (double) var23 + 0.5D - par1Entity.posZ;
for (int var26 = this.worldServerInstance.getActualHeight() - 1; var26 >= 0; --var26)
{
if (this.worldServerInstance.getBlockId(var48, var26, var23) == Blocks.promisedPortal.get().blockID)
{
while (this.worldServerInstance.getBlockId(var48, var26 - 1, var23) == Blocks.promisedPortal.get().blockID)
{
--var26;
}
var27 = (double) var26 + 0.5D - par1Entity.posY;
double var29 = var21 * var21 + var27 * var27 + var24 * var24;
if (var10 < 0.0D || var29 < var10)
{
var10 = var29;
var12 = var48;
var13 = var26;
var14 = var23;
}
}
}
}
}
}
if (var10 >= 0.0D)
{
if (var19)
{
this.field_85191_c.add(var17, new PortalPosition(this, var12, var13, var14, this.worldServerInstance.getTotalWorldTime()));
this.field_85190_d.add(Long.valueOf(var17));
}
double var49 = (double) var12 + 0.5D;
double var25 = (double) var13 + 0.5D;
var27 = (double) var14 + 0.5D;
int var50 = -1;
if (this.worldServerInstance.getBlockId(var12 - 1, var13, var14) == Blocks.promisedPortal.get().blockID)
{
var50 = 2;
}
if (this.worldServerInstance.getBlockId(var12 + 1, var13, var14) == Blocks.promisedPortal.get().blockID)
{
var50 = 0;
}
if (this.worldServerInstance.getBlockId(var12, var13, var14 - 1) == Blocks.promisedPortal.get().blockID)
{
var50 = 3;
}
if (this.worldServerInstance.getBlockId(var12, var13, var14 + 1) == Blocks.promisedPortal.get().blockID)
{
var50 = 1;
}
int var30 = par1Entity.getTeleportDirection();
if (var50 > -1)
{
int var31 = Direction.rotateLeft[var50];
int var32 = Direction.offsetX[var50];
int var33 = Direction.offsetZ[var50];
int var34 = Direction.offsetX[var31];
int var35 = Direction.offsetZ[var31];
boolean var36 = !this.worldServerInstance.isAirBlock(var12 + var32 + var34, var13, var14 + var33 + var35) || !this.worldServerInstance.isAirBlock(var12 + var32 + var34, var13 + 1, var14 + var33 + var35);
boolean var37 = !this.worldServerInstance.isAirBlock(var12 + var32, var13, var14 + var33) || !this.worldServerInstance.isAirBlock(var12 + var32, var13 + 1, var14 + var33);
if (var36 && var37)
{
var50 = Direction.rotateOpposite[var50];
var31 = Direction.rotateOpposite[var31];
var32 = Direction.offsetX[var50];
var33 = Direction.offsetZ[var50];
var34 = Direction.offsetX[var31];
var35 = Direction.offsetZ[var31];
var48 = var12 - var34;
var49 -= (double) var34;
int var22 = var14 - var35;
var27 -= (double) var35;
var36 = !this.worldServerInstance.isAirBlock(var48 + var32 + var34, var13, var22 + var33 + var35) || !this.worldServerInstance.isAirBlock(var48 + var32 + var34, var13 + 1, var22 + var33 + var35);
var37 = !this.worldServerInstance.isAirBlock(var48 + var32, var13, var22 + var33) || !this.worldServerInstance.isAirBlock(var48 + var32, var13 + 1, var22 + var33);
}
float var38 = 0.5F;
float var39 = 0.5F;
if (!var36 && var37)
{
var38 = 1.0F;
}
else if (var36 && !var37)
{
var38 = 0.0F;
}
else if (var36 && var37)
{
var39 = 0.0F;
}
var49 += (double) ((float) var34 * var38 + var39 * (float) var32);
var27 += (double) ((float) var35 * var38 + var39 * (float) var33);
float var40 = 0.0F;
float var41 = 0.0F;
float var42 = 0.0F;
float var43 = 0.0F;
if (var50 == var30)
{
var40 = 1.0F;
var41 = 1.0F;
}
else if (var50 == Direction.rotateOpposite[var30])
{
var40 = -1.0F;
var41 = -1.0F;
}
else if (var50 == Direction.rotateRight[var30])
{
var42 = 1.0F;
var43 = -1.0F;
}
else
{
var42 = -1.0F;
var43 = 1.0F;
}
double var44 = par1Entity.motionX;
double var46 = par1Entity.motionZ;
par1Entity.motionX = var44 * (double) var40 + var46 * (double) var43;
par1Entity.motionZ = var44 * (double) var42 + var46 * (double) var41;
par1Entity.rotationYaw = par8 - (float) (var30 * 90) + (float) (var50 * 90);
}
else
{
par1Entity.motionX = par1Entity.motionY = par1Entity.motionZ = 0.0D;
}
par1Entity.setLocationAndAngles(var49 + 1, var25, var27 + 1, par1Entity.rotationYaw, par1Entity.rotationPitch);
return true;
}
else
{
return false;
}
}
@SuppressWarnings("unused")
@Override
public boolean makePortal(Entity par1Entity)
{
byte var2 = 16;
double var3 = -1.0D;
int var5 = MathHelper.floor_double(1);
int var6 = MathHelper.floor_double(31);
int var7 = MathHelper.floor_double(0);
int var8 = var5;
int var9 = var6;
int var10 = var7;
int var11 = 0;
int var12 = this.random.nextInt(4);
int var13;
double var14;
double var17;
int var16;
int var19;
int var21;
int var20;
int var23;
int var22;
int var25;
int var24;
int var27;
int var26;
double var31;
double var32;
for (var13 = var5 - var2; var13 <= var5 + var2; ++var13)
{
var14 = (double) var13 + 0.5D - par1Entity.posX;
for (var16 = var7 - var2; var16 <= var7 + var2; ++var16)
{
var17 = (double) var16 + 0.5D - par1Entity.posZ;
label274:
for (var19 = this.worldServerInstance.getActualHeight() - 1; var19 >= 0; --var19)
{
if (this.worldServerInstance.isAirBlock(var13, var19, var16))
{
while (var19 > 0 && this.worldServerInstance.isAirBlock(var13, var19 - 1, var16))
{
--var19;
}
for (var20 = var12; var20 < var12 + 4; ++var20)
{
var21 = var20 % 2;
var22 = 1 - var21;
if (var20 % 4 >= 2)
{
var21 = -var21;
var22 = -var22;
}
for (var23 = 0; var23 < 3; ++var23)
{
for (var24 = 0; var24 < 4; ++var24)
{
for (var25 = -1; var25 < 4; ++var25)
{
var26 = var13 + (var24 - 1) * var21 + var23 * var22;
var27 = var19 + var25;
int var28 = var16 + (var24 - 1) * var22 - var23 * var21;
if (var25 < 0 && !this.worldServerInstance.getBlockMaterial(var26, var27, var28).isSolid() || var25 >= 0 && !this.worldServerInstance.isAirBlock(var26, var27, var28))
{
continue label274;
}
}
}
}
var32 = (double) var19 + 0.5D - par1Entity.posY;
var31 = var14 * var14 + var32 * var32 + var17 * var17;
if (var3 < 0.0D || var31 < var3)
{
var3 = var31;
var8 = var13;
var9 = var19;
var10 = var16;
var11 = var20 % 4;
}
}
}
}
}
}
if (var3 < 0.0D)
{
for (var13 = var5 - var2; var13 <= var5 + var2; ++var13)
{
var14 = (double) var13 + 0.5D - par1Entity.posX;
for (var16 = var7 - var2; var16 <= var7 + var2; ++var16)
{
var17 = (double) var16 + 0.5D - par1Entity.posZ;
label222:
for (var19 = this.worldServerInstance.getActualHeight() - 1; var19 >= 0; --var19)
{
if (this.worldServerInstance.isAirBlock(var13, var19, var16))
{
while (var19 > 0 && this.worldServerInstance.isAirBlock(var13, var19 - 1, var16))
{
--var19;
}
for (var20 = var12; var20 < var12 + 2; ++var20)
{
var21 = var20 % 2;
var22 = 1 - var21;
for (var23 = 0; var23 < 4; ++var23)
{
for (var24 = -1; var24 < 4; ++var24)
{
var25 = var13 + (var23 - 1) * var21;
var26 = var19 + var24;
var27 = var16 + (var23 - 1) * var22;
if (var24 < 0 && !this.worldServerInstance.getBlockMaterial(var25, var26, var27).isSolid() || var24 >= 0 && !this.worldServerInstance.isAirBlock(var25, var26, var27))
{
continue label222;
}
}
}
var32 = (double) var19 + 0.5D - par1Entity.posY;
var31 = var14 * var14 + var32 * var32 + var17 * var17;
if (var3 < 0.0D || var31 < var3)
{
var3 = var31;
var8 = var13;
var9 = var19;
var10 = var16;
var11 = var20 % 2;
}
}
}
}
}
}
}
int var29 = var8;
int var15 = var9;
var16 = var10;
int var30 = var11 % 2;
int var18 = 1 - var30;
if (var11 % 4 >= 2)
{
var30 = -var30;
var18 = -var18;
}
boolean var33;
if (var3 < 0.0D)
{
if (var9 < 70)
{
var9 = 70;
}
if (var9 > this.worldServerInstance.getActualHeight() - 10)
{
var9 = this.worldServerInstance.getActualHeight() - 10;
}
var15 = var9;
for (var19 = -1; var19 <= 1; ++var19)
{
for (var20 = 1; var20 < 3; ++var20)
{
for (var21 = -1; var21 < 3; ++var21)
{
var22 = var29 + (var20 - 1) * var30 + var19 * var18;
var23 = var15 + var21;
var24 = var16 + (var20 - 1) * var18 - var19 * var30;
var33 = var21 < 0;
//this.worldServerInstance.setBlockWithNotify(var22, var23, var24, var33 ? Block.whiteStone.blockID : 0);
int var99 = 32;
this.worldServerInstance.setBlock(-1, 62 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 62 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 62 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 62 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 62 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 62 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 62 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 62 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 62 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 63 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 63 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 63 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 63 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 63 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 63 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 63 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 63 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 63 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 63 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 63 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 63 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 64 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 64 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 64 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 64 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 64 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 64 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 64 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 64 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 64 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 64 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 64 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 64 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 65 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 65 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 65 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 65 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 65 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 65 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 65 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 65 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 65 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 65 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 65 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 65 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 66 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 66 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 66 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 66 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 66 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 66 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 66 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 66 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 66 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 63 - var99, 1, 0);
this.worldServerInstance.setBlock(0, 63 - var99, 1, 0);
this.worldServerInstance.setBlock(1, 63 - var99, 1, 0);
this.worldServerInstance.setBlock(1, 63 - var99, 0, 0);
this.worldServerInstance.setBlock(1, 63 - var99, -1, 0);
this.worldServerInstance.setBlock(0, 63 - var99, -1, 0);
this.worldServerInstance.setBlock(-1, 63 - var99, -1, 0);
this.worldServerInstance.setBlock(-1, 63 - var99, 0, 0);
this.worldServerInstance.setBlock(0, 63 - var99, 0, 0);
this.worldServerInstance.setBlock(-1, 64 - var99, 1, 0);
this.worldServerInstance.setBlock(0, 64 - var99, 1, 0);
this.worldServerInstance.setBlock(1, 64 - var99, 1, 0);
this.worldServerInstance.setBlock(1, 64 - var99, 0, 0);
this.worldServerInstance.setBlock(1, 64 - var99, -1, 0);
this.worldServerInstance.setBlock(0, 64 - var99, -1, 0);
this.worldServerInstance.setBlock(-1, 64 - var99, -1, 0);
this.worldServerInstance.setBlock(-1, 64 - var99, 0, 0);
this.worldServerInstance.setBlock(-1, 65 - var99, 1, 0);
this.worldServerInstance.setBlock(0, 65 - var99, 1, 0);
this.worldServerInstance.setBlock(1, 65 - var99, 1, 0);
this.worldServerInstance.setBlock(1, 65 - var99, 0, 0);
this.worldServerInstance.setBlock(1, 65 - var99, -1, 0);
this.worldServerInstance.setBlock(0, 65 - var99, -1, 0);
this.worldServerInstance.setBlock(-1, 65 - var99, -1, 0);
this.worldServerInstance.setBlock(-1, 65 - var99, 0, 0);
this.worldServerInstance.setBlock(0, 65 - var99, 0, 0);
this.worldServerInstance.setBlock(3, 64 - var99, 3, 0);
this.worldServerInstance.setBlock(3, 63 - var99, 3, 0);
this.worldServerInstance.setBlock(3, 62 - var99, 3, 0);
this.worldServerInstance.setBlock(3, 61 - var99, 3, 0);
this.worldServerInstance.setBlock(3, 60 - var99, 3, 0);
this.worldServerInstance.setBlock(0, 64 - var99, 0, Blocks.promisedPortal.get().blockID);
}
}
}
}
for (var19 = 0; var19 < 4; ++var19)
{
//this.worldServerInstance.editingBlocks = true;
for (var20 = 0; var20 < 4; ++var20)
{
for (var21 = -1; var21 < 4; ++var21)
{
var22 = var29 + (var20 - 1) * var30;
var23 = var15 + var21;
var24 = var16 + (var20 - 1) * var18;
var33 = var20 == 0 || var20 == 3 || var21 == -1 || var21 == 3;
//this.worldServerInstance.setBlockWithNotify(var22, var23, var24, var33 ? Block.whiteStone.blockID : BOPBlocks.promisedPortal.blockID);
int var99 = 32;
this.worldServerInstance.setBlock(-1, 62 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 62 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 62 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 62 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 62 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 62 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 62 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 62 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 62 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 63 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 63 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 63 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 63 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 63 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 63 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 63 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 63 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 63 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 63 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 63 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 63 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 64 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 64 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 64 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 64 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 64 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 64 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 64 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 64 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 64 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 64 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 64 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 64 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 65 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 65 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 65 - var99, 2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 65 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 65 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(2, 65 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 65 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 65 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 65 - var99, -2, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 65 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 65 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-2, 65 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 66 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 66 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 66 - var99, 1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 66 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(1, 66 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 66 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 66 - var99, -1, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 66 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(0, 66 - var99, 0, Block.whiteStone.blockID);
this.worldServerInstance.setBlock(-1, 63 - var99, 1, 0);
this.worldServerInstance.setBlock(0, 63 - var99, 1, 0);
this.worldServerInstance.setBlock(1, 63 - var99, 1, 0);
this.worldServerInstance.setBlock(1, 63 - var99, 0, 0);
this.worldServerInstance.setBlock(1, 63 - var99, -1, 0);
this.worldServerInstance.setBlock(0, 63 - var99, -1, 0);
this.worldServerInstance.setBlock(-1, 63 - var99, -1, 0);
this.worldServerInstance.setBlock(-1, 63 - var99, 0, 0);
this.worldServerInstance.setBlock(0, 63 - var99, 0, 0);
this.worldServerInstance.setBlock(-1, 64 - var99, 1, 0);
this.worldServerInstance.setBlock(0, 64 - var99, 1, 0);
this.worldServerInstance.setBlock(1, 64 - var99, 1, 0);
this.worldServerInstance.setBlock(1, 64 - var99, 0, 0);
this.worldServerInstance.setBlock(1, 64 - var99, -1, 0);
this.worldServerInstance.setBlock(0, 64 - var99, -1, 0);
this.worldServerInstance.setBlock(-1, 64 - var99, -1, 0);
this.worldServerInstance.setBlock(-1, 64 - var99, 0, 0);
this.worldServerInstance.setBlock(-1, 65 - var99, 1, 0);
this.worldServerInstance.setBlock(0, 65 - var99, 1, 0);
this.worldServerInstance.setBlock(1, 65 - var99, 1, 0);
this.worldServerInstance.setBlock(1, 65 - var99, 0, 0);
this.worldServerInstance.setBlock(1, 65 - var99, -1, 0);
this.worldServerInstance.setBlock(0, 65 - var99, -1, 0);
this.worldServerInstance.setBlock(-1, 65 - var99, -1, 0);
this.worldServerInstance.setBlock(-1, 65 - var99, 0, 0);
this.worldServerInstance.setBlock(0, 65 - var99, 0, 0);
this.worldServerInstance.setBlock(3, 64 - var99, 3, 0);
this.worldServerInstance.setBlock(3, 63 - var99, 3, 0);
this.worldServerInstance.setBlock(3, 62 - var99, 3, 0);
this.worldServerInstance.setBlock(3, 61 - var99, 3, 0);
this.worldServerInstance.setBlock(3, 60 - var99, 3, 0);
this.worldServerInstance.setBlock(0, 64 - var99, 0, Blocks.promisedPortal.get().blockID);
}
}
//this.worldServerInstance.editingBlocks = false;
for (var20 = 0; var20 < 4; ++var20)
{
for (var21 = -1; var21 < 4; ++var21)
{
var22 = var29 + (var20 - 1) * var30;
var23 = var15 + var21;
var24 = var16 + (var20 - 1) * var18;
this.worldServerInstance.notifyBlocksOfNeighborChange(var22, var23, var24, this.worldServerInstance.getBlockId(var22, var23, var24));
}
}
}
return true;
}
@SuppressWarnings("rawtypes")
@Override
public void removeStalePortalLocations(long par1)
{
if (par1 % 100L == 0L)
{
Iterator var3 = this.field_85190_d.iterator();
long var4 = par1 - 600L;
while (var3.hasNext())
{
Long var6 = (Long) var3.next();
PortalPosition var7 = (PortalPosition) this.field_85191_c.getValueByKey(var6.longValue());
if (var7 == null || var7.lastUpdateTime < var4)
{
var3.remove();
this.field_85191_c.remove(var6.longValue());
}
}
}
}
}