Вверх ↑
Этот топик читают: Гость
Ответов: 123
Eternity
Inactive
#1: 2011-08-30 11:56:24 ЛС | профиль | цитата
Тут все очень просто.
Открываем BlockNew.java

Ищем:
SLU писал(а):
public int idDropped(int i, int j)
{
return mod_gcc.newblock.blockID;
}
public int quantityDropped(Random random)
{
return 1;
}
}

Меняем на:

SLU писал(а):
public int idDropped(int i, Random random)
{
return Item.stick.shiftedIndex;
}

public int quantityDropped(Random random)
{
return 2 + random.nextInt(5);
}
}

Разберем код выше.

Выкидываем палочки. Для дропа своих итемсов - пишите mod_gcc.nameItem.shiftedIndex - nameItem - название предмета.
Для дропа блоков - названиеблока.blockID.
Для дропа СВОИХ блоков или того же блока (по типу руды) - mod_gcc.названиеблока.blockID.

SLU писал(а):
return Item.stick.shiftedIndex;

Число 2 - минимальное значение дропа. Число 5 - максимальное значение. Значит игра будет рандомно давать вам от 2 до 5 палок с блока.

SLU писал(а):
return 2 + random.nextInt(5);

Проверяем.

Вот и все. Пробуйте!
карма: 18
3
Голосовали:Analcunt, matsukich, player$6701
Ответов: 1264
TRoN
TRoN
#2: 2011-08-30 12:01:50 ЛС | профиль | цитата
Это я уже сам додумался когда еще первый урок читал , чтоб всместо самого блока выпадало что то другое.
карма: 1
Купил этот аккаунт 14 октября 2013г.
0
Ответов: 374
NeverClan
[W] Constructors
#3: 2011-08-30 12:24:40 ЛС | профиль | цитата
Palmar, гц
карма: 2
I'm back.
0
Ответов: 368
Eternity
Inactive
#4: 2011-12-22 17:35:02 ЛС | профиль | цитата
Кто подскажет:

Почему-то говорит что не знает такого имени, я просто на основе смайлика сделал изумруд и изумрудную руду на основе java-блока. Хотел чтоб из руды падали изумруды, все правильно вроде переименовал. С выпадением палки работает, а со своим изумрудом нет. В чем дело?
карма: -1
0
Ответов: 2267
#5: 2011-12-22 17:36:27 ЛС | профиль | цитата
matsukich, ммм может ты в игру зайдешь?
карма: 42
Больше плюсов - Больше мемов!!!
0
Разработчик
Ответов: 3015
NeverClan
[W] Inactive
#6: 2011-12-22 19:05:56 ЛС | профиль | цитата
matsukich, работаем через MOD-loader? Если да, вот эта строка вам поможет:
SLU писал(а):
Для дропа своих итемсов - пишите mod_gcc.nameItem.shiftedIndex - nameItem - название предмета.

карма: 125
1
Голосовали:matsukich
Ответов: 368
Eternity
Inactive
#7: 2011-12-22 19:38:07 ЛС | профиль | цитата
аа все понял))
не заметил)

--- Добавлено в 2011-12-22 22:44:25

Еще кое-что. Я попытался создать еще один второй блок, почти полностью скатанный с первого.
Но выдает 2 ошибки, с которыми я еще не встречался. В инете достойного объяснения не нашел.


Коды:
mod_gcc.java

package net.minecraft.src; 

import java.util.Random;

public class mod_gcc extends BaseMod
{
public static Block newblock = new BlockNew(101,0).setHardness(0.5F).setResistance(1.0F).setLightValue(1.0F).setBlockName("newblock");
public static Block emeraldblock = new BlockEmerald(102,0).setHardness(0.7F).setResistance(1.8F).setLightValue(5.0F).setBlockName("emeraldblock");
public static final Item emeraldItem = new Emerald(2000).setItemName("emeraldItem");

public String Version()
{
return "1.7_03";
}

public void GenerateSurface(World world, Random rand, int chunkX, int chunkZ)
{
for(int i = 0; i < 150; i++)
{
int randPosX = chunkX + rand.nextInt(16);
int randPosY = rand.nextInt(150);
int randPosZ = chunkZ + rand.nextInt(16);
(new WorldGenMinable(mod_gcc.newblock.blockID, 32)).generate(world, rand, randPosX, randPosY, randPosZ);
}
}

public mod_gcc()
{

ModLoader.RegisterBlock(newblock);
ModLoader.AddName(newblock, "Emerald ore");
ModLoader.AddRecipe(new ItemStack(newblock, 1), new Object[]{ "##", "##", Character.valueOf('#'), Block.dirt});
newblock.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/textures/Emerald.png");

ModLoader.RegisterBlock(emeraldblock);
ModLoader.AddName(emeraldblock, "Emerald block");
ModLoader.AddRecipe(new ItemStack(emeraldblock, 1), new Object[]{ "###", "###", "###", Character.valueOf('#'), mod_gcc.emeraldItem});
emeraldblock.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/textures/emerald_block.png");

emeraldItem.iconIndex = ModLoader.addOverride("/gui/items.png", "/textures/emerald_item.png");
ModLoader.AddName(emeraldItem, "Emerald");
ModLoader.AddRecipe(new ItemStack(emeraldItem, 5), new Object[]{ "X#", "#X", Character.valueOf('X'), Block.dirt});

}
}
BlockEmerald.java

package net.minecraft.src;

import java.util.Random;

public class BlockEmerald extends Block
{

public BlockEmerald(int i, int j)
{
super(i, j, Material.rock);
}
public int idDropped(int i, int j);
{
return mod_gcc.emeraldblock.blockID;
}
public int quantityDropped(Random random)
{
return 1;
}
}
карма: -1
0
Разработчик
Ответов: 3015
NeverClan
[W] Inactive
#8: 2011-12-22 23:25:30 ЛС | профиль | цитата
BlockEmerald.java


package net.minecraft.src;


import java.util.Random;

public class BlockEmerald extends Block
{

public BlockEmerald(int i, int j)
{
super(i, j, Material.rock);
}
public int idDropped(int i, int j)
{
return mod_gcc.emeraldblock.blockID;
}
public int quantityDropped(Random random)
{
return 1;
}
}
карма: 125
0
Ответов: 368
Eternity
Inactive
#9: 2011-12-23 12:37:36 ЛС | профиль | цитата
Assasin, и снова ошибка)))
Подскажи плиз) Никогда не занимался этим, смыслю мало)
После корректировки BlockEmerald все норм запустилось, скрафтил новый блок, когда попытался поставить его вылетело это:
Скрин


карма: -1
0
Support
Ответов: 3602
NeverClan
Assistants
#10: 2011-12-23 12:41:56 ЛС | профиль | цитата
светимость блока разве не должна быть не более 1?
карма: 89
0
Ответов: 368
Eternity
Inactive
#11: 2011-12-23 14:11:43 ЛС | профиль | цитата
спасибо, да, забыл, теперь все работает)
карма: -1
0
Ответов: 51
#12: 2015-04-02 10:53:18 ЛС | профиль | цитата

карма: -15
0
Ответов: 56
#13: 2015-04-22 14:55:49 ЛС | профиль | цитата
Супер сделано!
карма: -13
0
13
Сообщение
...