9
0
mirror of https://github.com/HibiscusMC/HibiscusCommons.git synced 2025-12-19 15:09:26 +00:00

feat: start moving to wrappers to help with read/write with packets

This commit is contained in:
LoJoSho
2025-06-26 12:48:21 -05:00
parent 9f6f0f19bf
commit 7865b8b372
6 changed files with 113 additions and 27 deletions

View File

@@ -1,28 +1,27 @@
package me.lojosho.hibiscuscommons.packets;
import me.lojosho.hibiscuscommons.packets.wrapper.ContainerContentWrapper;
import me.lojosho.hibiscuscommons.packets.wrapper.EntityEquipmentWrapper;
import me.lojosho.hibiscuscommons.packets.wrapper.PassengerWrapper;
import me.lojosho.hibiscuscommons.packets.wrapper.SlotContentWrapper;
import org.bukkit.entity.Player;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
import java.util.List;
import java.util.Map;
public interface PacketInterface {
default PacketAction writeContainerContent(@NotNull Player player, Integer windowId, @NotNull List<ItemStack> slotData) {
default PacketAction writeContainerContent(@NotNull Player player, ContainerContentWrapper wrapper) {
return PacketAction.NOTHING;
}
default PacketAction writeSlotContent(@NotNull Player player, Integer windowId, Integer slot, @NotNull ItemStack itemStack) {
default PacketAction writeSlotContent(@NotNull Player player, SlotContentWrapper wrapper) {
return PacketAction.NOTHING;
}
default PacketAction writeEquipmentContent(@NotNull Player player, @NotNull Map<EquipmentSlot, ItemStack> armor) {
default PacketAction writeEquipmentContent(@NotNull Player player, EntityEquipmentWrapper wrapper) {
return PacketAction.NOTHING;
}
default PacketAction writePassengerContent(@NotNull Player player, Integer owner, List<Integer> passengers) {
default PacketAction writePassengerContent(@NotNull Player player, PassengerWrapper wrapper) {
return PacketAction.NOTHING;
}

View File

@@ -0,0 +1,20 @@
package me.lojosho.hibiscuscommons.packets.wrapper;
import lombok.Getter;
import lombok.Setter;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
import java.util.List;
@Getter @Setter
public class ContainerContentWrapper {
private Integer windowId;
private List<ItemStack> slotData;
public ContainerContentWrapper(@NotNull Integer windowId, @NotNull List<ItemStack> slotData) {
this.windowId = windowId;
this.slotData = slotData;
}
}

View File

@@ -0,0 +1,19 @@
package me.lojosho.hibiscuscommons.packets.wrapper;
import lombok.Getter;
import lombok.Setter;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
import java.util.Map;
@Getter @Setter
public class EntityEquipmentWrapper {
private Map<EquipmentSlot, ItemStack> armor;
public EntityEquipmentWrapper(@NotNull Map<EquipmentSlot, ItemStack> armor) {
this.armor = armor;
}
}

View File

@@ -0,0 +1,19 @@
package me.lojosho.hibiscuscommons.packets.wrapper;
import lombok.Getter;
import lombok.Setter;
import org.jetbrains.annotations.NotNull;
import java.util.List;
@Getter @Setter
public class PassengerWrapper {
private int owner;
private List<Integer> passengers;
public PassengerWrapper(@NotNull Integer owner, @NotNull List<Integer> passengers) {
this.owner = owner;
this.passengers = passengers;
}
}

View File

@@ -0,0 +1,20 @@
package me.lojosho.hibiscuscommons.packets.wrapper;
import lombok.Getter;
import lombok.Setter;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull;
@Setter @Getter
public class SlotContentWrapper {
private Integer windowId;
private int slot;
private ItemStack itemStack;
public SlotContentWrapper(Integer windowId, Integer slot, @NotNull ItemStack itemStack) {
this.windowId = windowId;
this.slot = slot;
this.itemStack = itemStack;
}
}