Hi, I'm begginer forge developer.
I want, right click at glass block, then show custom GUI to user.
First, I made EventHookContainerClass,
@ForgeSubscribe
public void onPlayerInteract(PlayerEvent event) {
System.out.println(event.entityPlayer);
}
But, this is only response, living thing. Not block.
So, I modified glass block that I want interaction block.
Original glass block is common/net.minecraft.src, And I override onBlockActivated method, like this.
@Override
public boolean onBlockActivated(World par1World, int par2, int par3, int par4, EntityPlayer par5EntityPlayer, int par6, float par7, float par8, float par9) {
Minecraft mc = ModLoader.getMinecraftInstance();
mc.displayGuiScreen(new GuiOptions(mc.currentScreen, mc.gameSettings));
}
This code is work at client. But not a server. Server's log is this.
2012-10-03 12:11:39 [iNFO] [ForgeModLoader] Forge Mod Loader version 3.0.196.366 for Minecraft client:1.3.2, server:1.3.2 loading
2012-10-03 12:11:39 [iNFO] [sTDERR] java.lang.reflect.InvocationTargetException
2012-10-03 12:11:39 [iNFO] [sTDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2012-10-03 12:11:39 [iNFO] [sTDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
2012-10-03 12:11:39 [iNFO] [sTDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
2012-10-03 12:11:39 [iNFO] [sTDERR] at java.lang.reflect.Method.invoke(Method.java:597)
2012-10-03 12:11:39 [iNFO] [sTDERR] at cpw.mods.fml.relauncher.FMLRelauncher.relaunchServer(FMLRelauncher.java:126)
2012-10-03 12:11:39 [iNFO] [sTDERR] at cpw.mods.fml.relauncher.FMLRelauncher.handleServerRelaunch(FMLRelauncher.java:33)
2012-10-03 12:11:39 [iNFO] [sTDERR] at net.minecraft.server.MinecraftServer.main(MinecraftServer.java:1258)
2012-10-03 12:11:39 [iNFO] [sTDERR] Caused by: java.lang.NoClassDefFoundError: net/minecraft/src/GuiScreen
2012-10-03 12:11:39 [iNFO] [sTDERR] at net.minecraft.src.Block.<clinit>(Block.java:79)
2012-10-03 12:11:39 [iNFO] [sTDERR] at net.minecraft.src.StatList.initMinableStats(StatList.java:171)
2012-10-03 12:11:39 [iNFO] [sTDERR] at net.minecraft.src.StatList.<clinit>(StatList.java:89)
2012-10-03 12:11:39 [iNFO] [sTDERR] at net.minecraft.server.MinecraftServer.fmlReentry(MinecraftServer.java:1264)
2012-10-03 12:11:39 [iNFO] [sTDERR] ... 7 more
2012-10-03 12:11:39 [iNFO] [sTDERR] Caused by: java.lang.ClassNotFoundException: net.minecraft.src.GuiScreen
2012-10-03 12:11:39 [iNFO] [sTDERR] at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:125)
2012-10-03 12:11:39 [iNFO] [sTDERR] at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
2012-10-03 12:11:39 [iNFO] [sTDERR] at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
2012-10-03 12:11:39 [iNFO] [sTDERR] ... 11 more
2012-10-03 12:11:39 [iNFO] [sTDERR] Caused by: java.lang.NullPointerException
2012-10-03 12:11:39 [iNFO] [sTDERR] at cpw.mods.fml.relauncher.RelaunchClassLoader.findClass(RelaunchClassLoader.java:119)
2012-10-03 12:11:39 [iNFO] [sTDERR] ... 13 more
How can I solve this ? Please help me.