various changes and updates
This commit is contained in:
parent
969178366e
commit
c92bc0f5a8
@ -16,7 +16,6 @@ public class ActionItemManager {
|
||||
List<IActionItem> actionItems = List.of(
|
||||
new WorldSelector(),
|
||||
new LeaveItem(),
|
||||
new FlightChanger(),
|
||||
new SpawnTeleport(),
|
||||
new SpeedChanger()
|
||||
);
|
||||
|
@ -1,35 +0,0 @@
|
||||
package eu.mhsl.minecraft.WorldMuseum.items.actionItems;
|
||||
|
||||
import net.kyori.adventure.text.Component;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class FlightChanger implements IActionItem {
|
||||
private final ItemStack item = generateItem();
|
||||
|
||||
private ItemStack generateItem() {
|
||||
ItemStack item = new ItemStack(Material.ELYTRA);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.displayName(Component.text("Aktiviere/Deaktiviere Fliegen"));
|
||||
item.setItemMeta(meta);
|
||||
return item;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void action(@NotNull Player player) {
|
||||
player.setFlying(!player.isFlying());
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getItem() {
|
||||
return item;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemLocation() {
|
||||
return 1;
|
||||
}
|
||||
}
|
@ -12,7 +12,7 @@ import java.util.List;
|
||||
import java.util.stream.IntStream;
|
||||
|
||||
public class SpeedChanger implements IActionItem {
|
||||
List<Float> flySpeeds = List.of(0.2f, 0.4f, 0.6f, 0.8f);
|
||||
List<Float> flySpeeds = List.of(0.1f, 0.3f, 0.5f, 0.7f);
|
||||
|
||||
@Override
|
||||
public void action(@NotNull Player player) {
|
||||
@ -42,6 +42,6 @@ public class SpeedChanger implements IActionItem {
|
||||
|
||||
@Override
|
||||
public int getItemLocation() {
|
||||
return 2;
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import eu.mhsl.minecraft.WorldMuseum.Main;
|
||||
import eu.mhsl.minecraft.WorldMuseum.viewableWorld.ViewableWorld;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.format.NamedTextColor;
|
||||
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -15,6 +16,7 @@ import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public class WorldSelector implements IActionItem {
|
||||
private Inventory generateWorldSelectorInventory() {
|
||||
@ -26,8 +28,13 @@ public class WorldSelector implements IActionItem {
|
||||
Inventory inventory = Bukkit.createInventory(null, inventorySize, Component.text("Weltenmuseum"));
|
||||
|
||||
worlds.stream()
|
||||
.filter(ViewableWorld::isEnabled)
|
||||
.forEach(viewableWorld -> inventory.addItem(viewableWorld.getItem()));
|
||||
.filter(ViewableWorld::isEnabled)
|
||||
.sorted((o1, o2) -> {
|
||||
String name1 = PlainTextComponentSerializer.plainText().serialize(o1.getItem().displayName());
|
||||
String name2 = PlainTextComponentSerializer.plainText().serialize(o2.getItem().displayName());
|
||||
return name1.compareTo(name2);
|
||||
})
|
||||
.forEach(viewableWorld -> inventory.addItem(viewableWorld.getItem()));
|
||||
|
||||
boolean canExit = Main.instance().getConfig().getBoolean("bungee.enabled");
|
||||
if(canExit) inventory.setItem(inventorySize - 1, exitItem());
|
||||
@ -51,6 +58,12 @@ public class WorldSelector implements IActionItem {
|
||||
|
||||
@EventHandler
|
||||
public void onInteract(InventoryClickEvent event) {
|
||||
if(Objects.equals(event.getCurrentItem(), exitItem())) {
|
||||
LeaveItem item = new LeaveItem();
|
||||
item.action((Player) event.getWhoClicked());
|
||||
return;
|
||||
}
|
||||
|
||||
List<ItemStack> worldItems = Main.instance().getWorlds().stream().map(ViewableWorld::getItem).toList();
|
||||
if(!worldItems.contains(event.getCurrentItem())) return;
|
||||
event.setCancelled(true);
|
||||
@ -63,7 +76,7 @@ public class WorldSelector implements IActionItem {
|
||||
|
||||
@Override
|
||||
public ItemStack getItem() {
|
||||
ItemStack item = new ItemStack(Material.GRASS_BLOCK);
|
||||
ItemStack item = new ItemStack(Material.COMPASS);
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
meta.displayName(Component.text("Weltenliste", NamedTextColor.GOLD));
|
||||
item.setItemMeta(meta);
|
||||
|
@ -28,13 +28,16 @@ public class PlayerListener implements Listener {
|
||||
@EventHandler
|
||||
public void onJoin(PlayerJoinEvent event) {
|
||||
Player player = event.getPlayer();
|
||||
player.getInventory().clear();
|
||||
player.getActivePotionEffects().clear();
|
||||
player.clearTitle();
|
||||
|
||||
player.setGameMode(GameMode.SURVIVAL);
|
||||
player.setAllowFlight(true);
|
||||
player.setInvulnerable(true);
|
||||
player.setFoodLevel(20);
|
||||
player.setHealth(20);
|
||||
player.setAllowFlight(true);
|
||||
player.setFlying(true);
|
||||
|
||||
Main.instance().getWorlds().stream()
|
||||
.filter(ViewableWorld::isDefaultWorld)
|
||||
|
@ -61,6 +61,7 @@ public class ViewableWorld {
|
||||
this.world = worldCreator.createWorld();
|
||||
Objects.requireNonNull(this.world);
|
||||
this.world.setAutoSave(false);
|
||||
this.world.setClearWeatherDuration(Integer.MAX_VALUE);
|
||||
}
|
||||
|
||||
public void unloadWorld() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user