[1.7.10] Как изменение текстуры блока связать со временем?

Всем привет! Как заставить блок изменять текстуру, когда наступает ночь и день? Как подобным образом заставить его излучать свет? Заранее всем спасибо!
 
Код:
public int getLightValue(IBlockAccess blockAccess, int x, int y, int z){
        if(blockAccess instanceof World){
            World world = (World)blockAccess;
            return world.isDaytime() ? 0 : 15;
        }
        return 0;
    }
    
    public Icon getBlockTexture(IBlockAccess blockAccess, int x, int y, int z, int metadata){
        if(blockAccess instanceof World){
            World world = (World)blockAccess;
            return world.isDaytime() ? icon1 : icon2;
        }
        return blockIcon;
    }
 
Agravaine написал(а):
Код:
public int getLightValue(IBlockAccess blockAccess, int x, int y, int z){
        if(blockAccess instanceof World){
            World world = (World)blockAccess;
            return world.isDaytime() ? 0 : 15;
        }
        return 0;
    }
    
    public Icon getBlockTexture(IBlockAccess blockAccess, int x, int y, int z, int metadata){
        if(blockAccess instanceof World){
            World world = (World)blockAccess;
            return world.isDaytime() ? icon1 : icon2;
        }
        return blockIcon;
    }
С getLightValue проблема такая: днём света нет, ночью есть, но чтобы он был или отсутствовал, нужно постоянно перезаходить в мир при смене дня и ночи.
С public Icon getBlockTexture... другая проблема, к нему нет подходящих импортируемых пакетов, есть там один, но после него там ещё больше ошибок выдаёт eclipce. С icon1 и icon2 тоже проблемки, я их пробовал заменить на "modid:blocktexture", тогда проблемы исчезали, но правильно ли я сделал?!
 
Agravaine написал(а):
Я тебе дал пример, тебе элементарно подставить свои иконки, ты и этого не можешь...
Я не имел ввиду, что написал прямо "modid:blocktexture", я написал реальный MODID и название текстуры. Но что делать с Icon, которая идёт после public? Пробовал поменять на String, тогда ошибка в строке "return blockicon" была, пробовал поменять на IIcon после этого, тогда тоже ошибки...
 
icon1 - иконка в дневное время.
icon2 - в ночное.
blockIcon - обычная иконка.
Объекты иконок ты можешь получить и записать в свой класс из registerIcons в твоем предмете.
 
Вам уже дали ответ в 4 посте

Agravaine написал(а):
Код:
public int getLightValue(IBlockAccess blockAccess, int x, int y, int z){
        if(blockAccess instanceof World){
            World world = (World)blockAccess;
            return world.isDaytime() ? 0 : 15;
        }
        return 0;
    }
    
    public Icon getBlockTexture(IBlockAccess blockAccess, int x, int y, int z, int metadata){
        if(blockAccess instanceof World){
            World world = (World)blockAccess;
            return world.isDaytime() ? icon1 : icon2;
        }
        return blockIcon;
    }

И даже пояснение в 8 посту

Dragon2488 написал(а):
icon1 - иконка в дневное время.
icon2 - в ночное.
blockIcon - обычная иконка.
Объекты иконок ты можешь получить и записать в свой класс из registerIcons в твоем предмете.

Пожалуйста, не задайте глупых вопросов. Если вы не знаете синтаксиса java, то никакой Дракон вам уже не поможет. Поэтому читайте туторы, учите java или найдите себе мододела за плату.

Твой код даже комментировать не надо - на лицо полное непонимания того, что делаешь.
 
Метадата зачем? Ответ уже дали, ну.
Ждём пока автор топика допрёт, куда надо вставить два скинутых метода.
 
Oldestkon написал(а):
Метадата зачем? Ответ уже дали, ну.
Ждём пока автор топика допрёт, куда надо вставить два скинутых метода
Ждите. Я их же вставлял в код блока, с излучением света я сразу разобрался, а, вот, как зарегистрировать иконки для второго метода (уже в самом блоке пробовал, всё безуспешно) и что с этим вторым методом ещё делать, не знаю. Но я уже жду, когда модератор удалит эту тему.
 
Не знаю как сделать на 1.7+
Но вот как на 1.6+ { 
public class TestBlock extends Block
{
    protected TestBlock(int par1)
    {
        super(par1, Material.ground);
        this.setCreativeTab(CreativeTabs.tabBlock);
    }
    public int getLightValue(IBlockAccess blockAccess, int x, int y, int z){
    if(blockAccess instanceof World){
        World world = (World)blockAccess;
        return world.isDaytime() ? 0 : 15;
    }
    return 0;
}

public Icon getBlockTexture(IBlockAccess blockAccess, int x, int y, int z, int metadata){
    if(blockAccess instanceof World){
        World world = (World)blockAccess;
        return world.isDaytime() ? icon1 : icon2;
    }
    return blockIcon;
}
    @SideOnly(Side.CLIENT)
    private Icon icon1;
    private Icon icon2;

    @SideOnly(Side.CLIENT)
    public void registerIcons(IconRegister iconReg)
    {
        icon1 = iconReg.registerIcon("DifferentBlocks:Item01_1");
        icon2 = iconReg.registerIcon("DifferentBlocks:Item01_2");
    }
}
Вроде так, у меня работало.
 
Показывай весь код.
По тому что вижу, могу сказать, что ты не создал переменную или ошибся в название. И что за (неизвестная буква) букв не так и много, моно и все запомнить.
Что за переменная newblock?
 
dark32 написал(а):
Показывай весь код.
По тому что вижу, могу сказать, что ты не создал переменную или ошибся в название. И что за (неизвестная буква) букв не так и много, моно и все запомнить.
Что за переменная newblock?
http://joxi.ru/gmvj5n9fnpgRma вот весь код
 
XuPuPG, учимся читать: 8 пост
Dragon2488 написал(а):
icon1 - иконка в дневное время.
icon2 - в ночное.
blockIcon - обычная иконка.
Объекты иконок ты можешь получить и записать в свой класс из registerIcons в твоем предмете.

откуда у тебя newblock и что за (неизвестная буква)
 
newblock это название главной текстуры блока
dark32 написал(а):
XuPuPG, учимся читать: 8 пост
Dragon2488 написал(а):
icon1 - иконка в дневное время.
icon2 - в ночное.
blockIcon - обычная иконка.
Объекты иконок ты можешь получить и записать в свой класс из registerIcons в твоем предмете.

откуда у тебя newblock и что за  (неизвестная буква)
[merge_posts_bbcode]Добавлено: 24.02.2015 15:58:53[/merge_posts_bbcode]

А вот как исправить ошибку icon и icon2 я так и не понял.
XuPuPG написал(а):
newblock это название главной текстуры блока
dark32 написал(а):
XuPuPG, учимся читать: 8 пост
Dragon2488 написал(а):
icon1 - иконка в дневное время.
icon2 - в ночное.
blockIcon - обычная иконка.
Объекты иконок ты можешь получить и записать в свой класс из registerIcons в твоем предмете.

откуда у тебя newblock и что за  (неизвестная буква)
 
XuPuPG, ты издеваешься? Иди читай туториалы, учебники, с самого начала читать, не пропуская ничего.
 
Назад
Сверху