mirror of
https://github.com/Shiewk/SModeration.git
synced 2026-04-28 05:54:16 +02:00
Use API version 1.21.3, fix invsee
This commit is contained in:
+1
-5
@@ -11,10 +11,6 @@ repositories {
|
|||||||
name = "papermc-repo"
|
name = "papermc-repo"
|
||||||
url = "https://repo.papermc.io/repository/maven-public/"
|
url = "https://repo.papermc.io/repository/maven-public/"
|
||||||
}
|
}
|
||||||
maven {
|
|
||||||
name = "sonatype"
|
|
||||||
url = "https://oss.sonatype.org/content/groups/public/"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
processResources {
|
processResources {
|
||||||
@@ -27,7 +23,7 @@ processResources {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compileOnly("io.papermc.paper:paper-api:1.21-R0.1-SNAPSHOT")
|
compileOnly("io.papermc.paper:paper-api:1.21.3-R0.1-SNAPSHOT")
|
||||||
}
|
}
|
||||||
|
|
||||||
jar {
|
jar {
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import com.mojang.brigadier.context.CommandContext;
|
|||||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||||
import com.mojang.brigadier.tree.LiteralCommandNode;
|
import com.mojang.brigadier.tree.LiteralCommandNode;
|
||||||
import de.shiewk.smoderation.paper.inventory.InvSeeEquipmentInventory;
|
import de.shiewk.smoderation.paper.inventory.InvSeeEquipmentInventory;
|
||||||
|
import de.shiewk.smoderation.paper.inventory.InvSeeInventory;
|
||||||
import de.shiewk.smoderation.paper.util.CommandUtil;
|
import de.shiewk.smoderation.paper.util.CommandUtil;
|
||||||
import io.papermc.paper.command.brigadier.CommandSourceStack;
|
import io.papermc.paper.command.brigadier.CommandSourceStack;
|
||||||
import io.papermc.paper.command.brigadier.argument.ArgumentTypes;
|
import io.papermc.paper.command.brigadier.argument.ArgumentTypes;
|
||||||
@@ -50,7 +51,7 @@ public final class InvseeCommand implements CommandProvider {
|
|||||||
.append(target.teamDisplayName().colorIfAbsent(SECONDARY_COLOR))
|
.append(target.teamDisplayName().colorIfAbsent(SECONDARY_COLOR))
|
||||||
.append(text("."))
|
.append(text("."))
|
||||||
));
|
));
|
||||||
sender.openInventory(target.getInventory());
|
new InvSeeInventory(sender, target).open();
|
||||||
return Command.SINGLE_SUCCESS;
|
return Command.SINGLE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,69 @@
|
|||||||
|
package de.shiewk.smoderation.paper.inventory;
|
||||||
|
|
||||||
|
import de.shiewk.smoderation.paper.SModerationPaper;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.entity.HumanEntity;
|
||||||
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
|
import org.bukkit.inventory.Inventory;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import static net.kyori.adventure.text.Component.text;
|
||||||
|
|
||||||
|
public class InvSeeInventory implements AutoUpdatingCustomInventory {
|
||||||
|
private final HumanEntity viewer;
|
||||||
|
private final HumanEntity subject;
|
||||||
|
private final Inventory subjectInventory;
|
||||||
|
private final Inventory inventory;
|
||||||
|
private boolean changing = false;
|
||||||
|
|
||||||
|
public InvSeeInventory(HumanEntity viewer, HumanEntity subject) {
|
||||||
|
this.viewer = viewer;
|
||||||
|
this.subject = subject;
|
||||||
|
this.subjectInventory = subject.getInventory();
|
||||||
|
this.inventory = Bukkit.createInventory(this, 36, text("Player inventory"));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void refresh() {
|
||||||
|
if (!changing){
|
||||||
|
loadContents();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void loadContents() {
|
||||||
|
for (int i = 0; i < inventory.getSize(); i++) {
|
||||||
|
inventory.setItem(i, subjectInventory.getItem(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void open() {
|
||||||
|
refresh();
|
||||||
|
viewer.openInventory(getInventory());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void click(ItemStack stack, InventoryClickEvent event) {
|
||||||
|
if (viewer.hasPermission("smod.invsee.modify") && !subject.hasPermission("smod.invsee.preventmodify")){
|
||||||
|
event.setCancelled(false);
|
||||||
|
changing = true;
|
||||||
|
Bukkit.getScheduler().scheduleSyncDelayedTask(SModerationPaper.PLUGIN, () -> {
|
||||||
|
changing = false;
|
||||||
|
applyChanges();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void applyChanges() {
|
||||||
|
for (int i = 0; i < inventory.getSize(); i++) {
|
||||||
|
subjectInventory.setItem(i, inventory.getItem(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public @NotNull Inventory getInventory() {
|
||||||
|
return inventory;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -9,6 +9,7 @@ import de.shiewk.smoderation.paper.punishments.PunishmentType;
|
|||||||
import de.shiewk.smoderation.paper.storage.PunishmentContainer;
|
import de.shiewk.smoderation.paper.storage.PunishmentContainer;
|
||||||
import de.shiewk.smoderation.paper.util.PlayerUtil;
|
import de.shiewk.smoderation.paper.util.PlayerUtil;
|
||||||
import de.shiewk.smoderation.paper.util.TimeUtil;
|
import de.shiewk.smoderation.paper.util.TimeUtil;
|
||||||
|
import io.papermc.paper.datacomponent.DataComponentTypes;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.TextComponent;
|
import net.kyori.adventure.text.TextComponent;
|
||||||
import net.kyori.adventure.text.format.NamedTextColor;
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
@@ -20,7 +21,6 @@ import org.bukkit.Sound;
|
|||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.inventory.InventoryClickEvent;
|
import org.bukkit.event.inventory.InventoryClickEvent;
|
||||||
import org.bukkit.inventory.Inventory;
|
import org.bukkit.inventory.Inventory;
|
||||||
import org.bukkit.inventory.ItemFlag;
|
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
import org.bukkit.inventory.meta.SkullMeta;
|
import org.bukkit.inventory.meta.SkullMeta;
|
||||||
@@ -257,7 +257,7 @@ public class SModMenu extends PageableCustomInventory {
|
|||||||
private ItemStack createSearchItem(){
|
private ItemStack createSearchItem(){
|
||||||
final ItemStack stack = new ItemStack(Material.FLOWER_BANNER_PATTERN);
|
final ItemStack stack = new ItemStack(Material.FLOWER_BANNER_PATTERN);
|
||||||
stack.editMeta(meta -> {
|
stack.editMeta(meta -> {
|
||||||
meta.addItemFlags(ItemFlag.HIDE_ITEM_SPECIFICS);
|
stack.setData(DataComponentTypes.HIDE_ADDITIONAL_TOOLTIP);
|
||||||
meta.displayName(applyFormatting(text("Search").color(PRIMARY_COLOR)));
|
meta.displayName(applyFormatting(text("Search").color(PRIMARY_COLOR)));
|
||||||
final ArrayList<Component> lore = new ArrayList<>(List.of(
|
final ArrayList<Component> lore = new ArrayList<>(List.of(
|
||||||
Component.empty(),
|
Component.empty(),
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
name: SModeration
|
name: SModeration
|
||||||
version: '${version}'
|
version: '${version}'
|
||||||
main: de.shiewk.smoderation.paper.SModerationPaper
|
main: de.shiewk.smoderation.paper.SModerationPaper
|
||||||
api-version: '1.21'
|
api-version: '1.21.3'
|
||||||
load: STARTUP
|
load: STARTUP
|
||||||
authors:
|
authors:
|
||||||
- Shiewk
|
- Shiewk
|
||||||
|
|||||||
Reference in New Issue
Block a user