Skip to content

Commit

Permalink
修改默认附魔 -> 固有附魔,修改tooltip样式
Browse files Browse the repository at this point in the history
  • Loading branch information
DancingSnow0517 committed Sep 30, 2024
1 parent 3adb475 commit dd0a110
Show file tree
Hide file tree
Showing 11 changed files with 80 additions and 68 deletions.
2 changes: 1 addition & 1 deletion src/generated/resources/assets/anvilcraft/lang/en_ud.json
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,6 @@
"item.anvilcraft.creamy_bread_roll": "ןןoᴚ pɐǝɹᗺ ʎɯɐǝɹƆ",
"item.anvilcraft.cursed_gold_ingot": "ʇobuI pןo⅁ pǝsɹnƆ",
"item.anvilcraft.cursed_gold_nugget": "ʇǝbbnN pןo⅁ pǝsɹnƆ",
"item.anvilcraft.default_enchantment.tooltip": ":sʇuǝɯʇuɐɥɔuǝ ʇןnɐɟǝp sɐH",
"item.anvilcraft.disk": "ʞsıᗡ",
"item.anvilcraft.disk.stored_from": "%s :ɯoɹɟ pǝɹoʇS",
"item.anvilcraft.dough": "ɥbnoᗡ",
Expand All @@ -308,6 +307,7 @@
"item.anvilcraft.hardend_resin": "uısǝᴚ puǝpɹɐH",
"item.anvilcraft.heliostats.no_rotation_angle": "%s ǝʇɐıpɐɹɹı ןןıM",
"item.anvilcraft.heliostats.pos_set": "%s ǝʇɐıpɐɹɹı ןןıM",
"item.anvilcraft.inherent_enchantment.tooltip": ":sʇuǝɯʇuɐɥɔuǝ ʇuǝɹǝɥuI",
"item.anvilcraft.lead_ingot": "ʇobuI pɐǝꞀ",
"item.anvilcraft.lead_nugget": "ʇǝbbnN pɐǝꞀ",
"item.anvilcraft.levitation_powder": "ɹǝpʍoԀ uoıʇɐʇıʌǝꞀ",
Expand Down
2 changes: 1 addition & 1 deletion src/generated/resources/assets/anvilcraft/lang/en_us.json
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,6 @@
"item.anvilcraft.creamy_bread_roll": "Creamy Bread Roll",
"item.anvilcraft.cursed_gold_ingot": "Cursed Gold Ingot",
"item.anvilcraft.cursed_gold_nugget": "Cursed Gold Nugget",
"item.anvilcraft.default_enchantment.tooltip": "Has default enchantments:",
"item.anvilcraft.disk": "Disk",
"item.anvilcraft.disk.stored_from": "Stored from: %s",
"item.anvilcraft.dough": "Dough",
Expand All @@ -308,6 +307,7 @@
"item.anvilcraft.hardend_resin": "Hardend Resin",
"item.anvilcraft.heliostats.no_rotation_angle": "Will irradiate %s",
"item.anvilcraft.heliostats.pos_set": "Will irradiate %s",
"item.anvilcraft.inherent_enchantment.tooltip": "Inherent enchantments:",
"item.anvilcraft.lead_ingot": "Lead Ingot",
"item.anvilcraft.lead_nugget": "Lead Nugget",
"item.anvilcraft.levitation_powder": "Levitation Powder",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public class OtherLang {
public static void init(@NotNull RegistrateLangProvider provider) {
provider.add("modmenu.nameTranslation.anvilcraft", "AnvilCraft");

provider.add("item.anvilcraft.default_enchantment.tooltip", "Has default enchantments:");
provider.add("item.anvilcraft.inherent_enchantment.tooltip", "Inherent enchantments:");
provider.add(
"item.anvilcraft.amethyst_pickaxe.tooltip", "Stone pickaxe quality, can mine iron ore, not diamonds!");

Expand Down

This file was deleted.

53 changes: 53 additions & 0 deletions src/main/java/dev/dubhe/anvilcraft/item/IInherentEnchantment.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package dev.dubhe.anvilcraft.item;

import net.minecraft.ChatFormatting;
import net.minecraft.core.Holder;
import net.minecraft.network.chat.CommonComponents;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.ComponentUtils;
import net.minecraft.network.chat.MutableComponent;
import net.minecraft.network.chat.Style;
import net.minecraft.resources.ResourceKey;
import net.minecraft.world.item.enchantment.Enchantment;
import net.minecraft.world.level.Level;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
* 有默认附魔
*/
public interface IInherentEnchantment {
Map<ResourceKey<Enchantment>, Integer> getInherentEnchantments();

/**
* @return 工具提示
*/
default List<Component> getInherentEnchantmentsTooltip(Level level) {
List<Component> list = new ArrayList<>();
list.add(Component.translatable("item.anvilcraft.inherent_enchantment.tooltip")
.withStyle(ChatFormatting.LIGHT_PURPLE));

for (var entry : getInherentEnchantments().entrySet()) {
Holder<Enchantment> enchantmentHolder = level.registryAccess().holderOrThrow(entry.getKey());
int l = entry.getValue();
list.add(
Component
.literal("- ").withStyle(ChatFormatting.LIGHT_PURPLE)
.append(getFullname(enchantmentHolder, l))
);
}

return list;
}

static Component getFullname(Holder<Enchantment> enchantment, int level) {
MutableComponent component = enchantment.value().description().copy();
ComponentUtils.mergeStyles(component, Style.EMPTY.withColor(ChatFormatting.LIGHT_PURPLE));
if (level != 1 || enchantment.value().getMaxLevel() != 1) {
component.append(CommonComponents.SPACE).append(Component.translatable("enchantment.level." + level));
}
return component;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@

@MethodsReturnNonnullByDefault
@ParametersAreNonnullByDefault
public class RoyalAnvilHammerItem extends AnvilHammerItem implements IHasDefaultEnchantment {
public class RoyalAnvilHammerItem extends AnvilHammerItem implements IInherentEnchantment {
/**
* 初始化铁砧锤
*
Expand All @@ -42,20 +42,20 @@ public void appendHoverText(
ItemStack pStack, TooltipContext pContext, List<Component> pTooltipComponents, TooltipFlag pTooltipFlag) {
super.appendHoverText(pStack, pContext, pTooltipComponents, pTooltipFlag);
if (pContext.level() != null) {
pTooltipComponents.addAll(this.getDefaultEnchantmentsTooltip(pContext.level()));
pTooltipComponents.addAll(this.getInherentEnchantmentsTooltip(pContext.level()));
}
}

@Override
public Map<ResourceKey<Enchantment>, Integer> getDefaultEnchantments() {
public Map<ResourceKey<Enchantment>, Integer> getInherentEnchantments() {
return Map.of(Enchantments.UNBREAKING, 3);
}

@Override
public ItemEnchantments getAllEnchantments(ItemStack stack, HolderLookup.RegistryLookup<Enchantment> lookup) {
ItemEnchantments.Mutable enchantments = new ItemEnchantments.Mutable(super.getAllEnchantments(stack, lookup));

for (var entry: getDefaultEnchantments().entrySet()) {
for (var entry: getInherentEnchantments().entrySet()) {
Holder.Reference<Enchantment> holder = lookup.getOrThrow(entry.getKey());
enchantments.set(holder, entry.getValue());
}
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/dev/dubhe/anvilcraft/item/RoyalAxeItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
public class RoyalAxeItem extends AxeItem implements IHasDefaultEnchantment {
public class RoyalAxeItem extends AxeItem implements IInherentEnchantment {
/**
*
*/
Expand All @@ -33,20 +33,20 @@ public void appendHoverText(
ItemStack pStack, TooltipContext pContext, List<Component> pTooltipComponents, TooltipFlag pTooltipFlag) {
super.appendHoverText(pStack, pContext, pTooltipComponents, pTooltipFlag);
if (pContext.level() != null) {
pTooltipComponents.addAll(this.getDefaultEnchantmentsTooltip(pContext.level()));
pTooltipComponents.addAll(this.getInherentEnchantmentsTooltip(pContext.level()));
}
}

@Override
public Map<ResourceKey<Enchantment>, Integer> getDefaultEnchantments() {
public Map<ResourceKey<Enchantment>, Integer> getInherentEnchantments() {
return Map.of(Enchantments.UNBREAKING, 3);
}

@Override
public ItemEnchantments getAllEnchantments(ItemStack stack, HolderLookup.RegistryLookup<Enchantment> lookup) {
ItemEnchantments.Mutable enchantments = new ItemEnchantments.Mutable(super.getAllEnchantments(stack, lookup));

for (var entry : getDefaultEnchantments().entrySet()) {
for (var entry : getInherentEnchantments().entrySet()) {
Holder.Reference<Enchantment> holder = lookup.getOrThrow(entry.getKey());
enchantments.set(holder, entry.getValue());
}
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/dev/dubhe/anvilcraft/item/RoyalHoeItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

@ParametersAreNonnullByDefault
@MethodsReturnNonnullByDefault
public class RoyalHoeItem extends HoeItem implements IHasDefaultEnchantment {
public class RoyalHoeItem extends HoeItem implements IInherentEnchantment {
/**
*
*/
Expand All @@ -34,20 +34,20 @@ public void appendHoverText(
ItemStack pStack, TooltipContext pContext, List<Component> pTooltipComponents, TooltipFlag pTooltipFlag) {
super.appendHoverText(pStack, pContext, pTooltipComponents, pTooltipFlag);
if (pContext.level() != null) {
pTooltipComponents.addAll(this.getDefaultEnchantmentsTooltip(pContext.level()));
pTooltipComponents.addAll(this.getInherentEnchantmentsTooltip(pContext.level()));
}
}

@Override
public Map<ResourceKey<Enchantment>, Integer> getDefaultEnchantments() {
public Map<ResourceKey<Enchantment>, Integer> getInherentEnchantments() {
return Map.of(Enchantments.UNBREAKING, 3);
}

@Override
public ItemEnchantments getAllEnchantments(ItemStack stack, HolderLookup.RegistryLookup<Enchantment> lookup) {
ItemEnchantments.Mutable enchantments = new ItemEnchantments.Mutable(super.getAllEnchantments(stack, lookup));

for (var entry : getDefaultEnchantments().entrySet()) {
for (var entry : getInherentEnchantments().entrySet()) {
Holder.Reference<Enchantment> holder = lookup.getOrThrow(entry.getKey());
enchantments.set(holder, entry.getValue());
}
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/dev/dubhe/anvilcraft/item/RoyalPickaxeItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

@MethodsReturnNonnullByDefault
@ParametersAreNonnullByDefault
public class RoyalPickaxeItem extends PickaxeItem implements IHasDefaultEnchantment {
public class RoyalPickaxeItem extends PickaxeItem implements IInherentEnchantment {
public RoyalPickaxeItem(Properties properties) {
super(Tiers.DIAMOND, properties.attributes(AxeItem.createAttributes(Tiers.DIAMOND, 1, -2.8f)));
}
Expand All @@ -30,20 +30,20 @@ public void appendHoverText(
ItemStack pStack, TooltipContext pContext, List<Component> pTooltipComponents, TooltipFlag pTooltipFlag) {
super.appendHoverText(pStack, pContext, pTooltipComponents, pTooltipFlag);
if (pContext.level() != null) {
pTooltipComponents.addAll(this.getDefaultEnchantmentsTooltip(pContext.level()));
pTooltipComponents.addAll(this.getInherentEnchantmentsTooltip(pContext.level()));
}
}

@Override
public Map<ResourceKey<Enchantment>, Integer> getDefaultEnchantments() {
public Map<ResourceKey<Enchantment>, Integer> getInherentEnchantments() {
return Map.of(Enchantments.UNBREAKING, 3);
}

@Override
public ItemEnchantments getAllEnchantments(ItemStack stack, HolderLookup.RegistryLookup<Enchantment> lookup) {
ItemEnchantments.Mutable enchantments = new ItemEnchantments.Mutable(super.getAllEnchantments(stack, lookup));

for (var entry : getDefaultEnchantments().entrySet()) {
for (var entry : getInherentEnchantments().entrySet()) {
Holder.Reference<Enchantment> holder = lookup.getOrThrow(entry.getKey());
enchantments.set(holder, entry.getValue());
}
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/dev/dubhe/anvilcraft/item/RoyalShovelItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

@MethodsReturnNonnullByDefault
@ParametersAreNonnullByDefault
public class RoyalShovelItem extends ShovelItem implements IHasDefaultEnchantment {
public class RoyalShovelItem extends ShovelItem implements IInherentEnchantment {
public RoyalShovelItem(Properties properties) {
super(Tiers.DIAMOND, properties.attributes(AxeItem.createAttributes(Tiers.DIAMOND, 1.5f, -3.0f)));
}
Expand All @@ -30,20 +30,20 @@ public void appendHoverText(
ItemStack pStack, TooltipContext pContext, List<Component> pTooltipComponents, TooltipFlag pTooltipFlag) {
super.appendHoverText(pStack, pContext, pTooltipComponents, pTooltipFlag);
if (pContext.level() != null) {
pTooltipComponents.addAll(this.getDefaultEnchantmentsTooltip(pContext.level()));
pTooltipComponents.addAll(this.getInherentEnchantmentsTooltip(pContext.level()));
}
}

@Override
public Map<ResourceKey<Enchantment>, Integer> getDefaultEnchantments() {
public Map<ResourceKey<Enchantment>, Integer> getInherentEnchantments() {
return Map.of(Enchantments.UNBREAKING, 3);
}

@Override
public ItemEnchantments getAllEnchantments(ItemStack stack, HolderLookup.RegistryLookup<Enchantment> lookup) {
ItemEnchantments.Mutable enchantments = new ItemEnchantments.Mutable(super.getAllEnchantments(stack, lookup));

for (var entry : getDefaultEnchantments().entrySet()) {
for (var entry : getInherentEnchantments().entrySet()) {
Holder.Reference<Enchantment> holder = lookup.getOrThrow(entry.getKey());
enchantments.set(holder, entry.getValue());
}
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/dev/dubhe/anvilcraft/item/RoyalSwordItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

@MethodsReturnNonnullByDefault
@ParametersAreNonnullByDefault
public class RoyalSwordItem extends SwordItem implements IHasDefaultEnchantment {
public class RoyalSwordItem extends SwordItem implements IInherentEnchantment {
public RoyalSwordItem(Properties properties) {
super(Tiers.DIAMOND, properties.attributes(AxeItem.createAttributes(Tiers.DIAMOND, 3, -2.4f)));
}
Expand All @@ -30,20 +30,20 @@ public void appendHoverText(
ItemStack pStack, TooltipContext pContext, List<Component> pTooltipComponents, TooltipFlag pTooltipFlag) {
super.appendHoverText(pStack, pContext, pTooltipComponents, pTooltipFlag);
if (pContext.level() != null) {
pTooltipComponents.addAll(this.getDefaultEnchantmentsTooltip(pContext.level()));
pTooltipComponents.addAll(this.getInherentEnchantmentsTooltip(pContext.level()));
}
}

@Override
public Map<ResourceKey<Enchantment>, Integer> getDefaultEnchantments() {
public Map<ResourceKey<Enchantment>, Integer> getInherentEnchantments() {
return Map.of(Enchantments.UNBREAKING, 3);
}

@Override
public ItemEnchantments getAllEnchantments(ItemStack stack, HolderLookup.RegistryLookup<Enchantment> lookup) {
ItemEnchantments.Mutable enchantments = new ItemEnchantments.Mutable(super.getAllEnchantments(stack, lookup));

for (var entry : getDefaultEnchantments().entrySet()) {
for (var entry : getInherentEnchantments().entrySet()) {
Holder.Reference<Enchantment> holder = lookup.getOrThrow(entry.getKey());
enchantments.set(holder, entry.getValue());
}
Expand Down

0 comments on commit dd0a110

Please sign in to comment.