Skip to content
This repository has been archived by the owner on Feb 27, 2024. It is now read-only.

Commit

Permalink
add generics and make code reusable for Inventories that are not IInv…
Browse files Browse the repository at this point in the history
…entory
  • Loading branch information
Faithcaio committed Nov 5, 2017
1 parent 732afd9 commit 13dbd31
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 24 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,22 +24,15 @@
*/
package org.spongepowered.mod.item.inventory.adapter;

import net.minecraft.inventory.IInventory;
import net.minecraft.item.ItemStack;
import net.minecraftforge.items.IItemHandler;
import org.spongepowered.common.item.inventory.adapter.InventoryAdapter;
import org.spongepowered.common.item.inventory.lens.Lens;

public class IItemHandlerAdapter implements InventoryAdapter<IItemHandler, net.minecraft.item.ItemStack> {
private final IItemHandler inventory;
import org.spongepowered.common.item.inventory.adapter.impl.ItemStackInventoryAdapter;
import org.spongepowered.mod.item.inventory.fabric.IItemHandlerFabric;

/**
* Basic Wrapper Adapter for {@link IItemHandler}
*/
public class IItemHandlerAdapter extends ItemStackInventoryAdapter<IItemHandler> {
public IItemHandlerAdapter(IItemHandler inventory) {
this.inventory = inventory;
}

private static Lens<IInventory, ItemStack> generateLens(IItemHandler inventory) {
return null;
super(new IItemHandlerFabric(inventory));
}


}
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,6 @@
import org.spongepowered.asm.mixin.Interface;
import org.spongepowered.asm.mixin.Intrinsic;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.common.interfaces.IMixinInventory;
import org.spongepowered.common.item.inventory.EmptyInventoryImpl;
import org.spongepowered.common.item.inventory.adapter.impl.MinecraftInventoryAdapter;
Expand All @@ -48,14 +45,13 @@
import org.spongepowered.common.item.inventory.lens.impl.collections.SlotCollection;
import org.spongepowered.common.item.inventory.lens.impl.comp.OrderedInventoryLensImpl;
import org.spongepowered.mod.item.inventory.fabric.IItemHandlerFabric;
import org.spongepowered.mod.item.inventory.fabric.InvWrapperFabric;

import java.util.ArrayList;
import java.util.List;

@Mixin(InvWrapper.class)
@Implements(@Interface(iface = Inventory.class, prefix = "inventory$"))
public abstract class MixinInvWrapper implements MinecraftInventoryAdapter, IMixinInventory {
public abstract class MixinInvWrapper implements MinecraftInventoryAdapter<IInventory>, IMixinInventory {

protected EmptyInventory empty;
protected Inventory parent;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,6 @@
import org.spongepowered.asm.mixin.Interface;
import org.spongepowered.asm.mixin.Intrinsic;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.common.interfaces.IMixinInventory;
import org.spongepowered.common.item.inventory.EmptyInventoryImpl;
import org.spongepowered.common.item.inventory.adapter.impl.MinecraftInventoryAdapter;
Expand All @@ -48,14 +45,13 @@
import org.spongepowered.common.item.inventory.lens.impl.collections.SlotCollection;
import org.spongepowered.common.item.inventory.lens.impl.comp.OrderedInventoryLensImpl;
import org.spongepowered.mod.item.inventory.fabric.IItemHandlerFabric;
import org.spongepowered.mod.item.inventory.fabric.ItemStackHandlerFabric;

import java.util.ArrayList;
import java.util.List;

@Mixin(ItemStackHandler.class)
@Implements(@Interface(iface = Inventory.class, prefix = "inventory$"))
public abstract class MixinItemStackHandler implements MinecraftInventoryAdapter, IMixinInventory {
public abstract class MixinItemStackHandler implements MinecraftInventoryAdapter<IInventory>, IMixinInventory {

protected EmptyInventory empty;
protected Inventory parent;
Expand Down

0 comments on commit 13dbd31

Please sign in to comment.