Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[1.7.2] Localization Trouble with .name


Recommended Posts

Register your blocks using the block.getUnlocalizedName() rather than predefined names. It will prepend tile. and append .name automatically for you, and you just need to have that in your language file:

Block block = new Block().setUnlocalizedName("block");

GameRegistry.registerBlock(block, block.getUnlocalizedName());

tile.block.name=Some Block

Link to post
Share on other sites
  • 1 month later...

Use

.setUnlocalizedName("canempty");

at constructor for an block/item ex.

can_empty = new itemCan(Blocks.air).setUnlocalizedName("canempty");

then go to game, check what is the name, which is showing:

https://www.dropbox.com/s/2fs1jqhx17rvun6/canempty.png

and then add in your .lang file shownname=Name of Item, so in my example that would be

item.canempty.name=Empty Can

.lang files have to go to assets.nameofyourmod.lang and default name for english is en_US.lang. In Your case package would be

assets.meca.lang

Hope I helped.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • First of all, do not use @OnlyIn. The Callable must be in a separate class.
    • Can you explain better? This is my class where i register the blocks and relative itemblocks: package com.ike.tenchest; import com.ike.tenchest.basechest.BaseChestItemStackRenderer; import com.ike.tenchest.colossalchest.ColossalChest; import com.ike.tenchest.colossalchest.ColossalChestPart; import com.ike.tenchest.drillchest.DrillChest; import com.ike.tenchest.invisiblechest.InvisibleChest; import com.ike.tenchest.lootchest.LootChest; import com.ike.tenchest.lootchest.LootChestTileEntity; import com.ike.tenchest.minichest.MiniChest; import com.ike.tenchest.monsterchest.MonsterChest; import com.ike.tenchest.pitfallchest.PitfallChest; import com.ike.tenchest.pocketdimensionchest.PocketDimensionChest; import com.ike.tenchest.pocketdimensionchest.PocketDimensionChestTileEntity; import com.ike.tenchest.smeltingchest.SmeltingChest; import com.ike.tenchest.smeltingchest.SmeltingChestTileEntity; import com.ike.tenchest.teleportchest.TeleportChest; import com.ike.tenchest.teleportchest.TeleportChestTileEntity; import com.ike.tenchest.trapchest.TrapChest; import net.minecraft.block.Block; import net.minecraft.client.renderer.tileentity.ItemStackTileEntityRenderer; import net.minecraft.item.BlockItem; import net.minecraft.item.Item; import net.minecraft.tileentity.ChestTileEntity; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.fml.RegistryObject; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.event.lifecycle.IModBusEvent; import net.minecraftforge.registries.DeferredRegister; import net.minecraftforge.registries.ForgeRegistries; import java.util.concurrent.Callable; import java.util.function.Function; import java.util.function.Supplier; /** * @author Ike * @version 1.0A **/ @Mod.EventBusSubscriber(bus = Mod.EventBusSubscriber.Bus.MOD) public class Blocks implements IModBusEvent { public static final DeferredRegister<Block> BLOCKS; public static final DeferredRegister<Item> ITEMS; public static final RegistryObject<MiniChest> MINI_CHEST; public static final RegistryObject<SmeltingChest> SMELTING_CHEST; public static final RegistryObject<InvisibleChest> INVISIBLE_CHEST; public static final RegistryObject<TrapChest> TRAP_CHEST; public static final RegistryObject<PitfallChest> PITFALL_CHEST; public static final RegistryObject<DrillChest> DRILL_CHEST; public static final RegistryObject<TeleportChest> TELEPORT_CHEST; public static final RegistryObject<LootChest> LOOT_CHEST; public static final RegistryObject<MonsterChest> MONSTER_CHEST; public static final RegistryObject<PocketDimensionChest> POCKET_DIMENSION_CHEST; public static final RegistryObject<ColossalChest> COLOSSAL_CHEST; public static final RegistryObject<ColossalChestPart> COLOSSAL_CHEST_PART; static { BLOCKS = DeferredRegister.create(ForgeRegistries.BLOCKS, TenChest.MODID); ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, TenChest.MODID); MINI_CHEST = register("mini_chest", MiniChest::new, Blocks::baseChestRenderer); SMELTING_CHEST = register("smelting_chest", SmeltingChest::new, Blocks::smeltingChestRenderer); INVISIBLE_CHEST = register("invisible_chest", InvisibleChest::new, Blocks::baseChestRenderer); TRAP_CHEST = register("trap_chest", TrapChest::new, Blocks::baseChestRenderer); PITFALL_CHEST = register("pitfall_chest", PitfallChest::new, Blocks::baseChestRenderer); DRILL_CHEST = register("drill_chest", DrillChest::new, Blocks::baseChestRenderer); TELEPORT_CHEST = register("teleport_chest", TeleportChest::new, Blocks::teleportChestRenderer); LOOT_CHEST = register("loot_chest", LootChest::new, Blocks::lootChestRenderer); MONSTER_CHEST = register("monster_chest", MonsterChest::new, Blocks::baseChestRenderer); POCKET_DIMENSION_CHEST = register("pocket_dimension_chest", PocketDimensionChest::new, Blocks::pocketDimensionChestRenderer); COLOSSAL_CHEST_PART = register("colossal_chest_part", ColossalChestPart::new); COLOSSAL_CHEST = register("colossal_chest", ColossalChest::new, Blocks::baseChestRenderer); } @OnlyIn(Dist.CLIENT) private static Callable<ItemStackTileEntityRenderer> baseChestRenderer() { return () -> new BaseChestItemStackRenderer(ChestTileEntity::new); } @OnlyIn(Dist.CLIENT) private static Callable<ItemStackTileEntityRenderer> smeltingChestRenderer() { return () -> new BaseChestItemStackRenderer(SmeltingChestTileEntity::new); } @OnlyIn(Dist.CLIENT) private static Callable<ItemStackTileEntityRenderer> teleportChestRenderer() { return () -> new BaseChestItemStackRenderer(TeleportChestTileEntity::new); } @OnlyIn(Dist.CLIENT) private static Callable<ItemStackTileEntityRenderer> lootChestRenderer() { return () -> new BaseChestItemStackRenderer(LootChestTileEntity::new); } @OnlyIn(Dist.CLIENT) private static Callable<ItemStackTileEntityRenderer> pocketDimensionChestRenderer() { return () -> new BaseChestItemStackRenderer(PocketDimensionChestTileEntity::new); } private static <T extends Block> RegistryObject<T> register(String name, Supplier<? extends T> sup, Supplier<Callable<ItemStackTileEntityRenderer>> renderMethod) { return register(name, sup, (block) -> item(block, renderMethod)); } private static <T extends Block> RegistryObject<T> register(String name, Supplier<? extends T> sup) { return register(name, sup, (block) -> item(block)); } private static <T extends Block> RegistryObject<T> register(String name, Supplier<? extends T> sup, Function<RegistryObject<T>, Supplier<? extends Item>> itemCreator) { RegistryObject<T> ret = registerNoItem(name, sup); ITEMS.register(name, (Supplier) itemCreator.apply(ret)); return ret; } private static <T extends Block> RegistryObject<T> registerNoItem(String name, Supplier<? extends T> sup) { return BLOCKS.register(name, sup); } private static Supplier<BlockItem> item(RegistryObject<? extends Block> block, Supplier<Callable<ItemStackTileEntityRenderer>> renderMethod) { return () -> { BlockItem blockItem = new BlockItem(block.get(), (new Item.Properties().tab(TenChest.MOD_GROUP).setISTER(renderMethod))); return blockItem; }; } private static Supplier<BlockItem> item(RegistryObject<? extends Block> block) { return () -> new BlockItem(block.get(), (new Item.Properties()));//.tab(TenChest.MOD_GROUP))); } } How can i separate the process between server and client?
    • The setISTER method takes a Supplier<Callable>. The Callable should be implemented in a separate class to prevent loading it on the server.
    • Ok, i removed it. But i use Item.Property.setISTER() for render the Block on the inventory, and the ItemStackTileEntityRenderer is only on Dist.CLIENT How can i make it work also on the server side?
    • Do not implement IChestLid on your tile entity.
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.