Вверх ↑
Ответов: 4557
#1: 2014-06-27 15:43:43 ЛС | профиль | цитата
http://forum.minecraft-galaxy.ru/userissue/41
Все полублоки с ID = 44 являются камнями и разрушаются только киркой, а не в соответствии со своим материалом
Решением проблемы является разделение полублоков на 2 разных файла: деревянные (WoodSlab) и каменные (StoneSlabs)

WoodSlab.java

package net.minecraft.src;

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

public class BlockWoodSlab extends BlockHalfSlab
{
public static final String[] woodType = new String[] {"oak", "spruce", "birch", "jungle", "palm"};

public BlockWoodSlab(int par1, boolean par2)
{
super(par1, par2, Material.wood);
}

public int getBlockTextureFromSideAndMetadata(int par1, int par2)
{
switch (par2 & 7)
{
case 1:
return 198;

case 2:
return 214;

case 3:
return 199;

case 4: ТЕКСТУРА_ПАЛЬМЫ;

default:
return 4;
}
}
public int getBlockTextureFromSide(int par1)
{
return this.getBlockTextureFromSideAndMetadata(par1, 0);
}
public int idDropped(int par1, Random par2Random, int par3)
{
return Block.woodSingleSlab.blockID;
}
protected ItemStack createStackedBlock(int par1)
{
return new ItemStack(Block.woodSingleSlab.blockID, 2, par1 & 7);
}
public String getFullSlabName(int par1)
{
if (par1 ‹ 0 || par1 ›= woodType.length)
{
par1 = 0;
}

return super.getBlockName() + "." + woodType[par1];
}

public void getSubBlocks(int par1, CreativeTabs par2CreativeTabs, List par3List)
{
if (par1 != Block.woodDoubleSlab.blockID)
{
for (int var4 = 0; var4 ‹ 5; ++var4)
{
par3List.add(new ItemStack(par1, 1, var4));
}
}
}
}

Block.Java

public static final BlockHalfSlab woodDoubleSlab = (BlockHalfSlab)(new BlockWoodSlab(125, true)).setHardness(2.0F).setResistance(5.0F).setStepSound(soundWoodFootstep).setBlockName("woodSlab");
public static final BlockHalfSlab woodSingleSlab = (BlockHalfSlab)(new BlockWoodSlab(126, false)).setHardness(2.0F).setResistance(5.0F).setStepSound(soundWoodFootstep).setBlockName("woodSlab");

CraftingManager.java

this.addRecipe(new ItemStack(Block.woodSingleSlab, 6, 0), new Object[] {"###", '#', new ItemStack(Block.planks, 1, 0)});
this.addRecipe(new ItemStack(Block.woodSingleSlab, 6, 2), new Object[] {"###", '#', new ItemStack(Block.planks, 1, 2)});
this.addRecipe(new ItemStack(Block.woodSingleSlab, 6, 1), new Object[] {"###", '#', new ItemStack(Block.planks, 1, 1)});
this.addRecipe(new ItemStack(Block.woodSingleSlab, 6, 3), new Object[] {"###", '#', new ItemStack(Block.planks, 1, 3)});

Ещё можно рассмотреть такое вариант, как добавление топору полублоки (прописывая блок и метадату)
карма: 6
0