Jump to content

Abastro

Forge Modder
  • Posts

    1075
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by Abastro

  1. I should have added more details;

     

    The problem is, the procedural generation will regard the factors which can be extracted from the generated objects. Why?

    It's due to deficiency of memory.

     

    Yes, procedural generation on minecraft does not care about the factors, they just generate and track nearest chunks to players/chunk loaders.

    But, that case is actually special, since 'nearest' is invariance. But in general, like in my case, there is no need of the 'nearest' to be defined as general. Actually there are many cases that invariant definition of 'nearest' objects will lead to huge memory usage. (Like frustrum checks)

     

    So I decided to load objects temporally, and only for certain usecases.

    This made the factors which can be investigated from objects by certain way of inspection very important.

    That's why I want to be aware of possible factors, in Minecraft Modding.

  2. Hello, I have question on current state/contents of modded minecraft, to prepare compatibility with them.

     

    I'm working on a mod named 'Stellarium' which features Configurable Procedural Generation on Space.

    To allow it compatibility with existing mods, I am designing an API first, on which 'Stellarium' will be based.

    So what kind of compatibility layer should I prepare on this API?

     

    I really got lost here, and any progress has been blocked by this problem.

    Any information and instructions on compatibility, modded minecraft concepts, trends, tendency, or advice on API will be greatly appreciated.

     

    * In case this additional information is needed;

      The implementation will be based on Observation concept, which means some operation will trigger inspection on certain domain of the space, and the result will be given as callback.

    The main problem lies on the result.

  3. First, the cloud disappears when it is far enough from the player. (This phenomenon is caused by z-clipping)

    So the closer its vertical position to the player, the further its visible edge goes.

     

    The GL state related with this concept is Depth Test and Depth Mask.

    Google is your friend: [lmgtfy]Depth Test and Depth Mask[/lmgtfy]

    They might be disabled on RenderWorldLastEvent, test for it.

     

    Also, note that cloud is rendered twice, before world rendering and after world rendering.

    You can simulate latter by RenderWorldLastEvent, but there is no event fired before world rendering.

    So World#setCloudRenderer migh be the only possibility.

    Look at EntityRenderer#renderWorldPass for more information.

  4. Well, you didnt post the code you used with setCloudRenderer.

    Also, you should try to understand vanilla cloud code before just copying it. GL state can be different on each methods.

     

    What is your goal with this? If you are just simulating vanilla clouds.

  5. No, you can't use them. They are sorted correctly on rendering, thus have no problem.

    What is the exact problem do you have with WorldProvider#setCloudRenderer?

    That should not hide any transparent blocks

    Show what you have tried with it in code.

  6. Nothing happens.

    There is nothing in my console and "breakpoint" doesn't give me any information...

     

    As I said: The game just crashes without any output into the console or something like that.

     

    As long as the player is riding, the particles have to spawn above the blocks. As you can see in the code, the method is called anew while the boolean is true and the boolean is true as long the player is riding.

    The game crashes? Then please provide the log.

  7. i just came up with this. it worked for my items but it didnt work for my itemblocks

    @SideOnly(Side.CLIENT)

    public String getUnlocalizedName(ItemStack itemStack){

    for(int i = 0; i < ModBlocks.oreBlockStates.length; i++){

    if(itemStack.getItemDamage() == i){

    return "tile" + "." + BlockStrings.ORE_NAME +"_" + ModBlocks.oreBlockStates;

    }

    }

    return "Something went wrong in the getUnlocalization of ItemBasicOre";

    }

    Would you define ' not work' please?

  8. 1. Read the javadoc for Matcher#find:

    Attempts to find the next subsequence of the input sequence that matches the pattern. 
    
    This method starts at the beginning of this matcher's region, or, if a previous invocation of the method was successful and the matcher has not since been reset, at the first character not matched by the previous match. 
    
    If the match succeeds then more information can be obtained via the start, end, and group methods. 

    So it gives next match, and since it does not have two match, the second find gives false.

    2. Instead of Matcher#group(int), Matcher#group() will be fine.

    3. It's better to store the pattern in a field. (It is common use of a Pattern)

    EDIT) 4. Prefix/Suffix of the regex /.../g is generally not needed.

×
×
  • Create New...

Important Information

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