mirror of
https://github.com/SquidDev-CC/CC-Tweaked
synced 2025-10-31 21:52:59 +00:00
Use components for upgrade adjectives
This makes quick-and-dirty datapacks a little easier, as you can now use a hard-coded string rather than adding a language key.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"type": "computercraft:tool",
|
||||
"adjective": "upgrade.minecraft.diamond_axe.adjective",
|
||||
"adjective": {"translate": "upgrade.minecraft.diamond_axe.adjective"},
|
||||
"damageMultiplier": 6.0,
|
||||
"item": "minecraft:diamond_axe"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"type": "computercraft:tool",
|
||||
"adjective": "upgrade.minecraft.diamond_hoe.adjective",
|
||||
"adjective": {"translate": "upgrade.minecraft.diamond_hoe.adjective"},
|
||||
"breakable": "computercraft:turtle_hoe_harvestable",
|
||||
"item": "minecraft:diamond_hoe"
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"type": "computercraft:tool",
|
||||
"adjective": "upgrade.minecraft.diamond_pickaxe.adjective",
|
||||
"adjective": {"translate": "upgrade.minecraft.diamond_pickaxe.adjective"},
|
||||
"item": "minecraft:diamond_pickaxe"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"type": "computercraft:tool",
|
||||
"adjective": "upgrade.minecraft.diamond_shovel.adjective",
|
||||
"adjective": {"translate": "upgrade.minecraft.diamond_shovel.adjective"},
|
||||
"breakable": "computercraft:turtle_shovel_harvestable",
|
||||
"item": "minecraft:diamond_shovel"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"type": "computercraft:tool",
|
||||
"adjective": "upgrade.minecraft.diamond_sword.adjective",
|
||||
"adjective": {"translate": "upgrade.minecraft.diamond_sword.adjective"},
|
||||
"breakable": "computercraft:turtle_sword_harvestable",
|
||||
"damageMultiplier": 9.0,
|
||||
"item": "minecraft:diamond_sword"
|
||||
|
||||
@@ -9,7 +9,6 @@ import dan200.computercraft.api.ComputerCraftAPI;
|
||||
import dan200.computercraft.api.ComputerCraftTags;
|
||||
import dan200.computercraft.api.pocket.PocketUpgradeDataProvider;
|
||||
import dan200.computercraft.api.turtle.TurtleUpgradeDataProvider;
|
||||
import dan200.computercraft.api.upgrades.UpgradeBase;
|
||||
import dan200.computercraft.core.metrics.Metric;
|
||||
import dan200.computercraft.core.metrics.Metrics;
|
||||
import dan200.computercraft.shared.ModRegistry;
|
||||
@@ -22,6 +21,8 @@ import net.minecraft.core.registries.BuiltInRegistries;
|
||||
import net.minecraft.data.CachedOutput;
|
||||
import net.minecraft.data.DataProvider;
|
||||
import net.minecraft.data.PackOutput;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.network.chat.contents.TranslatableContents;
|
||||
import net.minecraft.tags.TagKey;
|
||||
import net.minecraft.world.item.Item;
|
||||
|
||||
@@ -287,8 +288,8 @@ public final class LanguageProvider implements DataProvider {
|
||||
BuiltInRegistries.ITEM.holders()
|
||||
.filter(x -> x.key().location().getNamespace().equals(ComputerCraftAPI.MOD_ID))
|
||||
.map(x -> x.value().getDescriptionId()),
|
||||
turtleUpgrades.getGeneratedUpgrades().values().stream().map(UpgradeBase::getUnlocalisedAdjective),
|
||||
pocketUpgrades.getGeneratedUpgrades().values().stream().map(UpgradeBase::getUnlocalisedAdjective),
|
||||
turtleUpgrades.getGeneratedUpgrades().values().stream().flatMap(x -> getTranslationKeys(x.getAdjective())),
|
||||
pocketUpgrades.getGeneratedUpgrades().values().stream().flatMap(x -> getTranslationKeys(x.getAdjective())),
|
||||
Metric.metrics().values().stream().map(x -> AggregatedMetric.TRANSLATION_PREFIX + x.name() + ".name"),
|
||||
ConfigSpec.serverSpec.entries().map(ConfigFile.Entry::translationKey),
|
||||
ConfigSpec.clientSpec.entries().map(ConfigFile.Entry::translationKey),
|
||||
@@ -296,6 +297,12 @@ public final class LanguageProvider implements DataProvider {
|
||||
).flatMap(x -> x);
|
||||
}
|
||||
|
||||
private static Stream<String> getTranslationKeys(Component component) {
|
||||
if (component.getContents() instanceof TranslatableContents contents) return Stream.of(contents.getKey());
|
||||
|
||||
return component.getSiblings().stream().flatMap(LanguageProvider::getTranslationKeys);
|
||||
}
|
||||
|
||||
private void add(String id, String text) {
|
||||
Objects.requireNonNull(id, "id cannot be null");
|
||||
Objects.requireNonNull(text, "text cannot be null");
|
||||
|
||||
@@ -127,9 +127,7 @@ public class PocketComputerItem extends Item implements IMedia {
|
||||
var baseString = getDescriptionId(stack);
|
||||
var upgrade = getUpgrade(stack);
|
||||
if (upgrade != null) {
|
||||
return Component.translatable(baseString + ".upgraded",
|
||||
Component.translatable(upgrade.getUnlocalisedAdjective())
|
||||
);
|
||||
return Component.translatable(baseString + ".upgraded", upgrade.getAdjective());
|
||||
} else {
|
||||
return super.getName(stack);
|
||||
}
|
||||
|
||||
@@ -34,18 +34,11 @@ public class TurtleItem extends AbstractComputerItem {
|
||||
var left = getUpgrade(stack, TurtleSide.LEFT);
|
||||
var right = getUpgrade(stack, TurtleSide.RIGHT);
|
||||
if (left != null && right != null) {
|
||||
return Component.translatable(baseString + ".upgraded_twice",
|
||||
Component.translatable(right.getUnlocalisedAdjective()),
|
||||
Component.translatable(left.getUnlocalisedAdjective())
|
||||
);
|
||||
return Component.translatable(baseString + ".upgraded_twice", right.getAdjective(), left.getAdjective());
|
||||
} else if (left != null) {
|
||||
return Component.translatable(baseString + ".upgraded",
|
||||
Component.translatable(left.getUnlocalisedAdjective())
|
||||
);
|
||||
return Component.translatable(baseString + ".upgraded", left.getAdjective());
|
||||
} else if (right != null) {
|
||||
return Component.translatable(baseString + ".upgraded",
|
||||
Component.translatable(right.getUnlocalisedAdjective())
|
||||
);
|
||||
return Component.translatable(baseString + ".upgraded", right.getAdjective());
|
||||
} else {
|
||||
return Component.translatable(baseString);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"type": "computercraft:tool",
|
||||
"adjective": "upgrade.minecraft.diamond_pickaxe.adjective",
|
||||
"adjective": "Netherite",
|
||||
"item": "minecraft:netherite_pickaxe",
|
||||
"allowEnchantments": true,
|
||||
"consumeDurability": "when_enchanted"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"type": "computercraft:tool",
|
||||
"adjective": "upgrade.minecraft.diamond_pickaxe.adjective",
|
||||
"adjective": "Wooden",
|
||||
"item": "minecraft:wooden_pickaxe",
|
||||
"consumeDurability": "always"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user