Вверх ↑
Этот топик читают: Гость
Ответов: 123
Eternity
Inactive
#1: 2011-08-30 10:09:14 ЛС | профиль | цитата
Хотела узнать из чего состоит наша Yana.
Да и опять в одной из тем просили выложить как делать нейтрального моба

Ну, для начала скажу, что в создании моба нет ничего сложно. Основная проблема, которая может у вас возникнуть, так это создание новой модельки. Я взяла обычного крипера и чуть-чуть перерисовала текстуру.

Создаем файл и указываем название mod_freeper.java.
Эта часть кода должна быть уже известна вам, если прошли предыдущие уроки конечно.

package net.minecraft.src; 

import java.util.*;
import java.util.Map;

public class mod_freeper extends BaseMod
{

public String Version()
{
return "1.7.3";
}
}

Теперь в класс mod_freeper вставляем следующий код:

public mod_freeper() 
{
ModLoader.RegisterEntityID(EntityFreeper.class, "Freeper", ModLoader.getUniqueEntityId());

ModLoader.AddSpawn(EntityFreeper.class, 500, EnumCreatureType.creature);
}

Регестрируем моба в нашем мире:

SLU писал(а):
ModLoader.AddSpawn(EntityFreeper.class, 500, EnumCreatureType.creature);

Спавн моба. Число 500 обозначает их редкость:

SLU писал(а):
ModLoader.AddSpawn(EntityFreeper.class, 500, EnumCreatureType.creature);

Размер тени мы сможем указать ври помощи этого кода:

public void AddRenderer(Map map) 
{
map.put(EntityFreeper.class, new RenderFreeper(new ModelFreeper(), 1.0F));
}

Далее.

Создаем файл под названием EntityFreeper.java.

Вписываем туда этот код:

package net.minecraft.src;

Создаем класс EntityFreeper с указанием, что это нейтральный моб (животное).

public class EntityFreeper extends EntityAnimal

Вписываем в класс EntityFreeper следующий код:

public EntityFreeper(World world) 
{
super(world);
texture = "/mob/freeper.png";
setSize(1.5F, 1.5F);
}

Тут мы объясняем мобу, что мир, в котором он будет жить, супер:

SLU писал(а):
super(world);

Тут мы указываем путь к текстуре:

SLU писал(а):
texture = "/mob/freeper.png";


(размеры не изменять!)

Тут размеры коллайдера на мобе:

SLU писал(а):
setSize(1F, 1F);

Это просто скопируйте. Тут записываются и считываются данные.

SLU писал(а):
public void writeEntityToNBT(NBTTagCompound nbttagcompound)
{
super.writeEntityToNBT(nbttagcompound);
}

public void readEntityFromNBT(NBTTagCompound nbttagcompound)
{
super.readEntityFromNBT(nbttagcompound);
}

Теперь мы указываем звуки, которые он будет издавать.
Это отвечает за то, что он будет издавать постоянно. В моем случае он будет кукарекать.

SLU писал(а):
protected String getLivingSound()
{
return "mob.chicken";
}

Это отвечает за то, что он будет издавать при уменьшении HP.

SLU писал(а):
protected String getHurtSound()
{
return "mob.creeper";
}

Это отвечает за то, что он будет издавать при смерти.

SLU писал(а):
protected String getDeathSound()
{
return "mob.creeperdeath";
}

Устанавливаем громкость.

SLU писал(а):
protected float getSoundVolume()
{
return 0.4F;
}

Вписываем ID предмета, который выпадет после смерти моба.

SLU писал(а):
protected int getDropItemId()
{
return 289;
}

Проверяем.


Идем далее.

Назвав файл RenderFreeper.java, мы вписываем в него следующий код:

SLU писал(а):
package net.minecraft.src;

public class RenderFreeper extends RenderLiving
{

public RenderFreeper(ModelBase modelbase, float f)
{
super(modelbase, f);
}

public void func_177_a(EntityFreeper ebs, double d, double d1, double d2,
float f, float f1)
{
super.doRenderLiving(ebs, d, d1, d2, f, f1);
}

public void doRenderLiving(EntityLiving entityliving, double d, double d1, double d2,
float f, float f1)
{
func_177_a((EntityFreeper)entityliving, d, d1, d2, f, f1);
}

public void doRender(Entity entity, double d, double d1, double d2,
float f, float f1)
{
func_177_a((EntityFreeper)entity, d, d1, d2, f, f1);
}
}

Начинаем, как всегда с того, что создаем файл и даем ему имя. В данном случае, имя ему будет ModelFreeper.java.

Ну и, наконец, самое главное... модель нашего моба. Чтобы делать модели для minecraft'a, нужна специальная программа, она называется Techne. Впоследствии, возможно мы и напишем пару уроков по “созданию” модели в этой программе. Но пока, скопируйте просто готовый код фрипера. Объяснять тут ничего не надо, так как программа сама все вам сгенерирует.

SLU писал(а):
package net.minecraft.src;

public class ModelFreeper extends ModelBase
{

public ModelFreeper()
{
this(0.0F);
}

public ModelFreeper(float f)
{
int i = 4;
head = new ModelRenderer(0, 0);
head.addBox(-4F, -8F, -4F, 8, 8, 8, f);
head.setRotationPoint(0.0F, i, 0.0F);
field_1270_b = new ModelRenderer(32, 0);
field_1270_b.addBox(-4F, -8F, -4F, 8, 8, 8, f + 0.5F);
field_1270_b.setRotationPoint(0.0F, i, 0.0F);
body = new ModelRenderer(16, 16);
body.addBox(-4F, 0.0F, -2F, 8, 12, 4, f);
body.setRotationPoint(0.0F, i, 0.0F);
leg1 = new ModelRenderer(0, 16);
leg1.addBox(-2F, 0.0F, -2F, 4, 6, 4, f);
leg1.setRotationPoint(-2F, 12 + i, 4F);
leg2 = new ModelRenderer(0, 16);
leg2.addBox(-2F, 0.0F, -2F, 4, 6, 4, f);
leg2.setRotationPoint(2.0F, 12 + i, 4F);
leg3 = new ModelRenderer(0, 16);
leg3.addBox(-2F, 0.0F, -2F, 4, 6, 4, f);
leg3.setRotationPoint(-2F, 12 + i, -4F);
leg4 = new ModelRenderer(0, 16);
leg4.addBox(-2F, 0.0F, -2F, 4, 6, 4, f);
leg4.setRotationPoint(2.0F, 12 + i, -4F);
}

public void render(float f, float f1, float f2, float f3, float f4, float f5)
{
setRotationAngles(f, f1, f2, f3, f4, f5);
head.render(f5);
body.render(f5);
leg1.render(f5);
leg2.render(f5);
leg3.render(f5);
leg4.render(f5);
}

public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5)
{
head.rotateAngleY = f3 / 57.29578F;
head.rotateAngleX = f4 / 57.29578F;
leg1.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1;
leg2.rotateAngleX = MathHelper.cos(f * 0.6662F + 3.141593F) * 1.4F * f1;
leg3.rotateAngleX = MathHelper.cos(f * 0.6662F + 3.141593F) * 1.4F * f1;
leg4.rotateAngleX = MathHelper.cos(f * 0.6662F) * 1.4F * f1;
}

public ModelRenderer head;
public ModelRenderer field_1270_b;
public ModelRenderer body;
public ModelRenderer leg1;
public ModelRenderer leg2;
public ModelRenderer leg3;
public ModelRenderer leg4;
}



карма: 18
8
Голосовали:petrocan, Archangel3998, Assasin, Analcunt, player$39240, freezy63, Letopisec, Flehska
Ответов: 105
#2: 2011-08-30 10:33:56 ЛС | профиль | цитата
По теме +
буду делать и выкладывать
карма: 7
0
Ответов: 123
Eternity
Inactive
#3: 2011-08-30 10:45:12 ЛС | профиль | цитата
KILLERrellik писал(а):
буду делать и выкладывать

Если будешь делать то можно подумать над созданием боссов редких, чтоб допустим с них дропались рар вещи, такие как кирка по обсиду 1 шт стак алмазов и тп, но и убить его чтоб было достаточно сложно. тоесть надо собрать народу, человек так 5-10 чтоб убить его.

карма: 18
0
Ответов: 374
NeverClan
[W] Constructors
#4: 2011-08-30 11:47:01 ЛС | профиль | цитата
Все круто, но, пожалуйста, заливай картинки на http://images.mcserver.ru/.
карма: 2
I'm back.
0
Ответов: 123
Eternity
Inactive
#5: 2011-08-30 11:50:28 ЛС | профиль | цитата
Analcunt писал(а):
Все круто, но, пожалуйста, заливай картинки на http://images.mcserver.ru/.

ладно буду заливать, просто не знала что тут своя заливка есть... миниатюра тоже есть? и вообще на форуме чет не все коды bbcode действуют
карма: 18
0
Ответов: 374
NeverClan
[W] Constructors
#6: 2011-08-30 11:53:54 ЛС | профиль | цитата
SLU, заливаешь сюда, вставляешь через тег имг. Если картинка слишком большая, запили ее в тег [scroll]
- это тег спойлера.
карма: 2
I'm back.
0
Ответов: 13
#7: 2011-08-30 11:58:03 ЛС | профиль | цитата
SLU, Ты похоже перепутала, это 5 урок.
карма: 0
0
Ответов: 123
Eternity
Inactive
#8: 2011-08-30 11:59:48 ЛС | профиль | цитата
Pluton_ писал(а):
SLU, Ты похоже перепутала, это 5 урок.
да я уже заметила... просто редактировать основания темы не могу ((( говорю тут на форуме не все работает

карма: 18
0
Разработчик
Ответов: 3015
NeverClan
[W] Inactive
#9: 2011-08-30 12:40:32 ЛС | профиль | цитата
SLU писал(а):
Тут мы объясняем мобу, что мир, в котором он будет жить, супер:

Гениальное объяснение Я под столом
SLU писал(а):
Это просто скопируйте. Тут записываются и считываются данные.

Это в данном случае не обязательно, в перегруженных методах вызывается их предок, в принципе, это бессмысленные строки.
карма: 125
0
Ответов: 123
Eternity
Inactive
#10: 2011-08-30 12:47:28 ЛС | профиль | цитата
Assasin писал(а):
Это в данном случае не обязательно, в перегруженных методах вызывается их предок, в принципе, это бессмысленные строки.
когда будут потом создавать более сложные моды, с подобием действий, лучше чтоб были такие переменные, дабы не ррорить.

А про мир ))) так сказать спаун по территории )) или мира )))

карма: 18
0
Ответов: 13
#11: 2012-07-06 13:36:03 ЛС | профиль | цитата
[color=#f00]опять копирование с других сайтов.[/color]
А так плюс.
карма: 0
0
Ответов: 1428
#12: 2012-07-06 13:37:23 ЛС | профиль | цитата
20yegor00 писал(а):
опять копирование с других сайтов.
А так плюс.

Некропостер фигов.
карма: -10
Уехал.На две недели.Дата отьезда-30.07.Дата приезда-13.08.
-1
Голосовали:MonkeyMini
Ответов: 1823
TheFreezed
Friedlich
#13: 2012-07-06 13:39:59 ЛС | профиль | цитата
20yegor00,
Наши правила форума писал(а):
5) запрещено поднятие (или UPанье) неактуальных (устаревших) тем, либо сообщениями, не несущими определенного смысла и не относящимися к данной теме.

карма: -102
-1
Голосовали:MonkeyMini
Ответов: 5281
NeverClan
Assistants
#14: 2012-07-13 13:59:14 ЛС | профиль | цитата
Ba1SeR, в чем тема неакутальна? Где
Ba1SeR писал(а):
не несущими определенного смысла и не относящимися к данной теме
?
карма: 147
0
Ответов: 1823
TheFreezed
Friedlich
#15: 2012-07-13 14:08:48 ЛС | профиль | цитата
petrocan, Имел ввиду:
Ba1SeR писал(а):
запрещено поднятие (или UPанье) неактуальных (устаревших) тем

карма: -102
0
Ответов: 9308
Monte Carlo
Неактивен
#16: 2012-07-13 14:09:43 ЛС | профиль | цитата
Ba1SeR, такие темы должны подниматься. Интерес к ним не должен пропадать.
карма: 3
Правила, bbCode, Антигробы | Сломай бедрок и выпадет яйцо админа (с) FoxyStar
0
Ответов: 1974
Hunters
лидер
#17: 2012-07-13 14:09:49 ЛС | профиль | цитата
Ba1SeR, Почему эта тема
Ba1SeR писал(а):
неактуальных (устаревших) тем

карма: 66
0
Ответов: 1823
TheFreezed
Friedlich
#18: 2012-07-13 14:11:58 ЛС | профиль | цитата
Xakir,
Xakir писал(а):
устаревших тем

2011-08-30
карма: -102
-1
Голосовали:petrocan
Ответов: 515
#19: 2012-07-13 14:13:38 ЛС | профиль | цитата
Получается, в правилах сказано, что поднятие старых тем запрещено. Т.е. правила идут против всех старых тем, даже тем админа
Бред.
карма: -13
0
Ответов: 1823
TheFreezed
Friedlich
#20: 2012-07-13 14:14:38 ЛС | профиль | цитата
MonkeyMini, Я то в чем виноват? В правилах написано, что запрещено апанье старых тем, я то и написал -_\\
карма: -102
0
Ответов: 9308
Monte Carlo
Неактивен
#21: 2012-07-13 14:17:00 ЛС | профиль | цитата
Ba1SeR писал(а):
В правилах написано, что запрещено апанье старых тем, я то и написал -_\\

может стоит соотносить написанное со здравым смыслом?. Если можно почистите тему от наших споров
карма: 3
Правила, bbCode, Антигробы | Сломай бедрок и выпадет яйцо админа (с) FoxyStar
0
Ответов: 5281
NeverClan
Assistants
#22: 2012-07-13 15:41:33 ЛС | профиль | цитата
Ba1SeR писал(а):
устаревших тем
используется вместе с предыдущим словом
карма: 147
0
Ответов: 297
AlterNative
HeadHunter
#23: 2012-07-26 19:25:30 ЛС | профиль | цитата
Обьясните, пожалуйста, нубу где и как вообще создавать новые блоки и предметы? Я знаю, что в java, но в какой*? Я слоу в этом деле...
карма: 4
AlterNative
0
Ответов: 13949
#24: 2012-09-30 03:32:23 ЛС | профиль | цитата
Апаю тему - мне нужен ответ.
Тут регистрация моба идет через мод лоадер, а мне надо без мод лоадера.
Сам смог... Есть тут отличный сайт с модингом, но все равно, слишком мало информации =(
карма: 56
steam: dtho_37 | | Origin: Valeryn4 | | twitter: @dtho47
0
Ответов: 1783
#25: 2013-06-08 14:31:11 ЛС | профиль | цитата
это было сложно,но я создал.
карма: -86
ограничения
-1
Голосовали:maks73
Ответов: 725
Storm
Observer
#26: 2013-06-08 17:45:55 ЛС | профиль | цитата
SLU писал(а):
человек так 5-10 чтоб убить его.

а 2кузи и 1 инж подойдут ?.
карма: -41
0
Ответов: 43
#27: 2013-06-12 13:51:19 ЛС | профиль | цитата
Почему-бы и нет!
карма: 25
Наш мир устроен так, что лишь враги говорят правду друг-другу.
0
Ответов: 70
#28: 2014-05-26 16:14:15 ЛС | профиль | цитата
Надо доработать...
карма: -4
[E][V][R][I][S]
-1
Голосовали:MonkeyMini
Ответов: 13
#29: 2014-05-26 16:15:05 ЛС | профиль | цитата
E.V.R.I.S., в мут захотелось?
карма: 0
0
Ответов: 13
Soulstorm
лидер
#30: 2014-06-01 20:01:26 ЛС | профиль | цитата
Круто
карма: 0
0
Ответов: 251
Storm
Twink I
#31: 2014-06-03 16:16:37 ЛС | профиль | цитата
за
карма: -2
0
Ответов: 1587
Eternity
Twinks
#32: 2014-06-03 16:19:17 ЛС | профиль | цитата
некропостеры
карма: 16
0
32
Сообщение
...