large crystallizer model, recipes, mining charge

This commit is contained in:
Bob 2020-07-13 20:23:37 +02:00
parent 55d6b1ff2b
commit b930f0facf
31 changed files with 6211 additions and 57 deletions

View File

@ -1846,6 +1846,7 @@ item.mask_of_infamy.name=Maske der Schande
tile.det_cord.name=Det Cord
tile.det_charge.name=Sprengladung
tile.det_nuke.name=Atomare Sprengladung
tile.det_miner.name=Bergbau-Sprengladung
tile.red_barrel.name=Explosives Fass
tile.pink_barrel.name=Kerosinfass
tile.lox_barrel.name=LOX-Fass

View File

@ -295,6 +295,7 @@ container.nukeCustom=Custom Nuke
container.nukeSolinium=The Blue Rinse
container.nukeN2=N² Mine
container.nukeN45=N45 Naval Mine
container.nukeFstbmb=Balefire Bomb
container.bombMulti=Multi Purpose Bomb
@ -309,6 +310,7 @@ tile.nuke_custom.name=Custom Nuke
tile.nuke_solinium.name=The Blue Rinse
tile.nuke_n2.name=N² Mine
tile.nuke_n45.name=N45 Naval Mine
tile.nuke_fstbmb.name=Balefire Bomb
tile.bomb_multi.name=Multi Purpose Bomb
tile.rejuvinator.name=Rejuvination Device
@ -1852,6 +1854,7 @@ item.mask_of_infamy.name=Mask of Infamy
tile.det_cord.name=Det Cord
tile.det_charge.name=Explosive Charge
tile.det_nuke.name=Nuclear Charge
tile.det_miner.name=Mining Charge
tile.red_barrel.name=Explosive Barrel
tile.pink_barrel.name=Kerosene Barrel
tile.lox_barrel.name=LOX Barrel

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 396 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 354 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 400 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 194 B

After

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 B

After

Width:  |  Height:  |  Size: 137 B

View File

@ -254,6 +254,7 @@ public class ModBlocks {
public static Block det_cord;
public static Block det_charge;
public static Block det_nuke;
public static Block det_miner;
public static Block red_barrel;
public static Block pink_barrel;
public static Block yellow_barrel;
@ -1016,6 +1017,7 @@ public class ModBlocks {
det_cord = new DetCord(Material.iron).setBlockName("det_cord").setCreativeTab(MainRegistry.nukeTab).setHardness(0.1F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":det_cord");
det_charge = new DetCord(Material.iron).setBlockName("det_charge").setCreativeTab(MainRegistry.nukeTab).setHardness(0.1F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":det_charge");
det_nuke = new DetCord(Material.iron).setBlockName("det_nuke").setCreativeTab(MainRegistry.nukeTab).setHardness(0.1F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":det_nuke");
det_miner = new DetMiner(Material.iron, RefStrings.MODID + ":det_miner_top").setBlockName("det_miner").setCreativeTab(MainRegistry.nukeTab).setHardness(0.1F).setResistance(0.0F).setBlockTextureName(RefStrings.MODID + ":det_miner_side");
red_barrel = new RedBarrel(Material.iron).setBlockName("red_barrel").setCreativeTab(MainRegistry.nukeTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":barrel_red");
pink_barrel = new RedBarrel(Material.iron).setBlockName("pink_barrel").setCreativeTab(MainRegistry.nukeTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":barrel_pink");
yellow_barrel = new YellowBarrel(Material.iron).setBlockName("yellow_barrel").setCreativeTab(MainRegistry.nukeTab).setHardness(0.5F).setResistance(2.5F).setBlockTextureName(RefStrings.MODID + ":barrel_yellow");
@ -1034,7 +1036,7 @@ public class ModBlocks {
machine_centrifuge = new MachineCentrifuge(Material.iron).setBlockName("machine_centrifuge").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
machine_gascent = new MachineGasCent(Material.iron).setBlockName("machine_gascent").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
machine_crystallizer = new MachineCrystallizer(Material.iron).setBlockName("machine_crystallizer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
machine_crystallizer = new MachineCrystallizer(Material.iron).setBlockName("machine_crystallizer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_crystallizer");
machine_uf6_tank = new MachineUF6Tank(Material.iron).setBlockName("machine_uf6_tank").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab);
@ -1661,6 +1663,7 @@ public class ModBlocks {
GameRegistry.registerBlock(det_cord, det_cord.getUnlocalizedName());
GameRegistry.registerBlock(det_charge, det_charge.getUnlocalizedName());
GameRegistry.registerBlock(det_nuke, det_nuke.getUnlocalizedName());
GameRegistry.registerBlock(det_miner, det_miner.getUnlocalizedName());
GameRegistry.registerBlock(red_barrel, ItemBlockLore.class, red_barrel.getUnlocalizedName());
GameRegistry.registerBlock(pink_barrel, ItemBlockLore.class, pink_barrel.getUnlocalizedName());
GameRegistry.registerBlock(lox_barrel, ItemBlockLore.class, lox_barrel.getUnlocalizedName());

View File

@ -0,0 +1,59 @@
package com.hbm.blocks.bomb;
import java.util.Random;
import com.hbm.blocks.machine.BlockPillar;
import com.hbm.explosion.ExplosionLarge;
import com.hbm.explosion.ExplosionNT;
import com.hbm.explosion.ExplosionNT.ExAttrib;
import com.hbm.interfaces.IBomb;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.item.Item;
import net.minecraft.world.Explosion;
import net.minecraft.world.World;
public class DetMiner extends BlockPillar implements IBomb {
public DetMiner(Material mat, String top) {
super(mat, top);
}
@Override
public Item getItemDropped(int i, Random rand, int j) {
return null;
}
@Override
public void explode(World world, int x, int y, int z) {
if(!world.isRemote) {
world.func_147480_a(x, y, z, false);
ExplosionNT explosion = new ExplosionNT(world, null, x + 0.5, y + 0.5, z + 0.5, 4);
explosion.atttributes.add(ExAttrib.ALLDROP);
explosion.atttributes.add(ExAttrib.NOHURT);
explosion.doExplosionA();
explosion.doExplosionB(false);
ExplosionLarge.spawnParticles(world, x + 0.5, y + 0.5, z + 0.5, 30);
}
}
@Override
public void onBlockDestroyedByExplosion(World world, int x, int y, int z, Explosion p_149723_5_)
{
this.explode(world, x, y, z);
}
@Override
public void onNeighborBlockChange(World world, int x, int y, int z, Block p_149695_5_)
{
if (world.isBlockIndirectlyGettingPowered(x, y, z))
{
this.explode(world, x, y, z);
}
}
}

View File

@ -1,43 +1,98 @@
package com.hbm.blocks.machine;
import com.hbm.blocks.BlockDummyable;
import com.hbm.blocks.ModBlocks;
import com.hbm.lib.RefStrings;
import com.hbm.main.MainRegistry;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.TileEntityProxyInventory;
import com.hbm.tileentity.machine.TileEntityMachineCrystallizer;
import cpw.mods.fml.common.network.internal.FMLNetworkHandler;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.material.Material;
import net.minecraft.client.renderer.texture.IIconRegister;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ChatComponentText;
import net.minecraft.util.IIcon;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
public class MachineCrystallizer extends BlockMachineBase {
public class MachineCrystallizer extends BlockDummyable {
@SideOnly(Side.CLIENT)
private IIcon iconTop;
public MachineCrystallizer(Material mat) {
super(mat, ModBlocks.guiID_crystallizer);
super(mat);
}
@Override
public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) {
return new TileEntityMachineCrystallizer();
public TileEntity createNewTileEntity(World world, int meta) {
if(meta >= 12)
return new TileEntityMachineCrystallizer();
if(meta >= 8 && meta <= 11)
return new TileEntityProxyInventory();
if(meta == 7)
return new TileEntityProxyCombo(false, true, true);
return null;
}
@Override
@SideOnly(Side.CLIENT)
public void registerBlockIcons(IIconRegister iconRegister) {
this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":machine_crystallizer_top");
this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":machine_crystallizer_side");
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {
if(world.isRemote)
{
return true;
} else if(!player.isSneaking())
{
int[] pos = this.findCore(world, x, y, z);
if(pos == null)
return false;
TileEntityMachineCrystallizer entity = (TileEntityMachineCrystallizer) world.getTileEntity(pos[0], pos[1], pos[2]);
if(entity != null)
{
FMLNetworkHandler.openGui(player, MainRegistry.instance, ModBlocks.guiID_crystallizer, world, pos[0], pos[1], pos[2]);
}
return true;
} else {
player.addChatComponentMessage(new ChatComponentText("" + world.getBlockMetadata(x, y, z)));
return false;
}
}
@Override
@SideOnly(Side.CLIENT)
public IIcon getIcon(int side, int metadata) {
return side == 1 ? this.iconTop : (side == 0 ? this.iconTop : this.blockIcon);
public int[] getDimensions() {
return new int[] { 6, 0, 1, 1, 1, 1 };
}
@Override
public int getOffset() {
return 1;
}
protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) {
super.fillSpace(world, x, y, z, dir, o);
this.makeExtra(world, x + dir.offsetX * o + 1, y, z + dir.offsetZ * o);
this.makeExtra(world, x + dir.offsetX * o - 1, y, z + dir.offsetZ * o);
this.makeExtra(world, x + dir.offsetX * o, y, z + dir.offsetZ * o + 1);
this.makeExtra(world, x + dir.offsetX * o, y, z + dir.offsetZ * o - 1);
if(dir == ForgeDirection.NORTH || dir == ForgeDirection.SOUTH) {
this.makeExtra(world, x + dir.offsetX * o + 1, y + 5, z + dir.offsetZ * o);
this.makeExtra(world, x + dir.offsetX * o - 1, y + 5, z + dir.offsetZ * o);
}
if(dir == ForgeDirection.EAST || dir == ForgeDirection.WEST) {
this.makeExtra(world, x + dir.offsetX * o, y + 5, z + dir.offsetZ * o + 1);
this.makeExtra(world, x + dir.offsetX * o, y + 5, z + dir.offsetZ * o - 1);
}
}
}

View File

@ -36,21 +36,6 @@ public class SoyuzLauncher extends BlockDummyable {
return null;
}
@Override
public int getRenderType() {
return -1;
}
@Override
public boolean isOpaqueCube() {
return false;
}
@Override
public boolean renderAsNormalBlock() {
return false;
}
@Override
public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) {

View File

@ -17,7 +17,7 @@ public class VersionChecker {
try {
URL github = new URL("https://raw.githubusercontent.com/HbmMods/Hbm-s-Nuclear-Tech-GIT/master/com/hbm/lib/RefStrings.java");
URL github = new URL("https://raw.githubusercontent.com/HbmMods/Hbm-s-Nuclear-Tech-GIT/master/src/main/java/com/hbm/lib/RefStrings.java");
BufferedReader in = new BufferedReader(new InputStreamReader(github.openStream()));
MainRegistry.logger.info("Searching for new versions...");

View File

@ -3,6 +3,7 @@ package com.hbm.items.machine;
import java.util.Arrays;
import java.util.List;
import com.hbm.blocks.ModBlocks;
import com.hbm.interfaces.Spaghetti;
import com.hbm.inventory.MachineRecipes;
import com.hbm.items.ModItems;
@ -11,12 +12,15 @@ import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
@Spaghetti("death")
public class ItemAssemblyTemplate extends Item {
//TODO: replace this steaming shit with JSON
public enum EnumAssemblyTemplate {
IRON_PLATE,
@ -203,6 +207,17 @@ public class ItemAssemblyTemplate extends Item {
REFINERY,
EPRESS,
CHEMPLANT,
CRYSTALLIZER(400, Arrays.asList(
new ItemStack(ModItems.hull_big_steel, 4),
new ItemStack(ModItems.pipes_steel, 4),
new ItemStack(ModItems.ingot_desh, 4),
new ItemStack(ModItems.motor, 2),
new ItemStack(ModItems.blades_advanced_alloy, 2),
new ItemStack(ModItems.ingot_steel, 16),
new ItemStack(ModItems.plate_titanium, 16),
new ItemStack(Blocks.glass, 4),
new ItemStack(ModItems.circuit_gold, 1)),
new ItemStack(ModBlocks.machine_crystallizer)),
TANK,
MINER,
MININGLASER,
@ -245,6 +260,15 @@ public class ItemAssemblyTemplate extends Item {
FLEIJA,
SOLINIUM,
N2,
FSTBMB(600, Arrays.asList(
new ItemStack(ModItems.sphere_steel, 1),
new ItemStack(ModItems.hull_big_titanium, 6),
new ItemStack(ModItems.fins_big_steel, 1),
new ItemStack(ModItems.powder_magic, 8),
new ItemStack(ModItems.wire_gold, 12),
new ItemStack(ModItems.circuit_targeting_tier4, 4),
new ItemStack(Items.dye, 6, 8)),
new ItemStack(ModBlocks.nuke_fstbmb)),
CUSTOM_NUKE,
BOMB_LEV,
BOMB_ENDO,

View File

@ -3,7 +3,7 @@ package com.hbm.items.tool;
import java.util.List;
import com.hbm.lib.Library;
import com.hbm.world.generator.CellularDungeonFactory;
import com.hbm.world.dungeon.Ruin001;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
@ -24,10 +24,12 @@ public class ItemWandD extends Item {
if(pos != null) {
int x = pos.blockX;
int y = pos.blockY;
int z = pos.blockZ;
int y = world.getHeightValue(x, z);
new Ruin001().generate_r0(world, world.rand, x, y - 8, z);
CellularDungeonFactory.test.generate(world, x, y, z, world.rand);
//CellularDungeonFactory.test.generate(world, x, y, z, world.rand);
}
return stack;

View File

@ -385,11 +385,11 @@ public class HbmWorldGen implements IWorldGenerator {
int z = j + rand.nextInt(16);
int y = world.getHeightValue(x, z);
if(world.getBlock(x, y, z).canPlaceTorchOnTop(world, x, y, z)) {
world.setBlock(x, y + 1, z, ModBlocks.broadcaster_pc, rand.nextInt(4) + 2, 2);
if(world.getBlock(x, y - 1, z).canPlaceTorchOnTop(world, x, y - 1, z)) {
world.setBlock(x, y, z, ModBlocks.broadcaster_pc, rand.nextInt(4) + 2, 2);
if(MainRegistry.enableDebugMode)
MainRegistry.logger.info("[Debug] Successfully spawned corrupted broadcaster at " + x + " " + (y + 1) +" " + z);
MainRegistry.logger.info("[Debug] Successfully spawned corrupted broadcaster at " + x + " " + (y) +" " + z);
}
}
@ -398,11 +398,11 @@ public class HbmWorldGen implements IWorldGenerator {
int z = j + rand.nextInt(16);
int y = world.getHeightValue(x, z);
if(world.getBlock(x, y, z).canPlaceTorchOnTop(world, x, y, z)) {
world.setBlock(x, y + 1, z, ModBlocks.mine_ap);
if(world.getBlock(x, y - 1, z).canPlaceTorchOnTop(world, x, y - 1, z)) {
world.setBlock(x, y, z, ModBlocks.mine_ap);
if(MainRegistry.enableDebugMode)
MainRegistry.logger.info("[Debug] Successfully spawned landmine at " + x + " " + (y + 1) +" " + z);
MainRegistry.logger.info("[Debug] Successfully spawned landmine at " + x + " " + (y) +" " + z);
}
}
@ -493,38 +493,38 @@ public class HbmWorldGen implements IWorldGenerator {
int z = j + rand.nextInt(16);
int y = world.getHeightValue(x, z);
if(world.getBlock(x, y, z).canPlaceTorchOnTop(world, x, y, z)) {
world.setBlock(x, y + 1, z, ModBlocks.safe, rand.nextInt(4) + 2, 2);
if(world.getBlock(x, y - 1, z).canPlaceTorchOnTop(world, x, y - 1, z)) {
world.setBlock(x, y, z, ModBlocks.safe, rand.nextInt(4) + 2, 2);
switch(rand.nextInt(10)) {
case 0:
case 1:
case 2:
case 3:
((TileEntitySafe)world.getTileEntity(x, y + 1, z)).setPins(rand.nextInt(999) + 1);
((TileEntitySafe)world.getTileEntity(x, y + 1, z)).setMod(1);
((TileEntitySafe)world.getTileEntity(x, y + 1, z)).lock();
((TileEntitySafe)world.getTileEntity(x, y, z)).setPins(rand.nextInt(999) + 1);
((TileEntitySafe)world.getTileEntity(x, y, z)).setMod(1);
((TileEntitySafe)world.getTileEntity(x, y, z)).lock();
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(10), (TileEntitySafe)world.getTileEntity(x, y + 1, z), rand.nextInt(4) + 3);
break;
case 4:
case 5:
case 6:
((TileEntitySafe)world.getTileEntity(x, y + 1, z)).setPins(rand.nextInt(999) + 1);
((TileEntitySafe)world.getTileEntity(x, y + 1, z)).setMod(0.1);
((TileEntitySafe)world.getTileEntity(x, y + 1, z)).lock();
((TileEntitySafe)world.getTileEntity(x, y, z)).setPins(rand.nextInt(999) + 1);
((TileEntitySafe)world.getTileEntity(x, y, z)).setMod(0.1);
((TileEntitySafe)world.getTileEntity(x, y, z)).lock();
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(11), (TileEntitySafe)world.getTileEntity(x, y + 1, z), rand.nextInt(3) + 2);
break;
case 7:
case 8:
((TileEntitySafe)world.getTileEntity(x, y + 1, z)).setPins(rand.nextInt(999) + 1);
((TileEntitySafe)world.getTileEntity(x, y + 1, z)).setMod(0.02);
((TileEntitySafe)world.getTileEntity(x, y + 1, z)).lock();
((TileEntitySafe)world.getTileEntity(x, y, z)).setPins(rand.nextInt(999) + 1);
((TileEntitySafe)world.getTileEntity(x, y, z)).setMod(0.02);
((TileEntitySafe)world.getTileEntity(x, y, z)).lock();
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(12), (TileEntitySafe)world.getTileEntity(x, y + 1, z), rand.nextInt(3) + 1);
break;
case 9:
((TileEntitySafe)world.getTileEntity(x, y + 1, z)).setPins(rand.nextInt(999) + 1);
((TileEntitySafe)world.getTileEntity(x, y + 1, z)).setMod(0.0);
((TileEntitySafe)world.getTileEntity(x, y + 1, z)).lock();
((TileEntitySafe)world.getTileEntity(x, y, z)).setPins(rand.nextInt(999) + 1);
((TileEntitySafe)world.getTileEntity(x, y, z)).setMod(0.0);
((TileEntitySafe)world.getTileEntity(x, y, z)).lock();
WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.getLoot(13), (TileEntitySafe)world.getTileEntity(x, y + 1, z), rand.nextInt(2) + 1);
break;
}

View File

@ -3,7 +3,7 @@ package com.hbm.lib;
public class RefStrings {
public static final String MODID = "hbm";
public static final String NAME = "Hbm's Nuclear Tech Mod";
public static final String VERSION = "1.0.27 BETA (3528H1)";
public static final String VERSION = "1.0.27 BETA (3564)";
//HBM's Beta Naming Convention:
//V T (X)
//V -> next release version

View File

@ -145,6 +145,7 @@ public class ClientProxy extends ServerProxy
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineShredderLarge.class, new RenderMachineShredder());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityTesla.class, new RenderTesla());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBarrel.class, new RenderFluidBarrel());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCrystallizer.class, new RenderCrystallizer());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityVaultDoor.class, new RenderVaultDoor());
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityBlastDoor.class, new RenderBlastDoor());

View File

@ -1042,6 +1042,7 @@ public class CraftingManager {
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.det_cord, 8), new Object[] { "TNT", "NGN", "TNT", 'T', "plateIron", 'N', "dustNiter", 'G', Items.gunpowder }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.det_charge, 1), new Object[] { "PDP", "DTD", "PDP", 'P', "plateSteel", 'D', ModBlocks.det_cord, 'T', Blocks.tnt }));
GameRegistry.addRecipe(new ItemStack(ModBlocks.det_nuke, 1), new Object[] { "PDP", "DCD", "PDP", 'P', ModItems.plate_desh, 'D', ModBlocks.det_charge, 'C', ModItems.man_core });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.det_miner, 3), new Object[] { "FFF", "ITI", "ITI", 'F', Items.flint, 'I', "plateIron", 'T', Blocks.tnt }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Item.getItemFromBlock(ModBlocks.emp_bomb), 1), new Object[] { "LML", "LCL", "LML", 'L', "plateLead", 'M', ModItems.magnetron, 'C', ModItems.circuit_gold }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.gadget_explosive8, 1), new Object[] { "EEE", "EPE", "EEE", 'E', ModItems.gadget_explosive, 'P', "plateAluminum" }));
@ -1532,7 +1533,6 @@ public class CraftingManager {
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cladding_rubber, 1), new Object[] { "RCR", "CDC", "RCR", 'R', ModItems.plate_polymer, 'C', "dustCoal", 'D', ModItems.ducttape }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.cladding_lead, 1), new Object[] { "DPD", "PRP", "DPD", 'R', ModItems.cladding_rubber, 'P', "plateLead", 'D', ModItems.ducttape }));
GameRegistry.addRecipe(new ItemStack(ModItems.cladding_desh, 1), new Object[] { "DPD", "PRP", "DPD", 'R', ModItems.cladding_lead, 'P', ModItems.plate_desh, 'D', ModItems.ducttape });
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModBlocks.machine_crystallizer, 1), new Object[] { "PMP", "STS", "DMD", 'P', "ingotPolymer", 'M', ModItems.motor, 'S', ModItems.blades_advanced_alloy, 'T', ModItems.tank_steel, 'D', "ingotDesh" }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.upgrade_nullifier, 1), new Object[] { "SPS", "PUP", "SPS", 'S', "plateSteel", 'P', ModItems.powder_fire, 'U', ModItems.upgrade_template }));
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(ModItems.upgrade_smelter, 1), new Object[] { "PHP", "CUC", "DTD", 'P', "plateCopper", 'H', Blocks.hopper, 'C', ModItems.coil_tungsten, 'U', ModItems.upgrade_template, 'D', ModItems.coil_copper, 'T', ModBlocks.machine_transformer }));

View File

@ -56,6 +56,7 @@ import com.hbm.lib.RefStrings;
import com.hbm.packet.PacketDispatcher;
import com.hbm.potion.HbmPotion;
import com.hbm.saveddata.satellites.Satellite;
import com.hbm.tileentity.TileEntityProxyCombo;
import com.hbm.tileentity.TileEntityProxyEnergy;
import com.hbm.tileentity.TileEntityProxyInventory;
import com.hbm.tileentity.bomb.*;
@ -568,6 +569,7 @@ public class MainRegistry
GameRegistry.registerTileEntity(TileEntityProxyInventory.class, "tileentity_proxy_inventory");
GameRegistry.registerTileEntity(TileEntityProxyEnergy.class, "tileentity_proxy_power");
GameRegistry.registerTileEntity(TileEntityNukeBalefire.class, "tileentity_nuke_fstbmb");
GameRegistry.registerTileEntity(TileEntityProxyCombo.class, "tileentity_proxy_combo");
EntityRegistry.registerModEntity(EntityRocket.class, "entity_rocket", 0, this, 250, 1, true);
EntityRegistry.registerModEntity(EntityNukeExplosion.class, "entity_nuke_explosion", 1, this, 250, 1, true);

View File

@ -72,6 +72,9 @@ public class ResourceManager {
//Laser Miner
public static final IModelCustom mining_laser = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/mining_laser.obj"));
//Crystallizer
public static final IModelCustom crystallizer = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/crystallizer.obj"));
//Anti Mass Spectrometer
public static final IModelCustom ams_base = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ams_base.obj"));
public static final IModelCustom ams_emitter = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/ams_emitter.obj"));
@ -226,6 +229,11 @@ public class ResourceManager {
public static final ResourceLocation mining_laser_pivot_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/mining_laser_pivot.png");
public static final ResourceLocation mining_laser_laser_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/mining_laser_laser.png");
//Crystallizer
public static final ResourceLocation crystallizer_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/crystallizer.png");
public static final ResourceLocation crystallizer_spinner_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/crystallizer_spinner.png");
public static final ResourceLocation crystallizer_window_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/crystallizer_window.png");
//Anti Mass Spectrometer
public static final ResourceLocation ams_base_tex = new ResourceLocation(RefStrings.MODID, "textures/models/ams_base.png");
public static final ResourceLocation ams_emitter_tex = new ResourceLocation(RefStrings.MODID, "textures/models/ams_emitter.png");

View File

@ -0,0 +1,47 @@
package com.hbm.render.tileentity;
import org.lwjgl.opengl.GL11;
import com.hbm.main.ResourceManager;
import com.hbm.tileentity.machine.TileEntityMachineCrystallizer;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.tileentity.TileEntity;
public class RenderCrystallizer extends TileEntitySpecialRenderer {
@Override
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float inter) {
GL11.glPushMatrix();
GL11.glTranslated(x + 0.5D, y, z + 0.5D);
GL11.glEnable(GL11.GL_LIGHTING);
GL11.glDisable(GL11.GL_CULL_FACE);
switch(te.getBlockMetadata() - 10) {
case 2: GL11.glRotatef(90, 0F, 1F, 0F); break;
case 4: GL11.glRotatef(180, 0F, 1F, 0F); break;
case 3: GL11.glRotatef(270, 0F, 1F, 0F); break;
case 5: GL11.glRotatef(0, 0F, 1F, 0F); break;
}
TileEntityMachineCrystallizer crys = (TileEntityMachineCrystallizer)te;
GL11.glShadeModel(GL11.GL_SMOOTH);
bindTexture(ResourceManager.crystallizer_tex);
ResourceManager.crystallizer.renderPart("Body");
bindTexture(ResourceManager.crystallizer_window_tex);
ResourceManager.crystallizer.renderPart("Windows");
GL11.glPushMatrix();
GL11.glRotatef(crys.prevAngle + (crys.angle - crys.prevAngle) * inter, 0, 1, 0);
bindTexture(ResourceManager.crystallizer_spinner_tex);
ResourceManager.crystallizer.renderPart("Spinner");
GL11.glPopMatrix();
GL11.glShadeModel(GL11.GL_FLAT);
GL11.glPopMatrix();
}
}

View File

@ -0,0 +1,333 @@
package com.hbm.tileentity;
import java.util.List;
import com.hbm.handler.FluidTypeHandler.FluidType;
import com.hbm.interfaces.IConsumer;
import com.hbm.interfaces.IFluidAcceptor;
import com.hbm.inventory.FluidTank;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.ISidedInventory;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
public class TileEntityProxyCombo extends TileEntityProxyBase implements IConsumer, IFluidAcceptor, ISidedInventory {
TileEntity tile;
boolean inventory;
boolean power;
boolean fluid;
public TileEntityProxyCombo(boolean inventory, boolean power, boolean fluid) {
this.inventory = inventory;
this.power = power;
this.fluid = fluid;
}
//fewer messy recursive operations
public TileEntity getTile() {
if(tile == null) {
tile = this.getTE();
}
return tile;
}
@Override
public void setFillstate(int fill, int index) {
if(!fluid)
return;
if(getTile() instanceof IFluidAcceptor) {
((IFluidAcceptor)getTile()).setFillstate(fill, index);
}
}
@Override
public void setFluidFill(int fill, FluidType type) {
if(!fluid)
return;
if(getTile() instanceof IFluidAcceptor) {
((IFluidAcceptor)getTile()).setFluidFill(fill, type);
}
}
@Override
public void setType(FluidType type, int index) {
if(!fluid)
return;
if(getTile() instanceof IFluidAcceptor) {
((IFluidAcceptor)getTile()).setType(type, index);
}
}
@Override
public List<FluidTank> getTanks() {
if(!fluid)
return null;
if(getTile() instanceof IFluidAcceptor) {
return ((IFluidAcceptor)getTile()).getTanks();
}
return null;
}
@Override
public int getFluidFill(FluidType type) {
if(!fluid)
return 0;
if(getTile() instanceof IFluidAcceptor) {
return ((IFluidAcceptor)getTile()).getFluidFill(type);
}
return 0;
}
@Override
public int getMaxFluidFill(FluidType type) {
if(!fluid)
return 0;
if(getTile() instanceof IFluidAcceptor) {
return ((IFluidAcceptor)getTile()).getMaxFluidFill(type);
}
return 0;
}
@Override
public void setPower(long i) {
if(!power)
return;
if(getTile() instanceof IConsumer) {
((IConsumer)getTile()).setPower(i);
}
}
@Override
public long getPower() {
if(!power)
return 0;
if(getTile() instanceof IConsumer) {
return ((IConsumer)getTile()).getPower();
}
return 0;
}
@Override
public long getMaxPower() {
if(!power)
return 0;
if(getTile() instanceof IConsumer) {
return ((IConsumer)getTile()).getMaxPower();
}
return 0;
}
@Override
public int getSizeInventory() {
if(!inventory)
return 0;
if(getTile() instanceof ISidedInventory) {
return ((ISidedInventory)getTile()).getSizeInventory();
}
return 0;
}
@Override
public ItemStack getStackInSlot(int slot) {
if(!inventory)
return null;
if(getTile() instanceof ISidedInventory) {
return ((ISidedInventory)getTile()).getStackInSlotOnClosing(slot);
}
return null;
}
@Override
public ItemStack decrStackSize(int i, int j) {
if(getTile() instanceof ISidedInventory) {
return ((ISidedInventory)getTile()).decrStackSize(i, j);
}
return null;
}
@Override
public ItemStack getStackInSlotOnClosing(int slot) {
if(!inventory)
return null;
if(getTile() instanceof ISidedInventory) {
return ((ISidedInventory)getTile()).getStackInSlotOnClosing(slot);
}
return null;
}
@Override
public void setInventorySlotContents(int slot, ItemStack stack) {
if(!inventory)
return;
if(getTile() instanceof ISidedInventory) {
((ISidedInventory)getTile()).setInventorySlotContents(slot, stack);
}
}
@Override
public String getInventoryName() {
if(!inventory)
return null;
if(getTile() instanceof ISidedInventory) {
return ((ISidedInventory)getTile()).getInventoryName();
}
return null;
}
@Override
public boolean hasCustomInventoryName() {
if(!inventory)
return false;
if(getTile() instanceof ISidedInventory) {
return ((ISidedInventory)getTile()).hasCustomInventoryName();
}
return false;
}
@Override
public int getInventoryStackLimit() {
if(!inventory)
return 0;
if(getTile() instanceof ISidedInventory) {
return ((ISidedInventory)getTile()).getInventoryStackLimit();
}
return 0;
}
@Override
public boolean isUseableByPlayer(EntityPlayer player) {
if(!inventory)
return false;
if(getTile() instanceof ISidedInventory) {
return ((ISidedInventory)getTile()).isUseableByPlayer(player);
}
return false;
}
@Override
public void openInventory() {
if(!inventory)
return;
if(getTile() instanceof ISidedInventory) {
((ISidedInventory)getTile()).openInventory();
}
}
@Override
public void closeInventory() {
if(!inventory)
return;
if(getTile() instanceof ISidedInventory) {
((ISidedInventory)getTile()).closeInventory();
}
}
@Override
public boolean isItemValidForSlot(int slot, ItemStack stack) {
if(!inventory)
return false;
if(getTile() instanceof ISidedInventory) {
return ((ISidedInventory)getTile()).isItemValidForSlot(slot, stack);
}
return false;
}
@Override
public int[] getAccessibleSlotsFromSide(int side) {
if(!inventory)
return new int[0];
if(getTile() instanceof ISidedInventory) {
return ((ISidedInventory)getTile()).getAccessibleSlotsFromSide(side);
}
return new int[0];
}
@Override
public boolean canInsertItem(int i, ItemStack stack, int j) {
if(!inventory)
return false;
if(getTile() instanceof ISidedInventory) {
return ((ISidedInventory)getTile()).canInsertItem(i, stack, j);
}
return false;
}
@Override
public boolean canExtractItem(int i, ItemStack stack, int j) {
if(!inventory)
return false;
if(getTile() instanceof ISidedInventory) {
return ((ISidedInventory)getTile()).canExtractItem(i, stack, j);
}
return false;
}
}

View File

@ -12,8 +12,12 @@ import com.hbm.lib.Library;
import com.hbm.tileentity.TileEntityMachineBase;
import api.hbm.energy.IBatteryItem;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.AxisAlignedBB;
public class TileEntityMachineCrystallizer extends TileEntityMachineBase implements IConsumer, IFluidAcceptor {
@ -24,6 +28,9 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
public short progress;
public static final short duration = 600;
public float angle;
public float prevAngle;
public FluidTank tank;
public TileEntityMachineCrystallizer() {
@ -67,6 +74,18 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
data.setShort("progress", progress);
data.setLong("power", power);
this.networkPack(data, 25);
} else {
prevAngle = angle;
if(progress > 0) {
angle += 5F;
if(angle >= 360) {
angle -= 360;
prevAngle -= 360;
}
}
}
}
@ -209,6 +228,18 @@ public class TileEntityMachineCrystallizer extends TileEntityMachineBase impleme
@Override
public int[] getAccessibleSlotsFromSide(int side) {
return side == 0 ? new int[] { 2 } : (side == 1 ? new int[] { 0 } : new int[] { 1 });
return side == 0 ? new int[] { 2 } : new int[] { 0, 2 };
}
@Override
public AxisAlignedBB getRenderBoundingBox() {
return TileEntity.INFINITE_EXTENT_AABB;
}
@Override
@SideOnly(Side.CLIENT)
public double getMaxRenderDistanceSquared()
{
return 65536.0D;
}
}

View File

@ -0,0 +1,498 @@
//Schematic to java Structure by jajo_11 | inspired by "MITHION'S .SCHEMATIC TO JAVA CONVERTINGTOOL"
package com.hbm.world.dungeon;
import java.util.Random;
import com.hbm.blocks.ModBlocks;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.init.Blocks;
import net.minecraft.world.World;
import net.minecraft.world.gen.feature.WorldGenerator;
public class Ruin001 extends WorldGenerator {
Block Block1 = ModBlocks.brick_concrete;
Block Block2 = ModBlocks.brick_concrete_cracked;
Block Block3 = ModBlocks.brick_concrete_broken;
protected Block[] GetValidSpawnBlocks() {
return new Block[] {Blocks.grass};
}
public boolean LocationIsValidSpawn(World world, int x, int y, int z) {
Block checkBlock = world.getBlock(x, y - 1, z);
Block blockAbove = world.getBlock(x, y , z);
Block blockBelow = world.getBlock(x, y - 2, z);
for (Block i : GetValidSpawnBlocks())
{
if (blockAbove != Blocks.air)
{
return false;
}
if (checkBlock == i)
{
return true;
}
else if (checkBlock == Blocks.snow_layer && blockBelow == i)
{
return true;
}
else if (checkBlock.getMaterial() == Material.plants && blockBelow == i)
{
return true;
}
}
return false;
}
public boolean generate(World world, Random rand, int x, int y, int z) {
int i = rand.nextInt(1);
if(i == 0)
{
generate_r0(world, rand, x, y, z);
}
return true;
}
public boolean generate_r0(World world, Random rand, int x, int y, int z) {
if(!LocationIsValidSpawn(world, x, y, z) || !LocationIsValidSpawn(world, x + 12, y, z) || !LocationIsValidSpawn(world, x + 12, y, z + 14) || !LocationIsValidSpawn(world, x, y, z + 14)) {
// return false;
}
world.setBlock(x + 1, y + 0, z + 5, Block1, 0, 3);
world.setBlock(x + 1, y + 0, z + 6, Block1, 0, 3);
world.setBlock(x + 2, y + 0, z + 6, Block1, 0, 3);
world.setBlock(x + 3, y + 0, z + 6, Block1, 0, 3);
world.setBlock(x + 4, y + 0, z + 6, Block1, 0, 3);
world.setBlock(x + 5, y + 0, z + 6, Block1, 0, 3);
world.setBlock(x + 6, y + 0, z + 6, Block1, 0, 3);
world.setBlock(x + 7, y + 0, z + 6, Block1, 0, 3);
world.setBlock(x + 8, y + 0, z + 6, Block1, 0, 3);
world.setBlock(x + 3, y + 0, z + 7, Block1, 0, 3);
world.setBlock(x + 1, y + 0, z + 8, Block1, 0, 3);
world.setBlock(x + 2, y + 0, z + 8, Block1, 0, 3);
world.setBlock(x + 3, y + 0, z + 8, Block1, 0, 3);
world.setBlock(x + 1, y + 0, z + 9, Blocks.lit_furnace, 3, 3);
world.setBlock(x + 2, y + 0, z + 9, Block1, 0, 3);
world.setBlock(x + 1, y + 0, z + 10, Block1, 0, 3);
world.setBlock(x + 1, y + 1, z + 4, Block1, 0, 3);
world.setBlock(x + 0, y + 1, z + 5, Block1, 0, 3);
world.setBlock(x + 1, y + 1, z + 5, Blocks.vine, 0, 3);
world.setBlock(x + 2, y + 1, z + 5, Block1, 0, 3);
world.setBlock(x + 3, y + 1, z + 5, Block1, 0, 3);
world.setBlock(x + 4, y + 1, z + 5, Block1, 0, 3);
world.setBlock(x + 5, y + 1, z + 5, Block1, 0, 3);
world.setBlock(x + 6, y + 1, z + 5, Block1, 0, 3);
world.setBlock(x + 7, y + 1, z + 5, Block1, 0, 3);
world.setBlock(x + 8, y + 1, z + 5, Block1, 0, 3);
world.setBlock(x + 0, y + 1, z + 6, Block1, 0, 3);
world.setBlock(x + 9, y + 1, z + 6, Block1, 0, 3);
world.setBlock(x + 1, y + 1, z + 7, Block1, 0, 3);
world.setBlock(x + 2, y + 1, z + 7, Block1, 0, 3);
world.setBlock(x + 3, y + 1, z + 7, Blocks.vine, 0, 3);
world.setBlock(x + 4, y + 1, z + 7, Block1, 0, 3);
world.setBlock(x + 5, y + 1, z + 7, Block1, 0, 3);
world.setBlock(x + 6, y + 1, z + 7, Block1, 0, 3);
world.setBlock(x + 7, y + 1, z + 7, Block1, 0, 3);
world.setBlock(x + 8, y + 1, z + 7, Block1, 0, 3);
world.setBlock(x + 0, y + 1, z + 8, Block1, 0, 3);
world.setBlock(x + 1, y + 1, z + 8, Blocks.vine, 0, 3);
world.setBlock(x + 2, y + 1, z + 8, Blocks.vine, 0, 3);
world.setBlock(x + 3, y + 1, z + 8, Blocks.vine, 0, 3);
world.setBlock(x + 4, y + 1, z + 8, Block1, 0, 3);
world.setBlock(x + 0, y + 1, z + 9, Block1, 0, 3);
world.setBlock(x + 1, y + 1, z + 9, Blocks.vine, 0, 3);
world.setBlock(x + 2, y + 1, z + 9, Blocks.water, 0, 3);
world.setBlock(x + 3, y + 1, z + 9, Block1, 0, 3);
world.setBlock(x + 0, y + 1, z + 10, Block1, 0, 3);
world.setBlock(x + 1, y + 1, z + 10, Blocks.vine, 0, 3);
world.setBlock(x + 2, y + 1, z + 10, Block1, 0, 3);
world.setBlock(x + 1, y + 1, z + 11, Block1, 0, 3);
world.setBlock(x + 1, y + 2, z + 4, Block1, 0, 3);
world.setBlock(x + 0, y + 2, z + 5, Block1, 0, 3);
world.setBlock(x + 1, y + 2, z + 5, Blocks.vine, 0, 3);
world.setBlock(x + 2, y + 2, z + 5, Block1, 0, 3);
world.setBlock(x + 3, y + 2, z + 5, Block1, 0, 3);
world.setBlock(x + 4, y + 2, z + 5, Block1, 0, 3);
world.setBlock(x + 5, y + 2, z + 5, Block1, 0, 3);
world.setBlock(x + 6, y + 2, z + 5, Block1, 0, 3);
world.setBlock(x + 7, y + 2, z + 5, Block1, 0, 3);
world.setBlock(x + 8, y + 2, z + 5, Block1, 0, 3);
world.setBlock(x + 9, y + 2, z + 5, Block1, 0, 3);
world.setBlock(x + 10, y + 2, z + 5, Block1, 0, 3);
world.setBlock(x + 11, y + 2, z + 5, Block1, 0, 3);
world.setBlock(x + 0, y + 2, z + 6, Block1, 0, 3);
world.setBlock(x + 1, y + 2, z + 6, Block1, 0, 3);
world.setBlock(x + 2, y + 2, z + 6, Block1, 0, 3);
world.setBlock(x + 3, y + 2, z + 6, Block1, 0, 3);
world.setBlock(x + 4, y + 2, z + 6, Block1, 0, 3);
world.setBlock(x + 5, y + 2, z + 6, Block1, 0, 3);
world.setBlock(x + 6, y + 2, z + 6, Block1, 0, 3);
world.setBlock(x + 7, y + 2, z + 6, Block1, 0, 3);
world.setBlock(x + 8, y + 2, z + 6, Blocks.vine, 0, 3);
world.setBlock(x + 9, y + 2, z + 6, Block1, 0, 3);
world.setBlock(x + 10, y + 2, z + 6, Block1, 0, 3);
world.setBlock(x + 11, y + 2, z + 6, Block1, 0, 3);
world.setBlock(x + 0, y + 2, z + 7, Block1, 0, 3);
world.setBlock(x + 1, y + 2, z + 7, Block1, 0, 3);
world.setBlock(x + 2, y + 2, z + 7, Block1, 0, 3);
world.setBlock(x + 3, y + 2, z + 7, Block1, 0, 3);
world.setBlock(x + 4, y + 2, z + 7, Block1, 0, 3);
world.setBlock(x + 5, y + 2, z + 7, Block2, 0, 3);
world.setBlock(x + 6, y + 2, z + 7, Block3, 0, 3);
world.setBlock(x + 7, y + 2, z + 7, Block1, 0, 3);
world.setBlock(x + 8, y + 2, z + 7, Block1, 0, 3);
world.setBlock(x + 9, y + 2, z + 7, Block1, 0, 3);
world.setBlock(x + 10, y + 2, z + 7, Block3, 0, 3);
world.setBlock(x + 11, y + 2, z + 7, Block3, 0, 3);
world.setBlock(x + 0, y + 2, z + 8, Block1, 0, 3);
world.setBlock(x + 1, y + 2, z + 8, Block1, 0, 3);
world.setBlock(x + 2, y + 2, z + 8, Block1, 0, 3);
world.setBlock(x + 3, y + 2, z + 8, Block2, 0, 3);
world.setBlock(x + 4, y + 2, z + 8, Block3, 0, 3);
world.setBlock(x + 5, y + 2, z + 8, Block2, 0, 3);
world.setBlock(x + 6, y + 2, z + 8, Blocks.netherrack, 0, 3);
world.setBlock(x + 7, y + 2, z + 8, Blocks.netherrack, 0, 3);
world.setBlock(x + 8, y + 2, z + 8, Block3, 0, 3);
world.setBlock(x + 9, y + 2, z + 8, Block3, 0, 3);
world.setBlock(x + 10, y + 2, z + 8, Block2, 0, 3);
world.setBlock(x + 11, y + 2, z + 8, Block1, 0, 3);
world.setBlock(x + 0, y + 2, z + 9, Block1, 0, 3);
world.setBlock(x + 1, y + 2, z + 9, Block1, 0, 3);
world.setBlock(x + 2, y + 2, z + 9, Blocks.air, 0, 3);
world.setBlock(x + 3, y + 2, z + 9, Block1, 0, 3);
world.setBlock(x + 4, y + 2, z + 9, Blocks.netherrack, 0, 3);
world.setBlock(x + 5, y + 2, z + 9, Block2, 0, 3);
world.setBlock(x + 6, y + 2, z + 9, Block3, 0, 3);
world.setBlock(x + 7, y + 2, z + 9, Blocks.netherrack, 0, 3);
world.setBlock(x + 8, y + 2, z + 9, Block3, 0, 3);
world.setBlock(x + 9, y + 2, z + 9, Block3, 0, 3);
world.setBlock(x + 10, y + 2, z + 9, Block3, 0, 3);
world.setBlock(x + 11, y + 2, z + 9, Block1, 0, 3);
world.setBlock(x + 0, y + 2, z + 10, Block1, 0, 3);
world.setBlock(x + 1, y + 2, z + 10, Block1, 0, 3);
world.setBlock(x + 2, y + 2, z + 10, Block1, 0, 3);
world.setBlock(x + 3, y + 2, z + 10, Blocks.netherrack, 0, 3);
world.setBlock(x + 4, y + 2, z + 10, Blocks.netherrack, 0, 3);
world.setBlock(x + 5, y + 2, z + 10, Blocks.netherrack, 0, 3);
world.setBlock(x + 6, y + 2, z + 10, Block2, 0, 3);
world.setBlock(x + 7, y + 2, z + 10, Block2, 0, 3);
world.setBlock(x + 8, y + 2, z + 10, Block3, 0, 3);
world.setBlock(x + 9, y + 2, z + 10, Block3, 0, 3);
world.setBlock(x + 10, y + 2, z + 10, Blocks.netherrack, 0, 3);
world.setBlock(x + 11, y + 2, z + 10, Block1, 0, 3);
world.setBlock(x + 0, y + 2, z + 11, Block1, 0, 3);
world.setBlock(x + 1, y + 2, z + 11, Block1, 0, 3);
world.setBlock(x + 2, y + 2, z + 11, Block1, 0, 3);
world.setBlock(x + 3, y + 2, z + 11, Block1, 0, 3);
world.setBlock(x + 4, y + 2, z + 11, Blocks.netherrack, 0, 3);
world.setBlock(x + 5, y + 2, z + 11, Blocks.netherrack, 0, 3);
world.setBlock(x + 6, y + 2, z + 11, Block3, 0, 3);
world.setBlock(x + 7, y + 2, z + 11, Blocks.netherrack, 0, 3);
world.setBlock(x + 8, y + 2, z + 11, Block3, 0, 3);
world.setBlock(x + 9, y + 2, z + 11, Blocks.netherrack, 0, 3);
world.setBlock(x + 10, y + 2, z + 11, Blocks.netherrack, 0, 3);
world.setBlock(x + 11, y + 2, z + 11, Block1, 0, 3);
world.setBlock(x + 0, y + 2, z + 12, Block1, 0, 3);
world.setBlock(x + 1, y + 2, z + 12, Block1, 0, 3);
world.setBlock(x + 2, y + 2, z + 12, Block1, 0, 3);
world.setBlock(x + 3, y + 2, z + 12, Block1, 0, 3);
world.setBlock(x + 4, y + 2, z + 12, Block1, 0, 3);
world.setBlock(x + 5, y + 2, z + 12, Block1, 0, 3);
world.setBlock(x + 6, y + 2, z + 12, Blocks.netherrack, 0, 3);
world.setBlock(x + 7, y + 2, z + 12, Block1, 0, 3);
world.setBlock(x + 8, y + 2, z + 12, Blocks.netherrack, 0, 3);
world.setBlock(x + 9, y + 2, z + 12, Block1, 0, 3);
world.setBlock(x + 10, y + 2, z + 12, Block1, 0, 3);
world.setBlock(x + 11, y + 2, z + 12, Block1, 0, 3);
world.setBlock(x + 0, y + 2, z + 13, Block1, 0, 3);
world.setBlock(x + 1, y + 2, z + 13, Block1, 0, 3);
world.setBlock(x + 2, y + 2, z + 13, Block1, 0, 3);
world.setBlock(x + 3, y + 2, z + 13, Block1, 0, 3);
world.setBlock(x + 4, y + 2, z + 13, Block1, 0, 3);
world.setBlock(x + 5, y + 2, z + 13, Block1, 0, 3);
world.setBlock(x + 6, y + 2, z + 13, Block1, 0, 3);
world.setBlock(x + 7, y + 2, z + 13, Block1, 0, 3);
world.setBlock(x + 8, y + 2, z + 13, Block1, 0, 3);
world.setBlock(x + 9, y + 2, z + 13, Block1, 0, 3);
world.setBlock(x + 10, y + 2, z + 13, Block1, 0, 3);
world.setBlock(x + 11, y + 2, z + 13, Block1, 0, 3);
world.setBlock(x + 1, y + 2, z + 14, Block1, 0, 3);
world.setBlock(x + 2, y + 2, z + 14, Block1, 0, 3);
world.setBlock(x + 3, y + 2, z + 14, Block1, 0, 3);
world.setBlock(x + 4, y + 2, z + 14, Block1, 0, 3);
world.setBlock(x + 5, y + 2, z + 14, Block1, 0, 3);
world.setBlock(x + 6, y + 2, z + 14, Block1, 0, 3);
world.setBlock(x + 7, y + 2, z + 14, Block1, 0, 3);
world.setBlock(x + 8, y + 2, z + 14, Block1, 0, 3);
world.setBlock(x + 9, y + 2, z + 14, Block1, 0, 3);
world.setBlock(x + 10, y + 2, z + 14, Block1, 0, 3);
world.setBlock(x + 11, y + 2, z + 14, Block1, 0, 3);
world.setBlock(x + 0, y + 3, z + 4, Block1, 0, 3);
world.setBlock(x + 1, y + 3, z + 4, Block1, 0, 3);
world.setBlock(x + 2, y + 3, z + 4, Block1, 0, 3);
world.setBlock(x + 3, y + 3, z + 4, Block1, 0, 3);
world.setBlock(x + 4, y + 3, z + 4, Block1, 0, 3);
world.setBlock(x + 5, y + 3, z + 4, Block1, 0, 3);
world.setBlock(x + 6, y + 3, z + 4, Block1, 0, 3);
world.setBlock(x + 7, y + 3, z + 4, Block1, 0, 3);
world.setBlock(x + 8, y + 3, z + 4, Block1, 0, 3);
world.setBlock(x + 9, y + 3, z + 4, Block1, 0, 3);
world.setBlock(x + 10, y + 3, z + 4, Block1, 0, 3);
world.setBlock(x + 11, y + 3, z + 4, Block1, 0, 3);
world.setBlock(x + 12, y + 3, z + 4, Block1, 0, 3);
world.setBlock(x + 0, y + 3, z + 5, Block1, 0, 3);
world.setBlock(x + 1, y + 3, z + 5, Blocks.reeds, 0, 3);
world.setBlock(x + 2, y + 3, z + 5, Blocks.waterlily, 0, 3);
world.setBlock(x + 3, y + 3, z + 5, Blocks.waterlily, 0, 3);
world.setBlock(x + 4, y + 3, z + 5, Blocks.waterlily, 0, 3);
world.setBlock(x + 5, y + 3, z + 5, Blocks.chest, 3, 3);
world.setBlock(x + 6, y + 3, z + 5, Blocks.chest, 3, 3);
world.setBlock(x + 7, y + 3, z + 5, Blocks.air, 0, 3);
world.setBlock(x + 8, y + 3, z + 5, Blocks.air, 0, 3);
world.setBlock(x + 12, y + 3, z + 5, Block1, 0, 3);
world.setBlock(x + 0, y + 3, z + 6, Block1, 0, 3);
world.setBlock(x + 1, y + 3, z + 6, ModBlocks.red_cable, 0, 3);
world.setBlock(x + 2, y + 3, z + 6, Blocks.air, 0, 3);
world.setBlock(x + 3, y + 3, z + 6, Blocks.air, 0, 3);
world.setBlock(x + 4, y + 3, z + 6, Blocks.air, 0, 3);
world.setBlock(x + 5, y + 3, z + 6, Blocks.air, 0, 3);
world.setBlock(x + 6, y + 3, z + 6, Blocks.air, 0, 3);
world.setBlock(x + 7, y + 3, z + 6, Blocks.air, 0, 3);
world.setBlock(x + 8, y + 3, z + 6, Blocks.vine, 0, 3);
world.setBlock(x + 9, y + 3, z + 6, Blocks.stone, 0, 3);
world.setBlock(x + 11, y + 3, z + 6, Blocks.stone, 0, 3);
world.setBlock(x + 12, y + 3, z + 6, Block1, 0, 3);
world.setBlock(x + 0, y + 3, z + 7, Block1, 0, 3);
world.setBlock(x + 1, y + 3, z + 7, Blocks.nether_wart, 5, 3);
world.setBlock(x + 2, y + 3, z + 7, Blocks.air, 0, 3);
world.setBlock(x + 3, y + 3, z + 7, Blocks.air, 0, 3);
world.setBlock(x + 4, y + 3, z + 7, Blocks.air, 0, 3);
world.setBlock(x + 5, y + 3, z + 7, Blocks.air, 0, 3);
world.setBlock(x + 6, y + 3, z + 7, Blocks.air, 0, 3);
world.setBlock(x + 7, y + 3, z + 7, Blocks.air, 0, 3);
world.setBlock(x + 8, y + 3, z + 7, Blocks.air, 0, 3);
world.setBlock(x + 10, y + 3, z + 7, Blocks.ender_chest, 2, 3);
world.setBlock(x + 12, y + 3, z + 7, Block1, 0, 3);
world.setBlock(x + 0, y + 3, z + 8, Block1, 0, 3);
world.setBlock(x + 1, y + 3, z + 8, Blocks.air, 0, 3);
world.setBlock(x + 2, y + 3, z + 8, Blocks.air, 0, 3);
world.setBlock(x + 3, y + 3, z + 8, Blocks.air, 0, 3);
world.setBlock(x + 4, y + 3, z + 8, Blocks.air, 0, 3);
world.setBlock(x + 5, y + 3, z + 8, Blocks.air, 0, 3);
world.setBlock(x + 6, y + 3, z + 8, Blocks.air, 0, 3);
world.setBlock(x + 7, y + 3, z + 8, Blocks.air, 0, 3);
world.setBlock(x + 8, y + 3, z + 8, Blocks.air, 0, 3);
world.setBlock(x + 9, y + 3, z + 8, Blocks.stone, 0, 3);
world.setBlock(x + 11, y + 3, z + 8, Blocks.stone, 0, 3);
world.setBlock(x + 12, y + 3, z + 8, Block1, 0, 3);
world.setBlock(x + 0, y + 3, z + 9, Block1, 0, 3);
world.setBlock(x + 1, y + 3, z + 9, Blocks.air, 0, 3);
world.setBlock(x + 2, y + 3, z + 9, Blocks.air, 0, 3);
world.setBlock(x + 3, y + 3, z + 9, Blocks.air, 0, 3);
world.setBlock(x + 4, y + 3, z + 9, Blocks.air, 0, 3);
world.setBlock(x + 5, y + 3, z + 9, Blocks.air, 0, 3);
world.setBlock(x + 6, y + 3, z + 9, Blocks.air, 0, 3);
world.setBlock(x + 7, y + 3, z + 9, Blocks.air, 0, 3);
world.setBlock(x + 8, y + 3, z + 9, Blocks.air, 0, 3);
world.setBlock(x + 12, y + 3, z + 9, Block1, 0, 3);
world.setBlock(x + 0, y + 3, z + 10, Block1, 0, 3);
world.setBlock(x + 1, y + 3, z + 10, ModBlocks.machine_shredder, 0, 3);
world.setBlock(x + 2, y + 3, z + 10, Blocks.air, 0, 3);
world.setBlock(x + 3, y + 3, z + 10, Blocks.air, 0, 3);
world.setBlock(x + 4, y + 3, z + 10, Blocks.air, 0, 3);
world.setBlock(x + 5, y + 3, z + 10, Blocks.air, 0, 3);
world.setBlock(x + 6, y + 3, z + 10, Blocks.air, 0, 3);
world.setBlock(x + 7, y + 3, z + 10, Blocks.air, 0, 3);
world.setBlock(x + 8, y + 3, z + 10, ModBlocks.crashed_balefire, 5, 3);
world.setBlock(x + 9, y + 3, z + 10, Blocks.air, 0, 3);
world.setBlock(x + 10, y + 3, z + 10, Blocks.air, 0, 3);
world.setBlock(x + 11, y + 3, z + 10, Blocks.air, 0, 3);
world.setBlock(x + 12, y + 3, z + 10, Block1, 0, 3);
world.setBlock(x + 0, y + 3, z + 11, Block1, 0, 3);
world.setBlock(x + 1, y + 3, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 2, y + 3, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 3, y + 3, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 4, y + 3, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 5, y + 3, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 6, y + 3, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 7, y + 3, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 8, y + 3, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 9, y + 3, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 10, y + 3, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 11, y + 3, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 12, y + 3, z + 11, Block1, 0, 3);
world.setBlock(x + 0, y + 3, z + 12, Block1, 0, 3);
world.setBlock(x + 1, y + 3, z + 12, Blocks.web, 0, 3);
world.setBlock(x + 2, y + 3, z + 12, Blocks.air, 0, 3);
world.setBlock(x + 3, y + 3, z + 12, Blocks.air, 0, 3);
world.setBlock(x + 4, y + 3, z + 12, Blocks.air, 0, 3);
world.setBlock(x + 5, y + 3, z + 12, Blocks.air, 0, 3);
world.setBlock(x + 6, y + 3, z + 12, Blocks.air, 0, 3);
world.setBlock(x + 7, y + 3, z + 12, Blocks.air, 0, 3);
world.setBlock(x + 8, y + 3, z + 12, Blocks.air, 0, 3);
world.setBlock(x + 9, y + 3, z + 12, Blocks.air, 0, 3);
world.setBlock(x + 11, y + 3, z + 12, Block1, 0, 3);
world.setBlock(x + 12, y + 3, z + 12, Block1, 0, 3);
world.setBlock(x + 0, y + 3, z + 13, Block1, 0, 3);
world.setBlock(x + 1, y + 3, z + 13, Blocks.web, 0, 3);
world.setBlock(x + 2, y + 3, z + 13, Blocks.web, 0, 3);
world.setBlock(x + 3, y + 3, z + 13, Blocks.air, 0, 3);
world.setBlock(x + 4, y + 3, z + 13, Blocks.air, 0, 3);
world.setBlock(x + 5, y + 3, z + 13, Blocks.air, 0, 3);
world.setBlock(x + 6, y + 3, z + 13, Blocks.web, 0, 3);
world.setBlock(x + 7, y + 3, z + 13, Blocks.air, 0, 3);
world.setBlock(x + 8, y + 3, z + 13, Blocks.web, 0, 3);
world.setBlock(x + 9, y + 3, z + 13, Blocks.web, 0, 3);
world.setBlock(x + 10, y + 3, z + 13, Block1, 0, 3);
world.setBlock(x + 11, y + 3, z + 13, Block1, 0, 3);
world.setBlock(x + 12, y + 3, z + 13, Block1, 0, 3);
world.setBlock(x + 1, y + 3, z + 14, Block1, 0, 3);
world.setBlock(x + 2, y + 3, z + 14, Block1, 0, 3);
world.setBlock(x + 3, y + 3, z + 14, Block1, 0, 3);
world.setBlock(x + 4, y + 3, z + 14, Block1, 0, 3);
world.setBlock(x + 5, y + 3, z + 14, Block1, 0, 3);
world.setBlock(x + 6, y + 3, z + 14, Block1, 0, 3);
world.setBlock(x + 7, y + 3, z + 14, Block1, 0, 3);
world.setBlock(x + 8, y + 3, z + 14, Block1, 0, 3);
world.setBlock(x + 9, y + 3, z + 14, Block1, 0, 3);
world.setBlock(x + 10, y + 3, z + 14, Block1, 0, 3);
world.setBlock(x + 11, y + 3, z + 14, Block1, 0, 3);
world.setBlock(x + 0, y + 4, z + 4, Block1, 0, 3);
world.setBlock(x + 1, y + 4, z + 4, Block1, 0, 3);
world.setBlock(x + 2, y + 4, z + 4, Block1, 0, 3);
world.setBlock(x + 3, y + 4, z + 4, Block1, 0, 3);
world.setBlock(x + 4, y + 4, z + 4, Block1, 0, 3);
world.setBlock(x + 5, y + 4, z + 4, Block1, 0, 3);
world.setBlock(x + 6, y + 4, z + 4, Block1, 0, 3);
world.setBlock(x + 7, y + 4, z + 4, Block1, 0, 3);
world.setBlock(x + 8, y + 4, z + 4, Block1, 0, 3);
world.setBlock(x + 9, y + 4, z + 4, Block1, 0, 3);
world.setBlock(x + 10, y + 4, z + 4, Block1, 0, 3);
world.setBlock(x + 11, y + 4, z + 4, Block1, 0, 3);
world.setBlock(x + 12, y + 4, z + 4, Block1, 0, 3);
world.setBlock(x + 0, y + 4, z + 5, Block1, 0, 3);
world.setBlock(x + 2, y + 4, z + 5, Blocks.waterlily, 0, 3);
world.setBlock(x + 3, y + 4, z + 5, Blocks.air, 0, 3);
world.setBlock(x + 4, y + 4, z + 5, Blocks.air, 0, 3);
world.setBlock(x + 5, y + 4, z + 5, Blocks.chest, 3, 3);
world.setBlock(x + 6, y + 4, z + 5, Blocks.chest, 3, 3);
world.setBlock(x + 7, y + 4, z + 5, Blocks.air, 0, 3);
world.setBlock(x + 8, y + 4, z + 5, Blocks.air, 0, 3);
world.setBlock(x + 12, y + 4, z + 5, Block1, 0, 3);
world.setBlock(x + 0, y + 4, z + 6, Block1, 0, 3);
world.setBlock(x + 1, y + 4, z + 6, ModBlocks.red_cable, 0, 3);
world.setBlock(x + 2, y + 4, z + 6, Blocks.air, 0, 3);
world.setBlock(x + 3, y + 4, z + 6, Blocks.air, 0, 3);
world.setBlock(x + 4, y + 4, z + 6, Blocks.air, 0, 3);
world.setBlock(x + 5, y + 4, z + 6, Blocks.air, 0, 3);
world.setBlock(x + 6, y + 4, z + 6, Blocks.air, 0, 3);
world.setBlock(x + 7, y + 4, z + 6, Blocks.air, 0, 3);
world.setBlock(x + 8, y + 4, z + 6, Blocks.air, 0, 3);
world.setBlock(x + 12, y + 4, z + 6, Block1, 0, 3);
world.setBlock(x + 0, y + 4, z + 7, Block1, 0, 3);
world.setBlock(x + 1, y + 4, z + 7, Blocks.nether_wart, 5, 3);
world.setBlock(x + 2, y + 4, z + 7, Blocks.air, 0, 3);
world.setBlock(x + 3, y + 4, z + 7, Blocks.air, 0, 3);
world.setBlock(x + 4, y + 4, z + 7, Blocks.air, 0, 3);
world.setBlock(x + 5, y + 4, z + 7, Blocks.air, 0, 3);
world.setBlock(x + 6, y + 4, z + 7, Blocks.air, 0, 3);
world.setBlock(x + 7, y + 4, z + 7, Blocks.air, 0, 3);
world.setBlock(x + 8, y + 4, z + 7, Blocks.air, 0, 3);
world.setBlock(x + 12, y + 4, z + 7, Block1, 0, 3);
world.setBlock(x + 0, y + 4, z + 8, Block1, 0, 3);
world.setBlock(x + 1, y + 4, z + 8, Blocks.air, 0, 3);
world.setBlock(x + 2, y + 4, z + 8, Blocks.air, 0, 3);
world.setBlock(x + 3, y + 4, z + 8, Blocks.air, 0, 3);
world.setBlock(x + 4, y + 4, z + 8, Blocks.air, 0, 3);
world.setBlock(x + 5, y + 4, z + 8, Blocks.air, 0, 3);
world.setBlock(x + 6, y + 4, z + 8, Blocks.air, 0, 3);
world.setBlock(x + 7, y + 4, z + 8, Blocks.air, 0, 3);
world.setBlock(x + 8, y + 4, z + 8, Blocks.air, 0, 3);
world.setBlock(x + 12, y + 4, z + 8, Block1, 0, 3);
world.setBlock(x + 0, y + 4, z + 9, Block1, 0, 3);
world.setBlock(x + 1, y + 4, z + 9, Blocks.air, 0, 3);
world.setBlock(x + 2, y + 4, z + 9, Blocks.air, 0, 3);
world.setBlock(x + 3, y + 4, z + 9, Blocks.air, 0, 3);
world.setBlock(x + 4, y + 4, z + 9, Blocks.air, 0, 3);
world.setBlock(x + 5, y + 4, z + 9, Blocks.air, 0, 3);
world.setBlock(x + 6, y + 4, z + 9, Blocks.air, 0, 3);
world.setBlock(x + 7, y + 4, z + 9, Blocks.air, 0, 3);
world.setBlock(x + 8, y + 4, z + 9, Blocks.air, 0, 3);
world.setBlock(x + 12, y + 4, z + 9, Block1, 0, 3);
world.setBlock(x + 0, y + 4, z + 10, Block1, 0, 3);
world.setBlock(x + 1, y + 4, z + 10, ModBlocks.red_cable, 0, 3);
world.setBlock(x + 2, y + 4, z + 10, Blocks.air, 0, 3);
world.setBlock(x + 3, y + 4, z + 10, Blocks.air, 0, 3);
world.setBlock(x + 4, y + 4, z + 10, Blocks.air, 0, 3);
world.setBlock(x + 5, y + 4, z + 10, Blocks.air, 0, 3);
world.setBlock(x + 6, y + 4, z + 10, Blocks.air, 0, 3);
world.setBlock(x + 7, y + 4, z + 10, Blocks.air, 0, 3);
world.setBlock(x + 8, y + 4, z + 10, Blocks.air, 0, 3);
world.setBlock(x + 9, y + 4, z + 10, Blocks.air, 0, 3);
world.setBlock(x + 10, y + 4, z + 10, Blocks.air, 0, 3);
world.setBlock(x + 11, y + 4, z + 10, Blocks.air, 0, 3);
world.setBlock(x + 12, y + 4, z + 10, Block1, 0, 3);
world.setBlock(x + 0, y + 4, z + 11, Block1, 0, 3);
world.setBlock(x + 1, y + 4, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 2, y + 4, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 3, y + 4, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 4, y + 4, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 5, y + 4, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 6, y + 4, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 7, y + 4, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 8, y + 4, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 9, y + 4, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 10, y + 4, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 11, y + 4, z + 11, Blocks.air, 0, 3);
world.setBlock(x + 12, y + 4, z + 11, Block1, 0, 3);
world.setBlock(x + 0, y + 4, z + 12, Block1, 0, 3);
world.setBlock(x + 1, y + 4, z + 12, Blocks.air, 0, 3);
world.setBlock(x + 2, y + 4, z + 12, Blocks.air, 0, 3);
world.setBlock(x + 3, y + 4, z + 12, Blocks.air, 0, 3);
world.setBlock(x + 4, y + 4, z + 12, Blocks.air, 0, 3);
world.setBlock(x + 5, y + 4, z + 12, Blocks.air, 0, 3);
world.setBlock(x + 6, y + 4, z + 12, Blocks.air, 0, 3);
world.setBlock(x + 7, y + 4, z + 12, Blocks.air, 0, 3);
world.setBlock(x + 8, y + 4, z + 12, Blocks.air, 0, 3);
world.setBlock(x + 9, y + 4, z + 12, Blocks.air, 0, 3);
world.setBlock(x + 11, y + 4, z + 12, Block1, 0, 3);
world.setBlock(x + 12, y + 4, z + 12, Block1, 0, 3);
world.setBlock(x + 0, y + 4, z + 13, Block1, 0, 3);
world.setBlock(x + 1, y + 4, z + 13, Blocks.air, 0, 3);
world.setBlock(x + 2, y + 4, z + 13, Blocks.web, 0, 3);
world.setBlock(x + 3, y + 4, z + 13, Blocks.air, 0, 3);
world.setBlock(x + 4, y + 4, z + 13, Blocks.air, 0, 3);
world.setBlock(x + 5, y + 4, z + 13, Blocks.air, 0, 3);
world.setBlock(x + 7, y + 4, z + 13, Blocks.air, 0, 3);
world.setBlock(x + 8, y + 4, z + 13, Blocks.air, 0, 3);
world.setBlock(x + 9, y + 4, z + 13, Blocks.web, 0, 3);
world.setBlock(x + 10, y + 4, z + 13, Block1, 0, 3);
world.setBlock(x + 11, y + 4, z + 13, Block1, 0, 3);
world.setBlock(x + 12, y + 4, z + 13, Block1, 0, 3);
world.setBlock(x + 1, y + 4, z + 14, Block1, 0, 3);
world.setBlock(x + 2, y + 4, z + 14, Block1, 0, 3);
world.setBlock(x + 3, y + 4, z + 14, Block1, 0, 3);
world.setBlock(x + 4, y + 4, z + 14, Block1, 0, 3);
world.setBlock(x + 5, y + 4, z + 14, Block1, 0, 3);
world.setBlock(x + 6, y + 4, z + 14, Block1, 0, 3);
world.setBlock(x + 7, y + 4, z + 14, Block1, 0, 3);
world.setBlock(x + 8, y + 4, z + 14, Block1, 0, 3);
world.setBlock(x + 9, y + 4, z + 14, Block1, 0, 3);
world.setBlock(x + 10, y + 4, z + 14, Block1, 0, 3);
world.setBlock(x + 11, y + 4, z + 14, Block1, 0, 3);
new Ruin002().generate_r00(world, rand, x, y, z);
return true;
}
}

File diff suppressed because it is too large Load Diff