- 36
- 0
Всем привет! Как заставить блок изменять текстуру, когда наступает ночь и день? Как подобным образом заставить его излучать свет? Заранее всем спасибо!
Follow along with the video below to see how to install our site as a web app on your home screen.
Примечание: This feature may not be available in some browsers.
А можно кодом объяснить?Agravaine написал(а):Свет - getLightValue в блоке, текстура - getIcon.
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 проблема такая: днём света нет, ночью есть, но чтобы он был или отсутствовал, нужно постоянно перезаходить в мир при смене дня и ночи.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; }
Я не имел ввиду, что написал прямо "modid:blocktexture", я написал реальный MODID и название текстуры. Но что делать с Icon, которая идёт после public? Пробовал поменять на String, тогда ошибка в строке "return blockicon" была, пробовал поменять на IIcon после этого, тогда тоже ошибки...Agravaine написал(а):Я тебе дал пример, тебе элементарно подставить свои иконки, ты и этого не можешь...
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; }
Dragon2488 написал(а):icon1 - иконка в дневное время.
icon2 - в ночное.
blockIcon - обычная иконка.
Объекты иконок ты можешь получить и записать в свой класс из registerIcons в твоем предмете.
Ждите. Я их же вставлял в код блока, с излучением света я сразу разобрался, а, вот, как зарегистрировать иконки для второго метода (уже в самом блоке пробовал, всё безуспешно) и что с этим вторым методом ещё делать, не знаю. Но я уже жду, когда модератор удалит эту тему.Oldestkon написал(а):Метадата зачем? Ответ уже дали, ну.
Ждём пока автор топика допрёт, куда надо вставить два скинутых метода
http://joxi.ru/gmvj5n9fnpgRma вот весь кодdark32 написал(а):Показывай весь код.
По тому что вижу, могу сказать, что ты не создал переменную или ошибся в название. И что за (неизвестная буква) букв не так и много, моно и все запомнить.
Что за переменная newblock?
Dragon2488 написал(а):icon1 - иконка в дневное время.
icon2 - в ночное.
blockIcon - обычная иконка.
Объекты иконок ты можешь получить и записать в свой класс из registerIcons в твоем предмете.
[merge_posts_bbcode]Добавлено: 24.02.2015 15:58:53[/merge_posts_bbcode]dark32 написал(а):XuPuPG, учимся читать: 8 пост
Dragon2488 написал(а):icon1 - иконка в дневное время.
icon2 - в ночное.
blockIcon - обычная иконка.
Объекты иконок ты можешь получить и записать в свой класс из registerIcons в твоем предмете.
откуда у тебя newblock и что за (неизвестная буква)
XuPuPG написал(а):newblock это название главной текстуры блока
dark32 написал(а):XuPuPG, учимся читать: 8 пост
Dragon2488 написал(а):icon1 - иконка в дневное время.
icon2 - в ночное.
blockIcon - обычная иконка.
Объекты иконок ты можешь получить и записать в свой класс из registerIcons в твоем предмете.
откуда у тебя newblock и что за (неизвестная буква)