From 976c418c9effd6f08691af7aa95cf8eba60ffdbd Mon Sep 17 00:00:00 2001 From: mmxw11 Date: Mon, 25 Sep 2017 16:13:56 +0300 Subject: [PATCH] Start implementing inv update task --- .../BukkitInvContainerUpdateTask.java | 22 +++++++++++++++++++ .../BukkitInvContainerItemProvider.java | 17 ++++++++++++-- .../storage/InvItemStorage.java | 13 +++++++++++ 3 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 bukkit/src/main/java/us/myles/ViaVersion/bukkit/protocol1_12to1_11_1/BukkitInvContainerUpdateTask.java create mode 100644 common/src/main/java/us/myles/ViaVersion/protocols/protocol1_12to1_11_1/storage/InvItemStorage.java diff --git a/bukkit/src/main/java/us/myles/ViaVersion/bukkit/protocol1_12to1_11_1/BukkitInvContainerUpdateTask.java b/bukkit/src/main/java/us/myles/ViaVersion/bukkit/protocol1_12to1_11_1/BukkitInvContainerUpdateTask.java new file mode 100644 index 000000000..5f6d9e977 --- /dev/null +++ b/bukkit/src/main/java/us/myles/ViaVersion/bukkit/protocol1_12to1_11_1/BukkitInvContainerUpdateTask.java @@ -0,0 +1,22 @@ +package us.myles.ViaVersion.bukkit.protocol1_12to1_11_1; + +import java.util.UUID; + +import us.myles.ViaVersion.bukkit.providers.BukkitInvContainerItemProvider; + +public class BukkitInvContainerUpdateTask implements Runnable { + + private BukkitInvContainerItemProvider provider; + private UUID uuid; + + public BukkitInvContainerUpdateTask(BukkitInvContainerItemProvider provider, UUID uuid) { + this.provider = provider; + this.uuid = uuid; + } + + @Override + public void run() { + // TODO Auto-generated method stub + provider.onTaskExecuted(uuid); + } +} \ No newline at end of file diff --git a/bukkit/src/main/java/us/myles/ViaVersion/bukkit/providers/BukkitInvContainerItemProvider.java b/bukkit/src/main/java/us/myles/ViaVersion/bukkit/providers/BukkitInvContainerItemProvider.java index 3b11a50e5..a02078e3b 100644 --- a/bukkit/src/main/java/us/myles/ViaVersion/bukkit/providers/BukkitInvContainerItemProvider.java +++ b/bukkit/src/main/java/us/myles/ViaVersion/bukkit/providers/BukkitInvContainerItemProvider.java @@ -1,15 +1,28 @@ package us.myles.ViaVersion.bukkit.providers; +import java.util.Map; +import java.util.UUID; +import java.util.concurrent.ConcurrentHashMap; + import us.myles.ViaVersion.api.data.UserConnection; +import us.myles.ViaVersion.bukkit.protocol1_12to1_11_1.BukkitInvContainerUpdateTask; +import us.myles.ViaVersion.protocols.base.ProtocolInfo; import us.myles.ViaVersion.protocols.protocol1_12to1_11_1.providers.InvContainerItemProvider; public class BukkitInvContainerItemProvider extends InvContainerItemProvider { + private static Map updateTasks = new ConcurrentHashMap<>(); + @Override public boolean registerInvClickPacket(short windowId, short slotId, short anumber, UserConnection uconnection) { + ProtocolInfo info = uconnection.get(ProtocolInfo.class); // TODO: lets add some stuff here :) - //http://wiki.vg/index.php?title=Protocol&oldid=13223#Click_Window - System.out.println("QUICK ACTION windowId: " + windowId + " slotId: " + slotId + " button: " + 0 + " anumber: " + anumber + " mode: " + 1); + // http://wiki.vg/index.php?title=Protocol&oldid=13223#Click_Window + System.out.println("info: " + info + " QUICK ACTION windowId: " + windowId + " slotId: " + slotId + " button: " + 0 + " anumber: " + anumber + " mode: " + 1); return false; // change to true once supported } + + public void onTaskExecuted(UUID uuid) { + updateTasks.remove(uuid); + } } \ No newline at end of file diff --git a/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_12to1_11_1/storage/InvItemStorage.java b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_12to1_11_1/storage/InvItemStorage.java new file mode 100644 index 000000000..d20fa9d0e --- /dev/null +++ b/common/src/main/java/us/myles/ViaVersion/protocols/protocol1_12to1_11_1/storage/InvItemStorage.java @@ -0,0 +1,13 @@ +package us.myles.ViaVersion.protocols.protocol1_12to1_11_1.storage; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter +public class InvItemStorage { + + private short windowId; + private short slotId; + private short actionNumber; +} \ No newline at end of file