Jump to content

Entity Packets from 1.6 TO 1.7


Lua

Recommended Posts

Hi, I'm currently updating a mod from 1.6.2 to 1.7. I've managed to do most things but I've recently ran into a issue with updating a packet.

 

Basically, I need someone to explain how I update this packet and so I can use it.

 


public class AC_PacketHandler implements IPacketHandler
{
@Override
public void onPacketData(INetworkManager manager, Packet250CustomPayload packet, Player player)
{
if(packet.channel.equals(Strings.CHANNEL_ROPE_POSITION)) {
this.handleRopePosition(packet, player);
}
}
private void handleRopePosition(Packet250CustomPayload packet, Player plyr) {
DataInputStream inputStream = new DataInputStream(new ByteArrayInputStream(packet.data));
int captainId;
int hookId;
try {
captainId = inputStream.readInt();
hookId = inputStream.readInt();
}
catch(IOException e) {
e.printStackTrace();
return;
}
WorldClient world;
if(plyr instanceof EntityPlayer)
{
world = (WorldClient) ((EntityPlayer) plyr).worldObj;
}
else
{
return;
}
AC_EntityPirateHook hook = (AC_EntityPirateHook) world.getEntityByID(hookId);
AC_EntityCaptain captain = (AC_EntityCaptain) world.getEntityByID(captainId);
hook.setThrower(captain);
captain.resetHookCooldown();
captain.setHookAirBorne(true);
double rotation = (captain.rotationYaw + 70.0F) / (180.0F / Math.PI);
double hookLaunchX = Math.cos(rotation);
double hookLaunchY = 1.4D;
double hookLaunchZ = Math.sin(rotation);
for (int i = 0; i < 10; i++) {
captain.worldObj.spawnParticle("smoke", captain.posX + hookLaunchX, captain.posY + hookLaunchY, captain.posZ + hookLaunchZ, (captain.getRNG().nextDouble() - 0.5D) / 5D, (captain.getRNG().nextDouble() - 0.5D) / 5D, (captain.getRNG().nextDouble() - 0.5D) / 5D);
}
}

 

This is how I used it before

 

Packet250CustomPayload packet = new Packet250CustomPayload();
packet.channel = Strings.CHANNEL_ROPE_POSITION;
packet.data = bos.toByteArray();
packet.length = bos.size();
((WorldServer) this.worldObj).getEntityTracker().sendPacketToAllPlayersTrackingEntity(hook, packet);

 

urh it messed up my formatting.

Link to comment
Share on other sites

First, make a class implementing IMessage.

Then put the packet bytestream reading/writing code into the fromBytes(read) and toBytes(write) in the class.

  (you should store fields like captainId and hookId in the class)

and make another class implementing IMessageHandler, and in the method 'onMessage' do what you want when packet is received.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

Link to comment
Share on other sites

For the conversion, after setting up the general system according to diesieben07's link, based on your code you need to:

1. Make your own "custom payload" message packet.  In that packet you would send the first byte as a unique identifier of your mod's packets -- like maybe a 0 represents some data for an entity, 1 some data for a GUI, or whatever packet types you need.

2. Instead of byte arrays for the data use ByteBuf. Then similar to your byte array there are methods for packing data together into and out of the buffer.

3. Based on the information read out of the ByteBuf you can do whatever you want (in your code looks like you create particles and such).

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

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.



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I tried disabling Just Enough Item to test, and after putting it back with some other mods I got this : https://pastebin.com/gD977jeL
    • Hello, I am experiencing the following error once an hour and sometimes two hours, does anyone know what might cause the crash? Is it a mod that is causing it or is there a mod that can fix that? Server Forge version: 1.20.1 Forge: net.minecraftforge:47.2.20   JVM Flags: 24 total; -Xms128M -Xmx16384M -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1NewSizePercent=40 -XX:G1MaxNewSizePercent=50 -XX:G1HeapRegionSize=16M -XX:G1ReservePercent=15 Mods: - fightorflight-forge-0.5.3.jar - BadMobs-1.20.1-19.0.2.jar - netherportalfix-forge-1.20-13.0.1.jar - NoChatReports-FORGE-1.20.1-v2.2.2.jar - architectury-9.1.13-forge.jar - accelerated-decay-forge-3.0.1+mc1.20.1.jar - ferritecore-6.0.1-forge.jar - balm-forge-1.20.1-7.2.1.jar - Terralith_1.20.4_v2.4.11.jar - memoryleakfix-forge-1.17+-1.1.5.jar - cloth-config-forge-11.1.106.jar - kffmod-4.10.0.jar - Cobblemon-forge-1.4.1+1.20.1.jar Error: https://pastebin.com/XKNM1Ak5 Stacktrace: https://pastebin.com/GESmmB4s  
    • Merging Minecraft modpacks is simpler than it sounds. Just think of it as combining ingredients from two recipes into one. If you're not sure how to start, there's a handy tutorial on YouTube titled "How to combine mods in Curseforge Minecraft" that breaks it down step by step. It's like following a cooking show but for Minecraft mods. And if you need more help, the Reddit's r/feedthebeast are like the community kitchen where everyone shares their cooking tips.
    • String Name: 1 wanderlite_matrix Class Name: class net.minecraft.world.item.ItemStack Mod Name: Clockwork: Create x Valkyrien Skies Registry Name: vs_clockwork:wanderlite_matrix Display Name: Wanderlite Matrix Yes    
    • Tried panorama_screens and some other mod, but it still gives me the same error : https://pastebin.com/CG2hUbcY What is the problem exactly ? Is there a problem with the model of one of the items of Clockwork ?
  • Topics

×
×
  • Create New...

Important Information

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