diff --git a/bukkit/loader/src/main/resources/translations/en.yml b/bukkit/loader/src/main/resources/translations/en.yml
index 92771ab58..a20e022d2 100644
--- a/bukkit/loader/src/main/resources/translations/en.yml
+++ b/bukkit/loader/src/main/resources/translations/en.yml
@@ -53,7 +53,7 @@ command.search_recipe.not_found: "No recipe found for this item"
command.search_usage.not_found: "No usage found for this item"
command.search_recipe.no_item: "Please hold an item before running this command"
command.search_usage.no_item: "Please hold an item before running this command"
-command.totem.not_totem: "'' is not type of totem_of_undying"
+command.totem_animation.failure.not_totem: "Item '' is not minecraft:totem_of_undying"
warning.config.image.duplicated: "Issue found in file - Duplicated image ''."
warning.config.image.lack_height: "Issue found in file - The image '' is missing the required 'height' argument."
warning.config.image.height_smaller_than_ascent: "Issue found in file - The image '' violates the bitmap image rule: 'height' should be no lower than 'ascent'."
diff --git a/bukkit/loader/src/main/resources/translations/es.yml b/bukkit/loader/src/main/resources/translations/es.yml
index f04f051a0..eda313eaf 100644
--- a/bukkit/loader/src/main/resources/translations/es.yml
+++ b/bukkit/loader/src/main/resources/translations/es.yml
@@ -53,4 +53,4 @@ command.search_recipe.not_found: "No se encontró ninguna receta para este
command.search_usage.not_found: "No se encontró ningún uso para este objeto"
command.search_recipe.no_item: "Por favor, sostén un objeto antes de ejecutar este comando"
command.search_usage.no_item: "Por favor, sostén un objeto antes de ejecutar este comando"
-command.totem.not_totem: "'' no es del tipo totem_of_undying"
\ No newline at end of file
+command.totem_animation.failure.not_totem: "'' no es del tipo totem_of_undying"
\ No newline at end of file
diff --git a/bukkit/loader/src/main/resources/translations/zh_cn.yml b/bukkit/loader/src/main/resources/translations/zh_cn.yml
index 0cab6ac5d..815451987 100644
--- a/bukkit/loader/src/main/resources/translations/zh_cn.yml
+++ b/bukkit/loader/src/main/resources/translations/zh_cn.yml
@@ -53,7 +53,7 @@ command.search_recipe.not_found: "找不到此物品的配方"
command.search_usage.not_found: "找不到此物品的用途"
command.search_recipe.no_item: "请手持物品后再执行此命令"
command.search_usage.no_item: "请手持物品后再执行此命令"
-command.totem.not_totem: "'' 不是 totem_of_undying 类型"
+command.totem_animation.failure.not_totem: "'' 不是 totem_of_undying 类型"
warning.config.image.duplicated: "在文件 中发现问题 - 图片 '' 重复定义"
warning.config.image.lack_height: "在文件 中发现问题 - 图片 '' 缺少必要的 'height' 高度参数"
warning.config.image.height_smaller_than_ascent: "在文件 中发现问题 - 图片 '' 违反位图规则:'height' 高度值不应小于 'ascent' 基准线高度"
diff --git a/bukkit/loader/src/main/resources/translations/zh_tw.yml b/bukkit/loader/src/main/resources/translations/zh_tw.yml
index b0d1da410..dfff5088e 100644
--- a/bukkit/loader/src/main/resources/translations/zh_tw.yml
+++ b/bukkit/loader/src/main/resources/translations/zh_tw.yml
@@ -53,4 +53,4 @@ command.search_recipe.not_found: "找不到此物品的配方"
command.search_usage.not_found: "找不到此物品的用途"
command.search_recipe.no_item: "執行此命令前請手持物品"
command.search_usage.no_item: "執行此命令前請手持物品"
-command.totem.not_totem: "'' 不是 totem_of_undying 類型"
\ No newline at end of file
+command.totem_animation.failure.not_totem: "'' 不是 totem_of_undying 類型"
\ No newline at end of file
diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/BukkitCommandManager.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/BukkitCommandManager.java
index f83af185c..515ac12ec 100644
--- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/BukkitCommandManager.java
+++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/BukkitCommandManager.java
@@ -46,7 +46,7 @@ public class BukkitCommandManager extends AbstractCommandManager
new DebugSetBlockCommand(this, plugin),
new DebugSpawnFurnitureCommand(this, plugin),
new DebugTargetBlockCommand(this, plugin),
- new TotemCommand(this, plugin)
+ new TotemAnimationCommand(this, plugin)
));
final LegacyPaperCommandManager manager = (LegacyPaperCommandManager) getCommandManager();
manager.settings().set(ManagerSetting.ALLOW_UNSAFE_REGISTRATION, true);
diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/TotemCommand.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/TotemAnimationCommand.java
similarity index 86%
rename from bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/TotemCommand.java
rename to bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/TotemAnimationCommand.java
index ec6bcea28..1f21b667e 100644
--- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/TotemCommand.java
+++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/feature/TotemAnimationCommand.java
@@ -28,9 +28,9 @@ import org.incendo.cloud.suggestion.SuggestionProvider;
import java.util.concurrent.CompletableFuture;
-public class TotemCommand extends BukkitCommandFeature {
+public class TotemAnimationCommand extends BukkitCommandFeature {
- public TotemCommand(CraftEngineCommandManager commandManager, CraftEngine plugin) {
+ public TotemAnimationCommand(CraftEngineCommandManager commandManager, CraftEngine plugin) {
super(commandManager, plugin);
}
@@ -49,15 +49,10 @@ public class TotemCommand extends BukkitCommandFeature {
NamespacedKey namespacedKey = context.get("id");
Key key = Key.of(namespacedKey.namespace(), namespacedKey.value());
CustomItem item = plugin().itemManager().getCustomItem(key).orElse(null);
- if (item == null) {
- handleFeedback(context, MessageConstants.COMMAND_ITEM_GET_FAILURE_NOT_EXIST, Component.text(key.toString()));
- return;
- }
- if (MaterialUtils.getMaterial(item.material()) != Material.TOTEM_OF_UNDYING) {
+ if (item == null || MaterialUtils.getMaterial(item.material()) != Material.TOTEM_OF_UNDYING) {
handleFeedback(context, MessageConstants.COMMAND_TOTEM_NOT_TOTEM, Component.text(key.toString()));
return;
}
-
ItemStack totem = item.buildItemStack();
MultiplePlayerSelector selector = context.get("players");
for (Player player : selector.values()) {
diff --git a/core/src/main/java/net/momirealms/craftengine/core/plugin/locale/MessageConstants.java b/core/src/main/java/net/momirealms/craftengine/core/plugin/locale/MessageConstants.java
index bef7dd276..1151d1fe2 100644
--- a/core/src/main/java/net/momirealms/craftengine/core/plugin/locale/MessageConstants.java
+++ b/core/src/main/java/net/momirealms/craftengine/core/plugin/locale/MessageConstants.java
@@ -20,5 +20,5 @@ public interface MessageConstants {
TranslatableComponent.Builder COMMAND_SEARCH_RECIPE_NO_ITEM = Component.translatable().key("command.search_recipe.no_item");
TranslatableComponent.Builder COMMAND_SEARCH_USAGE_NOT_FOUND = Component.translatable().key("command.search_usage.not_found");
TranslatableComponent.Builder COMMAND_SEARCH_USAGE_NO_ITEM = Component.translatable().key("command.search_usage.no_item");
- TranslatableComponent.Builder COMMAND_TOTEM_NOT_TOTEM = Component.translatable().key("command.totem.not_totem");
+ TranslatableComponent.Builder COMMAND_TOTEM_NOT_TOTEM = Component.translatable().key("command.totem_animation.failure.not_totem");
}
diff --git a/gradle.properties b/gradle.properties
index 065750cb4..6a652c28d 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -4,7 +4,7 @@ org.gradle.jvmargs=-Xmx1G
# Rule: [major update].[feature update].[bug fix]
project_version=0.0.43
config_version=19
-lang_version=3
+lang_version=4
project_group=net.momirealms
latest_minecraft_version=1.21.4