Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Стартап Помощь новичкам и тем, кто мало писал плагины. (+ LifeHack'и)

Нужно убедиться, что в зависимостях есть только paper-api, убедиться, что Maven-проект после внесения изменений в 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>org.example</groupId>
<artifactId>GameCreator</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
<maven.compiler.source>20</maven.compiler.source>
<maven.compiler.target>20</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<repositories>
<repository>
<id>sk89q-repo</id>
<url>https://maven.enginehub.org/repo/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.sk89q.worldguard</groupId>
<artifactId>worldguard-bukkit</artifactId>
<version>7.0.9</version>
<scope>provided</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<outputDirectory>D:\serverForPluginsDev\plugins</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>

</project>
 
Вот проблема в том, что я хз, что в пом писать( у меня щас там вот это:

<?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>org.example</groupId>
<artifactId>GameCreator</artifactId>
<version>1.0-SNAPSHOT</version>

<properties>
<maven.compiler.source>20</maven.compiler.source>
<maven.compiler.target>20</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<repositories>
<repository>
<id>sk89q-repo</id>
<url>https://maven.enginehub.org/repo/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.sk89q.worldguard</groupId>
<artifactId>worldguard-bukkit</artifactId>
<version>7.0.9</version>
<scope>provided</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<outputDirectory>D:\serverForPluginsDev\plugins</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>

</project>
Ну так у тебя не только это событие недоступно, а вообще ничего недоступно из апи.
У тебя к проекту не подключен ни Spigot, ни Paper. Читай про Paper тут:
https://github.com/PaperMC/Paper?tab=readme-ov-file#maven
 
Ура! Получилось! Огромное спасибо вам:good:
А нет. Появилась ещё одна проблема. Евент красным не горит, но он не работает. Просто не ловится момент смены брони. Ошибок в консоли тоже нету..

public class End2 implements Listener {
@EventHandler
public void end_2(PlayerArmorChangeEvent e) throws IOException{
Player p = e.getPlayer();
World w = p.getWorld();
String g = w.getName();
String gg = "world_the_end";
Material b1 = p.getInventory().getBoots().getType();
Material l1 = p.getInventory().getLeggings().getType();
Material c1 = p.getInventory().getChestplate().getType();
Material h1 = p.getInventory().getHelmet().getType();
p.sendMessage("s");
if(g.equals(gg)) {
if(b1 == Material.LEATHER_BOOTS & l1 == Material.LEATHER_LEGGINGS & c1 == Material.LEATHER_CHESTPLATE & h1 == Material.LEATHER_HELMET) {
p.sendMessage("sss");
p.setFreezeTicks(0);
}
}
}
}

В коде написал p.sendMessage("s"); для проверки, не выводится(
 
А нет. Появилась ещё одна проблема. Евент красным не горит, но он не работает. Просто не ловится момент смены брони. Ошибок в консоли тоже нету..

public class End2 implements Listener {
@EventHandler
public void end_2(PlayerArmorChangeEvent e) throws IOException{
Player p = e.getPlayer();
World w = p.getWorld();
String g = w.getName();
String gg = "world_the_end";
Material b1 = p.getInventory().getBoots().getType();
Material l1 = p.getInventory().getLeggings().getType();
Material c1 = p.getInventory().getChestplate().getType();
Material h1 = p.getInventory().getHelmet().getType();
p.sendMessage("s");
if(g.equals(gg)) {
if(b1 == Material.LEATHER_BOOTS & l1 == Material.LEATHER_LEGGINGS & c1 == Material.LEATHER_CHESTPLATE & h1 == Material.LEATHER_HELMET) {
p.sendMessage("sss");
p.setFreezeTicks(0);
}
}
}
}

В коде написал p.sendMessage("s"); для проверки, не выводится(
Слушатель зарегистрирован? Сервер тоже на ядре Paper или форках?
 
Слушатель зарегистрирован? Сервер тоже на ядре Paper или форках?
Еще вопрос появился :oops:
Что делать, если на игроке нету брони, и на 24 строчке он выкидывает нулл и не выполняет дальше программу? Вот тут:
Material b1 = p.getInventory().getBoots().getType();
 
Еще вопрос появился :oops:
Что делать, если на игроке нету брони, и на 24 строчке он выкидывает нулл и не выполняет дальше программу? Вот тут:
Material b1 = p.getInventory().getBoots().getType();
Наверное проверять не нулл ли ботинки?
 

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

Назад
Верх