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:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user