public static StructureBoundingBox func_35027_a( List list, Random random, int i, int j, int k, int l) { StructureBoundingBox structureboundingbox = new StructureBoundingBox(i, j - 5, k, i, j + 2, k); switch (l) { case 2: // '\002' structureboundingbox.maxX = i + 2; structureboundingbox.minZ = k - 8; break; case 0: // '\0' structureboundingbox.maxX = i + 2; structureboundingbox.maxZ = k + 8; break; case 1: // '\001' structureboundingbox.minX = i - 8; structureboundingbox.maxZ = k + 2; break; case 3: // '\003' structureboundingbox.maxX = i + 8; structureboundingbox.maxZ = k + 2; break; } if (StructureComponent.getIntersectingStructureComponent(list, structureboundingbox) != null) { return null; } else { return structureboundingbox; } }
private Vector translate(Vector pos) { StructureBoundingBox boundingBox = structure.getBoundingBox(); switch (structure.getOrientation()) { case EAST: return new Vector( boundingBox.getMax().getBlockX() - pos.getBlockZ(), boundingBox.getMin().getBlockY() + pos.getBlockY(), boundingBox.getMin().getBlockZ() + pos.getBlockX()); case SOUTH: return new Vector( boundingBox.getMin().getBlockX() + pos.getBlockX(), boundingBox.getMin().getBlockY() + pos.getBlockY(), boundingBox.getMax().getBlockZ() - pos.getBlockZ()); case WEST: return new Vector( boundingBox.getMin().getBlockX() + pos.getBlockZ(), boundingBox.getMin().getBlockY() + pos.getBlockY(), boundingBox.getMin().getBlockZ() + pos.getBlockX()); default: // NORTH return new Vector( boundingBox.getMin().getBlockX() + pos.getBlockX(), boundingBox.getMin().getBlockY() + pos.getBlockY(), boundingBox.getMin().getBlockZ() + pos.getBlockZ()); } }
public WorldGenVillageRoad( WorldGenVillageStartPiece worldgenvillagestartpiece, int i, Random random, StructureBoundingBox structureboundingbox, int j) { super(worldgenvillagestartpiece, i); this.g = j; this.f = structureboundingbox; this.a = Math.max(structureboundingbox.b(), structureboundingbox.d()); }
protected void a(NBTTagCompound nbttagcompound) { NBTTagList nbttaglist = new NBTTagList(); Iterator iterator = this.a.iterator(); while (iterator.hasNext()) { StructureBoundingBox structureboundingbox = (StructureBoundingBox) iterator.next(); nbttaglist.add(structureboundingbox.h()); } nbttagcompound.set("Entrances", nbttaglist); }
public ComponentMineshaftCorridor( int p_i488_1_, Random p_i488_2_, StructureBoundingBox p_i488_3_, int p_i488_4_) { super(p_i488_1_); field_35025_h = p_i488_4_; field_35024_g = p_i488_3_; field_35070_a = p_i488_2_.nextInt(3) == 0; field_35068_b = !field_35070_a && p_i488_2_.nextInt(23) == 0; if (field_35025_h == 2 || field_35025_h == 0) { field_35067_d = p_i488_3_.func_35739_d() / 5; } else { field_35067_d = p_i488_3_.func_35744_b() / 5; } }
public ComponentMineshaftCorridor( int par1, Random par2Random, StructureBoundingBox par3StructureBoundingBox, int par4) { super(par1); coordBaseMode = par4; boundingBox = par3StructureBoundingBox; hasRails = par2Random.nextInt(3) == 0; hasSpiders = !hasRails && par2Random.nextInt(23) == 0; if (coordBaseMode == 2 || coordBaseMode == 0) { sectionCount = par3StructureBoundingBox.getZSize() / 5; } else { sectionCount = par3StructureBoundingBox.getXSize() / 5; } }
public WorldGenMineshaftCorridor( int paramInt1, Random paramRandom, StructureBoundingBox paramStructureBoundingBox, int paramInt2) { super(paramInt1); this.h = paramInt2; this.g = paramStructureBoundingBox; this.a = (paramRandom.nextInt(3) == 0); this.b = ((!this.a) && (paramRandom.nextInt(23) == 0)); if ((this.h == 2) || (this.h == 0)) this.d = (paramStructureBoundingBox.d() / 5); else this.d = (paramStructureBoundingBox.b() / 5); }
public boolean spawnMob(Vector pos, EntityType entityType) { Vector vec = translate(pos); return boundingBox.isVectorInside(vec) && world.spawnEntity( new Location(world, vec.getBlockX(), vec.getBlockY(), vec.getBlockZ()), entityType) != null; }
/** * Spawns a number of villagers in this component. Parameters: world, component bounding box, x * offset, y offset, z offset, number of villagers */ protected void spawnVillagers( World par1World, StructureBoundingBox par2StructureBoundingBox, int par3, int par4, int par5, int par6) { if (this.villagersSpawned < par6) { for (int var7 = this.villagersSpawned; var7 < par6; ++var7) { int var8 = this.getXWithOffset(par3 + var7, par5); int var9 = this.getYWithOffset(par4); int var10 = this.getZWithOffset(par3 + var7, par5); if (!par2StructureBoundingBox.isVecInside(var8, var9, var10)) { break; } ++this.villagersSpawned; EntityVillager var11 = new EntityVillager(par1World, this.getVillagerType(var7)); var11.setLocationAndAngles( (double) var8 + 0.5D, (double) var9, (double) var10 + 0.5D, 0.0F, 0.0F); par1World.spawnEntityInWorld(var11); } } }
public void setBlock(Vector pos, Material type, int data) { Vector vec = translate(pos); if (boundingBox.isVectorInside(vec)) { delegate.setTypeAndRawData( world, vec.getBlockX(), vec.getBlockY(), vec.getBlockZ(), type, data); } }
public WorldGenMineshaftCross( int i, Random random, StructureBoundingBox structureboundingbox, int j) { super(i); this.a = j; this.g = structureboundingbox; this.b = structureboundingbox.c() > 3; }
public ComponentStrongholdLibrary( int par1, Random par2Random, StructureBoundingBox par3StructureBoundingBox, int par4) { super(par1); this.coordBaseMode = par4; this.doorType = this.getRandomDoor(par2Random); this.boundingBox = par3StructureBoundingBox; this.isLargeRoom = par3StructureBoundingBox.getYSize() > 6; }
public static WorldGenStrongholdRoomCrossing a( List list, Random random, int i, int j, int k, int l, int i1) { StructureBoundingBox structureboundingbox = StructureBoundingBox.a(i, j, k, -4, -1, 0, 11, 7, 11, l); return a(structureboundingbox) && StructurePiece.a(list, structureboundingbox) == null ? new WorldGenStrongholdRoomCrossing(i1, random, structureboundingbox, l) : null; }
public static WorldGenNetherPiece5 a( List list, Random random, int i, int j, int k, EnumDirection enumdirection, int l) { StructureBoundingBox structureboundingbox = StructureBoundingBox.a(i, j, k, -3, 0, 0, 9, 7, 9, enumdirection); return a(structureboundingbox) && StructurePiece.a(list, structureboundingbox) == null ? new WorldGenNetherPiece5(l, random, structureboundingbox, enumdirection) : null; }
protected boolean a(StructureBoundingBox structureboundingbox, int i, int j, int k, int l) { int i1 = this.a(i, j); int j1 = this.b(i, j); int k1 = this.a(k, l); int l1 = this.b(k, l); return structureboundingbox.a( Math.min(i1, k1), Math.min(j1, l1), Math.max(i1, k1), Math.max(j1, l1)); }
public static WorldGenNetherPiece11 a( List list, Random random, int i, int j, int k, int l, int i1) { StructureBoundingBox structureboundingbox = StructureBoundingBox.a(i, j, k, -2, 0, 0, 7, 9, 7, l); return a(structureboundingbox) && StructurePiece.a(list, structureboundingbox) == null ? new WorldGenNetherPiece11(i1, random, structureboundingbox, l) : null; }
public static WorldGenStrongholdStairs2 a( List list, Random random, int i, int j, int k, int l, int i1) { StructureBoundingBox structureboundingbox = StructureBoundingBox.a(i, j, k, -1, -7, 0, 5, 11, 5, l); return a(structureboundingbox) && StructurePiece.a(list, structureboundingbox) == null ? new WorldGenStrongholdStairs2(i1, random, structureboundingbox, l) : null; }
public static StructureBoundingBox func_35066_a( List p_35066_0_, Random p_35066_1_, int p_35066_2_, int p_35066_3_, int p_35066_4_, int p_35066_5_) { StructureBoundingBox structureboundingbox = new StructureBoundingBox( p_35066_2_, p_35066_3_, p_35066_4_, p_35066_2_, p_35066_3_ + 2, p_35066_4_); int i = p_35066_1_.nextInt(3) + 2; do { if (i <= 0) { break; } int j = i * 5; switch (p_35066_5_) { case 2: // '\002' structureboundingbox.field_35749_d = p_35066_2_ + 2; structureboundingbox.field_35752_c = p_35066_4_ - (j - 1); break; case 0: // '\0' structureboundingbox.field_35749_d = p_35066_2_ + 2; structureboundingbox.field_35748_f = p_35066_4_ + (j - 1); break; case 1: // '\001' structureboundingbox.field_35753_a = p_35066_2_ - (j - 1); structureboundingbox.field_35748_f = p_35066_4_ + 2; break; case 3: // '\003' structureboundingbox.field_35749_d = p_35066_2_ + (j - 1); structureboundingbox.field_35748_f = p_35066_4_ + 2; break; } if (StructureComponent.func_35020_a(p_35066_0_, structureboundingbox) == null) { break; } i--; } while (true); if (i > 0) { return structureboundingbox; } else { return null; } }
public static ComponentStrongholdPortalRoom findValidPlacement( List par0List, Random par1Random, int par2, int par3, int par4, int par5, int par6) { StructureBoundingBox var7 = StructureBoundingBox.getComponentToAddBoundingBox( par2, par3, par4, -4, -1, 0, 11, 8, 16, par5); return canStrongholdGoDeeper(var7) && StructureComponent.findIntersecting(par0List, var7) == null ? new ComponentStrongholdPortalRoom(par6, par1Random, var7, par5) : null; }
public void setBlockDownward(Vector pos, Material type, MaterialData data) { Vector vec = translate(pos); if (boundingBox.isVectorInside(vec)) { int y = vec.getBlockY(); while (!world.getBlockAt(vec.getBlockX(), y, vec.getBlockZ()).getType().isSolid() && y > 1) { delegate.setTypeAndData(world, vec.getBlockX(), y, vec.getBlockZ(), type, data); y--; } } }
public static StructureBoundingBox findValidPlacement( List par0List, Random par1Random, int par2, int par3, int par4, int par5) { StructureBoundingBox structureboundingbox = new StructureBoundingBox(par2, par3, par4, par2, par3 + 2, par4); int i = par1Random.nextInt(3) + 2; do { if (i <= 0) { break; } int j = i * 5; switch (par5) { case 2: structureboundingbox.maxX = par2 + 2; structureboundingbox.minZ = par4 - (j - 1); break; case 0: structureboundingbox.maxX = par2 + 2; structureboundingbox.maxZ = par4 + (j - 1); break; case 1: structureboundingbox.minX = par2 - (j - 1); structureboundingbox.maxZ = par4 + 2; break; case 3: structureboundingbox.maxX = par2 + (j - 1); structureboundingbox.maxZ = par4 + 2; break; } if (StructureComponent.findIntersecting(par0List, structureboundingbox) == null) { break; } i--; } while (true); if (i > 0) { return structureboundingbox; } else { return null; } }
public static ComponentStrongholdLibrary findValidPlacement( List par0List, Random par1Random, int par2, int par3, int par4, int par5, int par6) { StructureBoundingBox var7 = StructureBoundingBox.getComponentToAddBoundingBox( par2, par3, par4, -4, -1, 0, 14, 11, 15, par5); if (!canStrongholdGoDeeper(var7) || StructureComponent.findIntersecting(par0List, var7) != null) { var7 = StructureBoundingBox.getComponentToAddBoundingBox( par2, par3, par4, -4, -1, 0, 14, 6, 15, par5); if (!canStrongholdGoDeeper(var7) || StructureComponent.findIntersecting(par0List, var7) != null) { return null; } } return new ComponentStrongholdLibrary(par6, par1Random, var7, par5); }
public static ComponentStrongholdStairs func_35034_a( List list, Random random, int i, int j, int k, int l, int i1) { StructureBoundingBox structureboundingbox = StructureBoundingBox.func_35747_a(i, j, k, -1, -7, 0, 5, 11, 5, l); if (!func_35030_a(structureboundingbox) || StructureComponent.func_35020_a(list, structureboundingbox) != null) { return null; } else { return new ComponentStrongholdStairs(i1, random, structureboundingbox, l); } }
public static ComponentNetherBridgeCorridor func_40038_a( List list, Random random, int i, int j, int k, int l, int i1) { StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox(i, j, k, -1, 0, 0, 5, 7, 5, l); if (!func_40021_a(structureboundingbox) || StructureComponent.getIntersectingStructureComponent(list, structureboundingbox) != null) { return null; } else { return new ComponentNetherBridgeCorridor(i1, random, structureboundingbox, l); } }
public static ComponentStrongholdChestCorridor findValidPlacement( List par0List, Random par1Random, int par2, int par3, int par4, int par5, int par6) { StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox( par2, par3, par4, -1, -1, 0, 5, 5, 7, par5); if (!canStrongholdGoDeeper(structureboundingbox) || StructureComponent.findIntersecting(par0List, structureboundingbox) != null) { return null; } else { return new ComponentStrongholdChestCorridor(par6, par1Random, structureboundingbox, par5); } }
/** * Creates and returns a new component piece. Or null if it could not find enough room to place * it. */ public static ComponentNetherBridgeCorridor2 createValidComponent( List par0List, Random par1Random, int par2, int par3, int par4, int par5, int par6) { StructureBoundingBox structureboundingbox = StructureBoundingBox.getComponentToAddBoundingBox( par2, par3, par4, -1, 0, 0, 5, 7, 5, par5); if (!isAboveGround(structureboundingbox) || StructureComponent.findIntersecting(par0List, structureboundingbox) != null) { return null; } else { return new ComponentNetherBridgeCorridor2(par6, par1Random, structureboundingbox, par5); } }
public static StructureBoundingBox a( List paramList, Random paramRandom, int paramInt1, int paramInt2, int paramInt3, int paramInt4) { StructureBoundingBox localStructureBoundingBox = new StructureBoundingBox( paramInt1, paramInt2, paramInt3, paramInt1, paramInt2 + 2, paramInt3); int i = paramRandom.nextInt(3) + 2; while (i > 0) { int j = i * 5; switch (paramInt4) { case 2: localStructureBoundingBox.d = (paramInt1 + 2); localStructureBoundingBox.c = (paramInt3 - (j - 1)); break; case 0: localStructureBoundingBox.d = (paramInt1 + 2); localStructureBoundingBox.f = (paramInt3 + (j - 1)); break; case 1: localStructureBoundingBox.a = (paramInt1 - (j - 1)); localStructureBoundingBox.f = (paramInt3 + 2); break; case 3: localStructureBoundingBox.d = (paramInt1 + (j - 1)); localStructureBoundingBox.f = (paramInt3 + 2); } if (StructurePiece.a(paramList, localStructureBoundingBox) == null) break; i--; } if (i > 0) { return localStructureBoundingBox; } return null; }
public boolean a(World world, Random random, StructureBoundingBox structureboundingbox) { Block block = this.b(Blocks.GRAVEL, 0); for (int i = this.f.a; i <= this.f.d; ++i) { for (int j = this.f.c; j <= this.f.f; ++j) { if (structureboundingbox.b(i, 64, j)) { int k = world.i(i, j) - 1; world.setTypeAndData(i, k, j, block, 0, 2); } } } return true; }
public void createMobSpawner(Vector pos, EntityType entityType) { Vector vec = translate(pos); if (boundingBox.isVectorInside(vec)) { BlockState state = world.getBlockAt(vec.getBlockX(), vec.getBlockY(), vec.getBlockZ()).getState(); delegate.backupBlockState(state.getBlock()); state.setType(Material.MOB_SPAWNER); state.update(true); state = world.getBlockAt(vec.getBlockX(), vec.getBlockY(), vec.getBlockZ()).getState(); if (state instanceof CreatureSpawner) { ((CreatureSpawner) state).setSpawnedType(entityType); } } }
public static StructureBoundingBox func_35027_a( List p_35027_0_, Random p_35027_1_, int p_35027_2_, int p_35027_3_, int p_35027_4_, int p_35027_5_) { StructureBoundingBox structureboundingbox = new StructureBoundingBox( p_35027_2_, p_35027_3_ - 5, p_35027_4_, p_35027_2_, p_35027_3_ + 2, p_35027_4_); switch (p_35027_5_) { case 2: // '\002' structureboundingbox.field_35749_d = p_35027_2_ + 2; structureboundingbox.field_35752_c = p_35027_4_ - 8; break; case 0: // '\0' structureboundingbox.field_35749_d = p_35027_2_ + 2; structureboundingbox.field_35748_f = p_35027_4_ + 8; break; case 1: // '\001' structureboundingbox.field_35753_a = p_35027_2_ - 8; structureboundingbox.field_35748_f = p_35027_4_ + 2; break; case 3: // '\003' structureboundingbox.field_35749_d = p_35027_2_ + 8; structureboundingbox.field_35748_f = p_35027_4_ + 2; break; } if (StructureComponent.func_35020_a(p_35027_0_, structureboundingbox) != null) { return null; } else { return structureboundingbox; } }