fixed skin not being applied properly, made /skin privileged

This commit is contained in:
Elias Müller 2025-03-02 23:35:30 +01:00
parent 8fdd0487bf
commit 5bab1a1ac7
3 changed files with 6 additions and 11 deletions

View File

@ -1,6 +1,6 @@
package eu.mhsl.minenet.minigames.command; package eu.mhsl.minenet.minigames.command;
import eu.mhsl.minenet.minigames.command.anonymous.SkinCommand; import eu.mhsl.minenet.minigames.command.privileged.SkinCommand;
import eu.mhsl.minenet.minigames.command.privileged.*; import eu.mhsl.minenet.minigames.command.privileged.*;
import eu.mhsl.minenet.minigames.command.anonymous.HubCommand; import eu.mhsl.minenet.minigames.command.anonymous.HubCommand;
import eu.mhsl.minenet.minigames.command.anonymous.LeaveCommand; import eu.mhsl.minenet.minigames.command.anonymous.LeaveCommand;

View File

@ -1,11 +1,11 @@
package eu.mhsl.minenet.minigames.command.anonymous; package eu.mhsl.minenet.minigames.command.privileged;
import net.minestom.server.command.builder.Command; import eu.mhsl.minenet.minigames.command.PrivilegedCommand;
import net.minestom.server.command.builder.arguments.ArgumentType; import net.minestom.server.command.builder.arguments.ArgumentType;
import net.minestom.server.entity.Player; import net.minestom.server.entity.Player;
import net.minestom.server.entity.PlayerSkin; import net.minestom.server.entity.PlayerSkin;
public class SkinCommand extends Command { public class SkinCommand extends PrivilegedCommand {
public SkinCommand() { public SkinCommand() {
super("skin"); super("skin");

View File

@ -3,7 +3,6 @@ package eu.mhsl.minenet.minigames.skin;
import net.minestom.server.MinecraftServer; import net.minestom.server.MinecraftServer;
import net.minestom.server.entity.Player; import net.minestom.server.entity.Player;
import net.minestom.server.entity.PlayerSkin; import net.minestom.server.entity.PlayerSkin;
import net.minestom.server.timer.ExecutionType;
import net.minestom.server.timer.TaskSchedule; import net.minestom.server.timer.TaskSchedule;
import java.util.HashMap; import java.util.HashMap;
@ -12,19 +11,15 @@ import java.util.Map;
public class SkinCache { public class SkinCache {
private static final Map<String, PlayerSkin> skins = new HashMap<>(); private static final Map<String, PlayerSkin> skins = new HashMap<>();
public static PlayerSkin getSkin(Player p) {
return SkinCache.getSkin(p.getUsername());
}
public static PlayerSkin getSkin(String p) { public static PlayerSkin getSkin(String p) {
if(!skins.containsKey(p)) skins.put(p, PlayerSkin.fromUsername(p)); if(!skins.containsKey(p)) skins.put(p, PlayerSkin.fromUsername(p));
return skins.get(p); return skins.get(p);
} }
public static void applySkin(Player p) { public static void applySkin(Player p) {
MinecraftServer.getSchedulerManager().submitTask(() -> { MinecraftServer.getSchedulerManager().scheduleTask(() -> {
p.setSkin(SkinCache.getSkin(p.getUsername())); p.setSkin(SkinCache.getSkin(p.getUsername()));
return TaskSchedule.stop(); return TaskSchedule.stop();
}, ExecutionType.TICK_END); }, TaskSchedule.seconds(3));
} }
} }