Jump to content

Creating packet different of Packet250CustomPayload


Yuri6037

Recommended Posts

Hi all,

 

I'm trying to get back the StoneLine JetPack into Minecraft 1.6.4 (with Forge). To do that, i already destroying the jump code of mojang by using a tick handler. But i can't find any way to tell the server that the player has used his jetpack. In effect the server need to know the new player position (already done), and the amount of damage the jetpack gets (that's the problem).

 

I've tried some things :

- Use Packet5PlayerInventory, But it seams that stupid Mojang has made a security to block client from sending this packet (only the server can send this packet)

- Seeing the Forge packet handling doc, but the forge packet handling will not help me at all : It use Packet250CustomPayLoad instead of a new Packet.

 

There is some others solutions : Making a new Java Library that will destroy a part of the Minecraft Protocol and inject new data in it, or Using ASM bytecode changer to destroy Mojang sources !

 

I'm asking you if you have another way, because the solutions i have found are very very heavy, and players will need to download a new Launcher for the first and for the second, i will lost compatibility with some mods.

 

So please tell me if you have another solution.

 

Yuri6037

Link to comment
Share on other sites

About the wiki i already go in it and like i said i can't use the packet250custompayload.

 

For the packet 103 (set slot), it's same as the 5 (player inventory) : Can only be sent by server not client !

 

 

EDIT : You asked me for what type of data, i need to send an ItemStack and the slot number of the player inventory.

Link to comment
Share on other sites

I have found a new solution ! I think i will be able to make the mod working without ASM or Library. The solution :

- Creating a packet handler

- Creating a packet byte size calculator class

- Creating a new packet interface

So need to make 4 classes only for doing that.

@Forge You wanted to make a simple library to mod Minecraft, but at the contrary it need a large amount of knowings in Math, Informatic, Java to make a packet handler ! So congratulations Forge, many newbies will not be able to use your packet handling system.

Link to comment
Share on other sites

I got it ! Finally it's all working !

 

My whole mod network api is working !

 

 

For people who are interested in the solution.. Well, i'm sorry but the code is very hard and very long ! The code is using a little math, java interfaces, java hashmap, Mojang Protocol, Forge SideOnly system, java Class, java DataInputStream, java DataOutputStream, java ByteArrayInputStream, java ByteArrayOutputStream.

 

If i got rid of that, it's because i had already touched the network in java and c++ ; without my experimentation in those languages, i would not be able to make that !

 

I will maybe post the code here if i have the time...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

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