diff --git a/build.gradle b/build.gradle index 2311cfc26..2e335bfdb 100644 --- a/build.gradle +++ b/build.gradle @@ -70,6 +70,9 @@ repositories { name = "ModMaven / JEI Mirror" url = "https://modmaven.k-4u.nl" } + maven { + url = "https://www.cursemaven.com" + } } dependencies { @@ -79,6 +82,8 @@ dependencies { compileOnly fg.deobf("mezz.jei:jei-${mc_version}:${jei_version}:api") // at runtime, use the full JEI jar runtimeOnly fg.deobf("mezz.jei:jei-${mc_version}:${jei_version}") + + compile "curse.maven:fastworkbench:3003114" } jar { diff --git a/src/main/java/de/ellpeck/actuallyadditions/common/util/compat/CommonCapsUtil.java b/src/main/java/de/ellpeck/actuallyadditions/common/util/compat/CommonCapsUtil.java index 495b90404..5ad91939d 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/common/util/compat/CommonCapsUtil.java +++ b/src/main/java/de/ellpeck/actuallyadditions/common/util/compat/CommonCapsUtil.java @@ -1,92 +1,93 @@ -package de.ellpeck.actuallyadditions.common.util.compat; - -import org.cyclops.commoncapabilities.api.capability.itemhandler.DefaultSlotlessItemHandlerWrapper; -import org.cyclops.commoncapabilities.api.capability.itemhandler.ISlotlessItemHandler; - -import de.ellpeck.actuallyadditions.common.tile.TileEntityItemViewer; -import de.ellpeck.actuallyadditions.common.tile.TileEntityItemViewer.SlotlessItemHandlerInfo; -import de.ellpeck.actuallyadditions.common.util.StackUtil; -import net.minecraft.item.ItemStack; -import net.minecraftforge.items.IItemHandler; - -public final class CommonCapsUtil { - - public static ISlotlessItemHandler createSlotlessItemViewerHandler(final TileEntityItemViewer tile, IItemHandler normalHandler) { - return new DefaultSlotlessItemHandlerWrapper(normalHandler) { - @Override - public ItemStack insertItem(ItemStack stack, boolean simulate) { - ItemStack remain = stack.copy(); - for (SlotlessItemHandlerInfo handler : tile.slotlessInfos) { - if (handler.isLoaded() && tile.isWhitelisted(handler, stack, false)) { - if (handler.handler instanceof ISlotlessItemHandler) { - remain = ((ISlotlessItemHandler) handler.handler).insertItem(stack, simulate); - - if (!ItemStack.areItemStacksEqual(remain, stack) && !simulate) { - tile.markDirty(); - tile.doItemParticle(stack, handler.relayInQuestion.getPos(), tile.connectedRelay.getPos()); - } - - if (!StackUtil.isValid(remain)) { return StackUtil.getEmpty(); } - } - } - } - return super.insertItem(remain, simulate); - } - - @Override - public ItemStack extractItem(int amount, boolean simulate) { - for (SlotlessItemHandlerInfo handler : tile.slotlessInfos) { - if (handler.isLoaded()) { - if (handler.handler instanceof ISlotlessItemHandler) { - ISlotlessItemHandler slotless = (ISlotlessItemHandler) handler.handler; - - ItemStack would = slotless.extractItem(amount, true); - if (StackUtil.isValid(would)) { - if (tile.isWhitelisted(handler, would, true)) { - ItemStack has; - if (simulate) { - has = would; - } else { - has = slotless.extractItem(amount, false); - } - - if (StackUtil.isValid(has) && !simulate) { - tile.markDirty(); - tile.doItemParticle(has, tile.connectedRelay.getPos(), handler.relayInQuestion.getPos()); - } - - return has; - } - } - } - } - } - return super.extractItem(amount, simulate); - } - - @Override - public ItemStack extractItem(ItemStack matchStack, int matchFlags, boolean simulate) { - for (SlotlessItemHandlerInfo handler : tile.slotlessInfos) { - if (handler.isLoaded()) { - if (handler.handler instanceof ISlotlessItemHandler) { - ISlotlessItemHandler slotless = (ISlotlessItemHandler) handler.handler; - - ItemStack would = slotless.extractItem(matchStack, matchFlags, true); - if (StackUtil.isValid(would)) { - if (tile.isWhitelisted(handler, would, true)) { - if (simulate) { - return would; - } else { - return slotless.extractItem(matchStack, matchFlags, false); - } - } - } - } - } - } - return super.extractItem(matchStack, matchFlags, simulate); - } - }; - } - -} +// @todo: check to see if any mod takes over for this one +//package de.ellpeck.actuallyadditions.common.util.compat; +// +//import org.cyclops.commoncapabilities.api.capability.itemhandler.DefaultSlotlessItemHandlerWrapper; +//import org.cyclops.commoncapabilities.api.capability.itemhandler.ISlotlessItemHandler; +// +//import de.ellpeck.actuallyadditions.common.tile.TileEntityItemViewer; +//import de.ellpeck.actuallyadditions.common.tile.TileEntityItemViewer.SlotlessItemHandlerInfo; +//import de.ellpeck.actuallyadditions.common.util.StackUtil; +//import net.minecraft.item.ItemStack; +//import net.minecraftforge.items.IItemHandler; +// +//public final class CommonCapsUtil { +// +// public static ISlotlessItemHandler createSlotlessItemViewerHandler(final TileEntityItemViewer tile, IItemHandler normalHandler) { +// return new DefaultSlotlessItemHandlerWrapper(normalHandler) { +// @Override +// public ItemStack insertItem(ItemStack stack, boolean simulate) { +// ItemStack remain = stack.copy(); +// for (SlotlessItemHandlerInfo handler : tile.slotlessInfos) { +// if (handler.isLoaded() && tile.isWhitelisted(handler, stack, false)) { +// if (handler.handler instanceof ISlotlessItemHandler) { +// remain = ((ISlotlessItemHandler) handler.handler).insertItem(stack, simulate); +// +// if (!ItemStack.areItemStacksEqual(remain, stack) && !simulate) { +// tile.markDirty(); +// tile.doItemParticle(stack, handler.relayInQuestion.getPos(), tile.connectedRelay.getPos()); +// } +// +// if (!StackUtil.isValid(remain)) { return StackUtil.getEmpty(); } +// } +// } +// } +// return super.insertItem(remain, simulate); +// } +// +// @Override +// public ItemStack extractItem(int amount, boolean simulate) { +// for (SlotlessItemHandlerInfo handler : tile.slotlessInfos) { +// if (handler.isLoaded()) { +// if (handler.handler instanceof ISlotlessItemHandler) { +// ISlotlessItemHandler slotless = (ISlotlessItemHandler) handler.handler; +// +// ItemStack would = slotless.extractItem(amount, true); +// if (StackUtil.isValid(would)) { +// if (tile.isWhitelisted(handler, would, true)) { +// ItemStack has; +// if (simulate) { +// has = would; +// } else { +// has = slotless.extractItem(amount, false); +// } +// +// if (StackUtil.isValid(has) && !simulate) { +// tile.markDirty(); +// tile.doItemParticle(has, tile.connectedRelay.getPos(), handler.relayInQuestion.getPos()); +// } +// +// return has; +// } +// } +// } +// } +// } +// return super.extractItem(amount, simulate); +// } +// +// @Override +// public ItemStack extractItem(ItemStack matchStack, int matchFlags, boolean simulate) { +// for (SlotlessItemHandlerInfo handler : tile.slotlessInfos) { +// if (handler.isLoaded()) { +// if (handler.handler instanceof ISlotlessItemHandler) { +// ISlotlessItemHandler slotless = (ISlotlessItemHandler) handler.handler; +// +// ItemStack would = slotless.extractItem(matchStack, matchFlags, true); +// if (StackUtil.isValid(would)) { +// if (tile.isWhitelisted(handler, would, true)) { +// if (simulate) { +// return would; +// } else { +// return slotless.extractItem(matchStack, matchFlags, false); +// } +// } +// } +// } +// } +// } +// return super.extractItem(matchStack, matchFlags, simulate); +// } +// }; +// } +// +//} diff --git a/src/main/java/de/ellpeck/actuallyadditions/common/util/compat/CompatFastBench.java b/src/main/java/de/ellpeck/actuallyadditions/common/util/compat/CompatFastBench.java index 36c60b428..e9d209c28 100644 --- a/src/main/java/de/ellpeck/actuallyadditions/common/util/compat/CompatFastBench.java +++ b/src/main/java/de/ellpeck/actuallyadditions/common/util/compat/CompatFastBench.java @@ -1,29 +1,29 @@ package de.ellpeck.actuallyadditions.common.util.compat; -import net.minecraft.client.gui.Gui; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.entity.player.PlayerEntity; +import net.minecraft.inventory.container.Container; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; +import net.minecraftforge.api.distmarker.Dist; +import net.minecraftforge.api.distmarker.OnlyIn; import shadows.fastbench.gui.ContainerFastBench; import shadows.fastbench.gui.GuiFastBench; public class CompatFastBench { - public static Container getFastBenchContainer(EntityPlayer p, World world) { - return new ContainerFastBench(p, world, BlockPos.ORIGIN) { + public static Container getFastBenchContainer(PlayerEntity p, World world) { + return new ContainerFastBench(0, p, world, BlockPos.ZERO) { @Override - public boolean canInteractWith(EntityPlayer playerIn) { + public boolean canInteractWith(PlayerEntity playerIn) { return true; } }; } - @SideOnly(Side.CLIENT) - public static Gui getFastBenchGui(EntityPlayer p, World world) { - return new GuiFastBench(p.inventory, world, BlockPos.ORIGIN); + @OnlyIn(Dist.CLIENT) + public static Screen getFastBenchGui(PlayerEntity p, World world) { + return new GuiFastBench(p.inventory, world, BlockPos.ZERO); } }