Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import net.fabricmc.api.ClientModInitializer;
import net.minecraft.network.NetworkHandler;
import net.modificationstation.stationapi.api.network.packet.IdentifiablePacket;
import net.modificationstation.stationapi.impl.packet.FlattenedBlockChangeS2CPacket;
import net.modificationstation.stationapi.impl.packet.FlattenedChunkDataS2CPacket;
import net.modificationstation.stationapi.impl.packet.FlattenedChunkSectionDataS2CPacket;
Expand All @@ -16,9 +15,9 @@ public void onInitializeClient() {
// Overriding vanilla packet handler with the StationAPI one
// for flattened packets
NetworkHandler handler = new FlattenedClientPlayNetworkHandler();
IdentifiablePacket.setHandler(FlattenedChunkDataS2CPacket.PACKET_ID, handler);
IdentifiablePacket.setHandler(FlattenedMultiBlockChangeS2CPacket.PACKET_ID, handler);
IdentifiablePacket.setHandler(FlattenedBlockChangeS2CPacket.PACKET_ID, handler);
IdentifiablePacket.setHandler(FlattenedChunkSectionDataS2CPacket.PACKET_ID, handler);
FlattenedChunkDataS2CPacket.TYPE.setHandler(handler);
FlattenedMultiBlockChangeS2CPacket.TYPE.setHandler(handler);
FlattenedBlockChangeS2CPacket.TYPE.setHandler(handler);
FlattenedChunkSectionDataS2CPacket.TYPE.setHandler(handler);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,21 @@
import net.minecraft.network.NetworkHandler;
import net.minecraft.network.packet.s2c.play.BlockUpdateS2CPacket;
import net.minecraft.world.World;
import net.modificationstation.stationapi.api.network.packet.IdentifiablePacket;
import net.modificationstation.stationapi.api.util.Identifier;
import net.modificationstation.stationapi.api.network.packet.ManagedPacket;
import net.modificationstation.stationapi.api.network.packet.PacketType;
import net.modificationstation.stationapi.impl.network.StationFlatteningPacketHandler;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;

import static net.modificationstation.stationapi.api.StationAPI.NAMESPACE;

public class FlattenedBlockChangeS2CPacket extends BlockUpdateS2CPacket implements IdentifiablePacket {

public static final Identifier PACKET_ID = NAMESPACE.id("flattening/block_change");
public class FlattenedBlockChangeS2CPacket extends BlockUpdateS2CPacket implements ManagedPacket<FlattenedBlockChangeS2CPacket> {
public static final PacketType<FlattenedBlockChangeS2CPacket> TYPE = PacketType.builder(true, false, FlattenedBlockChangeS2CPacket::new).build();

public int stateId;

@ApiStatus.Internal
public FlattenedBlockChangeS2CPacket() {}
private FlattenedBlockChangeS2CPacket() {}

@Environment(EnvType.SERVER)
public FlattenedBlockChangeS2CPacket(int x, int y, int z, World world) {
Expand Down Expand Up @@ -72,7 +68,7 @@ public int size() {
}

@Override
public Identifier getId() {
return PACKET_ID;
public @NotNull PacketType<FlattenedBlockChangeS2CPacket> getType() {
return TYPE;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
import net.minecraft.network.NetworkHandler;
import net.minecraft.network.packet.s2c.play.ChunkDataS2CPacket;
import net.minecraft.world.World;
import net.modificationstation.stationapi.api.network.packet.IdentifiablePacket;
import net.modificationstation.stationapi.api.util.Identifier;
import net.modificationstation.stationapi.api.network.packet.ManagedPacket;
import net.modificationstation.stationapi.api.network.packet.PacketType;
import net.modificationstation.stationapi.impl.network.StationFlatteningPacketHandler;
import net.modificationstation.stationapi.impl.world.chunk.ChunkSection;
import net.modificationstation.stationapi.impl.world.chunk.FlattenedChunk;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;

import java.io.DataInputStream;
import java.io.DataOutputStream;
Expand All @@ -21,18 +21,14 @@
import java.util.zip.Deflater;
import java.util.zip.Inflater;

import static net.modificationstation.stationapi.api.StationAPI.NAMESPACE;

public class FlattenedChunkDataS2CPacket extends ChunkDataS2CPacket implements IdentifiablePacket {

public static final Identifier PACKET_ID = NAMESPACE.id("flattening/chunk_data");
public class FlattenedChunkDataS2CPacket extends ChunkDataS2CPacket implements ManagedPacket<FlattenedChunkDataS2CPacket> {
public static final PacketType<FlattenedChunkDataS2CPacket> TYPE = PacketType.builder(true, false, FlattenedChunkDataS2CPacket::new).build();

public int chunkX, chunkZ;
private int sectionsSize;
public byte[] sectionsData;

@ApiStatus.Internal
public FlattenedChunkDataS2CPacket() {}
private FlattenedChunkDataS2CPacket() {}

@Environment(EnvType.SERVER)
public FlattenedChunkDataS2CPacket(World world, int chunkX, int chunkZ) {
Expand Down Expand Up @@ -111,7 +107,7 @@ public int size() {
}

@Override
public Identifier getId() {
return PACKET_ID;
public @NotNull PacketType<FlattenedChunkDataS2CPacket> getType() {
return TYPE;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,13 @@
import net.minecraft.network.NetworkHandler;
import net.minecraft.network.packet.Packet;
import net.minecraft.world.World;
import net.modificationstation.stationapi.api.network.packet.IdentifiablePacket;
import net.modificationstation.stationapi.api.util.Identifier;
import net.modificationstation.stationapi.api.network.packet.ManagedPacket;
import net.modificationstation.stationapi.api.network.packet.PacketType;
import net.modificationstation.stationapi.impl.network.StationFlatteningPacketHandler;
import net.modificationstation.stationapi.impl.world.chunk.ChunkSection;
import net.modificationstation.stationapi.impl.world.chunk.FlattenedChunk;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;

import java.io.DataInputStream;
import java.io.DataOutputStream;
Expand All @@ -19,10 +20,8 @@
import java.util.zip.Deflater;
import java.util.zip.Inflater;

import static net.modificationstation.stationapi.api.StationAPI.NAMESPACE;

public class FlattenedChunkSectionDataS2CPacket extends Packet implements IdentifiablePacket {
public static final Identifier PACKET_ID = NAMESPACE.id("flattening/chunk_section_data");
public class FlattenedChunkSectionDataS2CPacket extends Packet implements ManagedPacket<FlattenedChunkSectionDataS2CPacket> {
public static final PacketType<FlattenedChunkSectionDataS2CPacket> TYPE = PacketType.builder(true, false, FlattenedChunkSectionDataS2CPacket::new).build();

public int chunkX, chunkZ, sectionIndex;
private int sectionSize;
Expand Down Expand Up @@ -104,7 +103,7 @@ public int size() {
}

@Override
public Identifier getId() {
return PACKET_ID;
public @NotNull PacketType<FlattenedChunkSectionDataS2CPacket> getType() {
return TYPE;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,26 @@
import net.minecraft.network.NetworkHandler;
import net.minecraft.network.packet.s2c.play.ChunkDeltaUpdateS2CPacket;
import net.minecraft.world.World;
import net.modificationstation.stationapi.api.network.packet.IdentifiablePacket;
import net.modificationstation.stationapi.api.util.Identifier;
import net.modificationstation.stationapi.api.network.packet.ManagedPacket;
import net.modificationstation.stationapi.api.network.packet.PacketType;
import net.modificationstation.stationapi.impl.network.StationFlatteningPacketHandler;
import net.modificationstation.stationapi.impl.util.math.ChunkSectionPos;
import net.modificationstation.stationapi.impl.world.chunk.ChunkSection;
import net.modificationstation.stationapi.impl.world.chunk.FlattenedChunk;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.util.Objects;

import static net.modificationstation.stationapi.api.StationAPI.NAMESPACE;

public class FlattenedMultiBlockChangeS2CPacket extends ChunkDeltaUpdateS2CPacket implements IdentifiablePacket {

public static final Identifier PACKET_ID = NAMESPACE.id("flattening/multi_block_change");
public class FlattenedMultiBlockChangeS2CPacket extends ChunkDeltaUpdateS2CPacket implements ManagedPacket<FlattenedMultiBlockChangeS2CPacket> {
public static final PacketType<FlattenedMultiBlockChangeS2CPacket> TYPE = PacketType.builder(true, false, FlattenedMultiBlockChangeS2CPacket::new).build();

public int sectionIndex;
public int[] stateArray;

@ApiStatus.Internal
public FlattenedMultiBlockChangeS2CPacket() {}
private FlattenedMultiBlockChangeS2CPacket() {}

public FlattenedMultiBlockChangeS2CPacket(int chunkX, int chunkZ, int sectionIndex, short[] positions, int arraySize, World world) {
this.x = chunkX;
Expand Down Expand Up @@ -93,7 +89,7 @@ public int size() {
}

@Override
public Identifier getId() {
return PACKET_ID;
public @NotNull PacketType<FlattenedMultiBlockChangeS2CPacket> getType() {
return TYPE;
}
}
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
package net.modificationstation.stationapi.impl.packet;

import net.fabricmc.api.ModInitializer;
import net.modificationstation.stationapi.api.network.packet.IdentifiablePacket;
import net.modificationstation.stationapi.api.registry.PacketTypeRegistry;
import net.modificationstation.stationapi.api.registry.Registry;

import static net.modificationstation.stationapi.api.StationAPI.NAMESPACE;

public class StationFlatteningNetworkingImpl implements ModInitializer {

@Override
public void onInitialize() {

// Registering packets for flattened save format
IdentifiablePacket.register(FlattenedChunkDataS2CPacket.PACKET_ID, true, false, FlattenedChunkDataS2CPacket::new);
IdentifiablePacket.register(FlattenedMultiBlockChangeS2CPacket.PACKET_ID, true, false, FlattenedMultiBlockChangeS2CPacket::new);
IdentifiablePacket.register(FlattenedBlockChangeS2CPacket.PACKET_ID, true, false, FlattenedBlockChangeS2CPacket::new);
IdentifiablePacket.register(FlattenedChunkSectionDataS2CPacket.PACKET_ID, true, false, FlattenedChunkSectionDataS2CPacket::new);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("flattening/chunk_data"), FlattenedChunkDataS2CPacket.TYPE);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("flattening/multi_block_change"), FlattenedMultiBlockChangeS2CPacket.TYPE);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("flattening/block_change"), FlattenedBlockChangeS2CPacket.TYPE);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("flattening/chunk_section_data"), FlattenedChunkSectionDataS2CPacket.TYPE);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,14 @@

import net.fabricmc.api.ClientModInitializer;
import net.minecraft.network.NetworkHandler;
import net.modificationstation.stationapi.api.network.packet.IdentifiablePacket;
import net.modificationstation.stationapi.impl.network.packet.s2c.play.StationEntityEquipmentUpdateS2CPacket;
import net.modificationstation.stationapi.impl.network.packet.s2c.play.StationItemEntitySpawnS2CPacket;

public class StationItemsClientNetworkingImpl implements ClientModInitializer {
@Override
public void onInitializeClient() {
NetworkHandler handler = new StationItemsClientNetworkHandler();
IdentifiablePacket.setHandler(StationItemEntitySpawnS2CPacket.PACKET_ID, handler);
IdentifiablePacket.setHandler(StationEntityEquipmentUpdateS2CPacket.PACKET_ID, handler);
StationItemEntitySpawnS2CPacket.TYPE.setHandler(handler);
StationEntityEquipmentUpdateS2CPacket.TYPE.setHandler(handler);
}
}
Original file line number Diff line number Diff line change
@@ -1,22 +1,25 @@
package net.modificationstation.stationapi.impl.network.packet;

import net.fabricmc.api.ModInitializer;
import net.modificationstation.stationapi.api.network.packet.IdentifiablePacket;
import net.modificationstation.stationapi.api.registry.PacketTypeRegistry;
import net.modificationstation.stationapi.api.registry.Registry;
import net.modificationstation.stationapi.impl.network.packet.c2s.play.StationClickSlotC2SPacket;
import net.modificationstation.stationapi.impl.network.packet.c2s.play.StationPlayerInteractBlockC2SPacket;
import net.modificationstation.stationapi.impl.network.packet.s2c.play.StationEntityEquipmentUpdateS2CPacket;
import net.modificationstation.stationapi.impl.network.packet.s2c.play.StationInventoryS2CPacket;
import net.modificationstation.stationapi.impl.network.packet.s2c.play.StationItemEntitySpawnS2CPacket;
import net.modificationstation.stationapi.impl.network.packet.s2c.play.StationScreenHandlerSlotUpdateS2CPacket;

import static net.modificationstation.stationapi.api.StationAPI.NAMESPACE;

public class StationItemsNetworkingImpl implements ModInitializer {
@Override
public void onInitialize() {
IdentifiablePacket.register(StationClickSlotC2SPacket.PACKET_ID, false, true, StationClickSlotC2SPacket::new);
IdentifiablePacket.register(StationEntityEquipmentUpdateS2CPacket.PACKET_ID, true, false, StationEntityEquipmentUpdateS2CPacket::new);
IdentifiablePacket.register(StationInventoryS2CPacket.PACKET_ID, true, false, StationInventoryS2CPacket::new);
IdentifiablePacket.register(StationItemEntitySpawnS2CPacket.PACKET_ID, true, false, StationItemEntitySpawnS2CPacket::new);
IdentifiablePacket.register(StationPlayerInteractBlockC2SPacket.PACKET_ID, false, true, StationPlayerInteractBlockC2SPacket::new);
IdentifiablePacket.register(StationScreenHandlerSlotUpdateS2CPacket.PACKET_ID, true, false, StationScreenHandlerSlotUpdateS2CPacket::new);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("items/slot"), StationClickSlotC2SPacket.TYPE);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("items/equipment"), StationEntityEquipmentUpdateS2CPacket.TYPE);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("items/inventory"), StationInventoryS2CPacket.TYPE);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("items/entity_spawn"), StationItemEntitySpawnS2CPacket.TYPE);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("items/interact"), StationPlayerInteractBlockC2SPacket.TYPE);
Registry.register(PacketTypeRegistry.INSTANCE, NAMESPACE.id("items/slot_update"), StationScreenHandlerSlotUpdateS2CPacket.TYPE);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,19 @@
import net.minecraft.nbt.NbtCompound;
import net.minecraft.nbt.NbtElement;
import net.minecraft.network.packet.c2s.play.ClickSlotC2SPacket;
import net.modificationstation.stationapi.api.network.packet.IdentifiablePacket;
import net.modificationstation.stationapi.api.util.Identifier;
import net.modificationstation.stationapi.api.network.packet.ManagedPacket;
import net.modificationstation.stationapi.api.network.packet.PacketType;
import net.modificationstation.stationapi.impl.item.StationNBTSetter;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;

import static net.modificationstation.stationapi.api.StationAPI.NAMESPACE;
public class StationClickSlotC2SPacket extends ClickSlotC2SPacket implements ManagedPacket<StationClickSlotC2SPacket> {
public static final PacketType<StationClickSlotC2SPacket> TYPE = PacketType.builder(false, true, StationClickSlotC2SPacket::new).build();

public class StationClickSlotC2SPacket extends ClickSlotC2SPacket implements IdentifiablePacket {
public static final Identifier PACKET_ID = NAMESPACE.id("items/slot");

@ApiStatus.Internal
public StationClickSlotC2SPacket() {}
private StationClickSlotC2SPacket() {}

public StationClickSlotC2SPacket(int syncId, int slot, int button, boolean holdingShift, ItemStack stack, short actionType) {
super(syncId, slot, button, holdingShift, stack, actionType);
Expand Down Expand Up @@ -52,7 +49,7 @@ public void write(DataOutputStream stream) {
}

@Override
public Identifier getId() {
return PACKET_ID;
public @NotNull PacketType<StationClickSlotC2SPacket> getType() {
return TYPE;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,24 +3,20 @@
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NbtCompound;
import net.minecraft.nbt.NbtElement;
import net.minecraft.network.NetworkHandler;
import net.minecraft.network.packet.c2s.play.PlayerInteractBlockC2SPacket;
import net.modificationstation.stationapi.api.network.packet.IdentifiablePacket;
import net.modificationstation.stationapi.api.util.Identifier;
import net.modificationstation.stationapi.api.network.packet.ManagedPacket;
import net.modificationstation.stationapi.api.network.packet.PacketType;
import net.modificationstation.stationapi.impl.item.StationNBTSetter;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;

import static net.modificationstation.stationapi.api.StationAPI.NAMESPACE;
public class StationPlayerInteractBlockC2SPacket extends PlayerInteractBlockC2SPacket implements ManagedPacket<StationPlayerInteractBlockC2SPacket> {
public static final PacketType<StationPlayerInteractBlockC2SPacket> TYPE = PacketType.builder(false, true, StationPlayerInteractBlockC2SPacket::new).build();

public class StationPlayerInteractBlockC2SPacket extends PlayerInteractBlockC2SPacket implements IdentifiablePacket {
public static final Identifier PACKET_ID = NAMESPACE.id("items/interact");

@ApiStatus.Internal
public StationPlayerInteractBlockC2SPacket() {}
private StationPlayerInteractBlockC2SPacket() {}

public StationPlayerInteractBlockC2SPacket(int x, int y, int z, int side, ItemStack stack) {
super(x, y, z, side, stack);
Expand Down Expand Up @@ -53,7 +49,7 @@ public void write(DataOutputStream stream) {
}

@Override
public Identifier getId() {
return PACKET_ID;
public @NotNull PacketType<StationPlayerInteractBlockC2SPacket> getType() {
return TYPE;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,21 @@
import net.minecraft.nbt.NbtElement;
import net.minecraft.network.NetworkHandler;
import net.minecraft.network.packet.s2c.play.EntityEquipmentUpdateS2CPacket;
import net.modificationstation.stationapi.api.network.packet.IdentifiablePacket;
import net.modificationstation.stationapi.api.util.Identifier;
import net.modificationstation.stationapi.api.network.packet.ManagedPacket;
import net.modificationstation.stationapi.api.network.packet.PacketType;
import net.modificationstation.stationapi.impl.network.StationItemsNetworkHandler;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;

import static net.modificationstation.stationapi.api.StationAPI.NAMESPACE;

public class StationEntityEquipmentUpdateS2CPacket extends EntityEquipmentUpdateS2CPacket implements IdentifiablePacket {
public static final Identifier PACKET_ID = NAMESPACE.id("items/equipment");
public class StationEntityEquipmentUpdateS2CPacket extends EntityEquipmentUpdateS2CPacket implements ManagedPacket<StationEntityEquipmentUpdateS2CPacket> {
public static final PacketType<StationEntityEquipmentUpdateS2CPacket> TYPE = PacketType.builder(true, false, StationEntityEquipmentUpdateS2CPacket::new).build();

public NbtCompound stationNbt;

@ApiStatus.Internal
public StationEntityEquipmentUpdateS2CPacket() {}
private StationEntityEquipmentUpdateS2CPacket() {}

public StationEntityEquipmentUpdateS2CPacket(int id, int slot, ItemStack itemStack) {
super(id, slot, itemStack);
Expand Down Expand Up @@ -59,7 +56,7 @@ public void apply(NetworkHandler networkHandler) {
}

@Override
public Identifier getId() {
return PACKET_ID;
public @NotNull PacketType<StationEntityEquipmentUpdateS2CPacket> getType() {
return TYPE;
}
}
Loading