1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Как вывести название региона на экране?

Тема в разделе "Разработка плагинов для новичков", создана пользователем ak2913375, 9 май 2023.

Статус темы:
Закрыта.
  1. Автор темы
    ak2913375

    ak2913375 Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    aim07
    Здравствуйте. Я столкнулся с такой проблемой, что WorldGuard не ставится в зависимость и каждый раз выдает ошибку. Буду благодарен, если поможете разобраться.

    Сам код плагина:
    Код:
    package com.regiondisplay;
    
    import com.sk89q.worldedit.bukkit.BukkitAdapter;
    import com.sk89q.worldguard.WorldGuard;
    import com.sk89q.worldguard.protection.ApplicableRegionSet;
    import com.sk89q.worldguard.protection.regions.ProtectedRegion;
    import com.sk89q.worldguard.protection.regions.RegionQuery;
    import org.bukkit.Bukkit;
    import org.bukkit.entity.Player;
    import org.bukkit.event.EventHandler;
    import org.bukkit.event.Listener;
    import org.bukkit.event.player.PlayerMoveEvent;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class RegionDisplay extends JavaPlugin implements Listener {
    
    @Override
    public void onEnable() {
    Bukkit.getPluginManager().registerEvents(this, this);
    }
    
    @EventHandler
    public void onPlayerMove(PlayerMoveEvent event) {
    Player player = event.getPlayer();
    String regionName = "";
    boolean ownsRegion = false;
    RegionQuery query = WorldGuard.getInstance().getPlatform().getRegionContainer().createQuery();
    ApplicableRegionSet regions = query.getApplicableRegions(BukkitAdapter.adapt(player.getLocation()));
    for (ProtectedRegion region : regions) {
    if (region.getOwners().contains(player.getUniqueId()) || region.getMembers().contains(player.getUniqueId())) {
    regionName = region.getId();
    ownsRegion = true;
    break;
    } else {
    regionName = region.getId();
    }
    }
    if (ownsRegion) {
    player.sendActionBar("§7Регион: " + "§a" + regionName);
    } else if (!regionName.equals("")) {
    player.sendActionBar("§7Регион: " + "§c" + regionName);
    } else {
    player.sendActionBar("§7Регион: " + "§cНет региона");
    }
    }
    }
    
    

    POM-файл
    Код:
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    
    <groupId>com</groupId>
    <artifactId>regiondisplay</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>
    
    <name>regiondisplay</name>
    
    <properties>
    <java.version>1.8</java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    
    <build>
    <plugins>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
    <configuration>
    <source>${java.version}</source>
    <target>${java.version}</target>
    </configuration>
    </plugin>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>3.2.4</version>
    <executions>
    <execution>
    <phase>package</phase>
    <goals>
    <goal>shade</goal>
    </goals>
    <configuration>
    <createDependencyReducedPom>false</createDependencyReducedPom>
    </configuration>
    </execution>
    </executions>
    </plugin>
    </plugins>
    <resources>
    <resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
    </resource>
    </resources>
    </build>
    
    <repositories>
    <repository>
    <id>papermc-repo</id>
    <url>https://repo.papermc.io/repository/maven-public/</url>
    </repository>
    <repository>
    <id>sonatype</id>
    <url>https://oss.sonatype.org/content/groups/public/</url>
    </repository>
    <repository>
    <id>sk89q-repo</id>
    <url>https://maven.enginehub.org/repo/</url>
    </repository>
    </repositories>
    
    <dependencies>
    <dependency>
    <groupId>io.papermc.paper</groupId>
    <artifactId>paper-api</artifactId>
    <version>1.19.4-R0.1-SNAPSHOT</version>
    <scope>provided</scope>
    </dependency>
    <dependency>
    <groupId>com.sk89q.worldguard</groupId>
    <artifactId>worldguard-bukkit</artifactId>
    <version>7.1.0</version>
    </dependency>
    </dependencies>
    </project>
    
     
    Последнее редактирование: 9 май 2023
  2. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
  3. Автор темы
    ak2913375

    ak2913375 Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    aim07
  4. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Могу лишь послать читать документацию. На первый взгляд, пользуешься устаревшими методами.
    https://worldguard.enginehub.org/en/latest/developer/regions/spatial-queries/
     
  5. Автор темы
    ak2913375

    ak2913375 Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    aim07
    Документация это конечно, хорошо, но в двух словах бы объяснить и будет вообще прекрасно. Ошибки убрал и плагин скомпилировался и опять с зависимостью от worldguard что-то беда какая-то. Указал этот репозиторий https://maven.enginehub.org/repo/com/sk89q/worldguard/worldguard-bukkit/, а он вообще левый какой-то открывает
    upload_2023-5-9_5-41-0.png
    upload_2023-5-9_5-42-43.png
     
  6. imDaniX

    imDaniX Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    imDaniX
    Не нужно указывать репозиторий глубже того, что написан на странице - с этим Maven сам разберется.
    В принципе, можешь убрать репозиторий sonatype - он тебе вряд ли понадобится тут.
    По ошибке - скорее всего ты забыл прописать <scope>provided</scope> в зависимостях в pom.xml, из-за чего скорее всего твой плагин теперь вкладывает в себя WG.
    Для пояснений малость не хватает четкости вопроса. Да и моё пояснение в сущности будет являться тем же, чем занимаешься ты - я просто буду смотреть в документацию и пытаться рассказать как это работает :D
     
  7. Автор темы
    ak2913375

    ak2913375 Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    aim07
    Спасибо. Это недоразумение работает! upload_2023-5-9_16-14-25.png
     
    Последнее редактирование: 9 май 2023
Статус темы:
Закрыта.

Поделиться этой страницей