Giter VIP home page Giter VIP logo

Comments (21)

CovertJaguar avatar CovertJaguar commented on May 20, 2024

+1

Although I've been told it could never work with RP for some reason that never made any sense to me.

from minecraftforge.

benblank avatar benblank commented on May 20, 2024

I'd like to see this as well. ISidedInventory is very limiting, especially compared to the liquid API.

from minecraftforge.

immibis avatar immibis commented on May 20, 2024

Why hasn't this been added?

from minecraftforge.

CovertJaguar avatar CovertJaguar commented on May 20, 2024

Because its hated passionately by some very vocal people.

from minecraftforge.

immibis avatar immibis commented on May 20, 2024

Who would that be? Eloraam?

from minecraftforge.

Myrathi avatar Myrathi commented on May 20, 2024

The current, general concept of the inserter getting to choose what it gets to put into my blocks/machines - without some significant hackery on my part - has me in favour of this interface.

I'd like to hear the reasoning of these seemingly vocal people. "I hate it" doesn't hold much water, by itself.

from minecraftforge.

immibis avatar immibis commented on May 20, 2024

I'd like it if extractItem took a parameter that could filter the extracted items, something like this:

public interface IStackFilter {boolean acceptsStack(ItemStack stack);}
ItemStack[] extractItem(boolean, ForgeDirection, int, IStackFilter);

Still not seeing how you could hate it, though.

from minecraftforge.

cpw avatar cpw commented on May 20, 2024

I have an idea..

from minecraftforge.

immibis avatar immibis commented on May 20, 2024

So did I, immibis@ab7f9be

ICustomInventory is the equivalent of ISpecialInventory.
ILinearInventory is the equivalent of ISidedInventory/IInventory. Inventories can be one or both (or neither, if something else is added later).

(Edit: ILinearInventory can do more than IInventory and is less retarded - I'm not duplicating it for no reason, and InventoryAdapters has a method to create ILinearInventory wrappers for IInventory objects)

from minecraftforge.

cpw avatar cpw commented on May 20, 2024

Immibis, bear in mind isided is in vanilla in 1.5..

from minecraftforge.

CovertJaguar avatar CovertJaguar commented on May 20, 2024

There was talk of creating a pluginable mediator object that could allow inventories to interact with each other, even if they use different interfaces. I think it was @ScottKillen who had the idea.

from minecraftforge.

ScottKillen avatar ScottKillen commented on May 20, 2024

@CovertJaguar My aged brain does not recall it, but I'll be happy to look into it. 😄

from minecraftforge.

CovertJaguar avatar CovertJaguar commented on May 20, 2024

Ah, no it was xcomp. My bad.

from minecraftforge.

ScottKillen avatar ScottKillen commented on May 20, 2024

Also it would appear that Overmind has a solution.

from minecraftforge.

CovertJaguar avatar CovertJaguar commented on May 20, 2024

Yes, well there have been disagreements over his solutions in the past.

from minecraftforge.

FunnyMan3595 avatar FunnyMan3595 commented on May 20, 2024

@cpw, are you going to clue us in on your idea anytime soon, or should we just keep throwing our own ideas at the wall to see if one sticks?

As I see it, the issue is basically a disagreement on what parts of the system should be "smart". Buildcraft provides an (essentially) dumb transport system and assumes that storage blocks can be smart, and so provides ISpecialInventory to allow them to define custom behaviour. RedPower, on the other hand, provides a smart transport system, and assumes that storage blocks are dumb containers, to be rifled through at will. Neither approach is good or bad, simply different architectural decisions.

Looking at it in that light, including ISpecialInventory in its current state would be a Bad Idea, as it provides no suitable interface for RedPower-style transport architecture. As it stands, we have four possible pairings, three of which are solved adequately. ISidedInventory handles Dumb->Dumb and Smart->Dumb transport->storage pairings, while ISpecialInventory handles Dumb->Smart pairings. We need a way to handle Smart->Smart pairings, and might as well absorb ISpecialInventory's Dumb->Smart support in the process, to keep the clutter to a minimum.

So, really, the question to ask is this: What API does @Eloraam need to be able to talk to a smart storage block? I could make some reasonable guesses, like the ability to ask how many it has of a particular item, or how many (more) of that item it can store. But, really, I think the right person to ask the question of is the lady herself, because (for reasons I hope are obvious) nobody else is better qualified to tell us what would work best for her.

from minecraftforge.

AbrarSyed avatar AbrarSyed commented on May 20, 2024

I am of the opinion that we do whatever we feel best because of 1.5. And then, Elo will probably fix her side when she updates for 1.5.

from minecraftforge.

cpw avatar cpw commented on May 20, 2024

I think we wait and see what 1.5.1 brings..

from minecraftforge.

Myrathi avatar Myrathi commented on May 20, 2024

That statement is both interesting and worrying, cpw. :P

from minecraftforge.

LexManos avatar LexManos commented on May 20, 2024

Seems this never got stable enough for everyone to accept. Feel free to try again with actual code and documentation/implementation next time.

from minecraftforge.

CovertJaguar avatar CovertJaguar commented on May 20, 2024

Meh, its been stable for a year or something, people just don't like it. But its not really needed anymore anyway.

from minecraftforge.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.