Automatically add description to items if loca key exists.
This commit is contained in:
@@ -7,13 +7,11 @@ import li.cil.oc2.common.item.Items;
|
||||
import li.cil.oc2.common.tileentity.BusCableTileEntity;
|
||||
import li.cil.oc2.common.tileentity.TileEntities;
|
||||
import li.cil.oc2.common.util.ItemStackUtils;
|
||||
import li.cil.oc2.common.util.TooltipUtils;
|
||||
import li.cil.oc2.common.util.WorldUtils;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.item.BlockItemUseContext;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -28,7 +26,6 @@ import net.minecraft.util.math.shapes.ISelectionContext;
|
||||
import net.minecraft.util.math.shapes.VoxelShape;
|
||||
import net.minecraft.util.math.shapes.VoxelShapes;
|
||||
import net.minecraft.util.math.vector.Vector3d;
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
import net.minecraft.world.GameRules;
|
||||
import net.minecraft.world.IBlockReader;
|
||||
import net.minecraft.world.IWorld;
|
||||
@@ -123,12 +120,6 @@ public final class BusCableBlock extends Block {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(final ItemStack stack, @org.jetbrains.annotations.Nullable final IBlockReader worldIn, final List<ITextComponent> tooltip, final ITooltipFlag flagIn) {
|
||||
super.addInformation(stack, worldIn, tooltip, flagIn);
|
||||
TooltipUtils.addDescription(stack, tooltip);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasTileEntity(final BlockState state) {
|
||||
return true;
|
||||
|
||||
@@ -76,7 +76,6 @@ public final class ComputerBlock extends HorizontalBlock {
|
||||
@Override
|
||||
public void addInformation(final ItemStack stack, @Nullable final IBlockReader world, final List<ITextComponent> tooltip, final ITooltipFlag advanced) {
|
||||
super.addInformation(stack, world, tooltip, advanced);
|
||||
TooltipUtils.addDescription(stack, tooltip);
|
||||
TooltipUtils.addTileEntityInventoryInformation(stack, tooltip);
|
||||
}
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ import net.minecraft.util.text.StringTextComponent;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public abstract class AbstractStorageItem extends Item {
|
||||
public abstract class AbstractStorageItem extends ModItem {
|
||||
private static final String CAPACITY_TAG_NAME = "size";
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -5,7 +5,6 @@ import li.cil.oc2.common.block.BusCableBlock;
|
||||
import li.cil.oc2.common.util.TooltipUtils;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemUseContext;
|
||||
import net.minecraft.util.ActionResultType;
|
||||
@@ -18,19 +17,13 @@ import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public final class BusInterfaceItem extends Item {
|
||||
public final class BusInterfaceItem extends ModItem {
|
||||
public BusInterfaceItem(final Properties properties) {
|
||||
super(properties);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
@Override
|
||||
public void addInformation(final ItemStack stack, @Nullable final World worldIn, final List<ITextComponent> tooltip, final ITooltipFlag flagIn) {
|
||||
super.addInformation(stack, worldIn, tooltip, flagIn);
|
||||
TooltipUtils.addDescription(stack, tooltip);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResultType onItemUse(final ItemUseContext context) {
|
||||
final World world = context.getWorld();
|
||||
|
||||
@@ -5,7 +5,6 @@ import li.cil.oc2.client.renderer.tileentity.RobotItemStackRenderer;
|
||||
import li.cil.oc2.common.Constants;
|
||||
import li.cil.oc2.common.block.Blocks;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.item.BlockItem;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraftforge.fml.RegistryObject;
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
||||
@@ -51,11 +50,11 @@ public final class Items {
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
private static RegistryObject<Item> register(final String name) {
|
||||
return register(name, Item::new);
|
||||
return register(name, ModItem::new);
|
||||
}
|
||||
|
||||
private static RegistryObject<Item> register(final String name, final Item.Properties properties) {
|
||||
return register(name, Item::new, properties);
|
||||
return register(name, ModItem::new, properties);
|
||||
}
|
||||
|
||||
private static <T extends Item> RegistryObject<T> register(final String name, final Function<Item.Properties, T> factory) {
|
||||
@@ -67,7 +66,7 @@ public final class Items {
|
||||
}
|
||||
|
||||
private static <T extends Block> RegistryObject<Item> register(final String name, final RegistryObject<T> block) {
|
||||
return register(name, (properties) -> new BlockItem(block.get(), properties));
|
||||
return register(name, (properties) -> new ModBlockItem(block.get(), properties));
|
||||
}
|
||||
|
||||
private static Item.Properties commonProperties() {
|
||||
|
||||
26
src/main/java/li/cil/oc2/common/item/ModBlockItem.java
Normal file
26
src/main/java/li/cil/oc2/common/item/ModBlockItem.java
Normal file
@@ -0,0 +1,26 @@
|
||||
package li.cil.oc2.common.item;
|
||||
|
||||
import li.cil.oc2.common.util.TooltipUtils;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.item.BlockItem;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
import net.minecraft.world.World;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ModBlockItem extends BlockItem {
|
||||
public ModBlockItem(final Block block, final Properties properties) {
|
||||
super(block, properties);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
@Override
|
||||
public void addInformation(final ItemStack stack, @Nullable final World world, final List<ITextComponent> tooltip, final ITooltipFlag flag) {
|
||||
TooltipUtils.tryAddDescription(stack, tooltip);
|
||||
this.getBlock().addInformation(stack, world, tooltip, flag);
|
||||
}
|
||||
}
|
||||
25
src/main/java/li/cil/oc2/common/item/ModItem.java
Normal file
25
src/main/java/li/cil/oc2/common/item/ModItem.java
Normal file
@@ -0,0 +1,25 @@
|
||||
package li.cil.oc2.common.item;
|
||||
|
||||
import li.cil.oc2.common.util.TooltipUtils;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
import net.minecraft.world.World;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ModItem extends Item {
|
||||
public ModItem(final Properties properties) {
|
||||
super(properties);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
@Override
|
||||
public void addInformation(final ItemStack stack, @Nullable final World world, final List<ITextComponent> tooltip, final ITooltipFlag flag) {
|
||||
super.addInformation(stack, world, tooltip, flag);
|
||||
TooltipUtils.tryAddDescription(stack, tooltip);
|
||||
}
|
||||
}
|
||||
@@ -19,7 +19,7 @@ import net.minecraft.world.World;
|
||||
import java.util.Objects;
|
||||
import java.util.WeakHashMap;
|
||||
|
||||
public final class NetworkCableItem extends Item {
|
||||
public final class NetworkCableItem extends ModItem {
|
||||
private static final WeakHashMap<ServerPlayerEntity, BlockPos> LINK_STARTS = new WeakHashMap<>();
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -8,7 +8,6 @@ import li.cil.oc2.common.util.WorldUtils;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.item.BlockItemUseContext;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemUseContext;
|
||||
import net.minecraft.stats.Stats;
|
||||
@@ -22,7 +21,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public final class RobotItem extends Item {
|
||||
public final class RobotItem extends ModItem {
|
||||
public RobotItem(final Properties properties) {
|
||||
super(properties);
|
||||
}
|
||||
@@ -32,7 +31,6 @@ public final class RobotItem extends Item {
|
||||
@Override
|
||||
public void addInformation(final ItemStack stack, @Nullable final World world, final List<ITextComponent> tooltip, final ITooltipFlag flags) {
|
||||
super.addInformation(stack, world, tooltip, flags);
|
||||
TooltipUtils.addDescription(stack, tooltip);
|
||||
TooltipUtils.addEntityInventoryInformation(stack, tooltip);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,40 +1,27 @@
|
||||
package li.cil.oc2.common.item;
|
||||
|
||||
import li.cil.oc2.api.API;
|
||||
import li.cil.oc2.common.util.TooltipUtils;
|
||||
import li.cil.oc2.common.util.WorldUtils;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.block.SoundType;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.entity.player.ServerPlayerEntity;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.ItemUseContext;
|
||||
import net.minecraft.server.management.PlayerInteractionManager;
|
||||
import net.minecraft.util.ActionResultType;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.text.ITextComponent;
|
||||
import net.minecraft.world.World;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public final class WrenchItem extends Item {
|
||||
public final class WrenchItem extends ModItem {
|
||||
public WrenchItem(final Properties properties) {
|
||||
super(properties);
|
||||
}
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
@Override
|
||||
public void addInformation(final ItemStack stack, @Nullable final World worldIn, final List<ITextComponent> tooltip, final ITooltipFlag flagIn) {
|
||||
super.addInformation(stack, worldIn, tooltip, flagIn);
|
||||
TooltipUtils.addDescription(stack, tooltip);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ActionResultType onItemUse(final ItemUseContext context) {
|
||||
final World world = context.getWorld();
|
||||
|
||||
@@ -21,9 +21,13 @@ public final class TooltipUtils {
|
||||
|
||||
///////////////////////////////////////////////////////////////////
|
||||
|
||||
public static void addDescription(final ItemStack stack, final List<ITextComponent> tooltip) {
|
||||
final TranslationTextComponent description = new TranslationTextComponent(stack.getTranslationKey() + Constants.DESCRIPTION_SUFFIX);
|
||||
tooltip.add(new StringTextComponent("").modifyStyle(s -> s.setColor(Color.fromTextFormatting(TextFormatting.GRAY))).append(description));
|
||||
public static void tryAddDescription(final ItemStack stack, final List<ITextComponent> tooltip) {
|
||||
final String translationKey = stack.getTranslationKey() + Constants.DESCRIPTION_SUFFIX;
|
||||
final LanguageMap languagemap = LanguageMap.getInstance();
|
||||
if (languagemap.func_230506_b_(translationKey)) {
|
||||
final TranslationTextComponent description = new TranslationTextComponent(translationKey);
|
||||
tooltip.add(new StringTextComponent("").modifyStyle(s -> s.setColor(Color.fromTextFormatting(TextFormatting.GRAY))).append(description));
|
||||
}
|
||||
}
|
||||
|
||||
public static void addTileEntityInventoryInformation(final ItemStack stack, final List<ITextComponent> tooltip) {
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
"item.oc2.robot": "Robot",
|
||||
"item.oc2.robot.desc": "Use a Scrench or compatible wrench to add and remove components.",
|
||||
"item.oc2.inventory_operations_module": "Inventory Operations Module",
|
||||
"item.oc2.inventory_operations_module.desc": "Enables robots to move items in their inventory, including to and from adjacent inventories.",
|
||||
"item.oc2.inventory_operations_module.desc": "Enables robots to move items in, into and out of their inventory.",
|
||||
"item.oc2.block_operations_module": "Block Operations Module",
|
||||
"item.oc2.block_operations_module.desc": "Enables robots to break and place blocks.",
|
||||
|
||||
|
||||
Reference in New Issue
Block a user