mirror of
https://github.com/Xiao-MoMi/Custom-Fishing.git
synced 2026-01-03 22:26:15 +00:00
2.2.30
This commit is contained in:
@@ -35,10 +35,7 @@ import org.bukkit.Bukkit;
|
||||
import org.bukkit.GameMode;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.NamespacedKey;
|
||||
import org.bukkit.entity.Entity;
|
||||
import org.bukkit.entity.FishHook;
|
||||
import org.bukkit.entity.Item;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.*;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.EventPriority;
|
||||
import org.bukkit.event.HandlerList;
|
||||
@@ -80,7 +77,15 @@ public class BukkitFishingManager implements FishingManager, Listener {
|
||||
|
||||
@Override
|
||||
public Optional<CustomFishingHook> getFishHook(UUID player) {
|
||||
return Optional.ofNullable(castHooks.get(player));
|
||||
CustomFishingHook hook = castHooks.get(player);
|
||||
if (hook != null) {
|
||||
if (hook.isHookValid()) {
|
||||
return Optional.of(hook);
|
||||
} else {
|
||||
return Optional.empty();
|
||||
}
|
||||
}
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -350,6 +355,24 @@ public class BukkitFishingManager implements FishingManager, Listener {
|
||||
});
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
public void onInteractEntity(PlayerInteractAtEntityEvent event) {
|
||||
Entity entity = event.getRightClicked();
|
||||
if (entity.getType() != EntityType.ARMOR_STAND) return;
|
||||
if (entity.getPersistentDataContainer().has(Objects.requireNonNull(NamespacedKey.fromString("temp-entity", BukkitCustomFishingPlugin.getInstance().getBootstrap())))) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler(priority = EventPriority.LOW)
|
||||
public void onInteractEntity(PlayerInteractEntityEvent event) {
|
||||
Entity entity = event.getRightClicked();
|
||||
if (entity.getType() != EntityType.ARMOR_STAND) return;
|
||||
if (entity.getPersistentDataContainer().has(Objects.requireNonNull(NamespacedKey.fromString("temp-entity", BukkitCustomFishingPlugin.getInstance().getBootstrap())))) {
|
||||
event.setCancelled(true);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void destroyHook(UUID uuid) {
|
||||
this.getFishHook(uuid).ifPresent(hook -> {
|
||||
|
||||
@@ -173,7 +173,7 @@ public class BukkitLootManager implements LootManager {
|
||||
plugin.debug(lootWeightMap);
|
||||
String lootID = WeightUtils.getRandom(lootWeightMap);
|
||||
return Optional.ofNullable(lootID)
|
||||
.map(id -> getLoot(lootID).orElseThrow(() -> new RuntimeException("Could not find loot " + lootID)))
|
||||
.map(id -> getLoot(lootID).orElseThrow(() -> new NullPointerException("Could not find loot " + lootID)))
|
||||
.orElse(null);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user