ActuallyAdditions/src/main/java/ellpeck/actuallyadditions/util/BlockUtil.java

70 lines
2.9 KiB
Java
Raw Normal View History

2015-03-29 15:29:05 +02:00
package ellpeck.actuallyadditions.util;
import cpw.mods.fml.common.registry.GameRegistry;
import ellpeck.actuallyadditions.creative.CreativeTab;
import net.minecraft.block.Block;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.ItemStack;
import net.minecraft.util.StatCollector;
import net.minecraftforge.oredict.OreDictionary;
2015-05-22 17:48:50 +02:00
import java.util.ArrayList;
import java.util.List;
2015-03-29 15:29:05 +02:00
public class BlockUtil{
public static String createUnlocalizedName(Block block){
return ModUtil.MOD_ID_LOWER + "." + ((INameableItem)block).getName();
}
2015-06-18 13:14:57 +02:00
@SuppressWarnings("unchecked")
public static void addInformation(Block block, List list, int lines, String extraName){
if(KeyUtil.isShiftPressed()){
for(int i = 0; i < lines; i++){
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + "." + ((INameableItem)block).getName() + extraName + ".desc" + (lines > 1 ? "." +(i+1) : "")));
}
}
else list.add(ItemUtil.shiftForInfo());
}
2015-05-20 22:39:43 +02:00
@SuppressWarnings("unchecked")
public static void addPowerUsageInfo(List list, int usage){
if(KeyUtil.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".uses.desc") + " " + usage + " RF/t");
}
}
@SuppressWarnings("unchecked")
public static void addPowerProductionInfo(List list, int produce){
2015-06-18 13:14:57 +02:00
if(KeyUtil.isShiftPressed()){
list.add(StatCollector.translateToLocal("tooltip." + ModUtil.MOD_ID_LOWER + ".produces.desc") + " " + produce + " RF/t");
}
2015-05-20 22:39:43 +02:00
}
2015-05-22 17:48:50 +02:00
public static final ArrayList<Block> wailaRegisterList = new ArrayList<Block>();
public static void register(Block block, Class<? extends ItemBlock> itemBlock, Enum[] list){
block.setCreativeTab(CreativeTab.instance);
block.setBlockName(createUnlocalizedName(block));
GameRegistry.registerBlock(block, itemBlock, ((INameableItem)block).getName());
for(Enum current : list){
2015-04-28 20:54:23 +02:00
if(!((INameableItem)current).getOredictName().isEmpty()) OreDictionary.registerOre(((INameableItem)current).getOredictName(), new ItemStack(block, 1, current.ordinal()));
}
2015-05-20 22:39:43 +02:00
2015-05-22 17:48:50 +02:00
wailaRegisterList.add(block);
2015-03-29 15:29:05 +02:00
}
public static void register(Block block, Class<? extends ItemBlock> itemBlock){
2015-05-20 22:39:43 +02:00
register(block, itemBlock, true);
}
public static void register(Block block, Class<? extends ItemBlock> itemBlock, boolean addTab){
if(addTab) block.setCreativeTab(CreativeTab.instance);
2015-03-29 15:29:05 +02:00
block.setBlockName(createUnlocalizedName(block));
GameRegistry.registerBlock(block, itemBlock, ((INameableItem)block).getName());
2015-05-04 17:26:50 +02:00
if(!((INameableItem)block).getOredictName().isEmpty()) OreDictionary.registerOre(((INameableItem)block).getOredictName(), new ItemStack(block, 1, Util.WILDCARD));
2015-05-20 22:39:43 +02:00
2015-05-22 17:48:50 +02:00
wailaRegisterList.add(block);
2015-03-29 15:29:05 +02:00
}
}