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:
@@ -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
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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")) {
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user