package net[paste][/paste]minecraft[paste][/paste]src;import java[paste][/paste]io[paste][/paste]PrintStream;import java[paste][/paste]util[paste][/paste]Calendar;import java[paste][/paste]util[paste][/paste]Random;import java[paste][/paste]util[paste][/paste]Map;public class mod_Flowerpot extends BaseMod{ public static final Block flowerpot = new Block(140, 0)[paste][/paste]setHardness(0[paste][/paste]3F)[paste][/paste]setResistance(0[paste][/paste]7F)[paste][/paste]setStepSound(Block[paste][/paste]soundGrassFootstep)[paste][/paste]setLightValue(0[paste][/paste]10F)[paste][/paste]setBlockName("flowerpot"); public String Version() { return "0[paste][/paste]0[paste][/paste]2"; } public mod_Flowerpot() { ModLoader[paste][/paste]RegisterBlock(flowerpot); flowerpot[paste][/paste]blockIndexInTexture = ModLoader[paste][/paste]addOverride("/terrain[paste][/paste]png", "/flowerpot"); ModLoader[paste][/paste]AddName(Peat, "Peat"); } private Random rand; private World worldObj;}
[Без ModLoader] Основы программирования для Minecraft
#121
Написал 11.05.2011 - 08:17
#122
Написал 15.05.2011 - 20:20
Недавно у меня Возник вопрос, Как изменить длину стрелы ? [Ниже написан ответ на этот вопрос]
Смысл в том, чтобы сделать бывшую "стрелу" настолько короткой, чтобы текстура ее "конца оперения" была практически в точке застревания стрелы в блоке.
Первое предположение было относительно функции setSize(0.5F, 0.5F); которая находится в файле EntityBullet (EntityArrow). Но экспериментальным путем, я установил, что аргументы этой функции влияют только на РАДИУС подбирания объекта в инвентарь. Чем больше будет значение, например 2.0F, 2.0F - тем с более большего расстояния предмет будет автоматически подбираться в инвентарь игрока. Длина стрелы при этом никак не меняется.
Дальше я начал проверять файл RenderBullet (renderArrow) и там нашел следующее:
^ Переменная f10 - отвечает общий размер стрелы, т.е если хотите пулять малюсенькими стрелочками, то измените значение с f10= 0.05... на f10= 0.016
^ Переменная f3 отвечает за - сколько начиная с левого края картинки arrows.png брать изображения на текстуру "Стрела-Вид Сбоку". Логический размер стрелы не меняется, если значение меньше чем 0.5, то что попадет из файла arrow.png будет просто растянуто по стреле.
^ И вот долгожданный ответ - для того, чтобы сместить положение прорисовки Оперения стрелы, надо в файле внести следующие изменения:
меняем первые 8 строчек такого типа:
tessellator.addVertexWithUV(<расстояние от наконечника стрелы до оперения>,....
-7D - расстояние по умолчанию в конце стрелы, -1D середина стрелы, 4D наконечник стрелы
первые 4 строчки отвечают за положение прорисовки оперения стрелы, когда игрок смотрит спереди на нее, а вторые 4 строчки - когда игрок смотрит сзади на нее. Звучит бредово, но знать надо.
#123
Написал 16.05.2011 - 18:27
Если, создав новый предмет указать стандартный звук , например world.playSoundAtEntity(entityplayer, "random.bow",....
то звук нормально проигрывается.
Однако, если же указать добавленный собственноручно новый ogg-файл , world.playSoundAtEntity(entityplayer, "random.NewSound",.... - то ничего проигрываться не будет, причем это не зависит от качества ogg-файла. Потому что, можно тот же самый bow.ogg переименовать в NewSound.ogg и все равно он также проигрываться не будет.
Отсюда следует вывод, что существует некий список, в котором перечислены все имена ogg файлов, которые могут проигрываться.
Помогите мне найти этот список... Или хотя бы показать пример успешного
проигрывания нового звука, при помощи метода playSoundAtEntity.
Вот тут пути моего копания в java-коде:
#124
Написал 16.05.2011 - 20:08
#125
Написал 17.05.2011 - 09:28
УРа, всё заработало! НотчModloader и AudioMod засунь в minecraft.jar и декомпиль заново.
Спасибо WDkun
Что я сделал :
1. Папки bin и resources из ЧИСТОЙ версии МК поместил в MCP/jars
2. Добавил содержимое модов Modloader и AudioMod в архив MCP/jars/Minecraft.jar
3. Декомпилировал - причем в процессе декомпиляции выдало:
== ERRORS FOUND ===
2 out of 2 hunks FAILED
вот тут полный скрин лога:
4. Добавил в src свои файлы, entityBullet , itemPistol и т.д. дописав все что не доставало
5. Запустил recompile.bat и reobfuscate.bat
6. Из папки reobf получившиеся class-файлы добавил в .minecraft/bin/minecraft.jar
( это тот же самый архив, который был изначально ЧИСТЫЙ с содержимым в нем двух модов (Modloader и AudioMod ).
7. Добавил в .minecraft/bin/minecraft.jar файл item.png и bullets.png - текстуры
8. Удалил META
После этих операций работать звук НЕ БУДЕТ. Потому что надо прочесть описание audioModa. Общий смысл такой, что свои ауди звуки надо положить в .minecraft/resources/mod/sound
и мало того, в
строчке EntityBullet ( или какой у вас там файл снарядов) указать вот так имя файла без всяких там слов random.
примерно так -
world.playSoundAtEntity(entityplayer, "pistol", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 0.8F));
#126
Написал 31.05.2011 - 10:31
#127
Написал 31.05.2011 - 19:48
#128
Написал 31.05.2011 - 19:56
#130
Написал 31.05.2011 - 19:59
#131
Написал 31.05.2011 - 20:42
#132
Написал 31.05.2011 - 20:56
ЧЕЕЕЕЕЕЕЕЕЕЕЕН! ^_,^
#134
Написал 31.05.2011 - 21:08
#135
Написал 31.05.2011 - 21:11
#137
Написал 31.05.2011 - 21:50
#138
Написал 01.06.2011 - 05:41
ЧЕЕЕЕЕЕЕЕЕЕЕЕН! ^_,^
#140
Написал 01.06.2011 - 06:29
ЧЕЕЕЕЕЕЕЕЕЕЕЕН! ^_,^
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных