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

View File

@@ -17,7 +17,6 @@
package net.momirealms.customcrops.api.core;
import io.papermc.paper.event.block.BlockBreakBlockEvent;
import net.momirealms.customcrops.api.BukkitCustomCropsPlugin;
import net.momirealms.customcrops.api.action.ActionManager;
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.Item;
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.entity.EntityChangeBlockEvent;
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.minimessage.MiniMessage;
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
import net.kyori.adventure.title.Title;
import java.time.Duration;
import java.util.concurrent.TimeUnit;
/**
@@ -103,40 +101,6 @@ public class AdventureHelper {
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.
*

View File

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

View File

@@ -1,6 +1,6 @@
# Project settings
# Rule: [major update].[feature update].[bug fix]
project_version=3.6.43
project_version=3.6.44.1
config_version=42
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.key.Key;
import net.kyori.adventure.sound.Sound;
import net.kyori.adventure.text.Component;
import net.momirealms.customcrops.api.BukkitCustomCropsPlugin;
import net.momirealms.customcrops.api.action.AbstractActionManager;
import net.momirealms.customcrops.api.action.Action;
@@ -95,9 +94,8 @@ public class PlayerActionManager extends AbstractActionManager<Player> {
if (context.holder() == null) return;
if (Math.random() > chance.evaluate(context)) return;
List<String> replaced = plugin.getPlaceholderManager().parse(context.holder(), messages, context.placeholderMap());
Audience audience = plugin.getSenderFactory().getAudience(context.holder());
for (String text : replaced) {
audience.sendMessage(AdventureHelper.miniMessage(text));
SparrowHeart.getInstance().sendMessage(context.holder(), AdventureHelper.componentToJson(AdventureHelper.miniMessage(text)));
}
};
}, "message");
@@ -108,8 +106,7 @@ public class PlayerActionManager extends AbstractActionManager<Player> {
if (Math.random() > chance.evaluate(context)) return;
String random = messages.get(RandomUtils.generateRandomInt(0, messages.size() - 1));
random = BukkitPlaceholderManager.getInstance().parse(context.holder(), random, context.placeholderMap());
Audience audience = plugin.getSenderFactory().getAudience(context.holder());
audience.sendMessage(AdventureHelper.miniMessage(random));
SparrowHeart.getInstance().sendMessage(context.holder(), AdventureHelper.componentToJson(AdventureHelper.miniMessage(random)));
};
}, "random-message");
}
@@ -144,9 +141,7 @@ public class PlayerActionManager extends AbstractActionManager<Player> {
return context -> {
if (context.holder() == null) return;
if (Math.random() > chance.evaluate(context)) return;
Audience audience = plugin.getSenderFactory().getAudience(context.holder());
Component component = AdventureHelper.miniMessage(plugin.getPlaceholderManager().parse(context.holder(), text, context.placeholderMap()));
audience.sendActionBar(component);
SparrowHeart.getInstance().sendActionBar(context.holder(), AdventureHelper.componentToJson(AdventureHelper.miniMessage(plugin.getPlaceholderManager().parse(context.holder(), text, context.placeholderMap()))));
};
}, "actionbar");
registerAction((args, chance) -> {
@@ -156,8 +151,7 @@ public class PlayerActionManager extends AbstractActionManager<Player> {
if (Math.random() > chance.evaluate(context)) return;
String random = texts.get(RandomUtils.generateRandomInt(0, texts.size() - 1));
random = plugin.getPlaceholderManager().parse(context.holder(), random, context.placeholderMap());
Audience audience = plugin.getSenderFactory().getAudience(context.holder());
audience.sendActionBar(AdventureHelper.miniMessage(random));
SparrowHeart.getInstance().sendActionBar(context.holder(), AdventureHelper.componentToJson(AdventureHelper.miniMessage(random)));
};
}, "random-actionbar");
}
@@ -422,10 +416,9 @@ public class PlayerActionManager extends AbstractActionManager<Player> {
if (Math.random() > chance.evaluate(context)) return;
final Player player = context.holder();
if (player == null) return;
Audience audience = plugin.getSenderFactory().getAudience(player);
AdventureHelper.sendTitle(audience,
AdventureHelper.miniMessage(title.render(context)),
AdventureHelper.miniMessage(subtitle.render(context)),
SparrowHeart.getInstance().sendTitle(player,
AdventureHelper.componentToJson(AdventureHelper.miniMessage(title.render(context))),
AdventureHelper.componentToJson(AdventureHelper.miniMessage(subtitle.render(context))),
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> subtitle = TextValue.auto(subtitles.get(RandomUtils.generateRandomInt(0, subtitles.size() - 1)));
final Player player = context.holder();
Audience audience = plugin.getSenderFactory().getAudience(player);
AdventureHelper.sendTitle(audience,
AdventureHelper.miniMessage(title.render(context)),
AdventureHelper.miniMessage(subtitle.render(context)),
SparrowHeart.getInstance().sendTitle(player,
AdventureHelper.componentToJson(AdventureHelper.miniMessage(title.render(context))),
AdventureHelper.componentToJson(AdventureHelper.miniMessage(subtitle.render(context))),
fadeIn, stay, fadeOut
);
};

View File

@@ -69,7 +69,7 @@ public class BukkitIntegrationManager implements IntegrationManager {
}
if (isHooked("RealisticSeasons")) {
registerSeasonProvider(new RealisticSeasonsProvider());
} else if (isHooked("AdvancedSeasons", "1.4", "1.5", "1.6")) {
} else if (isHooked("AdvancedSeasons")) {
registerSeasonProvider(new AdvancedSeasonsProvider());
}
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.CustomCropsBlock;
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.CustomCropsWorld;
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.common.helper.VersionHelper;
import net.momirealms.customcrops.common.item.Item;
import org.bukkit.Registry;
import org.bukkit.*;
import org.bukkit.Registry;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.entity.Entity;
@@ -526,7 +527,6 @@ public class BukkitItemManager extends AbstractItemManager {
if (wrapped.hand() == EquipmentSlot.OFF_HAND && player.hasMetadata("customcrops_tick")) {
List<MetadataValue> list = player.getMetadata("customcrops_tick");
if (!list.isEmpty() && player.getTicksLived() == list.get(0).asInt()) {
player.removeMetadata("customcrops_tick", plugin.getBootstrap());
return;
}
}