Add covers to JEI.

This commit is contained in:
raoulvdberge
2018-07-04 20:25:35 +02:00
parent 547f918411
commit 34536ec96a
4 changed files with 55 additions and 1 deletions

View File

@@ -1,8 +1,10 @@
package com.raoulvdberge.refinedstorage;
import com.raoulvdberge.refinedstorage.command.CommandCreateDisk;
import com.raoulvdberge.refinedstorage.item.ItemCover;
import com.raoulvdberge.refinedstorage.proxy.ProxyCommon;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fml.common.FMLLog;
@@ -40,6 +42,16 @@ public final class RS {
return new ItemStack(RSItems.STORAGE_HOUSING);
}
};
public final CreativeTabs coversTab = new CreativeTabs(ID + ".covers") {
@Override
public ItemStack getTabIconItem() {
ItemStack stack = new ItemStack(RSItems.COVER);
ItemCover.setItem(stack, new ItemStack(Blocks.STONE));
return stack;
}
};
@EventHandler
public void preInit(FMLPreInitializationEvent e) {

View File

@@ -7,6 +7,8 @@ import com.raoulvdberge.refinedstorage.apiimpl.network.node.ICoverable;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNode;
import com.raoulvdberge.refinedstorage.item.ItemCover;
import net.minecraft.block.Block;
import net.minecraft.block.BlockGlass;
import net.minecraft.block.BlockStainedGlass;
import net.minecraft.block.state.IBlockState;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;
@@ -138,7 +140,7 @@ public class CoverManager {
IBlockState state = getBlockState(item);
return block != null && state != null && isModelSupported(state) && block.isTopSolid(state) && !block.getTickRandomly() && !block.hasTileEntity(state);
return block != null && state != null && ((isModelSupported(state) && block.isTopSolid(state) && !block.getTickRandomly() && !block.hasTileEntity(state)) || block instanceof BlockGlass || block instanceof BlockStainedGlass);
}
private static boolean isModelSupported(IBlockState state) {

View File

@@ -1,18 +1,26 @@
package com.raoulvdberge.refinedstorage.item;
import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.RSItems;
import com.raoulvdberge.refinedstorage.api.network.node.INetworkNode;
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.ICoverable;
import com.raoulvdberge.refinedstorage.apiimpl.network.node.cover.CoverManager;
import com.raoulvdberge.refinedstorage.tile.TileNode;
import com.raoulvdberge.refinedstorage.util.WorldUtils;
import net.minecraft.block.Block;
import net.minecraft.client.util.ITooltipFlag;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.EnumHand;
import net.minecraft.util.NonNullList;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
@@ -25,6 +33,8 @@ public class ItemCover extends ItemBase {
public ItemCover() {
super("cover");
setCreativeTab(RS.INSTANCE.coversTab);
}
public static void setItem(ItemStack cover, ItemStack item) {
@@ -55,6 +65,35 @@ public class ItemCover extends ItemBase {
}
}
@Override
public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> items) {
if (!isInCreativeTab(tab)) {
return;
}
for (Block block : Block.REGISTRY) {
Item item = Item.getItemFromBlock(block);
if (item == Items.AIR) {
continue;
}
NonNullList<ItemStack> subBlocks = NonNullList.create();
block.getSubBlocks(CreativeTabs.SEARCH, subBlocks);
for (ItemStack subBlock : subBlocks) {
if (CoverManager.isValidCover(subBlock)) {
ItemStack stack = new ItemStack(RSItems.COVER);
setItem(stack, subBlock);
items.add(stack);
}
}
}
}
@Override
public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing facing, float hitX, float hitY, float hitZ) {
ItemStack stack = player.getHeldItem(hand);

View File

@@ -1,4 +1,5 @@
itemGroup.refinedstorage=Refined Storage
itemGroup.refinedstorage.covers=Refined Storage Covers
key.refinedstorage.focusSearchBar=Focus Grid Search Bar
key.refinedstorage.clearGridCraftingMatrix=Clear Grid Crafting Matrix