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

fix some component issues

This commit is contained in:
XiaoMoMi
2025-07-26 23:53:11 +08:00
parent d4d09d58c3
commit 7542dfeed1
8 changed files with 22 additions and 68 deletions

View File

@@ -18,7 +18,6 @@
package net.momirealms.customcrops.api.action.builtin; package net.momirealms.customcrops.api.action.builtin;
import dev.dejvokep.boostedyaml.block.implementation.Section; import dev.dejvokep.boostedyaml.block.implementation.Section;
import net.kyori.adventure.audience.Audience;
import net.momirealms.customcrops.api.BukkitCustomCropsPlugin; import net.momirealms.customcrops.api.BukkitCustomCropsPlugin;
import net.momirealms.customcrops.api.context.Context; import net.momirealms.customcrops.api.context.Context;
import net.momirealms.customcrops.api.context.ContextKeys; import net.momirealms.customcrops.api.context.ContextKeys;
@@ -26,6 +25,7 @@ import net.momirealms.customcrops.api.misc.value.MathValue;
import net.momirealms.customcrops.api.misc.value.TextValue; import net.momirealms.customcrops.api.misc.value.TextValue;
import net.momirealms.customcrops.api.util.LocationUtils; import net.momirealms.customcrops.api.util.LocationUtils;
import net.momirealms.customcrops.common.helper.AdventureHelper; import net.momirealms.customcrops.common.helper.AdventureHelper;
import net.momirealms.sparrow.heart.SparrowHeart;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
@@ -61,10 +61,9 @@ public class ActionTitleNearby<T> extends AbstractBuiltInAction<T> {
for (Player player : location.getWorld().getPlayers()) { for (Player player : location.getWorld().getPlayers()) {
if (LocationUtils.getDistance(player.getLocation(), location) <= range) { if (LocationUtils.getDistance(player.getLocation(), location) <= range) {
context.arg(ContextKeys.TEMP_NEAR_PLAYER, player.getName()); context.arg(ContextKeys.TEMP_NEAR_PLAYER, player.getName());
Audience audience = plugin.getSenderFactory().getAudience(player); SparrowHeart.getInstance().sendTitle(player,
AdventureHelper.sendTitle(audience, AdventureHelper.componentToJson(AdventureHelper.miniMessage(title.render(context))),
AdventureHelper.miniMessage(title.render(context)), AdventureHelper.componentToJson(AdventureHelper.miniMessage(subtitle.render(context))),
AdventureHelper.miniMessage(subtitle.render(context)),
fadeIn, stay, fadeOut fadeIn, stay, fadeOut
); );
} }

View File

@@ -17,7 +17,6 @@
package net.momirealms.customcrops.api.core; package net.momirealms.customcrops.api.core;
import io.papermc.paper.event.block.BlockBreakBlockEvent;
import net.momirealms.customcrops.api.BukkitCustomCropsPlugin; import net.momirealms.customcrops.api.BukkitCustomCropsPlugin;
import net.momirealms.customcrops.api.action.ActionManager; import net.momirealms.customcrops.api.action.ActionManager;
import net.momirealms.customcrops.api.context.Context; import net.momirealms.customcrops.api.context.Context;
@@ -42,7 +41,10 @@ import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType; import org.bukkit.entity.EntityType;
import org.bukkit.entity.Item; import org.bukkit.entity.Item;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.*; import org.bukkit.event.Event;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.block.*; import org.bukkit.event.block.*;
import org.bukkit.event.entity.EntityChangeBlockEvent; import org.bukkit.event.entity.EntityChangeBlockEvent;
import org.bukkit.event.entity.EntityExplodeEvent; import org.bukkit.event.entity.EntityExplodeEvent;

View File

@@ -25,9 +25,7 @@ import net.kyori.adventure.sound.Sound;
import net.kyori.adventure.text.Component; import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.MiniMessage; import net.kyori.adventure.text.minimessage.MiniMessage;
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer; import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
import net.kyori.adventure.title.Title;
import java.time.Duration;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
/** /**
@@ -103,40 +101,6 @@ public class AdventureHelper {
return instance.miniMessageToJsonCache.get(miniMessage, (text) -> instance.gsonComponentSerializer.serialize(miniMessage(text))); return instance.miniMessageToJsonCache.get(miniMessage, (text) -> instance.gsonComponentSerializer.serialize(miniMessage(text)));
} }
/**
* Sends a title to an audience.
*
* @param audience the audience to send the title to
* @param title the title component
* @param subtitle the subtitle component
* @param fadeIn the fade-in duration in ticks
* @param stay the stay duration in ticks
* @param fadeOut the fade-out duration in ticks
*/
public static void sendTitle(Audience audience, Component title, Component subtitle, int fadeIn, int stay, int fadeOut) {
audience.showTitle(Title.title(title, subtitle, Title.Times.times(Duration.ofMillis(fadeIn * 50L), Duration.ofMillis(stay * 50L), Duration.ofMillis(fadeOut * 50L))));
}
/**
* Sends an action bar message to an audience.
*
* @param audience the audience to send the action bar message to
* @param actionBar the action bar component
*/
public static void sendActionBar(Audience audience, Component actionBar) {
audience.sendActionBar(actionBar);
}
/**
* Sends a message to an audience.
*
* @param audience the audience to send the message to
* @param message the message component
*/
public static void sendMessage(Audience audience, Component message) {
audience.sendMessage(message);
}
/** /**
* Plays a sound for an audience. * Plays a sound for an audience.
* *

View File

@@ -1,6 +1,3 @@
import org.gradle.process.internal.ExecException
import java.io.ByteArrayOutputStream
plugins { plugins {
id("java") id("java")
id("com.gradleup.shadow") version "9.0.0-beta11" id("com.gradleup.shadow") version "9.0.0-beta11"

View File

@@ -1,6 +1,6 @@
# Project settings # Project settings
# Rule: [major update].[feature update].[bug fix] # Rule: [major update].[feature update].[bug fix]
project_version=3.6.43 project_version=3.6.44.1
config_version=42 config_version=42
project_group=net.momirealms project_group=net.momirealms

View File

@@ -21,7 +21,6 @@ import dev.dejvokep.boostedyaml.block.implementation.Section;
import net.kyori.adventure.audience.Audience; import net.kyori.adventure.audience.Audience;
import net.kyori.adventure.key.Key; import net.kyori.adventure.key.Key;
import net.kyori.adventure.sound.Sound; import net.kyori.adventure.sound.Sound;
import net.kyori.adventure.text.Component;
import net.momirealms.customcrops.api.BukkitCustomCropsPlugin; import net.momirealms.customcrops.api.BukkitCustomCropsPlugin;
import net.momirealms.customcrops.api.action.AbstractActionManager; import net.momirealms.customcrops.api.action.AbstractActionManager;
import net.momirealms.customcrops.api.action.Action; import net.momirealms.customcrops.api.action.Action;
@@ -95,9 +94,8 @@ public class PlayerActionManager extends AbstractActionManager<Player> {
if (context.holder() == null) return; if (context.holder() == null) return;
if (Math.random() > chance.evaluate(context)) return; if (Math.random() > chance.evaluate(context)) return;
List<String> replaced = plugin.getPlaceholderManager().parse(context.holder(), messages, context.placeholderMap()); List<String> replaced = plugin.getPlaceholderManager().parse(context.holder(), messages, context.placeholderMap());
Audience audience = plugin.getSenderFactory().getAudience(context.holder());
for (String text : replaced) { for (String text : replaced) {
audience.sendMessage(AdventureHelper.miniMessage(text)); SparrowHeart.getInstance().sendMessage(context.holder(), AdventureHelper.componentToJson(AdventureHelper.miniMessage(text)));
} }
}; };
}, "message"); }, "message");
@@ -108,8 +106,7 @@ public class PlayerActionManager extends AbstractActionManager<Player> {
if (Math.random() > chance.evaluate(context)) return; if (Math.random() > chance.evaluate(context)) return;
String random = messages.get(RandomUtils.generateRandomInt(0, messages.size() - 1)); String random = messages.get(RandomUtils.generateRandomInt(0, messages.size() - 1));
random = BukkitPlaceholderManager.getInstance().parse(context.holder(), random, context.placeholderMap()); random = BukkitPlaceholderManager.getInstance().parse(context.holder(), random, context.placeholderMap());
Audience audience = plugin.getSenderFactory().getAudience(context.holder()); SparrowHeart.getInstance().sendMessage(context.holder(), AdventureHelper.componentToJson(AdventureHelper.miniMessage(random)));
audience.sendMessage(AdventureHelper.miniMessage(random));
}; };
}, "random-message"); }, "random-message");
} }
@@ -144,9 +141,7 @@ public class PlayerActionManager extends AbstractActionManager<Player> {
return context -> { return context -> {
if (context.holder() == null) return; if (context.holder() == null) return;
if (Math.random() > chance.evaluate(context)) return; if (Math.random() > chance.evaluate(context)) return;
Audience audience = plugin.getSenderFactory().getAudience(context.holder()); SparrowHeart.getInstance().sendActionBar(context.holder(), AdventureHelper.componentToJson(AdventureHelper.miniMessage(plugin.getPlaceholderManager().parse(context.holder(), text, context.placeholderMap()))));
Component component = AdventureHelper.miniMessage(plugin.getPlaceholderManager().parse(context.holder(), text, context.placeholderMap()));
audience.sendActionBar(component);
}; };
}, "actionbar"); }, "actionbar");
registerAction((args, chance) -> { registerAction((args, chance) -> {
@@ -156,8 +151,7 @@ public class PlayerActionManager extends AbstractActionManager<Player> {
if (Math.random() > chance.evaluate(context)) return; if (Math.random() > chance.evaluate(context)) return;
String random = texts.get(RandomUtils.generateRandomInt(0, texts.size() - 1)); String random = texts.get(RandomUtils.generateRandomInt(0, texts.size() - 1));
random = plugin.getPlaceholderManager().parse(context.holder(), random, context.placeholderMap()); random = plugin.getPlaceholderManager().parse(context.holder(), random, context.placeholderMap());
Audience audience = plugin.getSenderFactory().getAudience(context.holder()); SparrowHeart.getInstance().sendActionBar(context.holder(), AdventureHelper.componentToJson(AdventureHelper.miniMessage(random)));
audience.sendActionBar(AdventureHelper.miniMessage(random));
}; };
}, "random-actionbar"); }, "random-actionbar");
} }
@@ -422,10 +416,9 @@ public class PlayerActionManager extends AbstractActionManager<Player> {
if (Math.random() > chance.evaluate(context)) return; if (Math.random() > chance.evaluate(context)) return;
final Player player = context.holder(); final Player player = context.holder();
if (player == null) return; if (player == null) return;
Audience audience = plugin.getSenderFactory().getAudience(player); SparrowHeart.getInstance().sendTitle(player,
AdventureHelper.sendTitle(audience, AdventureHelper.componentToJson(AdventureHelper.miniMessage(title.render(context))),
AdventureHelper.miniMessage(title.render(context)), AdventureHelper.componentToJson(AdventureHelper.miniMessage(subtitle.render(context))),
AdventureHelper.miniMessage(subtitle.render(context)),
fadeIn, stay, fadeOut fadeIn, stay, fadeOut
); );
}; };
@@ -449,10 +442,9 @@ public class PlayerActionManager extends AbstractActionManager<Player> {
TextValue<Player> title = TextValue.auto(titles.get(RandomUtils.generateRandomInt(0, titles.size() - 1))); TextValue<Player> title = TextValue.auto(titles.get(RandomUtils.generateRandomInt(0, titles.size() - 1)));
TextValue<Player> subtitle = TextValue.auto(subtitles.get(RandomUtils.generateRandomInt(0, subtitles.size() - 1))); TextValue<Player> subtitle = TextValue.auto(subtitles.get(RandomUtils.generateRandomInt(0, subtitles.size() - 1)));
final Player player = context.holder(); final Player player = context.holder();
Audience audience = plugin.getSenderFactory().getAudience(player); SparrowHeart.getInstance().sendTitle(player,
AdventureHelper.sendTitle(audience, AdventureHelper.componentToJson(AdventureHelper.miniMessage(title.render(context))),
AdventureHelper.miniMessage(title.render(context)), AdventureHelper.componentToJson(AdventureHelper.miniMessage(subtitle.render(context))),
AdventureHelper.miniMessage(subtitle.render(context)),
fadeIn, stay, fadeOut fadeIn, stay, fadeOut
); );
}; };

View File

@@ -69,7 +69,7 @@ public class BukkitIntegrationManager implements IntegrationManager {
} }
if (isHooked("RealisticSeasons")) { if (isHooked("RealisticSeasons")) {
registerSeasonProvider(new RealisticSeasonsProvider()); registerSeasonProvider(new RealisticSeasonsProvider());
} else if (isHooked("AdvancedSeasons", "1.4", "1.5", "1.6")) { } else if (isHooked("AdvancedSeasons")) {
registerSeasonProvider(new AdvancedSeasonsProvider()); registerSeasonProvider(new AdvancedSeasonsProvider());
} }
if (isHooked("Vault")) { if (isHooked("Vault")) {

View File

@@ -25,6 +25,7 @@ import net.momirealms.customcrops.api.core.*;
import net.momirealms.customcrops.api.core.block.BreakReason; import net.momirealms.customcrops.api.core.block.BreakReason;
import net.momirealms.customcrops.api.core.block.CustomCropsBlock; import net.momirealms.customcrops.api.core.block.CustomCropsBlock;
import net.momirealms.customcrops.api.core.item.CustomCropsItem; import net.momirealms.customcrops.api.core.item.CustomCropsItem;
import net.momirealms.customcrops.api.core.mechanic.crop.CropConfig;
import net.momirealms.customcrops.api.core.world.CustomCropsBlockState; import net.momirealms.customcrops.api.core.world.CustomCropsBlockState;
import net.momirealms.customcrops.api.core.world.CustomCropsWorld; import net.momirealms.customcrops.api.core.world.CustomCropsWorld;
import net.momirealms.customcrops.api.core.world.Pos3; import net.momirealms.customcrops.api.core.world.Pos3;
@@ -39,8 +40,8 @@ import net.momirealms.customcrops.api.util.LocationUtils;
import net.momirealms.customcrops.api.util.PluginUtils; import net.momirealms.customcrops.api.util.PluginUtils;
import net.momirealms.customcrops.common.helper.VersionHelper; import net.momirealms.customcrops.common.helper.VersionHelper;
import net.momirealms.customcrops.common.item.Item; import net.momirealms.customcrops.common.item.Item;
import org.bukkit.Registry;
import org.bukkit.*; import org.bukkit.*;
import org.bukkit.Registry;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.block.BlockFace; import org.bukkit.block.BlockFace;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
@@ -526,7 +527,6 @@ public class BukkitItemManager extends AbstractItemManager {
if (wrapped.hand() == EquipmentSlot.OFF_HAND && player.hasMetadata("customcrops_tick")) { if (wrapped.hand() == EquipmentSlot.OFF_HAND && player.hasMetadata("customcrops_tick")) {
List<MetadataValue> list = player.getMetadata("customcrops_tick"); List<MetadataValue> list = player.getMetadata("customcrops_tick");
if (!list.isEmpty() && player.getTicksLived() == list.get(0).asInt()) { if (!list.isEmpty() && player.getTicksLived() == list.get(0).asInt()) {
player.removeMetadata("customcrops_tick", plugin.getBootstrap());
return; return;
} }
} }