mirror of
https://github.com/GeyserMC/Geyser.git
synced 2024-08-14 23:57:35 +00:00
Add protection for out-of-bounds inventory management
This commit is contained in:
parent
ad4196f5a0
commit
ffae69471d
1 changed files with 9 additions and 0 deletions
|
@ -30,6 +30,7 @@ import com.nukkitx.math.vector.Vector3i;
|
|||
import lombok.Getter;
|
||||
import lombok.NonNull;
|
||||
import lombok.Setter;
|
||||
import org.geysermc.connector.GeyserConnector;
|
||||
import org.geysermc.connector.network.session.GeyserSession;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
@ -86,10 +87,18 @@ public class Inventory {
|
|||
}
|
||||
|
||||
public GeyserItemStack getItem(int slot) {
|
||||
if (slot > this.size) {
|
||||
GeyserConnector.getInstance().getLogger().debug("Tried to get an item out of bounds! " + this.toString());
|
||||
return GeyserItemStack.EMPTY;
|
||||
}
|
||||
return items[slot];
|
||||
}
|
||||
|
||||
public void setItem(int slot, @NonNull GeyserItemStack newItem, GeyserSession session) {
|
||||
if (slot > this.size) {
|
||||
session.getConnector().getLogger().debug("Tried to set an item out of bounds! " + this.toString());
|
||||
return;
|
||||
}
|
||||
GeyserItemStack oldItem = items[slot];
|
||||
updateItemNetId(oldItem, newItem, session);
|
||||
items[slot] = newItem;
|
||||
|
|
Loading…
Reference in a new issue