add spawn-tp-item
This commit is contained in:
parent
bdd101114b
commit
b5f6ac467b
@ -1,6 +1,7 @@
|
|||||||
package eu.mhsl.craftattack.worldmuseum;
|
package eu.mhsl.craftattack.worldmuseum;
|
||||||
|
|
||||||
import eu.mhsl.craftattack.worldmuseum.commands.GamemodeCommand;
|
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.temp.GcCommand;
|
||||||
import eu.mhsl.craftattack.worldmuseum.commands.SpawnCommand;
|
import eu.mhsl.craftattack.worldmuseum.commands.SpawnCommand;
|
||||||
import eu.mhsl.craftattack.worldmuseum.commands.TeleportCommand;
|
import eu.mhsl.craftattack.worldmuseum.commands.TeleportCommand;
|
||||||
@ -77,6 +78,7 @@ public class Main {
|
|||||||
player.setRespawnPoint(startworld.getSpawn());
|
player.setRespawnPoint(startworld.getSpawn());
|
||||||
player.setGameMode(GameMode.CREATIVE);
|
player.setGameMode(GameMode.CREATIVE);
|
||||||
player.getInventory().setItemStack(0, compassManager.getCompass());
|
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;
|
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.util.NewPlayer;
|
||||||
import eu.mhsl.craftattack.worldmuseum.items.CompassManager;
|
import eu.mhsl.craftattack.worldmuseum.items.CompassManager;
|
||||||
|
import eu.mhsl.craftattack.worldmuseum.worlds.World;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.minestom.server.event.player.PlayerUseItemEvent;
|
import net.minestom.server.event.player.PlayerUseItemEvent;
|
||||||
import net.minestom.server.item.ItemStack;
|
import net.minestom.server.item.ItemStack;
|
||||||
@ -15,15 +17,24 @@ public class ItemUseListener implements Consumer<PlayerUseItemEvent> {
|
|||||||
ItemStack usedItem = playerUseItemEvent.getItemStack();
|
ItemStack usedItem = playerUseItemEvent.getItemStack();
|
||||||
CompassManager compassManager = CompassManager.getInstance();
|
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()) {
|
if (!p.isAllowCompassUsage()) {
|
||||||
long lastUsed = (System.currentTimeMillis() - p.getLastCompassUsage()) / 1000;
|
long lastUsed = (System.currentTimeMillis() - p.getLastCompassUsage()) / 1000;
|
||||||
p.sendActionBar(Component.text("Du kannst den Kompass erst in " + (10 - lastUsed) + " Sekunden wieder benutzen."));
|
p.sendActionBar(Component.text("Du kannst den Kompass erst in " + (10 - lastUsed) + " Sekunden wieder benutzen."));
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
p.update_lastCompassUsage();
|
p.update_lastCompassUsage();
|
||||||
p.openInventory(compassManager.getInventory());
|
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