Mirror von
https://github.com/GeyserMC/Geyser.git
synchronisiert 2024-12-27 08:30:12 +01:00
Use Int2ObjectMap in InventoryCache and JavaServerDeclareCommandsTranslator
Dieser Commit ist enthalten in:
Ursprung
8b487df698
Commit
61587ec320
@ -25,14 +25,13 @@
|
|||||||
|
|
||||||
package org.geysermc.connector.network.session.cache;
|
package org.geysermc.connector.network.session.cache;
|
||||||
|
|
||||||
|
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
|
||||||
|
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import org.geysermc.connector.inventory.Inventory;
|
import org.geysermc.connector.inventory.Inventory;
|
||||||
import org.geysermc.connector.network.session.GeyserSession;
|
import org.geysermc.connector.network.session.GeyserSession;
|
||||||
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
public class InventoryCache {
|
public class InventoryCache {
|
||||||
|
|
||||||
private GeyserSession session;
|
private GeyserSession session;
|
||||||
@ -42,7 +41,7 @@ public class InventoryCache {
|
|||||||
private Inventory openInventory;
|
private Inventory openInventory;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
private Map<Integer, Inventory> inventories = new HashMap<Integer, Inventory>();
|
private Int2ObjectMap<Inventory> inventories = new Int2ObjectOpenHashMap<>();
|
||||||
|
|
||||||
public InventoryCache(GeyserSession session) {
|
public InventoryCache(GeyserSession session) {
|
||||||
this.session = session;
|
this.session = session;
|
||||||
|
@ -32,6 +32,8 @@ import com.nukkitx.protocol.bedrock.data.CommandData;
|
|||||||
import com.nukkitx.protocol.bedrock.data.CommandEnumData;
|
import com.nukkitx.protocol.bedrock.data.CommandEnumData;
|
||||||
import com.nukkitx.protocol.bedrock.data.CommandParamData;
|
import com.nukkitx.protocol.bedrock.data.CommandParamData;
|
||||||
import com.nukkitx.protocol.bedrock.packet.AvailableCommandsPacket;
|
import com.nukkitx.protocol.bedrock.packet.AvailableCommandsPacket;
|
||||||
|
import it.unimi.dsi.fastutil.ints.Int2ObjectMap;
|
||||||
|
import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import org.geysermc.connector.GeyserConnector;
|
import org.geysermc.connector.GeyserConnector;
|
||||||
import org.geysermc.connector.network.session.GeyserSession;
|
import org.geysermc.connector.network.session.GeyserSession;
|
||||||
@ -45,8 +47,8 @@ public class JavaServerDeclareCommandsTranslator extends PacketTranslator<Server
|
|||||||
@Override
|
@Override
|
||||||
public void translate(ServerDeclareCommandsPacket packet, GeyserSession session) {
|
public void translate(ServerDeclareCommandsPacket packet, GeyserSession session) {
|
||||||
List<CommandData> commandData = new ArrayList<>();
|
List<CommandData> commandData = new ArrayList<>();
|
||||||
Map<Integer, String> commands = new HashMap<>();
|
Int2ObjectMap<String> commands = new Int2ObjectOpenHashMap<>();
|
||||||
Map<Integer, List<CommandNode>> commandArgs = new HashMap<>();
|
Int2ObjectMap<List<CommandNode>> commandArgs = new Int2ObjectOpenHashMap<>();
|
||||||
|
|
||||||
// Get the first node, it should be a root node
|
// Get the first node, it should be a root node
|
||||||
CommandNode rootNode = packet.getNodes()[packet.getFirstNodeIndex()];
|
CommandNode rootNode = packet.getNodes()[packet.getFirstNodeIndex()];
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren