add spawn-tp-item
This commit is contained in:
parent
bdd101114b
commit
b5f6ac467b
@ -1,6 +1,7 @@
|
||||
package eu.mhsl.craftattack.worldmuseum;
|
||||
|
||||
import eu.mhsl.craftattack.worldmuseum.commands.GamemodeCommand;
|
||||
import eu.mhsl.craftattack.worldmuseum.items.BedManager;
|
||||
import eu.mhsl.craftattack.worldmuseum.temp.GcCommand;
|
||||
import eu.mhsl.craftattack.worldmuseum.commands.SpawnCommand;
|
||||
import eu.mhsl.craftattack.worldmuseum.commands.TeleportCommand;
|
||||
@ -77,6 +78,7 @@ public class Main {
|
||||
player.setRespawnPoint(startworld.getSpawn());
|
||||
player.setGameMode(GameMode.CREATIVE);
|
||||
player.getInventory().setItemStack(0, compassManager.getCompass());
|
||||
player.getInventory().setItemStack(8, BedManager.getBedItem());
|
||||
});
|
||||
|
||||
|
||||
|
@ -0,0 +1,11 @@
|
||||
package eu.mhsl.craftattack.worldmuseum.items;
|
||||
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.minestom.server.item.ItemStack;
|
||||
import net.minestom.server.item.Material;
|
||||
|
||||
public class BedManager {
|
||||
public static ItemStack getBedItem() {
|
||||
return ItemStack.builder(Material.RED_BED).displayName(Component.text("Spawn-Teleporter")).build();
|
||||
}
|
||||
}
|
@ -1,7 +1,9 @@
|
||||
package eu.mhsl.craftattack.worldmuseum.listener;
|
||||
|
||||
import eu.mhsl.craftattack.worldmuseum.items.BedManager;
|
||||
import eu.mhsl.craftattack.worldmuseum.util.NewPlayer;
|
||||
import eu.mhsl.craftattack.worldmuseum.items.CompassManager;
|
||||
import eu.mhsl.craftattack.worldmuseum.worlds.World;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.minestom.server.event.player.PlayerUseItemEvent;
|
||||
import net.minestom.server.item.ItemStack;
|
||||
@ -15,15 +17,24 @@ public class ItemUseListener implements Consumer<PlayerUseItemEvent> {
|
||||
ItemStack usedItem = playerUseItemEvent.getItemStack();
|
||||
CompassManager compassManager = CompassManager.getInstance();
|
||||
|
||||
if (!usedItem.equals(compassManager.getCompass())) return;
|
||||
if (usedItem.equals(compassManager.getCompass())) compassUse(p);
|
||||
else if (usedItem.equals(BedManager.getBedItem())) bedUse(p);
|
||||
|
||||
playerUseItemEvent.setCancelled(true);
|
||||
}
|
||||
private void compassUse(NewPlayer p) {
|
||||
CompassManager compassManager = CompassManager.getInstance();
|
||||
if (!p.isAllowCompassUsage()) {
|
||||
long lastUsed = (System.currentTimeMillis() - p.getLastCompassUsage()) / 1000;
|
||||
p.sendActionBar(Component.text("Du kannst den Kompass erst in " + (10 - lastUsed) + " Sekunden wieder benutzen."));
|
||||
|
||||
return;
|
||||
}
|
||||
p.update_lastCompassUsage();
|
||||
p.openInventory(compassManager.getInventory());
|
||||
playerUseItemEvent.setCancelled(true);
|
||||
}
|
||||
private void bedUse(NewPlayer player) {
|
||||
World world = (World) player.getInstance();
|
||||
assert world != null;
|
||||
player.teleport(world.getSpawn());
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user