ПКМ на определенный итем

Статус
В этой теме нельзя размещать новые ответы.

will0376

Каменная лига
Сообщения
183
Лучшие ответы
5
Симпатии
8
#1
Всем привет,мне нужно повесить действие(ПКМ) на определенный итем(а именно на руну) из моего "недо-мода", но я не совсем понимаю как это можно реализовать..
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();
    }

}
ItemsReg.java (руны с 6 по 15 не используются пока что)
Код:
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");*/
        

    }

}
Rune.java (Именно тут я и пытался сделать действие по решенному вопросу из этой темы )
Код:
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;
        
    }

}
Что можно придумать? Заранее спасибо.
 

wilah

Каменная лига
Сообщения
1,138
Лучшие ответы
6
Симпатии
1
#2
Код:
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);
        }
        
    }
 

XuPuPG

Каменная лига
Сообщения
1,233
Лучшие ответы
2
Симпатии
8
#3
возвращаемое значение не правильное. оно должно стоять по дефолту
 

XuPuPG

Каменная лига
Сообщения
1,233
Лучшие ответы
2
Симпатии
8
#6
посмотри дефолтное возвращаемое значение в родительском классе,у меня ничего не открыто
 

wilah

Каменная лига
Сообщения
1,138
Лучшие ответы
6
Симпатии
1
#7
Да проблема в том, что он стаку присваивает строку + целое число(32х)
 

Dahaka

Золотая лига
Сообщения
2,321
Лучшие ответы
82
Симпатии
252
#8
protected конструктор... И зачем тебе это?
 

Dahaka

Золотая лига
Сообщения
2,321
Лучшие ответы
82
Симпатии
252
#10
Первый раз вижу, чтобы эклипс советовал некомпилируемый код
 

Dahaka

Золотая лига
Сообщения
2,321
Лучшие ответы
82
Симпатии
252
#12
protected можно юзать только внутри самого класса и в унаследованных классах. Что там у тебя работало - неизвестно.
[merge_posts_bbcode]Добавлено: 18.07.2016 00:57:07[/merge_posts_bbcode]

Конструктор, кстати, шикарный. Долго думал над ним?
 

will0376

Каменная лига
Сообщения
183
Лучшие ответы
5
Симпатии
8
#13
Dahaka написал(а):
Конструктор, кстати, шикарный. Долго думал над ним?
(эх, надеюсь не сарказм) Учитывая, Что я в первый раз имею дело с кодом форджа(до этого я только менял оформление в гл. меню)Да.
_______________________________________-
Поставил на 4ую руну 
Код:
onItemRightClick(null, null, null);
 Краш.
Код:
---- Minecraft Crash Report ----
// You're mean.

Time: 18.07.16 1:01
Description: Initializing game

java.lang.NullPointerException: Initializing game
    at ru.zed.TGmod.Rune.onItemRightClick(Rune.java:112)
    at ru.zed.TGmod.Rune.<init>(Rune.java:41)
    at ru.zed.TGmod.ItemsReg.init(ItemsReg.java:37)
    at ru.zed.TGmod.main.preLoad(main.java:75)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
    at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:556)
    at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:243)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:524)
    at net.minecraft.client.Minecraft.run(Minecraft.java:944)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
    at GradleStart.main(Unknown Source)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
    at ru.zed.TGmod.Rune.onItemRightClick(Rune.java:112)
    at ru.zed.TGmod.Rune.<init>(Rune.java:41)
    at ru.zed.TGmod.ItemsReg.init(ItemsReg.java:37)
    at ru.zed.TGmod.main.preLoad(main.java:75)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:532)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:212)
    at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:190)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
    at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
    at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
    at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
    at com.google.common.eventbus.EventBus.post(EventBus.java:275)
    at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:119)
    at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:556)
    at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:243)
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:524)

-- Initialization --
Details:
Stacktrace:
    at net.minecraft.client.Minecraft.run(Minecraft.java:944)
    at net.minecraft.client.main.Main.main(Main.java:164)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)
    at GradleStart.main(Unknown Source)

-- System Details --
Details:
    Minecraft Version: 1.7.10
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_92, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 819313704 bytes (781 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)
    JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
    AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
    FML: 
    States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
    UCH    mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) 
    UCH    FML{7.10.99.99} [Forge Mod Loader] (forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar) 
    UCH    Forge{10.13.4.1614} [Minecraft Forge] (forgeSrc-1.7.10-10.13.4.1614-1.7.10.jar) 
    UCE    TGmod{0.9} [Technical Gear Mod] (bin) 
    GL info: ' Vendor: 'ATI Technologies Inc.' Version: '4.5.13399 Compatibility Profile Context 0' Renderer: 'AMD Radeon HD 7600M Series'
    Launched Version: 1.7.10
    LWJGL: 2.9.1
    OpenGL: AMD Radeon HD 7600M Series GL version 4.5.13399 Compatibility Profile Context 0, ATI Technologies Inc.
    GL Caps: Using GL 1.3 multitexturing.
Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.
Anisotropic filtering is supported and maximum anisotropy is 16.
Shaders are available because OpenGL 2.1 is supported.

    Is Modded: Definitely; Client brand changed to 'fml,forge'
    Type: Client (map_client.txt)
    Resource Packs: []
    Current Language: English (US)
    Profiler Position: N/A (disabled)
    Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
    Anisotropic Filtering: Off (1)
На 112 строчке
Код:
if (!player.capabilities.isCreativeMode)
______________________________________________
Прошу прощения, забыл указать, minecraft 1.7.10 =)
 

timaxa007

Команда форума
Сообщения
5,238
Лучшие ответы
322
Симпатии
435
#14
zedok написал(а):
Код:
Minecraft mc = Minecraft.getMinecraft();
Клиентская переменная, на сервере будет краш, если не поставишь @SideOnly(Side.CLIENT) передней.
---
zedok написал(а):
Код:
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 Rune(int i)
    {
super();
        
        id = i;
        this.setUnlocalizedName("itemRune" + id);
        this.setCreativeTab(main.TabInGm1);
        this.setTextureName(main.TG +":"+"itemRune" + id);
        
    }
---
zedok написал(а):
Код:
onItemRightClick(rune, null, null);
Зачем ты вызываешь метод onItemRightClick в конструкторе? И не нужно отдавать null игрока и null мир. На кого будет даваться эффект если ты указывает null игрока, а не определённого объекта игрока.
---
zedok написал(а):
Код:
ItemStack rune = "itemRune" + id;//ошибка
Ты пытаешься создать объект ItemStack, но в итоге ты пытаешься всучить объект String.
 

will0376

Каменная лига
Сообщения
183
Лучшие ответы
5
Симпатии
8
#15
На счет первого и второго спасибо,
3) Каким образом получить ник игрока? пытался mc.session.username в переменную pl засунуть не вышло(наверно надо пойти и еще почитать литературы по жабе)
 

timaxa007

Команда форума
Сообщения
5,238
Лучшие ответы
322
Симпатии
435
#16
Зачем тебе ник игрока? Но примерно так:
Код:
player.getCommandSenderName();
player берётся из аргумента или где-то ещё.
 

timaxa007

Команда форума
Сообщения
5,238
Лучшие ответы
322
Симпатии
435
#18
В какую ещё функцию? Может быть метод? Если, да - то что за метод?
 

will0376

Каменная лига
Сообщения
183
Лучшие ответы
5
Симпатии
8
#19
timaxa007 написал(а):
В какую ещё функцию? Может быть метод? Если, да - то что за метод?
(Все время путаю... да, метод) 
Код:
ItemStack onItemRightClick(ItemStack is, World world, EntityPlayer player)
 

timaxa007

Команда форума
Сообщения
5,238
Лучшие ответы
322
Симпатии
435
#20
Не имя игрока, а объект игрока.
zedok написал(а):
наверно надо пойти и еще почитать литературы по жабе
Наверное, да.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху