will0376
Токсичная личность
- 2,075
- 55
- 584
Всем привет,мне нужно повесить действие(ПКМ) на определенный итем(а именно на руну) из моего "недо-мода", но я не совсем понимаю как это можно реализовать..
Main.java
ItemsReg.java (руны с 6 по 15 не используются пока что)
Rune.java (Именно тут я и пытался сделать действие по решенному вопросу из этой темы )
Что можно придумать? Заранее спасибо.
Main.java
Код:
package ru.zed.TGmod;
import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.Mod.Instance;
import cpw.mods.fml.common.SidedProxy;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
import cpw.mods.fml.common.eventhandler.Event;
import cpw.mods.fml.common.eventhandler.SubscribeEvent;
import cpw.mods.fml.common.gameevent.InputEvent;
import cpw.mods.fml.common.gameevent.InputEvent.KeyInputEvent;
import cpw.mods.fml.common.registry.EntityRegistry;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.block.Block;
import java.lang.annotation.ElementType;
import org.lwjgl.opengl.GL11;
import cpw.mods.fml.client.registry.ClientRegistry;
import net.minecraft.client.gui.GuiMainMenu;
import net.minecraft.client.settings.KeyBinding;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.EntityList;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
import net.minecraftforge.client.event.GuiOpenEvent;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
import net.minecraftforge.client.event.RenderPlayerEvent;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.common.config.Configuration;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.EntityClientPlayerMP;
@Mod (modid = "TGmod", name = "Technical Gear Mod", version = "0.9")
public class main {
Minecraft mc = Minecraft.getMinecraft();
public static String TG = "TGmod";
public static CreativeTabs TabInGm1 = new TabInGm1(12, "TGmod");
@Mod.Instance("TGmod")
public static main instance;
public static void registerEntity(Class entityClass, String name, int primaryColor, int secondaryColor) //функция регистрации моба
{
int entityID = EntityRegistry.findGlobalUniqueEntityId();
long seed = name.hashCode();
EntityRegistry.registerGlobalEntityID(entityClass, name, entityID);
EntityRegistry.registerModEntity(entityClass, name, entityID, main.instance, 64, 1, true);
EntityList.entityEggs.put(Integer.valueOf(entityID), new EntityList.EntityEggInfo(entityID, primaryColor, secondaryColor));
}
@SidedProxy(clientSide = "ru.zed.TGmod.ClientProxy", serverSide = "ru.zed.TGmod.CommonProxy") // прокси
public static CommonProxy proxy;
@Mod.EventHandler
public void preInit(cpw.mods.fml.common.event.FMLPreInitializationEvent event) {
FMLCommonHandler.instance().bus().register(new KeyInputHandler());
KeyBindings.init();
}
@Mod.EventHandler//Регистрация блоков/итемов/т.д. в фордж
public void preLoad(FMLPreInitializationEvent event)
{
BlocksReg.init();
ItemsReg.init();
ArmorReg.init();
EntityReg.init();
}
}
Код:
package ru.zed.TGmod;
import cpw.mods.fml.common.registry.GameRegistry;
import net.minecraft.item.Item;
public class ItemsReg {
public static Item itemRune1; //руны
public static Item itemRune2;
public static Item itemRune3;
public static Item itemRune4;
public static Item itemRune5;
public static Item itemRune6;
public static Item itemRune7;
public static Item itemRune8;
public static Item itemRune9;
public static Item itemRune10;
public static Item itemRune11;
public static Item itemRune12;
public static Item itemRune13;
public static Item itemRune14;
public static Item itemRune15;
public static Item itemroll1; //свитки
public static Item itemroll2;
public static Item itemroll3;
public static Item itemroll4;
public static Item itemcatalyst1; //катализатор
public static Item itemcatalyst2;
public static Item itemcatalyst3;
public static Item itemcatalyst4;
public static void init() {
itemRune1 = new Rune(1);
itemRune2 = new Rune(2);
itemRune3 = new Rune(3);
itemRune4 = new Rune(4);
itemRune5 = new Rune(5);
itemRune6 = new Rune(6);
itemRune7 = new Rune(7);
itemRune8 = new Rune(8);
itemRune9 = new Rune(9);
itemRune10 = new Rune(10);
itemRune11 = new Rune(11);
itemRune12 = new Rune(12);
itemRune13 = new Rune(13);
itemRune14 = new Rune(14);
itemRune15 = new Rune(15);
itemroll1 = new Roll(1);//Свиток 1
itemroll2 = new Roll(2);//Свиток 2
itemroll3 = new Roll(3);//Свиток 3
itemroll4 = new Roll(4);//Свиток 4
itemcatalyst1 = new Catalyst(1); //Катализатор
itemcatalyst2 = new Catalyst(2); //Катализатор
itemcatalyst3 = new Catalyst(3); //Катализатор
itemcatalyst4 = new Catalyst(4); //Катализатор
//Регистрация
GameRegistry.registerItem(itemcatalyst1, "itemcatalyst1");
GameRegistry.registerItem(itemcatalyst2, "itemcatalyst2");
GameRegistry.registerItem(itemcatalyst3, "itemcatalyst3");
GameRegistry.registerItem(itemcatalyst4, "itemcatalyst4");
GameRegistry.registerItem(itemroll1, "itemroll1");
GameRegistry.registerItem(itemroll2, "itemroll2");
GameRegistry.registerItem(itemroll3, "itemroll3");
GameRegistry.registerItem(itemroll4, "itemroll4");
GameRegistry.registerItem(itemRune1, "itemRune1");
GameRegistry.registerItem(itemRune2, "itemRune2");
GameRegistry.registerItem(itemRune3, "itemRune3");
GameRegistry.registerItem(itemRune4, "itemRune4");
GameRegistry.registerItem(itemRune5, "itemRune5");
/*GameRegistry.registerItem(itemRune6, "itemRune6");
GameRegistry.registerItem(itemRune7, "itemRune7");
GameRegistry.registerItem(itemRune8, "itemRune8");
GameRegistry.registerItem(itemRune9, "itemRune9");
GameRegistry.registerItem(itemRune10, "itemRune10");
GameRegistry.registerItem(itemRune11, "itemRune11");
GameRegistry.registerItem(itemRune12, "itemRune12");
GameRegistry.registerItem(itemRune13, "itemRune13");
GameRegistry.registerItem(itemRune14, "itemRune14");
GameRegistry.registerItem(itemRune15, "itemRune15");*/
}
}
Код:
package ru.zed.TGmod;
import net.minecraft.client.Minecraft;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.potion.Potion;
import net.minecraft.potion.PotionEffect;
import net.minecraft.world.World;
public class Rune extends Item {
private int id = 0;
Minecraft mc = Minecraft.getMinecraft();
ItemStack rune = "itemRune" + id;//ошибка
protected Rune(int i)
{
if(i == 1){
id = 1;
this.setUnlocalizedName("itemRune" + id);
this.setCreativeTab(main.TabInGm1);
this.setTextureName(main.TG +":"+"itemRune" + id);
}
else if (i == 2){
id = 2;
this.setUnlocalizedName("itemRune" + id);
this.setCreativeTab(main.TabInGm1);
this.setTextureName(main.TG +":"+"itemRune" + id);
}
else if (i == 3){
id = 3;
this.setUnlocalizedName("itemRune" + id);
this.setCreativeTab(main.TabInGm1);
this.setTextureName(main.TG +":"+"itemRune" + id);
}
else if (i == 4){
id = 4;
this.setUnlocalizedName("itemRune" + id);
this.setCreativeTab(main.TabInGm1);
this.setTextureName(main.TG +":"+"itemRune" + id);
onItemRightClick(rune, null, null);
}
else if (i == 5){
id = 5;
this.setUnlocalizedName("itemRune" + id);
this.setCreativeTab(main.TabInGm1);
this.setTextureName(main.TG +":"+"itemRune" + id);
}
else if (i == 6){
id = 6;
this.setUnlocalizedName("itemRune" + id);
this.setCreativeTab(main.TabInGm1);
this.setTextureName(main.TG +":"+"itemRune" + id);
}
else if (i == 7){
id = 7;
this.setUnlocalizedName("itemRune" + id);
this.setCreativeTab(main.TabInGm1);
this.setTextureName(main.TG +":"+"itemRune" + id);
}
else if (i == 8){
id = 8;
this.setUnlocalizedName("itemRune" + id);
this.setCreativeTab(main.TabInGm1);
this.setTextureName(main.TG +":"+"itemRune" + id);
}
else if (i == 9){
id = 9;
this.setUnlocalizedName("itemRune" + id);
this.setCreativeTab(main.TabInGm1);
this.setTextureName(main.TG +":"+"itemRune" + id);
}
else if (i == 10){
id = 10;
this.setUnlocalizedName("itemRune" + id);
this.setCreativeTab(main.TabInGm1);
this.setTextureName(main.TG +":"+"itemRune" + id);
}
else if (i == 11){
id = 11;
this.setUnlocalizedName("itemRune" + id);
this.setCreativeTab(main.TabInGm1);
this.setTextureName(main.TG +":"+"itemRune" + id);
}
else if (i == 12){
id = 12;
this.setUnlocalizedName("itemRune" + id);
this.setCreativeTab(main.TabInGm1);
this.setTextureName(main.TG +":"+"itemRune" + id);
}
else if (i == 13){
id = 13;
this.setUnlocalizedName("itemRune" + id);
this.setCreativeTab(main.TabInGm1);
this.setTextureName(main.TG +":"+"itemRune" + id);
}
else if (i == 14){
id = 14;
this.setUnlocalizedName("itemRune" + id);
this.setCreativeTab(main.TabInGm1);
this.setTextureName(main.TG +":"+"itemRune" + id);
}
else if (i == 15){
id = 15;
this.setUnlocalizedName("itemRune" + id);
this.setCreativeTab(main.TabInGm1);
this.setTextureName(main.TG +":"+"itemRune" + id);
}
}
public ItemStack onItemRightClick(ItemStack is, World world, EntityPlayer player) {
if (!player.capabilities.isCreativeMode) {
--is.stackSize;
}
player.addPotionEffect(new PotionEffect(Potion.moveSpeed.id, 20*5, 0));
return is;
}
}