Вверх ↑
Этот топик читают: Гость
Ответов: 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
calm
#2: 2011-08-30 12:01:50 ЛС | профиль | цитата
Это я уже сам додумался когда еще первый урок читал , чтоб всместо самого блока выпадало что то другое.
карма: 1
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
Разработчик
Ответов: 3017
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
Разработчик
Ответов: 3017
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
Сообщение
...