Вверх ↑
Администрация
Ответов: 4613
alpha
лидер
#0: 2013-10-23 15:30:08 ЛС | профиль | цитата
Все полублоки с ID = 44 являются камнями и разрушаются только киркой, а не в соответствии со своим материалом
карма: 1029
2
Тип: ошибка, Статус: выполнено
Ответов: 4446
Steons Clan
лидер
#1: 2013-11-05 12:24:24 ЛС | профиль | цитата
Добавлю от себя, считаю что лучне не придавать свойства горения деревянным, т.к. они сильно помогают в строительстве рядом с местами горения огня или лавы. Дисбаланса никакого не вносят, т.к. практически никто в корыстных целях это не использует, только для декора.
Ну и разумеется боюсь, что пострадает спаун Билда от этого.
карма: -110
Аккаунт вернул, бан на месте, скучно не играть =((
Администрация
Ответов: 4613
alpha
лидер
#2: 2013-11-06 02:19:41 ЛС | профиль | цитата
если расставить материалы как положено, то гореть они автоматом начнут - избегать этого специальным образом не целесообразно
карма: 1029
Ответов: 4557
#3: 2014-06-27 14:28:04 ЛС | профиль | цитата
Решением проблемы является разделение полублоков на 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"};

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;

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 ‹ 4; ++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