package com.oierbravo.mechanicals.utility; import com.tterrag.registrate.AbstractRegistrate; public class RegistrateLangBuilder> { private final String namespace; private final R registrate; public RegistrateLangBuilder(String namespace, R registrate) { this.namespace = namespace; this.registrate = registrate; } public RegistrateLangBuilder add(String literal, String defaultTranslation){ registrate.addRawLang(namespace + "." + literal,defaultTranslation); return this; } public RegistrateLangBuilder addCreativeTab(String defaultTranslation){ return add(MechanicalLangIdGenerator.creativeTabId( "main"), defaultTranslation); } public RegistrateLangBuilder addJade(String defaultTranslation){ registrate.addRawLang(MechanicalLangIdGenerator.jadeId(namespace),defaultTranslation); return this; } public RegistrateLangBuilder addRaw(String literal, String defaultTranslation){ registrate.addRawLang(literal,defaultTranslation); return this; } protected RegistrateLangBuilder addRecipeRequirement(String variant, String id, String defaultTranslation){ registrate.addRawLang("mechanicals." + MechanicalLangIdGenerator.recipeRequirement(id, variant),defaultTranslation); return this; } public RegistrateLangBuilder addRecipeRequirementTitle(String id, String defaultTranslation){ return addRecipeRequirement("title", id, defaultTranslation); } public RegistrateLangBuilder addRecipeRequirementValue(String id, String defaultTranslation){ return addRecipeRequirement("value", id, defaultTranslation); } public RegistrateLangBuilder addRecipeRequirementMissing(String id, String defaultTranslation){ return addRecipeRequirement("missing", id, defaultTranslation); } protected RegistrateLangBuilder addTooltip(String id, String type, String variant, String defaultTranslation){ registrate.addRawLang(type + "." + namespace + "." + id + ".tooltip." + variant,defaultTranslation); return this; } /* Item tooltips */ public RegistrateLangBuilder addItemTooltip(String id, String variant, String defaultTranslation){ return addTooltip(id, "item", variant, defaultTranslation); } public RegistrateLangBuilder addItemTooltipSummary(String id, String defaultTranslation){ return addItemTooltip(id, "summary", defaultTranslation); } public RegistrateLangBuilder addItemTooltipCondition(String id, int index, String defaultTranslation){ return addItemTooltip(id, "condition" + index, defaultTranslation); } public RegistrateLangBuilder addItemTooltipBehaviour(String id, int index, String defaultTranslation){ return addItemTooltip(id, "behaviour" + index, defaultTranslation); } /* Block tooltips */ protected RegistrateLangBuilder addBlockTooltip(String id, String variant, String defaultTranslation){ return addTooltip(id, "block", variant, defaultTranslation); } public RegistrateLangBuilder addBlockTooltipSummary(String id, String defaultTranslation){ return addBlockTooltip(id, "summary", defaultTranslation); } public RegistrateLangBuilder addBlockTooltipCondition(String id, int index, String defaultTranslation){ return addBlockTooltip(id, "condition" + index, defaultTranslation); } public RegistrateLangBuilder addBlockTooltipBehaviour(String id, int index, String defaultTranslation){ return addBlockTooltip(id, "behaviour" + index, defaultTranslation); } /* Ponder */ protected RegistrateLangBuilder addPonder(String id, String variant, String defaultTranslation){ registrate.addRawLang(namespace + ".ponder." + id + "." + variant,defaultTranslation); return this; } public RegistrateLangBuilder addPonderHeader(String id, String defaultTranslation){ return addPonder(id, "header", defaultTranslation); } public RegistrateLangBuilder addPonderText(int index, String id, String defaultTranslation){ return addPonder(id, "text_" + index, defaultTranslation); } }