Minecraft Wiki
VasyaPRO (обс. | вклад)
Строка 168: Строка 168:
 
что делать? версия форджа 1.7.10 10.13.0.1180. [[Участник:VasyaPRO|VasyaPRO]] ([[Обсуждение участника:VasyaPRO|обсуждение]]) 12:29, 17 июля 2014 (UTC)
 
что делать? версия форджа 1.7.10 10.13.0.1180. [[Участник:VasyaPRO|VasyaPRO]] ([[Обсуждение участника:VasyaPRO|обсуждение]]) 12:29, 17 июля 2014 (UTC)
 
:Какая версия Java? И какой ещё метод обновления? Обновление чего? --[[Файл:Grid Иридиевый бур (Industrial Craft2).png]] [[Участник:Dand0|Dand0]] ([[Обсуждение участника:Dand0|обсуждение]]) 15:01, 17 июля 2014 (UTC)
 
:Какая версия Java? И какой ещё метод обновления? Обновление чего? --[[Файл:Grid Иридиевый бур (Industrial Craft2).png]] [[Участник:Dand0|Dand0]] ([[Обсуждение участника:Dand0|обсуждение]]) 15:01, 17 июля 2014 (UTC)
::JDK 1.8.0. Обновление Forge. [[Участник:VasyaPRO|VasyaPRO]] ([[Обсуждение участника:VasyaPRO|обсуждение]]) 15:08, 17 июля 2014 (UTC)
+
::JDK 1.8.0. Обновление Forge. [[Участник:VasyaPRO|VasyaPRO]] ([[Обсуждение участника:VasyaPRO|обсуждение]]) 15:08, 17 июля 2014 (UTC
  +
)
  +
:::Качайте 1.7.0. От откройте командную строку и напишите в ней <code>java -version:1.7.0</code> И с какой версии обновлялся? --[[Файл:Grid Иридиевый бур (Industrial Craft2).png]] [[Участник:Dand0|Dand0]] ([[Обсуждение участника:Dand0|обсуждение]]) 15:13, 17 июля 2014 (UTC)

Версия от 15:13, 17 июля 2014

Хорошая статья, но..

Хорошая статья, но часто возникают ошибки eclipse, стоит о них упомянуть, также, не весь материал представляется понятным, не ясно, сколько строк отступать, надо ли отступать и.т.д.

У меня не возникало ошибок Eclipse. Если не считать тех, которые должны возникать. Например, ошибки отсутствия пакетов, которые надо импортировать. Количество отступаемых/неотступаемых строк зависит только от вашего стиля. Весь код в любом нормальном языке можно написать в одну строку и он будет работать. Строки для "красоты". --C уважением, PlatonCrafter. 15:59, 13 апреля 2014 (UTC)

Улучшение

Статья очень и очень хорошая, но к ней стоит приложить несколько скринов, эдакая пошаговая инструкция, так как если практически нет представлений, как должно все это дело выглядеть, статья представляется затруднительной к осмыслению. Alexey1999 (обсуждение) 11:13, 14 июня 2014 (UTC)

Да, вы наверное правы. В статье 1.6+ есть пара скринов. А здесь я видимо забыл. Если у вас есть желание, то сами, следуя статье сделайте пару скринов в нужных местах, только их не должно быть много. Суть статьи для начинающих - это больше просто копирование кода к себе. Сейчас мне придётся самому всё сделать с нуля, чтобы сделать скрины. Что не очень удобно. А кто хочет, может сделать по аналогии с 1.6+ --C уважением, PlatonCrafter. 12:42, 14 июня 2014 (UTC)
Постараюсь доработать при возможности. Также есть еще одна проблема/не проблема: eclipse не воспринимает пункты "func_<>_<>()". Я на данный момент нашел несколько современных значений за исключением светимости и взрывоустойчивости.Alexey1999 (обсуждение) 13:45, 14 июня 2014 (UTC)
Я писал туториал под самые первые версии Forge 1.7.2 Всякого рода func_ и field_ это просто методы, переменные итд, которые не прошли деобфускацию, точнее им не присвоилось нормальное имя из-за того, что разрабы форжа не знают о их назначении или еще не обновили список имён. Видимо в последних версиях это наконец-то исправили и у многих func_ и field_ есть хорошие имена. Чтобы самому найти нужно всего лишь знать английский на среднем уровне. Если вбить точку, то далее раскрывается список всевозможных методов. Я это всё изучал больше на уровне интуиции, чем по туториалам. =) --C уважением, PlatonCrafter. 14:46, 14 июня 2014 (UTC)
Можете ли Вы дополнить статью рецептами переплавки, генерацией блока в мире и тому подобным? Так как, я уверен, все захотят сделать свою руду, к примеру. А так же, предмет, которого нет, например я хочу сделать, что бы из руды выпал эдакий осколок, после переплавки которого можно будет получить слиток?Alexey1999 (обсуждение) 07:55, 16 июня 2014 (UTC)
Да, генерация руды, это пожалуй важная часть, но сейчас у меня нету желания продолжать статью, это занимает довольно много времени. Но может, когда-нибудь, напишу. Про переплавку могу написать, странно, что я забыл про неё, тема очень короткая. Про дроп с блока уже написано. Просто создаёте предмет, который будет выпадать. Про предмет уже сделан туториал, по нему вы можете создать любой предмет. Впрочем, я дополню этот туториал, раз непонятно. Просто нужно писать не extends ItemPickaxe, а extends Item, если хотите просто предмет. Или extends ItemFood, чтобы создать еду. Мне казалось, что это и так понятно. А вообще, я создал статью с целью, чтоб сами участники её дополняли и она превратилась в огромный туториал, но что-то не удалось. Если есть желание и время, вы естественно можете написать про генерацию. --C уважением, PlatonCrafter. 08:24, 16 июня 2014 (UTC)
Благодарю, создание модификаций не самое популярное дело) Может, как разберусь получше-дополню статью.Alexey1999 (обсуждение) 08:36, 16 июня 2014 (UTC)
И еще, странно, что сразу не увидел: броня. В ней, как я понимаю есть свои заморочки, отличные от других предметов. Я нашел статьи подходящие только к 1.6, не 1.7, хоть моддинг этих версий и похож, но все же... Еще раз извиняюсь за отнимаемое у Вас время.Alexey1999 (обсуждение) 15:03, 16 июня 2014 (UTC)
Да нет же, все эти нюансы не особо важны. Важно просто устройство явы и майна понимать. Я немного написал о других предметах, отличных от кирки. Просто нужно смотреть, как устроена броня в классе ItemArmor в оригинале. Насколько помню, в 1,7 это невозможно к сожалению. Но от 1,6 отличается в основном тем, что будет другое название метода, возможно в виде функции и полей. Нужно смотреть, что посылается в метод в скобочках и что он возвращает. То есть если вы пишете this.func_x_y(par_x, par_y, par_z) и в скобочках все переменные типа integer, а сам метод возвращает boolean, то можно предположить, что мы делаем какую-либо проверку(правда-неправда) на координатах, которые "посылаются" в скобочках. Например в 1,6 это выглядело бы, как this.isBlockAir(X,Y,Z) Надеюсь, понятно. В туториалах всего не узнаешь. Надо самому пытаться что-то придумать. Удачи! Смайлик (обычный) --C уважением, PlatonCrafter. 21:40, 16 июня 2014 (UTC)

Раз уж статья начала развиваться такими темпами, то, полагаю, следует не забыть и о GUI-интерфейсе, мне посоветовали эту статью, но мне потребуется время для ее детального разбора. Достаточно много времени, учитывая плотный график :с. Может быть у кого-либо дело пойдет быстрее?Alexey1999 (обсуждение) 16:25, 4 июля 2014 (UTC)

Проблемы с локализацией

Здравствуйте, у меня проблема, я делаю мод на блоки, а все блоки у меня называются tile.null.name. И поэтому все блоки у меня в игре называются одинаково. Подскажите как сделать, чтобы блоки назывались по-разному? Просто в файле .lang я как напишу это имя блока, так все блоки и называются. Goter258.

Код блока, код главного файла мода (код выкладывай на pastebin.com). 16:59, 16 июня 2014 (UTC)

Вот ссылка на код: http://pastebin.com/gfDr9tgV там код главного файла и код 2 блоков там они разделены несколькими строчками.

В файле мода между @Mod и public class... убери пробел. Потом в методе preLoad в logo_central_federation = new logo_Central_federation(); после () поставьте точку потом "setBlockName("logo_central_federation") . Тоже самое сделай с logo_bandits, только вместо setBlockName("logo_central_federation") поменяй на setBlockName("logo_bandits"). Ты создаёшь моды на 1.7.2, верно? Знаешь ли ты Java? 17:34, 16 июня 2014 (UTC)
И в файлах блоков в protected Название класса() после this.setHarvestLevel(...); сделай новую строку и вставь такой код "setBlockName("название_блока")"

Спасибо.

Всё теперь работает корректно?

Да. Спасибо.

Вопросы по статье

У меня не удается создать дроп своего предмета с блока, гайды различные не помогают. Также, регистрация нового рецепта переплавки не проходит. Просьба помочь.Alexey1999 (обсуждение) 15:00, 17 июня 2014 (UTC)

А как установить ID предмета/блока?
Алексей код файла мода и блока (выкладывай на pastebin). И предметы/блоки с 1.7 больше не используются. 15:48, 17 июня 2014 (UTC)
Простите все я обязательно допишу и поправлю статью. Сейчас у меня нет свободного времени
	@Override
    public Item getItemDropped(int par1, Random par2Random, int par3)
    {
        return Items.diamond;
    }
	
	@Override
    public int quantityDropped(Random par1Random)
    {
        return 20;
    }

Это код дропа.--C уважением, PlatonCrafter. 20:32, 17 июня 2014 (UTC)

Как сделать меч?

Подскажите пожалуйста, как сделать меч. Или сделайте урок по созданию меча.--Goter258 (обсуждение) 18:07, 18 июня 2014 (UTC)

Не подскажу, извините. Если я буду каждую ситуацию, причём до решения которой можно добраться самому, разъяснять каждому, то мне придётся очень много писать и объяснять... Еще раз повторюсь, ваша проблема слишком незначительна и легко решаема если включить мозг. Прочитайте конец туториала про инструмент и переведите на английский слово "меч". Если и после этого вы не решите свою проблему, то (уж извините) никакого мода у вас не выйдет. Надеюсь я не вызовал этим сообщением ни у кого злость или ненависть. --C уважением, PlatonCrafter. 19:24, 18 июня 2014 (UTC)

Помогите с дропом

Что делать если мне нужно чтоб с моего блока дропался мой предмет? У меня есть блок нефритовой руди и я хочу чтоб при его уничтожении выпадал нефрит а не нефритовый блок (как алмазы), что делать? Если писать:

   @Override
   public Item getItemDropped(int par1, Random par2Random, int par3)
   {
       return Items.название предмета;
   }

та там моих предметов нет.

Значит что-то не по инструкции сделали. Посмотрите еще раз. В директории Items. вашего предмета нет и быть не может. Вы должны указать переменную типа Item, которая принадлежит вашему предмету. Она указана в главном классе вашего мода её и указывайте после return. --C уважением, PlatonCrafter. 18:05, 24 июня 2014 (UTC)
Как это: "указать переменную типа Item"?Если что: класс блока нефритовой руды имеет название: NephritisOre, а класс предмета Нефрит - Nephritis. Так что мне написать после return чтобы с блока выпадал придмет? VasyaPRO (обсуждение) 19:00, 24 июня 2014 (UTC)
Переменная некоторого типа - это значит, что она объявлена примерно так: public static int chislo; Тип переменной объявляется непосредственно перед переменной. int в Java - это целочисленный тип. То есть написанная мной строчка говорит о том, что я создал переменную, которая хранит целое число и называется chislo. И если будет метод public int returnChislo() {return ...} То вместо 3-х точек нужно будет поставить любую переменную типа int, например переменную chislo. И при вызове метода, метод возвратит эту переменную. А ваш метод возвращает переменную типа Item. А значит нужно "вернуть" (поставить после return) переменную, которая изначально указана, как public static Item mybestpickaxe; Не поймете с первого раза, прочитайте несколько раз, поэкспериментируйте и у вас всё получится. Удачи! Смайлик (обычный) Прямо, лично я, отвечать не буду, что вам надо делать. --C уважением, PlatonCrafter. 20:53, 24 июня 2014 (UTC)
Спасибо всё получилось. VasyaPRO (обсуждение) 08:44, 25 июня 2014 (UTC)

Как сделать разностороннюю текстуру для блока?

Здравствуйте. Пожалуйста скажите как создать разностороннюю текстуру для блока?Например я хочу сделать, чтобы текстура со всех сторон блока была разной.(как земля с травой,верстак,печь,ствол дерева и.т.д.)

Здравствуйте. Как будет время, напишу об этот в туториале. Это не сложно, но сам я еще так не делал. И, подписывайтесь, что ли... --C уважением, PlatonCrafter. 06:24, 25 июня 2014 (UTC)

А куда подписываться?

Прочитайте вот это полностью. --C уважением, PlatonCrafter. 18:58, 25 июня 2014 (UTC)
СпасибоJTGO2078 (обсуждение) 11:16, 29 июня 2014 (UTC)

Прокси

А почему нет туториалом по прокси? Давно хотел спросить. Вот туториал на английском: от Bedrock_Miner (у него правда, своеобразные методы) Dand0 (обсуждение) 10:24, 25 июня 2014 (UTC)

Хах, вы меня опередили, написав про блок с разными сторонами. Я уже начал готовить свои текстуры. Я на том же сайте, кстати смотрю туториалы)) Хотя больше пытаюсь сам докопаться. А насчёт прокси - я как раз узнавал на forge форуме, нужны ли они или нет. Прямо мне не ответели, только скинули ссылку на описание их работы. В 1,6,4 прокси смертельно важны. Без них мод тупо не работает на выделенном сервере. На 1,7,2 же мод прекрасно работает и без прокси на сервере. По сему я добавлю сюда туториал о прокси только тогда, когда без них не будет работать. А пока пусть никто не пишет этот туториал. Уважаемый товарищ, очевидно решил, что нужно о них писать, потому что во всех версиях были прокси и прочитал о том, как работает Forge. Я позже дополню туториал о текстурах, спасибо за вклад. :-) --C уважением, PlatonCrafter. 18:54, 25 июня 2014 (UTC)

Генерация объектов(собственных данжей и.т.д) и создание мобов

Здравствуйте. Извините, что я вас беспокою. Как сделать собственную данжу, c сундуком и мобами. Или просто данжу. И еще вопрос: как создать моба?Еще раз извините77.35.53.114 10:52, 26 июня 2014 (UTC) Ой, забыл войтиJTGO2078 (обсуждение) 10:56, 26 июня 2014 (UTC)

Данжи - это похоже на генерацию руды только чуть-чуть по другому. А про моб - расплюнуть. Уже пишу. Обещаю картинки ;-) --Dand0 (обсуждение) 11:44, 26 июня 2014 (UTC)
Спасибо=)JTGO2078 (обсуждение) 12:53, 26 июня 2014 (UTC)
Пока не за что, ведь ещё я ничего не написал. У меня ошибка какая-то при регистрации моба, регистрировал как тут , но не выходит. Надеюсь у кого-нибудь сработает. А так, если английский знаешь, посмотри код BuildCraft , там мобы есть...
Этот код надо было писать не в методе preLoad(), а там где public static.То есть перед методом.

Я нашел один сайт на моддинг 1.6.2. Чуть изменил код и заработало на 1.7.2.Вот Код(в методе preload):

 EntityList.addMapping(MobTest.class, "TestMob", 111, 0x990000, 0x000000);

Вот класс моба :

package jtgo2078.mods.test;
import net.minecraft.entity.EntityLiving;
import net.minecraft.entity.ai.EntityAIAttackOnCollide;
import net.minecraft.entity.ai.EntityAIBreakDoor;
import net.minecraft.entity.ai.EntityAIHurtByTarget;
import net.minecraft.entity.ai.EntityAILookIdle;
import net.minecraft.entity.ai.EntityAIMoveTowardsRestriction;
import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
import net.minecraft.entity.ai.EntityAISwimming;
import net.minecraft.entity.ai.EntityAIWander;
import net.minecraft.entity.ai.EntityAIWatchClosest;
import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
public class MobTest extends EntityMob
{

public MobTest(World par1World) { super(par1World);

       this.getNavigator().setBreakDoors(true);
       this.tasks.addTask(0, new EntityAISwimming(this));
       this.tasks.addTask(1, new EntityAIBreakDoor(this));
       this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false));
       this.tasks.addTask(4, new EntityAIMoveTowardsRestriction(this, 3.0D));
       this.tasks.addTask(6, new EntityAIWander(this, 1.0D));
       this.tasks.addTask(7, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F));
       this.tasks.addTask(7, new EntityAILookIdle(this));
       this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true));
       this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true));

}

}

Майнкрафт запустился. Яйцо моба есть. Я его заспавнил, он ходит, атакует меня. Меня интересует что дальше делать? Как добавить ему текстуру и модель? И кстати, в Build Craft я мобов не видел...JTGO2078 (обсуждение) 14:24, 26 июня 2014 (UTC)

Модель, вроде с текстурой, хранится в ".obj"-файлах. Вот выдержка их ченжлога: Models must now be loaded from resource packs using the standard resource pack reference. For example, to load a model named "assets/mymod/models/mymodel.obj", you would call AdvancedModelLoader.loadModel("mymod:models/mymodel.obj"); Надеюсь сами переведете, а дальше уже моделируйте. Ни мобов, ни данжей я раньше не создавал, так что разбираться я сейчас не буду. Главное, когда дополняете статью, соблюдайте все правила русского языка. И стиль туториала. MyBestMob например =) --C уважением, PlatonCrafter. 15:23, 26 июня 2014 (UTC)
И оформляйте покрасивей, пожалуйста. Особенно фотографии. --C уважением, PlatonCrafter. 15:28, 26 июня 2014 (UTC)

Как добавить нестандартную модель блока?

Здравствуйте. Я видел в майнкрафт и в модификациях нестандартные текстуры блока(например: цветочный горшок, редстоун, сундук, паутина и.т.д). Добавьте пожалуйста туториал, если вам не трудно.JTGO2078 (обсуждение) 14:43, 27 июня 2014 (UTC)

Лично я даже не представляю как это сделать. --C уважением, PlatonCrafter. 16:47, 27 июня 2014 (UTC)


Помогите с бронёй

Ещё один вопрос если не сложно: Я тут попробовал создать броню и наткнулся на проблему: Как создать текстуру когда броня одета? В главный класс скопировал параметры из статьи, а вот если скопировать текст из статьи в класс предмета - выдает ошибку. немного розабравшись с параметрами super(); понял:

super(ГлавныйКлассМода.МАТЕРИАЛ, Текстура когда одета броня (от третьего лица) , Тип брони (0-Шлем, 1-Кираса, 2-Поножи, 3-Ботинки));

Но как текстура брони на игроке (от третьего лица) не совпадает в текстурой в инвентаре добавленую через параметр

this.setTextureName("");

Я так понимаю что текстура на модели брони и текстура в инвентаре - две разные текстуры но подскажите как ее создать?VasyaPRO (обсуждение) 17:56, 27 июня 2014 (UTC)

В ближайшее время напишу туториал. Я думал, что броня сама рендреится будет. Там немного сложнее. Так что думаю, сегодня напишу. --C уважением, PlatonCrafter. 09:22, 28 июня 2014 (UTC)
Туториал уже почти дописан, так что вечером допишу. --C уважением, PlatonCrafter. 08:02, 29 июня 2014 (UTC)

Блин!Зачем я про броню тогда писал? Извините я не заметил, что вы собираетесь её писать...JTGO2078 (обсуждение) 11:12, 29 июня 2014 (UTC)

Ну, в любом случае зря. Ваш код попросту не будет работать. Перед тем, как писать туториал, нужно проверять, будет ли он работать!!! Больше не пишите ничего, если не убедились, что работает. Когда я пишу, я сам по десять раз всё перепишу, пойму, как сделать код короче, и попытаюсь всё максимально понятно объяснить. Через пару десятков минут допишу. --C уважением, PlatonCrafter. 16:17, 29 июня 2014 (UTC)
Хотя я не проверял, может ваш код и работает, но увидев, что вы хотите отправить ID предмета, которых уже не существует, я немного удивился. Я дописал про броню. --C уважением, PlatonCrafter. 17:11, 29 июня 2014 (UTC)
У меня работает с моим кодом,МОГУ ДАЖЕ СКРИН ОТПРАВИТЬ! ЕСЛИ БЫ МОЙ КОД НЕ РАБОТАЛ,ТО БРОНИ БЫ МОЕЙ НЕ БЫЛО!И не надо говорить , что мой код не рабочий, если сами его не проверяли!!!JTGO2078 (обсуждение)
Я уже написал, что не проверял и предположил, что может он даже и работает. Но в любом случае, ваш код списан с какого-нибудь туториала на 1.6.4 и пытается присвоить ID предмету. Но как мы помним, в майнкрафте больше нет ID. А значит ваш код абсолютно не пригоден для данной статьи. Попрошу вас в будущем проверять код на наличие лишних элементов, а лучше просто не дополнять статью. --C уважением, PlatonCrafter. 15:04, 30 июня 2014 (UTC)
В любом случае большое спасибо всем кто создвал и дополнял ету статью. Благодаря Вам я смог создать свой первый мод!!! VasyaPRO (обсуждение) 13:08, 30 июня 2014 (UTC)

Tile Entity

Как мне перевести слово "Tile Entity". Если не знаете, что это такое почитайте здесь (англ.) --Dand0 (обсуждение) 15:10, 7 июля 2014 (UTC)

Как переделать мод?

Я к примеру хотел переделать мод для 1.2.5 в 1.7.10 Как это сделать?

Ну, это зависит от того, что добавляет мод. Если мод написан на Forge, то думаю, надо распределить регистрацию добавляемого контента по событиям (FMLPreInitializationEvent, FMLInitializationEvent, возможно FMLPostInitializationEvent), если есть рендеры то переписать, и ещё много маленькой работы. А если мод написан на ModLoader, то это капец надо полностью всё переписать. Скажи название мода, если не секрет. --Dand0 (обсуждение) 16:13, 15 июля 2014 (UTC)

Проблема с обновлением

После обновления форджа за способом, описанным в статье перестал запускаться майнкрафт по Ctrl+F11 пишет

Java HotSpot(TM) Client VM warning: Using incremental CMS is deprecated and will likely be removed in a future release

что делать? версия форджа 1.7.10 10.13.0.1180. VasyaPRO (обсуждение) 12:29, 17 июля 2014 (UTC)

Какая версия Java? И какой ещё метод обновления? Обновление чего? --Файл:Grid Иридиевый бур (Industrial Craft2).png Dand0 (обсуждение) 15:01, 17 июля 2014 (UTC)
JDK 1.8.0. Обновление Forge. VasyaPRO (обсуждение) 15:08, 17 июля 2014 (UTC

)

Качайте 1.7.0. От откройте командную строку и напишите в ней java -version:1.7.0 И с какой версии обновлялся? --Файл:Grid Иридиевый бур (Industrial Craft2).png Dand0 (обсуждение) 15:13, 17 июля 2014 (UTC)