- Баллы
- 31
Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.

Но тогда не будет анимации подбора предметаКак вариант от меняешь событие item pickup и сетаешь в нужный слот и тем, если занят, то предыдущий. Однако реализация так себе
P.s. Не гоже теме без ответа лежать.
Анимацию можно запустить самостоятельно:Но тогда не будет анимации подбора предмета
Хорошо, сейчас попробую у себя что-то изобразитьАнимацию можно запустить самостоятельно:
https://jd.papermc.io/paper/1.20/or...ckupItemAnimation(org.bukkit.entity.Item,int)
Ещё возможно удобней будет использовать вот это событие:
https://jd.papermc.io/paper/1.20/org/bukkit/event/player/PlayerAttemptPickupItemEvent.html
Стоп, погодите-ка...Анимацию можно запустить самостоятельно:
https://jd.papermc.io/paper/1.20/or...ckupItemAnimation(org.bukkit.entity.Item,int)
Ещё возможно удобней будет использовать вот это событие:
https://jd.papermc.io/paper/1.20/org/bukkit/event/player/PlayerAttemptPickupItemEvent.html
package com.notcopter.notbedwars.events;
import org.bukkit.Bukkit;
import org.bukkit.EntityEffect;
import org.bukkit.entity.Entity;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerAttemptPickupItemEvent;
public class ImprovedItemPickup implements Listener {
@EventHandler
public void PlayerAttemptPickupItemEvent(PlayerAttemptPickupItemEvent event) {
if (event.getPlayer() == null) return;
Entity livingEntity = (Entity) event.getPlayer();
livingEntity.playPickupItemAnimation(event.getItem(), 1);
event.getItem().remove();
event.setCancelled(true);
for (Player player : Bukkit.getOnlinePlayers()) {
if (player.getLocation().distance(event.getItem().getLocation()) > 1) continue;
player.getInventory().addItem(event.getItem().getItemStack());
}
}
}
Я наверное понял в чём прикол, у меня версия сервер 1.12.2, а ссылка на апи, видимо для 1.20Анимацию можно запустить самостоятельно:
https://jd.papermc.io/paper/1.20/or...ckupItemAnimation(org.bukkit.entity.Item,int)
Ещё возможно удобней будет использовать вот это событие:
https://jd.papermc.io/paper/1.20/org/bukkit/event/player/PlayerAttemptPickupItemEvent.html
Ну если 1.12.2, то земля пухом. Либо с хреновым визуалом делать, либо пакетом анимацию отправлять, либо вовсе городить костыль и с задержкой в 1 тик перемешать предметы в нужные слотыЯ наверное понял в чём прикол, у меня версия сервер 1.12.2, а ссылка на апи, видимо для 1.20
(https://jd.papermc.io/paper/1.20/org/bukkit/entity/LivingEntity.html#playPickupItemAnimation(org.bukkit.entity.Item,int))
А что за пакет-то? ProtocolLib стоитНу если 1.12.2, то земля пухом. Либо с хреновым визуалом делать, либо пакетом анимацию отправлять, либо вовсе городить костыль и с задержкой в 1 тик перемешать предметы в нужные слоты
https://github.com/dmulloy2/PacketW...x/packetwrapper/WrapperPlayServerCollect.javaА что за пакет-то? ProtocolLib стоит
А как сделать зависимость от PacketWrapper'а?
<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>enginehub-maven</id>
<url>https://maven.enginehub.org/repo/</url>
</repository>
<repository>
<id>dmulloy2-repo</id>
<url>https://repo.dmulloy2.net/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.destroystokyo.paper</groupId>
<artifactId>paper-api</artifactId>
<version>1.12.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.comphenix.protocol</groupId>
<artifactId>ProtocolLib</artifactId>
<version>4.8.0</version>
</dependency>
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
<version>24.0.1</version>
</dependency>
<!-- Не работает-->
<dependency>
<groupId>com.comphenix.packetwrapper</groupId>
<artifactId>PacketWrapper</artifactId>
<version>1.15.2-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
Не стоит подключить PacketWrapper зависимостью, лучше скопировать к себе в проект необходимые классы и подправить в соответствие с протоколом нужной версии (1.12). PacketWrapper делался под лохматую версию, поэтому многие пакеты оттуда не будут работать без дополнительных правок.А как сделать зависимость от PacketWrapper'а?
HTML:<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>enginehub-maven</id> <url>https://maven.enginehub.org/repo/</url> </repository> <repository> <id>dmulloy2-repo</id> <url>https://repo.dmulloy2.net/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>com.destroystokyo.paper</groupId> <artifactId>paper-api</artifactId> <version>1.12.2-R0.1-SNAPSHOT</version> <scope>provided</scope> </dependency> <dependency> <groupId>com.comphenix.protocol</groupId> <artifactId>ProtocolLib</artifactId> <version>4.8.0</version> </dependency> <dependency> <groupId>org.jetbrains</groupId> <artifactId>annotations</artifactId> <version>24.0.1</version> </dependency> <!-- Не работает--> <dependency> <groupId>com.comphenix.packetwrapper</groupId> <artifactId>PacketWrapper</artifactId> <version>1.15.2-R0.1-SNAPSHOT</version> <scope>provided</scope> </dependency> </dependencies>
Я даже версию PacketWrapper'а менял на другую, но вылетает это:
Посмотреть вложение 65789
Could not find artifact com.comphenix.packetwrapper: PacketWrapper: pom:3.0.0 in papermc-repo (https://repo.papermc.io/repository/maven-public/)
You can use PacketWrapper as a dependency if you wish, although it is highly recommended that plugin authors simply copy and paste the classes they need into their project. This helps guard against future changes in PacketWrapper and makes it easier on the end user.