Вопрос Как реализовать телепорт игрока на последнюю локацию?

qmaan

Разработчик
Пользователь
Сообщения
89
Как реализовать телепорт игрока на последнюю локацию?
 
Решение
Ну примерно так. Писал по памяти и под 18 java, так что, возможно, тебе придётся изменить некоторые моменты. Если хочешь хранить несколько последних локаций - используй коллекцию в качестве значения Map.

Java:
public class MyPlugin extends JavaPlugin implements Listener {
   
    private final Map<UUID, Location> lastPlayerLocation = new HashMap<>();
   
    @Override
    public void onEnable() {
        Bukkit.getPluginManager().registerEvents(this, this);
        getCommand("back").setExecutor(this);
    }
   
    public Optional<Location> findLastPlayerLocation(Player player) {
        Location location = lastPlayerLocation.get(player.getUniqueId());
        return location == null ? Optional.empty() : Optional.of(location);
    }...
1. Забыл скобки при вызове метода getUniqueId в методе сохранения локации.
2. Твоя версия Java не поддерживает (Java 14+). Используй старый.
3. Optional - возвращаемся ко второму пункту. В этой версии Optional ещё не обзавёлся таким методом (Java 9+). Переделай под .
4. Ты где-то посеял метод findLastPlayerLocation. Показывай весь код класса.
 
Назад
Сверху Снизу