- 10
- 0
Собственно проблема, в том, что мой источник света (лампа) при загрузке чанка не выдает свет во все стороны, что странно. Если сломать какой-то блок рядом, свет обновляется и становится нормальным. Никак не могу понять, в чем проблема.
Код:
public class BlockDungeonLamp extends Block {
public static final PropertyBool BROKEN = PropertyBool.create("broken");
public BlockDungeonLamp() {
super(Material.GLASS);
setHardness(2.0F);
setResistance(6.0F);
setSoundType(SoundType.GLASS);
}
@Override
public boolean canCreatureSpawn(IBlockState state, IBlockAccess world, BlockPos pos, EntityLiving.SpawnPlacementType type) {
return false;
}
@Override
public int getLightValue(IBlockState state, IBlockAccess world, BlockPos pos) {
return getMetaFromState(state) == 0 ? 15 : 0;
}
@Override
public int getHarvestLevel(IBlockState state) {
return state.getValue(BROKEN) ? 1 : 4;
}
@Override
public void addInformation(ItemStack stack, @Nullable World worldIn, List<String> tooltip, ITooltipFlag flagIn) {
//TODO 1.7.10 -> Add info
tooltip.add(I18n.format("item.lootgames.dungeon_bricks.tooltip"));
super.addInformation(stack, worldIn, tooltip, flagIn);
}
@Nullable
@Override
public String getHarvestTool(IBlockState state) {
return "pickaxe";
}
@Override
public boolean canSilkHarvest(World world, BlockPos pos, IBlockState state, EntityPlayer player) {
return true;
}
@Override
public int damageDropped(IBlockState state) {
return getMetaFromState(state);
}
@Override
public void getDrops(NonNullList<ItemStack> drops, IBlockAccess world, BlockPos pos, IBlockState state, int fortune) {
int meta = this.getMetaFromState(state);
if (!state.getValue(BROKEN)) {
meta = RandHelper.flipCoin(0, 1);
}
drops.add(new ItemStack(this, 1, meta));
}
@Override
public IBlockState getStateFromMeta(int meta) {
return getDefaultState().withProperty(BROKEN, meta == 1);
}
@Override
public int getMetaFromState(IBlockState state) {
return state.getValue(BROKEN) ? 1 : 0;
}
@Override
public void getSubBlocks(CreativeTabs itemIn, NonNullList<ItemStack> items) {
items.add(new ItemStack(this, 1, 0));
items.add(new ItemStack(this, 1, 1));
}
@Override
protected BlockStateContainer createBlockState() {
return new BlockStateContainer(this, BROKEN);
}
}