Posts by Speiger

    Just to give a answer to that and people not knowing what i did do after i read this:


    Greg and i had a big talk about it. We had a ruff descusion.


    The result of it. Yes its an issue. But its something that will hurt performance badly.

    And at the point where you reach that issue noticeable, you already have a sufficent overflowing power source.

    Because if you cant run the machine activly then you shouldnt run it passivly.


    And if i am fixing that i would run into much bigger problems. The enet itself is a minefield. And greg and i did think of a lot of possible solutions.

    Still none of them were better then the current one.

    Ok i did some testing now. And i found out a little bug with. altKey.isKeyDown()


    That is bugged out in the first place. It will only work in guis and not ingame anymore.

    What the fix has to be is something like this:


    Code
    1. public boolean isKeyPressed(KeyBinding binding)
    2. {
    3. return GameSettings.isKeyDown(binding) && binding.getKeyConflictContext().isActive() && binding.getKeyModifier().isActive(binding.getKeyConflictContext());
    4. }

    Its tested and works fine. It supports DoubleKeys and makes sure that it works.

    So thats the tested fix now.


    Also thanks for the no response xD

    Forge implemented this feature where you can make 2 keys on 1 keybinding if you use shift, ctrl, alt as key basement on the keybinding.

    Sadly IC2 Keys (and classic did it until the comming patch too) doesn't support that feature at all.


    Reason being they ask the gamesettings if the key is pressed or not.

    To fix that change this line:

    Code
    1. if (GameSettings.isKeyDown(this.altKey))

    to this:

    Code
    1. if(altKey.isKeyDown())


    This could fix also a issue with the mouse i found in IC2Classic. When you had 2 buttons mapped to a mouse that the second key was able to trigger the first key and cause it to get stuck on a state.

    But i wasnt able to validate that yet.

    Why i bring this extra thing up? Maybe because classics & exps Keybinding validator is equal. Even with different coding styles.


    Still this feature should be supported...

    1: Not a cable but it has a way to transform it easier down with a buffer option.
    BatteryBox (or BatteryStation in 1.10.2) allows you to input anything between tier 0-10 and output based of the battery tier.

    2: Jup.


    Yes there is. the for loop is like this for(int i = 0;i<source.getMultibleEnergyPacketAmount();i++) keep that in mind.

    https://github.com/TinyModular…e/IMultiEnergySource.java

    https://github.com/TinyModular…/java/ic2/api/energy/tile

    You know you can find the whole MC Sourcecode in the "yourEnvioment/build/tmp/recompiledMC/sources/net"

    raytracing is the word i use for: going back to the top of a function call. Meaning back to the first step of why its getting called and where.

    i wonder is there no RayTracing of Issues in C#

    I mean as a programmer you need to learn how to raytrace issues.

    I mean you can ask people to help you but you are lucky that Aroma and i did decide to help you with these things.

    But if you decided to go to forge or something and ask for help then you would most likely go away from modding because they don't help.

    They usually just bullshit you. That happend to me at least. And i learned the hard way how to do it my own.
    If there is a issue i cant find instantly i do raytracing to understand how these things work or look into other mods why they cause the issues with my current system. Thats a way to fix them.

    -.- you really dont know how to program. You are in the realy really really really really really early stages of learning to program right?


    I told you it generates crashes even your case. But since the game doesnt crash it doesnt create a file in the crashfolder.

    The crash will be found in the normal log. Because Minecraft even if it is stupid sometimes has at least some crash preventation systems that just throw a error log into the normal log.

    I cant help you making your mod i have already a large sized mod that has enough workrequirement on its own.

    https://github.com/coolAlias/F…ustomItemEntity.java#L221

    There you have your registry. You dont need to register SuperClasses or BaseClasses that you extend. You just need to register the highest class in the herachy that is spawned because thats the most important one.


    And yeah your mind is exploding now. I can tell you something really interesting:

    I concider myself still as a noob in Programming/Minecraft Modding.

    Yeah there is no code for that in the GameRegistry, becuase i forgot which class it has. Now afterwards i found it.
    EntityRegistry.registerModEntity(EntityClass, IndexfromYouMod, ModInstance, MaximumTracked, updateRate);


    Learn how to search for things... Thats important.

    When your mod gets loaded you have to register the Entity in the GameRegistry. If you dont do that then your Entity cant spawn in the client world because the server doesnt know what the Entity you spawned is. I mean you have to do that with items/blocks too how do you think server-client connection works?


    Its not like the server-client magicly know what they do next to each other. No there is communication between those two. And they have to use ShortCuts to prevent that to much data is beeing used. Thats why you need to register these Entities/Items/Blocks/TileEntities etc. Because else those don't know what the other side is doing.


    I seriousely would look into other mods code (even Exp is good enough for that shit) to look how they did the Entity things. I mean every single Aspect of it not just spawning. I mean use a Decompiler or look on github and search for all references that these EntityClasses have. Its really important to know what you are doing.