Как создать книгу зачарований??

Den

17
0
Всем здарова, хочу поинтересоваться, я - начинающий моддер, до конца не знаю азов майнкрафта, кто подскажет, как создать книгу зачарований, т.е при скрещиваний на наковальне какого - либо предмета или инструмента с книжкой на предмете и тп появлялся эффект? Как???
 

timaxa007

Модератор
5,831
409
672
Давать (действующий) зачарованние:
Код:
ItemStack is1 = new ItemStack(Items.wooden_sword);
is1.addEnchantment(Enchantment.power, 1);

Давать (не действующий) зачарованние для книги:
Код:
ItemStack is2 = new ItemStack(Items.enchanted_book);
Items.enchanted_book.addEnchantment(is2, new EnchantmentData(Enchantment.power, 1));
 

Den

17
0
timaxa007 написал(а):
Давать (действующий) зачарованние:
Код:
ItemStack is1 = new ItemStack(Items.wooden_sword);
is1.addEnchantment(Enchantment.power, 1);

Давать (не действующий) зачарованние для книги:
Код:
ItemStack is2 = new ItemStack(Items.enchanted_book);
Items.enchanted_book.addEnchantment(is2, new EnchantmentData(Enchantment.power.effectId, 1));
Спасибо, но вопрос, а как создать именно СВОЕ зачарование,  т.е, оно будет свойством отличаться от майнкрафтовских остальных?
 

timaxa007

Модератор
5,831
409
672
Код:
	public static Enchantment myEnchantment;

	@Mod.EventHandler
	public void preInit(cpw.mods.fml.common.event.FMLPreInitializationEvent event) {
		myEnchantment = new MyEnchantment();
	}
Код:
public class MyEnchantment extends Enchantment {

	public MyEnchantment() {
		super(getNextId(), 5, EnumEnchantmentType.all);
	}

	static int getNextId() {
		for(int id = 0; id < enchantmentsList.length; ++id)
			if (enchantmentsList[id] == null) return id;
		return 0;
	}

}
Что-бы какое-то действие оно делало, то нужно где-то использовать, к примеру в эвентах.
 

Den

17
0
timaxa007 написал(а):
Код:
 public static Enchantment myEnchantment;

 @Mod.EventHandler
 public void preInit(cpw.mods.fml.common.event.FMLPreInitializationEvent event) {
 myEnchantment = new MyEnchantment();
 }
Код:
public class MyEnchantment extends Enchantment {

 public MyEnchantment() {
 super(getNextId(), 5, EnumEnchantmentType.all);
 }

 static int getNextId() {
 for(int id = 0; id < enchantmentsList.length; ++id)
 if (enchantmentsList[id] == null) return id;
 return 0;
 }

}
Что-бы какое-то действие оно делало, то нужно где-то использовать, к примеру в эвентах.

А как это использовать?)))))
 
Сверху