Jump to content

starwarsmace

Members
  • Posts

    333
  • Joined

  • Last visited

Everything posted by starwarsmace

  1. Could using server commands and have them called in bukkit a good way?
  2. Of course not. The server cannot send packets to itself. Just call the methods in your Bukkit plugin directly, they are running on the same machine, in the same JVM. How would I call the methods though? There is no communication going on between bukkit and forge right?
  3. Do this: 1. Make a class that extends Gui 2. In that class have the RenderGameOverlayEvent 3. Register the gui class in the ClientProxy 4. In the RenderGameOverlayEvent have whatever you want to do if your gui class says to(have a boolean doRender or something): rendering text, pictures,etc.
  4. Yes... but on the client side. So you would need a packet... In the packet all you need to put is... nothing.... I think Just in the onMessage() tell it to start displaying the gui
  5. Use it like any other event and register it in your client proxy to register it on your client side.
  6. You don't say. Not sure if that's sarcasm but, that is how you grab the instance of Minecraft you know. He was telling you why it was crashing on the server. Anytime you try to access the Minecraft instance on the server it crashes.
  7. Not sure what Ernio was up to there. Don't send NBT in packets. If you are not working with the client, then what are you doing with packets? Packets go client to server or server to client. Nothing else. I am very curious as to what the fuck you are doing to make that code work. 1. Alright then.... 2. I can't seem to have the forge server receive the packets from bukkit. I'm just using forge client as a way of receiving it. 3. What code?
  8. http://www.minecraftforge.net/forum/index.php?topic=20135.0
  9. 1. Following what Ernio was saying with the nbt... I mean he did say to do it for sending strings but... I thought it would apply to other things too 2. Im not working with the client currently. The client is just for receiving the bukkit message and passing it onto another packet which sends it to the forge server. So that UUID is fine. 3. Tested out my code and it worked... Though your writing and reading is probably more efficient.
  10. ok... I think I figured out how to make the uuid into two longs and into an nbt. public class ChangeHealth implements IMessage { private UUID uuid; private boolean add; public ChangeHealth(){} public ChangeHealth(UUID uuid,boolean add) { super(); this.uuid=uuid; this.add = add; } @Override public void toBytes(ByteBuf buf) { NBTTagCompound n = new NBTTagCompound(); n.setLong("least", this.uuid.getLeastSignificantBits()); n.setLong("most", this.uuid.getMostSignificantBits()); n.setBoolean("add", this.add); ByteBufUtils.writeTag(buf, n); } @Override public void fromBytes(ByteBuf buf) { NBTTagCompound n =ByteBufUtils.readTag(buf); this.uuid= new UUID(n.getLong("most"),n.getLong("least")); this.add=n.getBoolean("add"); } } Then in my code for the handler I do this: @Override public IMessage onMessage(ChangeHealth message, MessageContext ctx) { EntityPlayer healer = null; for(EntityPlayer player : (List<EntityPlayer>)MinecraftServer.getServer().getConfigurationManager().playerEntityList){ if(player.getUniqueID().equals(message.uuid)){ healer=player; break; } } if(message.add){ if(healer!=null){ HealthBeamHandler.addHealer(healer); }else{ return null; } }else{ if(healer!=null){ HealthBeamHandler.removeHealer(message.uuid); }else{ return null; } } return null; } I think that might work...
  11. I guess you are right about my packet code being horrible... And that == with Strings happens when youre up coding at 2AM and have no idea what the heck youre doing. Otherwise Im done with those java noob mistakes Second: For now Im just checking whether my other code is working(the one on forge) so Im not using bukkit right now. Im just using an item to send that packet to test whether the other parts of my mods work... Question: So is the UUID's getLeastSignificantBits() the first 64 of the 128. and the getMostSignificantBits is the second 64 of the 128?
  12. I think hes saying there is no block parameter... But they do give you a BlockPos which you can use in the world.getBlockByPos(or something: not in an IDE right now) to get the block at the BlockPos and then you can check whether that block is a tall grass.
  13. Actually, there is another packet that receives the packet from Bukkit and that packet passes almost the same message to this packet(which goes to the server). Also, there is no forge to bukkit sending involved. Just bukkit to forge and forge to forge. Also, does the crash have something to do with the UUID being long?
  14. 1. Oh alright then. 2. Well I am using UUID because I am going to be having things being sent in from bukkit and into forge. Unless bukkit has some entity.getEntityId that I haven't noticed I was going to use UUID.
  15. For the OP and the rest of the people who make mods and need to put up recipes. http://www.silentspy.net/p/mc-recipe/ Its really an awesome tool. They also host the image for you!
  16. So Im sending a packet to the server. And then all of a sudden I get this error as soon as I send the packet... io.netty.handler.codec.DecoderException: java.lang.IndexOutOfBoundsException: index: 1, length: 57 (expected: range(0, 40)) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:99) ~[MessageToMessageDecoder.class:?] at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?] at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [integratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?] Caused by: java.lang.IndexOutOfBoundsException: index: 1, length: 57 (expected: range(0, 40)) at io.netty.buffer.AbstractByteBuf.checkIndex(AbstractByteBuf.java:1128) ~[AbstractByteBuf.class:?] at io.netty.buffer.SlicedByteBuf.nioBuffer(SlicedByteBuf.java:261) ~[slicedByteBuf.class:?] at io.netty.buffer.AbstractByteBuf.toString(AbstractByteBuf.java:953) ~[AbstractByteBuf.class:?] at cpw.mods.fml.common.network.ByteBufUtils.readUTF8String(ByteBufUtils.java:119) ~[byteBufUtils.class:?] at com.starwarsmace.healthbeam.ChangeHealth.fromBytes(ChangeHealth.java:33) ~[ChangeHealth.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:17) ~[simpleIndexedCodec.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:7) ~[simpleIndexedCodec.class:?] at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:77) ~[FMLIndexedMessageToMessageCodec.class:?] at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17) ~[FMLIndexedMessageToMessageCodec.class:?] at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:?] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:?] ... 13 more [17:29:11] [server thread/ERROR] [FML]: SimpleChannelHandlerWrapper exception io.netty.handler.codec.DecoderException: java.lang.IndexOutOfBoundsException: index: 1, length: 57 (expected: range(0, 40)) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:99) ~[MessageToMessageDecoder.class:?] at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?] at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [integratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?] Caused by: java.lang.IndexOutOfBoundsException: index: 1, length: 57 (expected: range(0, 40)) at io.netty.buffer.AbstractByteBuf.checkIndex(AbstractByteBuf.java:1128) ~[AbstractByteBuf.class:?] at io.netty.buffer.SlicedByteBuf.nioBuffer(SlicedByteBuf.java:261) ~[slicedByteBuf.class:?] at io.netty.buffer.AbstractByteBuf.toString(AbstractByteBuf.java:953) ~[AbstractByteBuf.class:?] at cpw.mods.fml.common.network.ByteBufUtils.readUTF8String(ByteBufUtils.java:119) ~[byteBufUtils.class:?] at com.starwarsmace.healthbeam.ChangeHealth.fromBytes(ChangeHealth.java:33) ~[ChangeHealth.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:17) ~[simpleIndexedCodec.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:7) ~[simpleIndexedCodec.class:?] at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:77) ~[FMLIndexedMessageToMessageCodec.class:?] at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17) ~[FMLIndexedMessageToMessageCodec.class:?] at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:?] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:?] ... 13 more [17:29:11] [server thread/ERROR] [FML]: There was a critical exception handling a packet on channel ChangeHealth io.netty.handler.codec.DecoderException: java.lang.IndexOutOfBoundsException: index: 1, length: 57 (expected: range(0, 40)) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:99) ~[MessageToMessageDecoder.class:?] at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?] at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [integratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?] Caused by: java.lang.IndexOutOfBoundsException: index: 1, length: 57 (expected: range(0, 40)) at io.netty.buffer.AbstractByteBuf.checkIndex(AbstractByteBuf.java:1128) ~[AbstractByteBuf.class:?] at io.netty.buffer.SlicedByteBuf.nioBuffer(SlicedByteBuf.java:261) ~[slicedByteBuf.class:?] at io.netty.buffer.AbstractByteBuf.toString(AbstractByteBuf.java:953) ~[AbstractByteBuf.class:?] at cpw.mods.fml.common.network.ByteBufUtils.readUTF8String(ByteBufUtils.java:119) ~[byteBufUtils.class:?] at com.starwarsmace.healthbeam.ChangeHealth.fromBytes(ChangeHealth.java:33) ~[ChangeHealth.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:17) ~[simpleIndexedCodec.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:7) ~[simpleIndexedCodec.class:?] at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:77) ~[FMLIndexedMessageToMessageCodec.class:?] at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17) ~[FMLIndexedMessageToMessageCodec.class:?] at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:?] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:?] ... 13 more [17:29:11] [server thread/ERROR] [FML]: FMLIndexedMessageCodec exception caught io.netty.handler.codec.DecoderException: java.lang.IndexOutOfBoundsException: index: 1, length: 57 (expected: range(0, 40)) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:99) ~[MessageToMessageDecoder.class:?] at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?] at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [integratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?] Caused by: java.lang.IndexOutOfBoundsException: index: 1, length: 57 (expected: range(0, 40)) at io.netty.buffer.AbstractByteBuf.checkIndex(AbstractByteBuf.java:1128) ~[AbstractByteBuf.class:?] at io.netty.buffer.SlicedByteBuf.nioBuffer(SlicedByteBuf.java:261) ~[slicedByteBuf.class:?] at io.netty.buffer.AbstractByteBuf.toString(AbstractByteBuf.java:953) ~[AbstractByteBuf.class:?] at cpw.mods.fml.common.network.ByteBufUtils.readUTF8String(ByteBufUtils.java:119) ~[byteBufUtils.class:?] at com.starwarsmace.healthbeam.ChangeHealth.fromBytes(ChangeHealth.java:33) ~[ChangeHealth.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:17) ~[simpleIndexedCodec.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:7) ~[simpleIndexedCodec.class:?] at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:77) ~[FMLIndexedMessageToMessageCodec.class:?] at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17) ~[FMLIndexedMessageToMessageCodec.class:?] at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:?] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:?] ... 13 more [17:29:11] [server thread/ERROR] [FML]: SimpleChannelHandlerWrapper exception io.netty.handler.codec.DecoderException: java.lang.IndexOutOfBoundsException: index: 1, length: 57 (expected: range(0, 40)) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:99) ~[MessageToMessageDecoder.class:?] at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) [DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) [DefaultChannelPipeline.class:?] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) [EmbeddedChannel.class:?] at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [integratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?] Caused by: java.lang.IndexOutOfBoundsException: index: 1, length: 57 (expected: range(0, 40)) at io.netty.buffer.AbstractByteBuf.checkIndex(AbstractByteBuf.java:1128) ~[AbstractByteBuf.class:?] at io.netty.buffer.SlicedByteBuf.nioBuffer(SlicedByteBuf.java:261) ~[slicedByteBuf.class:?] at io.netty.buffer.AbstractByteBuf.toString(AbstractByteBuf.java:953) ~[AbstractByteBuf.class:?] at cpw.mods.fml.common.network.ByteBufUtils.readUTF8String(ByteBufUtils.java:119) ~[byteBufUtils.class:?] at com.starwarsmace.healthbeam.ChangeHealth.fromBytes(ChangeHealth.java:33) ~[ChangeHealth.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:17) ~[simpleIndexedCodec.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:7) ~[simpleIndexedCodec.class:?] at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:77) ~[FMLIndexedMessageToMessageCodec.class:?] at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17) ~[FMLIndexedMessageToMessageCodec.class:?] at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:?] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:?] ... 13 more [17:29:11] [server thread/ERROR] [FML]: There was a critical exception handling a packet on channel ChangeHealth io.netty.handler.codec.DecoderException: java.lang.IndexOutOfBoundsException: index: 1, length: 57 (expected: range(0, 40)) at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:99) ~[MessageToMessageDecoder.class:?] at io.netty.handler.codec.MessageToMessageCodec.channelRead(MessageToMessageCodec.java:111) ~[MessageToMessageCodec.class:?] at io.netty.channel.DefaultChannelHandlerContext.invokeChannelRead(DefaultChannelHandlerContext.java:337) ~[DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelHandlerContext.fireChannelRead(DefaultChannelHandlerContext.java:323) ~[DefaultChannelHandlerContext.class:?] at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:785) ~[DefaultChannelPipeline.class:?] at io.netty.channel.embedded.EmbeddedChannel.writeInbound(EmbeddedChannel.java:169) ~[EmbeddedChannel.class:?] at cpw.mods.fml.common.network.internal.FMLProxyPacket.processPacket(FMLProxyPacket.java:86) [FMLProxyPacket.class:?] at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241) [NetworkManager.class:?] at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182) [NetworkSystem.class:?] at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614) [MinecraftServer.class:?] at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118) [integratedServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752) [MinecraftServer$2.class:?] Caused by: java.lang.IndexOutOfBoundsException: index: 1, length: 57 (expected: range(0, 40)) at io.netty.buffer.AbstractByteBuf.checkIndex(AbstractByteBuf.java:1128) ~[AbstractByteBuf.class:?] at io.netty.buffer.SlicedByteBuf.nioBuffer(SlicedByteBuf.java:261) ~[slicedByteBuf.class:?] at io.netty.buffer.AbstractByteBuf.toString(AbstractByteBuf.java:953) ~[AbstractByteBuf.class:?] at cpw.mods.fml.common.network.ByteBufUtils.readUTF8String(ByteBufUtils.java:119) ~[byteBufUtils.class:?] at com.starwarsmace.healthbeam.ChangeHealth.fromBytes(ChangeHealth.java:33) ~[ChangeHealth.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:17) ~[simpleIndexedCodec.class:?] at cpw.mods.fml.common.network.simpleimpl.SimpleIndexedCodec.decodeInto(SimpleIndexedCodec.java:7) ~[simpleIndexedCodec.class:?] at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:77) ~[FMLIndexedMessageToMessageCodec.class:?] at cpw.mods.fml.common.network.FMLIndexedMessageToMessageCodec.decode(FMLIndexedMessageToMessageCodec.java:17) ~[FMLIndexedMessageToMessageCodec.class:?] at io.netty.handler.codec.MessageToMessageCodec$2.decode(MessageToMessageCodec.java:81) ~[MessageToMessageCodec$2.class:?] at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:89) ~[MessageToMessageDecoder.class:?] ... 13 more What did I go out of bounds with? All I did was use ByteBufUtils.writeUTF8String and read it My packet code: public class ChangeHealth implements IMessage { private String uuid; public ChangeHealth(){} public ChangeHealth(String uuid) { super(); this.uuid=uuid; } public String getMessage(){ return this.uuid; } @Override public void toBytes(ByteBuf buf) { ByteBufUtils.writeUTF8String(buf, this.uuid); } @Override public void fromBytes(ByteBuf buf) { this.uuid=ByteBufUtils.readUTF8String(buf); } public static class ChangeHealthHandler implements IMessageHandler<ChangeHealth, IMessage>{ @SuppressWarnings("unchecked") @Override public IMessage onMessage(ChangeHealth message, MessageContext ctx) { String b = message.getMessage().split(":")[1]; String uuid = message.getMessage().split(":")[0]; EntityPlayer healer = null; for(EntityPlayer player : (List<EntityPlayer>)MinecraftServer.getServer().getConfigurationManager().playerEntityList){ if(player.getUniqueID().toString()==uuid){ healer=player; break; } } if(b=="add"){ if(healer!=null){ HealthBeamHandler.addHealer(healer); }else{ return null; } }else{ if(healer!=null){ HealthBeamHandler.removeHealer(UUID.fromString(uuid)); }else{ return null; } } return null; } } } Note: Used a nested class for the handler
  17. Well, you could add an alpha layer to your entity model? And use opengl? And invincible add health to it every tick if it is below the max.
  18. So I am a bukkit and forge programmer(more forge though) but one of the biggest problems I've had, and many others have had too, is communicating between bukkit and forge. So my fellow modder found out an awesome way to do it. He said he wanted to give credit to this post. He said thats where he got started. So here is the tutorial: *Warning*: The following code is not copy-pasteable(you actually have to read and understand and learn from this tutorial) First, you need to make an IMessage and IMessage Handler. Diesiben's awesome tutorial But for those of you who are to lazy to click the link, I will explain in short what you need to do. ________________________________________________________________________________ First, you need to make a class that implements IMessage. And in that IMessage class you have to do your reading bytes and setting bytes something like this.. public void fromBytes(ByteBuf buf) { } public void toBytes(ByteBuf buf) { } Those are the the methods you need to override. And in them you need to write and read stuff to and from the bufs. The bufs have the methods to write and read Strings,ints,etc. into and from them. Next step(still doing IMessage): Create your IMessageHandler class which has to implement IMessageHandler<[your IMessage],IMessage(this is the reply type but in this we don't have one)>. Override onMessage and do whatever you want to do with the message. ___________________________________________________________________________________________________________________ Next Step: Register you IMessage and IMessageHandler in your mod file. NetworkRegistry.INSTANCE.newSimpleChannel([call this something special to avoid mod conflicts]).registerMessage([This parameter is the IMessageHandler that you made], [this is the IMessage you made ],'\n',Side.CLIENT) I use the discrimator '\n' because there is no id which you can register in bukkit Useful note: The registerMessage takes class files so.. remember to put the .class Oddity: for some reason forge is not able to receive packets from bukkit to forge server. Anyone know why or how to fix that? ________________________________________________________________________________________________________________ Final Step-Bukkit Code: In your plugin onEnable() put the following method in: Bukkit.getMessenger().registerOutgoingPluginChannel(this, [put the same channel name as you registered it in forge]); Then whenever you want to send a message from bukkit to forge all you need to do is.. player.sendPluginMessage([the plugin],[the channel name],"\n" + [your message]) If this tutorial helped you leave a thank you
  19. Sorry. Let me rephrase my previous statement. It is highly recommend not to edit base files. But I agree with the fact that changing the windows into border less would be hard and if you do do it would probably be a very hacky method and not clean at all.
  20. If the thing is a wooden pickaxe and its near close to being broken, try having a random chance and if it correct maybe have a random item, like a wooden plank or stick in this case is not given back or not give any of the items at all.
  21. If its such a small thing to solve then why dont you? The crash report tells you exactly whats wrong. There was a object somewhere in your class that was null and wasn't supposed to be. Try putting in null checks in there and/or System.out.println to see whats wrong.
  22. Question: You need correct coordinates for tile entities only right? For guis that open up that dont have anything to do with a block you can just pass the parameters of 0,0,0. Right?
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.