Здравствуйте! Помогите с решением одной проблемы. Я сделал так что когда ставишь блок у меня вверх появляется невидимые блоки, а вот не знаю как сделать что бы при разрушении нижнего или любого другого из них ломалась вся конструкция.
Код:
package sub_mod.obj_block;
import net.minecraft.block.Block;
import net.minecraft.block.ITileEntityProvider;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
public class BlockObj extends Block implements ITileEntityProvider {
public BlockObj() {
super(Material.circuits);
setCreativeTab(CreativeTabs.tabBlock);
setHardness(0.25F);
setStepSound(soundTypeMetal);
setBlockTextureName("iron_block");
setBlockName(ModBlockObj.MODID + ".block_obj");
}
@Override
public TileEntity createNewTileEntity(World world, int metadata) {
return new TileEntityObj();
}
public int getRenderType() {
return -1;
}
public boolean isOpaqueCube() {
return false;
}
public boolean renderAsNormalBlock() {
return false;
}
//СПАВН БЛОКОВ ВВЕРХ
public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase entity, ItemStack is) {
world.setBlock(x, y + 1, z, ModBlockObj.Bar);
world.setBlock(x, y + 2, z, ModBlockObj.Bar);
world.setBlock(x, y + 3, z, ModBlockObj.Bar);
world.setBlock(x, y + 4, z, ModBlockObj.Bar);
world.setBlock(x, y + 5, z, ModBlockObj.Bar);
world.setBlock(x, y + 6, z, ModBlockObj.Bar);
}
}
Код:
package sub_mod.obj_block;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
@Mod (modid = ModBlockObj.MODID, name = ModBlockObj.MODNAME, version = ModBlockObj.VERSION)
public class ModBlockObj {
public static final CreativeTabs tabMTSTrain = new CreativeTabs("tabMTSTrain") {
public Item getTabIconItem() {
return Item.getItemFromBlock(Blocks.stonebrick);
}
};
public static final String MODID = "sub_mod_obj_block";
public static final String MODNAME = "SM_OB";
public static final String VERSION = "0.1a";
@Instance(ModBlockObj.MODID) public static ModBlockObj instance;
@SidedProxy(modId = ModBlockObj.MODID, clientSide = "sub_mod.obj_block.ProxyClient", serverSide = "sub_mod.obj_block.ProxyCommon")
public static ProxyCommon proxy;
public static Block block_obj;
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event) {
block_obj = new BlockObj();
GameRegistry.registerBlock(block_obj, "block_obj");
GameRegistry.registerTileEntity(TileEntityObj.class, "TileEntityObj");
proxy.preInit();
}
public static Block Bar;
@Mod.EventHandler
public void init(FMLInitializationEvent event) {
Bar = new BlockL(Material.wood, "Fus").setCreativeTab(tabBlock);
proxy.init();
}
}