Jump to content

sequituri

Forge Modder
  • Posts

    669
  • Joined

  • Last visited

Posts posted by sequituri

  1. You need power producers, power consumers, and power conductors, and power neutral blocks.

    You have to work out units, amounts of those units, transfer characteristics (transfer losses?), storage characteristics (batteries or capacitors? leakage? charge rate, discharge rate), usage/conversion characteristics (heat per unit? always on? power-up costs? idle costs?) and limitations (per cable or per battery units/tick / units/sec) what happens with too much power drain? Too much power production? (Explosion? Fire?)

     

    There is a ton of considerations for a power network.

  2. What tutorial did you follow? It is a lousy one if it did not show there are two components to a containerblock GUI. Client component is a regular GUIscreen, server component is a GuiContainer. One is returned in ClientProxy, the other in CommonProxy (or ServerProxy if you have one).

     

    Yes, if it has no need of a server element, you can return null for the getServerGuiElement value;

     

    edit: To clarify

  3. Setting variable is debug mode is problematic.

    Multiple things to consider:

    a) Are you operating on the client thread, or the server thread? (They do not share the same thread!)

    b) Can minecraft detect your change? (Usually not, so it will often just set it back to what it knew)

    c) Why can you not just make the change in your code and continue running?

    d) It usually causes problems anyways.

  4. You IDE is not giving you an error message about this nonsense:

    public static Item[] pokelist = {Cascoon, Silcoon, Purugly, Gothita, Watchog, Dunsparce};
    

    Class names are not items. Do you even read error messages? On the other hand, many new coders name instances with initial cap... either is very wrong.

  5. This does get tricky, since crafting benches are a shared block and many players can craft in it at once. It makes sense then to use the SlotCrafting instance, since that is the one slot that each player gets his own distinct copy of. I have yet to try this, but having several people try to craft the same item at once would only give it to the first player who clicked that output slot, right?

  6. These here don't make any sense.

        double d0 = blockX-(blockX - entity.posX);
        double d1 = blockZ-(blockY - entity.posY);
        double d2 = blockZ-(blockZ - entity.posZ);
    

    blockX - (blockX - posX) ... is the same as

    blockX - blockX + posX ... is same as

    posX

     

    So, as it is written it will always compute distance from (0,0,0) to the entity. Not very useful.

     

  7. Side checking is unnecessay if the proxy is implemented properly, and the proxy handle is annotated.

    class CommonProxy {
       public void registerRenderStuff() {};
    }
    class ClientProxy extends CommonProxy {
      @Override
      public void registerRenderStuff() {
        // render your stuff in this method body
      };
    
    // in main class:
      proxy.registerRenderStuff();
    

     

     

  8. Yeah, typos can kill!!! Fixed it.

     

    On the other point.

    @API(owner = "API-owner", provides = "fireplace-core", apiVersion = "1.0.0")  is good for the creator of the API to declare in the API java file he provides to other devs.

     

    @Optional.Interface(iface = "net.goodboy.badmod.IHammer", modid = "badtools" [, striprefs = false]) would go on a class that optionally implements an outside mods interface, it cannot go on the interface itself.

     

    @Optional.Method(modid = "badtools") would go on the specific method in your class that would be removed (if said mod was not installed).

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.