Skip to content

Commit

Permalink
Fix packet send usages
Browse files Browse the repository at this point in the history
  • Loading branch information
FlorianMichael committed May 8, 2024
1 parent 89e76d3 commit b08bb90
Show file tree
Hide file tree
Showing 10 changed files with 46 additions and 38 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -48,49 +48,49 @@ protected void registerPackets() {
this.registerClientbound(State.LOGIN, ClientboundLoginPackets.GAME_PROFILE.getId(), ClientboundLoginPackets.GAME_PROFILE.getId(), new PacketHandlers() {
@Override
public void register() {
map(Type.STRING, REMOVE_DASHES); // uuid
map(Type.STRING); // name
map(Type.STRING, REMOVE_DASHES); // Uuid
map(Type.STRING); // Name
}
});

this.registerClientbound(ClientboundPackets1_7_2_5.SPAWN_PLAYER, new PacketHandlers() {
@Override
public void register() {
map(Type.VAR_INT); // entity id
map(Type.STRING, REMOVE_DASHES); // uuid
map(Type.STRING); // name
handler(wrapper -> { // delete data introduced in 1.7.6
final int size = wrapper.read(Type.VAR_INT); // data count
map(Type.VAR_INT); // Entity id
map(Type.STRING, REMOVE_DASHES); // Uuid
map(Type.STRING); // Name
handler(wrapper -> {
final int size = wrapper.read(Type.VAR_INT); // Data count
for (int i = 0; i < size; i++) {
wrapper.read(Type.STRING); // data name
wrapper.read(Type.STRING); // data value
wrapper.read(Type.STRING); // data signature
wrapper.read(Type.STRING); // Data name
wrapper.read(Type.STRING); // Data value
wrapper.read(Type.STRING); // Data signature
}
});
map(Type.INT); // x
map(Type.INT); // y
map(Type.INT); // z
map(Type.BYTE); // yaw
map(Type.BYTE); // pitch
map(Type.SHORT); // item in hand
map(Types1_7_6_10.METADATA_LIST); // metadata
map(Type.INT); // X
map(Type.INT); // Y
map(Type.INT); // Z
map(Type.BYTE); // Yaw
map(Type.BYTE); // Pitch
map(Type.SHORT); // Item in hand
map(Types1_7_6_10.METADATA_LIST); // Metadata
}
});

this.registerClientbound(ClientboundPackets1_7_2_5.TEAMS, new PacketHandlers() {
@Override
public void register() {
map(Type.STRING); // team name
map(Type.BYTE); // mode
map(Type.STRING); // Team name
map(Type.BYTE); // Mode
handler(wrapper -> {
final byte mode = wrapper.get(Type.BYTE, 0);
if (mode == 0 || mode == 2) { // team is created or information is updated
wrapper.passthrough(Type.STRING); // team display name
wrapper.passthrough(Type.STRING); // team prefix
wrapper.passthrough(Type.STRING); // team suffix
wrapper.passthrough(Type.BYTE); // friendly fire
if (mode == 0 || mode == 2) { // Team is created or information is updated
wrapper.passthrough(Type.STRING); // Team display name
wrapper.passthrough(Type.STRING); // Team prefix
wrapper.passthrough(Type.STRING); // Team suffix
wrapper.passthrough(Type.BYTE); // Friendly fire
}
if (mode == 0 || mode == 3 || mode == 4) { // team is created, player is added or player is removed
if (mode == 0 || mode == 3 || mode == 4) { // Team is created, player is added or player is removed
List<String> entryList = new ArrayList<>();
final int size = wrapper.read(Type.SHORT);
for (int i = 0; i < size; i++) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package com.viaversion.viarewind.protocol.protocol1_7_6_10to1_8.emulation;
package com.viaversion.viarewind.protocol.protocol1_7_6_10to1_8.data;

import com.viaversion.viarewind.protocol.protocol1_7_2_5to1_7_6_10.ClientboundPackets1_7_2_5;
import com.viaversion.viarewind.protocol.protocol1_7_6_10to1_8.Protocol1_7_6_10To1_8;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import com.viaversion.viarewind.api.type.metadata.MetaType1_7_6_10;
import com.viaversion.viarewind.protocol.protocol1_7_2_5to1_7_6_10.ClientboundPackets1_7_2_5;
import com.viaversion.viarewind.protocol.protocol1_7_6_10to1_8.Protocol1_7_6_10To1_8;
import com.viaversion.viarewind.protocol.protocol1_7_6_10to1_8.emulation.VirtualHologramEntity;
import com.viaversion.viarewind.protocol.protocol1_7_6_10to1_8.data.VirtualHologramEntity;
import com.viaversion.viarewind.protocol.protocol1_7_6_10to1_8.storage.EntityTracker1_8;
import com.viaversion.viarewind.protocol.protocol1_7_6_10to1_8.storage.GameProfileStorage;
import com.viaversion.viarewind.protocol.protocol1_7_6_10to1_8.storage.Scoreboard;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
package com.viaversion.viarewind.protocol.protocol1_7_6_10to1_8.packets;

import com.viaversion.viarewind.protocol.protocol1_7_6_10to1_8.Protocol1_7_6_10To1_8;
import com.viaversion.viarewind.protocol.protocol1_7_6_10to1_8.emulation.VirtualHologramEntity;
import com.viaversion.viarewind.protocol.protocol1_7_6_10to1_8.data.VirtualHologramEntity;
import com.viaversion.viarewind.protocol.protocol1_7_6_10to1_8.storage.EntityTracker1_8;
import com.viaversion.viarewind.protocol.protocol1_7_6_10to1_8.storage.GameProfileStorage;
import com.viaversion.viarewind.protocol.protocol1_7_6_10to1_8.storage.PlayerSessionStorage;
Expand Down Expand Up @@ -48,6 +48,15 @@ public void register() {
wrapper.set(Types1_7_6_10.COMPRESSED_NBT_ITEM, 0, item);
});

handler(wrapper -> {
final EntityTracker1_8 tracker = wrapper.user().getEntityTracker(Protocol1_7_6_10To1_8.class);
final int id = wrapper.get(Type.INT, 0);
int limit = tracker.clientEntityId() == id ? 3 : 4;
if (wrapper.get(Type.SHORT, 0) > limit) {
wrapper.cancel();
}
});

handler(wrapper -> {
final EntityTracker1_8 tracker = wrapper.user().getEntityTracker(Protocol1_7_6_10To1_8.class);
final short slot = wrapper.get(Type.SHORT, 0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -701,7 +701,7 @@ public void register() {
abilitiesPacket.write(Type.BYTE, playerSession.combineAbilities());
abilitiesPacket.write(Type.FLOAT, playerSession.sprinting ? playerSession.flySpeed * 2.0f : playerSession.flySpeed);
abilitiesPacket.write(Type.FLOAT, playerSession.walkSpeed);
abilitiesPacket.send(Protocol1_7_6_10To1_8.class);
abilitiesPacket.scheduleSend(Protocol1_7_6_10To1_8.class);
}
});
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,6 @@ public void register() {
wrapper.read(Type.STRING); // name tag visibility
byte color = wrapper.read(Type.BYTE);
if (mode == 2 && scoreboard.getTeamColor(team).get() != color) {
String username = wrapper.user().getProtocolInfo().getUsername();
String sidebar = scoreboard.getColorDependentSidebar().get(color);
PacketWrapper sidebarPacket = wrapper.create(0x3D);
sidebarPacket.write(Type.BYTE, (byte) 1);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ public void register() {
mapData.write(Type.SHORT, (short) columnData.length); // data length
mapData.write(new FixedByteArrayType(columnData.length), columnData); // data

mapData.send(Protocol1_7_6_10To1_8.class, true);
mapData.send(Protocol1_7_6_10To1_8.class);
}
}

Expand All @@ -242,7 +242,7 @@ public void register() {
mapData.write(Type.SHORT, (short) iconData.length); // data length
mapData.write(new FixedByteArrayType(iconData.length), iconData); // data

mapData.send(Protocol1_7_6_10To1_8.class, true);
mapData.send(Protocol1_7_6_10To1_8.class);
}

// Update scale
Expand All @@ -251,7 +251,7 @@ public void register() {
mapData.write(Type.SHORT, (short) 2); // data length
mapData.write(new FixedByteArrayType(2), new byte[]{2, scale}); // data

mapData.send(Protocol1_7_6_10To1_8.class, true);
mapData.send(Protocol1_7_6_10To1_8.class);
});
}
});
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import com.viaversion.viarewind.ViaRewind;
import com.viaversion.viarewind.protocol.protocol1_7_2_5to1_7_6_10.ServerboundPackets1_7_2_5;
import com.viaversion.viarewind.protocol.protocol1_7_6_10to1_8.Protocol1_7_6_10To1_8;
import com.viaversion.viarewind.protocol.protocol1_7_6_10to1_8.emulation.VirtualHologramEntity;
import com.viaversion.viarewind.protocol.protocol1_7_6_10to1_8.data.VirtualHologramEntity;
import com.viaversion.viaversion.api.connection.UserConnection;
import com.viaversion.viaversion.api.minecraft.entities.EntityType;
import com.viaversion.viaversion.api.minecraft.entities.EntityTypes1_10;
Expand Down Expand Up @@ -148,7 +148,7 @@ protected void attachEntity(final int target) {
attachEntity.write(Type.INT, target); // passenger id
attachEntity.write(Type.BOOLEAN, false); // leash

attachEntity.scheduleSend(Protocol1_7_6_10To1_8.class, true);
attachEntity.scheduleSend(Protocol1_7_6_10To1_8.class);
} catch (Exception e) {
ViaRewind.getPlatform().getLogger().log(Level.SEVERE, "Failed to send attach packet", e);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ public void run() {
spawnParticle.write(Type.INT, (int) Math.floor((maxH - minH) * (maxV - minV) * 0.5));

try {
spawnParticle.send(Protocol1_7_6_10To1_8.class, true);
spawnParticle.send(Protocol1_7_6_10To1_8.class);
} catch (Exception e) {
ViaRewind.getPlatform().getLogger().log(Level.SEVERE, "Failed to send world border particle", e);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ public void show(double progress) throws Exception {
wrapper.write(Type.VAR_INT, 2); // Action - update health
wrapper.write(Type.FLOAT, (float) progress); // Health
}
wrapper.scheduleSend(Protocol1_8To1_9.class, false);
wrapper.send(Protocol1_8To1_9.class, false);
}

@Override
Expand All @@ -61,7 +61,7 @@ public void hide() throws Exception {
PacketWrapper wrapper = PacketWrapper.create(ClientboundPackets1_9.BOSSBAR, null, user);
wrapper.write(Type.UUID, bossUUID);
wrapper.write(Type.VAR_INT, 1); // Action - remove
wrapper.scheduleSend(Protocol1_8To1_9.class, false);
wrapper.send(Protocol1_8To1_9.class, false);
bossUUID = null;
}
}

0 comments on commit b08bb90

Please sign in to comment.