9
0
mirror of https://github.com/Xiao-MoMi/Custom-Fishing.git synced 2025-12-19 15:09:24 +00:00

Update CraftEngine compatibility

This commit is contained in:
XiaoMoMi
2025-02-15 15:56:43 +08:00
parent 4a7182fa31
commit 3c555a1cdf
10 changed files with 23 additions and 11 deletions

View File

@@ -79,6 +79,7 @@ public class FishingHookStateEvent extends PlayerEvent {
BITE,
ESCAPE,
LURE,
LAND
LAND,
HOOK
}
}

View File

@@ -19,6 +19,7 @@ package net.momirealms.customfishing.api.mechanic.fishing;
import net.momirealms.customfishing.api.BukkitCustomFishingPlugin;
import net.momirealms.customfishing.api.event.FishingEffectApplyEvent;
import net.momirealms.customfishing.api.event.FishingHookStateEvent;
import net.momirealms.customfishing.api.event.FishingLootSpawnEvent;
import net.momirealms.customfishing.api.event.FishingResultEvent;
import net.momirealms.customfishing.api.mechanic.MechanicType;
@@ -383,6 +384,7 @@ public class CustomFishingHook {
gears.trigger(ActionTrigger.REEL, context);
destroy();
} else {
EventUtils.fireAndForget(new FishingHookStateEvent(context.holder(), hook, FishingHookStateEvent.State.HOOK));
if (nextLoot.disableGame() || RequirementManager.isSatisfied(context, ConfigManager.skipGameRequirements())) {
handleSuccessfulFishing();
destroy();
@@ -398,7 +400,6 @@ public class CustomFishingHook {
}
}
/**
* Handles the bite action.
*/

View File

@@ -51,7 +51,6 @@ dependencies {
compileOnly(files("libs/ExecutableItems-7.24.9.29.jar"))
compileOnly(files("libs/SCore-5.24.9.29.jar"))
compileOnly(files("libs/SCore-5.24.9.29.jar"))
compileOnly(files("libs/CraftEngine-0.0.8.jar"))
compileOnly(files("libs/libreforge-4.73.0.jar"))
compileOnly("com.github.LoneDev6:API-ItemsAdder:3.6.1")
compileOnly("net.Indyuce:MMOItems-API:6.10-SNAPSHOT")

View File

@@ -8,6 +8,7 @@ dependencies {
compileOnly(project(":api"))
compileOnly("io.papermc.paper:paper-api:1.20.4-R0.1-SNAPSHOT")
compileOnly("com.nexomc:nexo:0.5.0-dev.8")
compileOnly(files("libs/CraftEngine-0.0.11.jar"))
}
tasks.withType<JavaCompile> {

Binary file not shown.

View File

@@ -17,8 +17,8 @@
package net.momirealms.customfishing.bukkit.integration.item;
import net.momirealms.craftengine.api.util.Key;
import net.momirealms.craftengine.bukkit.plugin.BukkitCraftEngine;
import net.momirealms.craftengine.core.util.Key;
import net.momirealms.customfishing.api.integration.ItemProvider;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
@@ -28,7 +28,7 @@ import java.util.Optional;
import static java.util.Objects.requireNonNull;
public class CraftEngineProvider implements ItemProvider {
public class CraftEngineItemProvider implements ItemProvider {
@Override
public String identifier() {

View File

@@ -31,6 +31,7 @@ import net.momirealms.customfishing.api.mechanic.game.AbstractGamingPlayer;
import net.momirealms.customfishing.api.mechanic.game.GamingPlayer;
import net.momirealms.customfishing.api.mechanic.requirement.RequirementManager;
import net.momirealms.customfishing.api.util.EventUtils;
import net.momirealms.sparrow.heart.SparrowHeart;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.Material;
@@ -82,8 +83,9 @@ public class BukkitFishingManager implements FishingManager, Listener {
@Override
public Optional<Player> getOwner(FishHook hook) {
if (hook.getOwnerUniqueId() != null) {
return Optional.ofNullable(Bukkit.getPlayer(hook.getOwnerUniqueId()));
UUID ownerUUID = SparrowHeart.getInstance().getFishingHookOwner(hook);
if (ownerUUID != null) {
return Optional.ofNullable(Bukkit.getPlayer(ownerUUID));
}
return Optional.empty();
}

View File

@@ -86,7 +86,15 @@ public class BukkitIntegrationManager implements IntegrationManager {
registerEntityProvider(new ItemsAdderEntityProvider());
}
if (isHooked("CraftEngine")) {
registerItemProvider(new CraftEngineProvider());
try {
Class<?> ceItemProviderClass = Class.forName("net.momirealms.customfishing.bukkit.integration.item.CraftEngineItemProvider");
Constructor<?> itemProviderConstructor = ceItemProviderClass.getDeclaredConstructor();
itemProviderConstructor.setAccessible(true);
ItemProvider itemProvider = (ItemProvider) itemProviderConstructor.newInstance();
registerItemProvider(itemProvider);
} catch (ReflectiveOperationException e) {
plugin.getPluginLogger().warn("Failed to hook CraftEngine", e);
}
}
if (isHooked("Nexo")) {
try {
@@ -100,8 +108,8 @@ public class BukkitIntegrationManager implements IntegrationManager {
nexoBlockProviderConstructor.setAccessible(true);
BlockProvider blockProvider = (BlockProvider) nexoBlockProviderConstructor.newInstance();
registerBlockProvider(blockProvider);
} catch (ReflectiveOperationException exception) {
plugin.getPluginLogger().warn("Failed to hook Nexo", exception);
} catch (ReflectiveOperationException e) {
plugin.getPluginLogger().warn("Failed to hook Nexo", e);
}
}
if (isHooked("MMOItems")) {

View File

@@ -20,7 +20,7 @@ h2_driver_version=2.3.232
sqlite_driver_version=3.48.0.0
adventure_bundle_version=4.18.0
adventure_platform_version=4.3.4
sparrow_heart_version=0.49
sparrow_heart_version=0.50
cloud_core_version=2.0.0
cloud_services_version=2.0.0
cloud_brigadier_version=2.0.0-beta.10