Перейти к содержимому


Фотография

[Tutorial] [Forge] Основы программирования Minecraft 1.4.6


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 345

#81 TheApKoT

TheApKoT

    Добытчик угля

  • Пользователи
  • Сообщений: 363
  • Откуда: The Earth Core

Написал 09.11.2012 - 15:26

1) Вы правы, для архивации мода нужен именно reobufscate.bat. Скомпилированные файлы(но только измененные и созданные) появятся в папке "/reobf/minecraft/". 2) Насчет текстуры не знаю, но лично у меня в src не работало.3) Чтобы использовать API, нужно закинуть папку с src API в "/src/" и покопаться в файлах самого API, посмотреть на методы.4) Обычно текстуры белые, когда в коде есть сомнительные методы, даже если они с текстурами не связаны, что странно.5) Насчет WMR не думал, вряд ли кто-то захочет жертвовать свои кровные, тем более за такие тексты, которые, к тому же, еще и обновляются раз в полмесяца. Но раз вы так говорите, немного позже оставлю свой WMR. 6) Удачи.7) Спасибо, я польщен.UPD: Ах да, 8) Обновлено, добавил две мини-главы:-Создание разностороннего блока;-Генерация блока в аду(по аналогии можно сделать генерацию в Краю).
Скрытый текст

#82 faserg1

faserg1

    Странник

  • Пользователи
  • Сообщений: 71

Написал 09.11.2012 - 15:32

Вспомнил мод PortalGun. Можно ли сделать так, чтобы было на блоке изображение чего либо + ресурс изображения (камера). Кстати, есть пре-инициализация текстуры, ты что нибудь знаешь об этом? И ещё - у меня чёрные пятна остались, хотя 1.4.2, почему - не знаю. Хотя...

Warning: Texture /[мой_мод]/terrain.png not preloaded, will cause render glitches!

UPD:

MinecraftForgeClient.preloadTexture(ITEMS_PNG); MinecraftForgeClient.preloadTexture(BLOCK_PNG);

Это я увидел здесь: http://www.minecraft...ns_and_Textures
Я — Серый Волк. NADEO — супер! STL — это не сила... (Печаль) C++ — это круто!
Кто знает Sword Art Online?

#83 TheApKoT

TheApKoT

    Добытчик угля

  • Пользователи
  • Сообщений: 363
  • Откуда: The Earth Core

Написал 09.11.2012 - 15:48

Хм, спасибо. Не знал.Возможно все, вопрос только - какие усилия придется затратить. Точно сказать я ничего не могу, ибо не работал с этим.В 1.4.2 не исправили черные пятна, а просто улучшили освещение, разве нет?
Скрытый текст

#84 faserg1

faserg1

    Странник

  • Пользователи
  • Сообщений: 71

Написал 09.11.2012 - 15:57

Хм, точно. Их исправили в предварительной, а потом убрали исправление из-за понижение производительности по-моему, но оставили супер освещение.UPD:Получил ошибку при добавлении рецепта печи. Напиши, что если переплавлять в свой слиток (или ещё чего нибудь), то нужно поставить просто название, например:GameRegistry.addSmelting(aluminiumoreID, new ItemStack(aluminiumingot, 1), 5.0F);UPD2:GoodIfyouhavealuminium.jpg
Я — Серый Волк. NADEO — супер! STL — это не сила... (Печаль) C++ — это круто!
Кто знает Sword Art Online?

#85 TheApKoT

TheApKoT

    Добытчик угля

  • Пользователи
  • Сообщений: 363
  • Откуда: The Earth Core

Написал 09.11.2012 - 16:07

Добавил. Вопрос - что дальше писать? Блок с нестандартной моделью или сразу перейти к мобам?
Скрытый текст

#86 faserg1

faserg1

    Странник

  • Пользователи
  • Сообщений: 71

Написал 09.11.2012 - 16:08

Я думаю блок с новой моделью, писать меньше, и будет опыт для мобов (тоже генерация новых моделей).UPD: Вспомнил: напиши про добавление [mod].lang Это переименовывание предметов и блоков на свой язык. А то фигово без русского языка.UPD2: А ещё потом про свои GUI окна, действия с предметами и т.п.UPD3:При добавлении рецепта вылетела игра (поставил весь рецепт - вылет) [ghast] .Понял в чём прикол: не написал GameRegistry.registerBlock(aluminiumblock);Что-то непонятно: не понял как с многосторонним блоком работать. У меня одна и та же текстура.
Я — Серый Волк. NADEO — супер! STL — это не сила... (Печаль) C++ — это круто!
Кто знает Sword Art Online?

#87 TheApKoT

TheApKoT

    Добытчик угля

  • Пользователи
  • Сообщений: 363
  • Откуда: The Earth Core

Написал 09.11.2012 - 18:57

Код?
Скрытый текст

#88 faserg1

faserg1

    Странник

  • Пользователи
  • Сообщений: 71

Написал 09.11.2012 - 18:58

package net[paste][/paste]captureview[paste][/paste]src;import net[paste][/paste]minecraft[paste][/paste]src[paste][/paste]*; public class PlasticGenerator extends Block{  public PlasticGenerator(int i, int j)  {    super(i, j, Material[paste][/paste]iron);  }   public int getTextureFromSideAndMetadata(int side, int metadata)  {     if(side == 0)        return 3;     else if(side == 1)         return 3;     else if((side == 2 && metadata == 2) || (side == 5 && metadata == 3) || (side == 3 && metadata == 0) || (side == 4 && metadata == 1))        return 1;     else        return 3;       }  public void onBlockPlacedBy(World world, int x, int y, int z, EntityLiving player)   {     int var7 = MathHelper[paste][/paste]floor_double((double)(player[paste][/paste]rotationYaw * 4[paste][/paste]0F / 360[paste][/paste]0F) + 2[paste][/paste]5D) & 3;       world[paste][/paste]setBlockMetadataWithNotify(x, y, z, var7 );   }  public String getTextureFile()  {    return "/CaptureView/terrain[paste][/paste]png";  }}

Я — Серый Волк. NADEO — супер! STL — это не сила... (Печаль) C++ — это круто!
Кто знает Sword Art Online?

#89 L57

L57

    Странник

  • Пользователи
  • Сообщений: 1

Написал 09.11.2012 - 19:00

Отличные туториалы, спасибо!!А будет ли глава по добавлению стрелкового оружия? С холодным оружием всё понятно, но создание собственной пули/стрелы кажется довольно сложным.

#90 faserg1

faserg1

    Странник

  • Пользователи
  • Сообщений: 71

Написал 09.11.2012 - 19:05

Хм, не думаю, что очень уж сложно. Во первых, использование оружия вызывает генерацию "моба" - пули. Пуля направлена по направлению прицела. При её столкновении происходит урон другому мобу.
Я — Серый Волк. NADEO — супер! STL — это не сила... (Печаль) C++ — это круто!
Кто знает Sword Art Online?

#91 NitroBoy2

NitroBoy2

    Опечаленный гастами

  • Главные модераторы
  • Сообщений: 2671
  • Ник в Minecraft:
    NitroToxin2
  • Откуда: Екатеринбург -> Москва

Написал 09.11.2012 - 19:14

Заставить выпускать этого "пулемоба" с определенной скоростью, с разбросом, с физикой и отдачей по мне трудновато. Да еще и скорострельность и использование итема пули.
Скрытый текст

#92 faserg1

faserg1

    Странник

  • Пользователи
  • Сообщений: 71

Написал 09.11.2012 - 19:33

Сначала с простого начни, представь что пуля летит по прямой. И "автомат" не использует патроны. Потом развиваем код на физику. Потом патроны.А разброс и скорость -- это так, 1-2 строчки (максимум! минимум 1-3 слова)
Я — Серый Волк. NADEO — супер! STL — это не сила... (Печаль) C++ — это круто!
Кто знает Sword Art Online?

#93 ga2mer

ga2mer

    Добытчик дерева

  • Пользователи
  • Сообщений: 184

Написал 09.11.2012 - 19:36

Берём мод с оружием и декомпилируем, смотрим на код, думаем как он работает, пишем ??? профит

#94 faserg1

faserg1

    Странник

  • Пользователи
  • Сообщений: 71

Написал 09.11.2012 - 19:48

Я понял почему текстура не работает! Ё-моё! Параметры не те! Надо так:
  public int getBlockTextureFromSideAndMetadata(int par1, int par2)  {	  if(par1 == 0)	        return 3;	     else if(par1 == 1) 	        return 3;	     else if((par1 == 2 && par2 == 2) || (par1 == 5 && par2 == 3) || (par1 == 3 && par2 == 0) || (par1 == 4 && par2 == 1))	        return 1;	     else	        return 3;  }
Поправь обязательно!!!
Я — Серый Волк. NADEO — супер! STL — это не сила... (Печаль) C++ — это круто!
Кто знает Sword Art Online?

#95 Zubodrobilko

Zubodrobilko

    Странник

  • Пользователи
  • Сообщений: 93

Написал 09.11.2012 - 19:57

А как выключить партиклы у факела? Нашел метод randomDisplayTick в файле факела, кажется он отвечает за это, но как его использовать? Что за переменная World?

#96 faserg1

faserg1

    Странник

  • Пользователи
  • Сообщений: 71

Написал 09.11.2012 - 20:02

world - мир. Незнание английского! Даже гугл переводчик использовать не хочешь.С начало функцию проверь, а потом говори. Как отключить? Отключи партиклы вообще) Шучу. Должен быть вызов метода генерации партикла. Где то в пределах класса, наверно.
Я — Серый Волк. NADEO — супер! STL — это не сила... (Печаль) C++ — это круто!
Кто знает Sword Art Online?

#97 Zubodrobilko

Zubodrobilko

    Странник

  • Пользователи
  • Сообщений: 93

Написал 09.11.2012 - 20:09

Знание слова world и других не дает мне знаний по использованию метода public void randomDisplayTick(World par1World, int par2, int par3, int par4, Random par5Random)В файле блока BlockTorch нету метода setLightValue(что для факела необходимо), его я отдельно нашел, и поэтому предполагаю что randomDisplayTick может быть не тем, что мне нужно, вот и спрашиваю.И я только что скачал mcp, а знания программирования у меня на уровне a+b:=c;

#98 faserg1

faserg1

    Странник

  • Пользователи
  • Сообщений: 71

Написал 09.11.2012 - 20:17

а знания программирования у меня на уровне a+b:=c;

ЭТО на КАКОМ языке?!! Причём тут двоеточие?!! Чтобы что-то найти, нужно просто покопаться в коде, а свет присваивается в объявлении переменной. Например как здесь:
aluminiumblock = new AluminiumBlock(aluminiumblockID, 2)[paste][/paste]setHardness(2[paste][/paste]5F)[paste][/paste]setResistance(10F)[paste][/paste]setCreativeTab(CreativeTabs[paste][/paste]tabBlock)[paste][/paste]setBlockName("aluminiumblock");
Только с добавлением setLightValue
Я — Серый Волк. NADEO — супер! STL — это не сила... (Печаль) C++ — это круто!
Кто знает Sword Art Online?

#99 Zubodrobilko

Zubodrobilko

    Странник

  • Пользователи
  • Сообщений: 93

Написал 09.11.2012 - 20:22

ЭТО на КАКОМ языке?!! Причём тут двоеточие?!!

Это Паскаль.

#100 faserg1

faserg1

    Странник

  • Пользователи
  • Сообщений: 71

Написал 09.11.2012 - 20:33

Фууууу! Паскаль( Унылое... Хотя какая разница. Мощности никакой фактически. На C++ всё гораздо проще: a+b=cИ всё! А тут двоеточие. Нелепый знак в сочетании с равно.Мои творения:
Скрытый текст

Я — Серый Волк. NADEO — супер! STL — это не сила... (Печаль) C++ — это круто!
Кто знает Sword Art Online?


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных