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

Статус
В этой теме нельзя размещать новые ответы.
769
17
120
Всем привет,мне нужно повесить действие(ПКМ) на определенный итем(а именно на руну) из моего "недо-мода", но я не совсем понимаю как это можно реализовать..
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;
        
    }

}
Что можно придумать? Заранее спасибо.
 
1,138
5
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);
        }
        
    }
 
1,236
2
12
возвращаемое значение не правильное. оно должно стоять по дефолту
 
1,236
2
12
посмотри дефолтное возвращаемое значение в родительском классе,у меня ничего не открыто
 
1,138
5
2
Да проблема в том, что он стаку присваивает строку + целое число(32х)
 
2,491
77
372
protected конструктор... И зачем тебе это?
 
2,491
77
372
Первый раз вижу, чтобы эклипс советовал некомпилируемый код
 
2,491
77
372
protected можно юзать только внутри самого класса и в унаследованных классах. Что там у тебя работало - неизвестно.
[merge_posts_bbcode]Добавлено: 18.07.2016 00:57:07[/merge_posts_bbcode]

Конструктор, кстати, шикарный. Долго думал над ним?
 
769
17
120
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,826
410
651
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.
 
769
17
120
На счет первого и второго спасибо,
3) Каким образом получить ник игрока? пытался mc.session.username в переменную pl засунуть не вышло(наверно надо пойти и еще почитать литературы по жабе)
 

timaxa007

Модератор
5,826
410
651
Зачем тебе ник игрока? Но примерно так:
Код:
player.getCommandSenderName();
player берётся из аргумента или где-то ещё.
 

timaxa007

Модератор
5,826
410
651
В какую ещё функцию? Может быть метод? Если, да - то что за метод?
 

timaxa007

Модератор
5,826
410
651
Не имя игрока, а объект игрока.
zedok написал(а):
наверно надо пойти и еще почитать литературы по жабе
Наверное, да.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху