Read by Council Grid based logic computer system

    Well?

    • gj biddles brilliant as usual

      Votes: 42 77.8%
    • no thats retarded like u

      Votes: 3 5.6%
    • im just saying no because i have too much time invested in my current logic circuits

      Votes: 1 1.9%
    • meh

      Votes: 8 14.8%

    • Total voters
      54
    Joined
    Jul 14, 2013
    Messages
    98
    Reaction score
    27
    • Purchased!
    • Community Content - Bronze 1
    • Legacy Citizen
    You say that, yet people learned how to do the same thing with redstone. Redstone required ludicrous setups just to get the logic blocks we already have, which is a big upgrade. I would say something like this is entirely possible. At the least it would be moddable. The issue is allowing a single block to act as if it is multiple inputs and outputs. I have an elevator system that determines when doors open and close based on where the elevator is on the rail. That requires at least 2 inputs. That is where this system gets a bit confusing. Still it is entirely viable if you want to condense a circuit down to a single block, but only if the issues I brought fourth are addressed. I am sure schema would have some input as well.
    I don't necisarily support the threads idea, but what you might have to do is have the player determine which input corresponds to what output inside of the condensed block GUI itself. here is what I imagine it to look like




    and code for input and output aliases would look like:


    public Class CoallescedConnections
    {

    public ArrayList<logic_object> logic_reference_array;

    public int max_size;
    public int logical_size;


    CoallescedConnections(int max_numberof_connections = 8)
    {
    max_size = max_numberof_connections;
    logical_size = 0;
    }

    ... // copy constructor, isEquals operator, etc..



    //member functions
    public void addConnection(logic_object logic_reference)
    {
    if(logical_size < max_size)
    {
    logic_reference_array.add(logical_size, logic_reference);
    logical_size ++;
    }
    else
    {
    throw warning message of some sort to the player
    that they will have to remove other connections
    before adding newer ones.
    }
    }

    public void removeConnection(int index_of_connection)
    {
    if(index is within logical_size bounds)
    {
    logic_reference_array.remove(index);
    logical_size --;
    }
    else
    {
    //throwing is expensive actually, and the player shouldn't even be capable of doing this.
    }
    }

    ... //additional member functions, methods etc.

    }


    public Class PlayerLogic extends logic_object
    {

    protected CoallescedConnections input
    protected CoallescedConnections output
    protected ArrayList<ArrayList<logic_object>> playerLogicGrid;
    ...
    //assumed logic_object methods
    onConnectionTo(logic_object logic_reference)
    {
    input.addConnection(logic_reference);
    }
    onConnectionFrom(logic_object logic_reference)
    {
    output.addConnection(logic_reference);
    }
    onRemoveConnectionTo(int index)
    {
    input.removeConnection(index);
    }
    // you get the picture
    ...


    }
     
    Joined
    Jun 1, 2015
    Messages
    162
    Reaction score
    63
    I don't necisarily support the threads idea, but what you might have to do is have the player determine which input corresponds to what output inside of the condensed block GUI itself. here is what I imagine it to look like




    }
    the text within that image stating 8X8 for making it manageable can be overcome with having this grid as a tile within a grid
    so if you made a complex circuit salving a problem you can use it as a tile .. in a circuit .

    that's what I meant with class based.
    a program within a program
     
    Joined
    Jul 14, 2013
    Messages
    98
    Reaction score
    27
    • Purchased!
    • Community Content - Bronze 1
    • Legacy Citizen
    the text within that image stating 8X8 for making it manageable can be overcome with having this grid as a tile within a grid
    so if you made a complex circuit salving a problem you can use it as a tile .. in a circuit .

    that's what I meant with class based.
    a program within a program
    You would still need to restrict inputs and outputs to a manageable amount if I'm getting what you are saying. Additionally providing this functionality would also complicate code immensely and could cause a lot of bug fixing if I understand you correctly (using the grid squares for not only conventional blocks, but also user created blocks). Its not that I don't think that is a cool idea or that I wouldn't want that, but I think if we are going to implement any kind of custom user logic here at all, we first need to implement this base system. For a lot of peoples needs this 8 input/8 output 8x8 grid system should be enough, even in large complicated structures. Because we made our player logic blocks of type Logic_object, we can treat those as logic as well, however I'm not sure if we could get the alias multi input multi output functionality to work along the same lines as it would outside of the custom logic GUI.
     
    Joined
    Jun 1, 2015
    Messages
    162
    Reaction score
    63
    im gona call it a PLC ... I might be wrong in doing so but I need to give it a name.

    is it possible to run such a PLC block client side, while the server only has to check if the PLC block still exists?
    and that a block gets compiled before running