Skip to content

Commit 5a43b03

Browse files
authored
Correctif de l'erreur lors d'un click en inventaire (#1309)
* rename PacketListener in MainMenuListener * rename PacketListener in PacketMenuListener + fix Field index 0 out of bound for 0
1 parent c4f1b00 commit 5a43b03

6 files changed

Lines changed: 17 additions & 16 deletions

File tree

src/main/java/fr/openmc/api/packetmenulib/PacketMenuLib.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ public final class PacketMenuLib {
2020
@Getter
2121
private static final Map<UUID, Integer> windowIds = new HashMap<>();
2222
@Getter
23-
private static PacketListener packetListener;
23+
private static PacketMenuListener packetListener;
2424

2525
public static void init(JavaPlugin plugin) {
26-
packetListener = new PacketListener(plugin);
26+
packetListener = new PacketMenuListener(plugin);
2727
}
2828

2929
/**

src/main/java/fr/openmc/api/packetmenulib/PacketListener.java renamed to src/main/java/fr/openmc/api/packetmenulib/PacketMenuListener.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,18 @@
1010
import fr.openmc.api.packetmenulib.menu.ClickType;
1111
import fr.openmc.api.packetmenulib.menu.Menu;
1212
import lombok.Getter;
13+
import net.minecraft.world.inventory.ContainerInput;
1314
import org.bukkit.entity.Player;
1415
import org.bukkit.plugin.Plugin;
1516

1617
import java.util.Objects;
1718
import java.util.UUID;
1819

19-
public class PacketListener extends PacketAdapter {
20+
public class PacketMenuListener extends PacketAdapter {
2021
@Getter
21-
private static PacketListener instance;
22+
private static PacketMenuListener instance;
2223

23-
public PacketListener(Plugin plugin) {
24+
public PacketMenuListener(Plugin plugin) {
2425
super(plugin, PacketType.Play.Client.WINDOW_CLICK, PacketType.Play.Client.CLOSE_WINDOW, PacketType.Play.Server.OPEN_WINDOW, PacketType.Play.Server.SET_SLOT);
2526
ProtocolLibrary.getProtocolManager().addPacketListener(this);
2627
instance = this;
@@ -51,7 +52,7 @@ public void onPacketReceiving(PacketEvent event) {
5152
int stateId = packet.getIntegers().read(1);
5253
short slot = packet.getShorts().read(0);
5354
byte button = packet.getBytes().read(0);
54-
int mode = ( (net.minecraft.world.inventory.ClickAction) packet.getStructures().withType(net.minecraft.world.inventory.ClickAction.class).read(0)).ordinal();
55+
int mode = ((ContainerInput) packet.getStructures().withType(ContainerInput.class).read(0)).ordinal();
5556

5657
if (PacketMenuLib.getWindowIds().containsKey(event.getPlayer().getUniqueId()) && windowId == PacketMenuLib.getWindowIds().get(event.getPlayer().getUniqueId())) {
5758
Player player = event.getPlayer();

src/main/java/fr/openmc/core/features/mainmenu/MainMenu.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
import fr.openmc.core.bootstrap.features.types.LoadIfEnable;
1010
import fr.openmc.core.bootstrap.features.types.NotInUnitTest;
1111
import fr.openmc.core.features.mainmenu.commands.MainMenuCommand;
12-
import fr.openmc.core.features.mainmenu.listeners.PacketListener;
12+
import fr.openmc.core.features.mainmenu.listeners.MainMenuListener;
1313
import fr.openmc.core.features.mainmenu.menus.Page1;
1414
import fr.openmc.core.hooks.ProtocolLibHook;
1515
import org.bukkit.entity.Player;
@@ -20,7 +20,7 @@
2020
public class MainMenu extends Feature implements NotInUnitTest, LoadAfterItemsAdder, LoadIfEnable<ProtocolLibHook>, HasCommands {
2121
@Override
2222
public void init() {
23-
new PacketListener(OMCPlugin.getInstance());
23+
new MainMenuListener(OMCPlugin.getInstance());
2424
}
2525

2626
@Override

src/main/java/fr/openmc/core/features/mainmenu/listeners/PacketListener.java renamed to src/main/java/fr/openmc/core/features/mainmenu/listeners/MainMenuListener.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@
2929

3030
import java.util.*;
3131

32-
public class PacketListener implements Listener {
32+
public class MainMenuListener implements Listener {
3333

3434
private final ClientboundUpdateAdvancementsPacket advancementPacket;
3535
@Getter
3636
private static final Map<UUID, ClientboundUpdateAdvancementsPacket> advancementPackets = new HashMap<>();
3737
@Getter
3838
private static final List<UUID> enabledAdvancements = new ArrayList<>();
3939

40-
public PacketListener(OMCPlugin plugin) {
40+
public MainMenuListener(OMCPlugin plugin) {
4141
Bukkit.getPluginManager().registerEvents(this, plugin);
4242
advancementPacket = createEmptyAdvancementPacket();
4343
}

src/main/java/fr/openmc/core/features/mainmenu/menus/Page1.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import fr.openmc.core.features.events.contents.weeklyevents.contents.contest.models.ContestData;
2323
import fr.openmc.core.features.homes.command.TpHomeCommand;
2424
import fr.openmc.core.features.mailboxes.commands.MailboxCommand;
25-
import fr.openmc.core.features.mainmenu.listeners.PacketListener;
25+
import fr.openmc.core.features.mainmenu.listeners.MainMenuListener;
2626
import fr.openmc.core.features.milestones.menus.MainMilestonesMenu;
2727
import fr.openmc.core.features.quests.command.QuestCommand;
2828
import fr.openmc.core.features.settings.command.SettingsCommand;
@@ -251,12 +251,12 @@ public void onInventoryClick(InventoryClickEvent event) {
251251
PacketMenuLib.closeMenu(player);
252252
Bukkit.getScheduler().runTask(OMCPlugin.getInstance(), () -> {
253253
ServerPlayer nmsPlayer = ((CraftPlayer) player).getHandle();
254-
ClientboundUpdateAdvancementsPacket packet = PacketListener.getAdvancementPackets().get(nmsPlayer.getUUID());
254+
ClientboundUpdateAdvancementsPacket packet = MainMenuListener.getAdvancementPackets().get(nmsPlayer.getUUID());
255255
if (packet == null)
256256
return;
257257

258258
nmsPlayer.connection.send(packet);
259-
PacketListener.getEnabledAdvancements().add(nmsPlayer.getUUID());
259+
MainMenuListener.getEnabledAdvancements().add(nmsPlayer.getUUID());
260260
Component message = Component.text("Appuyez sur la touche '").color(NamedTextColor.GREEN)
261261
.append(Component.keybind("key.advancements").color(NamedTextColor.YELLOW))
262262
.append(Component.text("' pour ouvrir le menu des Avancements.", NamedTextColor.GREEN));

src/main/java/fr/openmc/core/features/mainmenu/menus/Page2.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
import fr.openmc.core.features.dream.DreamUtils;
1212
import fr.openmc.core.features.economy.commands.BankCommands;
1313
import fr.openmc.core.features.mailboxes.commands.MailboxCommand;
14-
import fr.openmc.core.features.mainmenu.listeners.PacketListener;
14+
import fr.openmc.core.features.mainmenu.listeners.MainMenuListener;
1515
import fr.openmc.core.features.settings.command.SettingsCommand;
1616
import fr.openmc.core.utils.text.messages.MessageType;
1717
import fr.openmc.core.utils.text.messages.MessagesManager;
@@ -171,12 +171,12 @@ public void onInventoryClick(InventoryClickEvent event) {
171171
PacketMenuLib.closeMenu(player);
172172
Bukkit.getScheduler().runTask(OMCPlugin.getInstance(), () -> {
173173
ServerPlayer nmsPlayer = ((CraftPlayer) player).getHandle();
174-
ClientboundUpdateAdvancementsPacket packet = PacketListener.getAdvancementPackets().get(nmsPlayer.getUUID());
174+
ClientboundUpdateAdvancementsPacket packet = MainMenuListener.getAdvancementPackets().get(nmsPlayer.getUUID());
175175
if (packet == null)
176176
return;
177177

178178
nmsPlayer.connection.send(packet);
179-
PacketListener.getEnabledAdvancements().add(nmsPlayer.getUUID());
179+
MainMenuListener.getEnabledAdvancements().add(nmsPlayer.getUUID());
180180
Component message = Component.text("Appuyez sur la touche '").color(NamedTextColor.GREEN)
181181
.append(Component.keybind("key.advancements").color(NamedTextColor.YELLOW))
182182
.append(Component.text("' pour ouvrir le menu des avancements.", NamedTextColor.GREEN));

0 commit comments

Comments
 (0)