Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package shadows.compatched;
- import com.tattyseal.compactstorage.tileentity.TileEntityChest;
- import com.tattyseal.compactstorage.tileentity.TileEntityChestBuilder;
- import net.minecraft.inventory.IInventory;
- import net.minecraft.tileentity.TileEntity;
- import net.minecraft.util.EnumFacing;
- import net.minecraft.util.ResourceLocation;
- import net.minecraftforge.common.MinecraftForge;
- import net.minecraftforge.common.capabilities.Capability;
- import net.minecraftforge.common.capabilities.ICapabilityProvider;
- import net.minecraftforge.event.AttachCapabilitiesEvent;
- import net.minecraftforge.fml.common.Mod;
- import net.minecraftforge.fml.common.Mod.EventHandler;
- import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
- import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
- import net.minecraftforge.items.CapabilityItemHandler;
- import net.minecraftforge.items.wrapper.InvWrapper;
- @Mod(modid = ComPatchedStorage.MODID, name = ComPatchedStorage.MODNAME, version = ComPatchedStorage.VERSION, dependencies = "required-after:compactstorage")
- public class ComPatchedStorage {
- public static final String MODID = "compatched";
- public static final String MODNAME = "ComPatchedStorage";
- public static final String VERSION = "1.1.0";
- @EventHandler
- public void preInit(FMLPreInitializationEvent e) {
- MinecraftForge.EVENT_BUS.register(this);
- }
- @SubscribeEvent
- public void caps(AttachCapabilitiesEvent<TileEntity> e) {
- TileEntity te = e.getObject();
- if (te instanceof TileEntityChest || te instanceof TileEntityChestBuilder) {
- e.addCapability(new ResourceLocation(MODID, "invwrapper"), new InvWrappingCap((IInventory) te));
- }
- }
- private static class InvWrappingCap implements ICapabilityProvider {
- InvWrapper wrapped;
- InvWrappingCap(IInventory toWrap) {
- wrapped = new InvWrapper(toWrap);
- }
- @Override
- public boolean hasCapability(Capability<?> capability, EnumFacing facing) {
- return capability == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY;
- }
- @Override
- public <T> T getCapability(Capability<T> capability, EnumFacing facing) {
- if (this.hasCapability(capability, facing)) return CapabilityItemHandler.ITEM_HANDLER_CAPABILITY.cast(wrapped);
- return null;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement