Jump to content

LexManos

Forge Code God
  • Posts

    9270
  • Joined

  • Last visited

  • Days Won

    68

Posts posted by LexManos

  1. Forge Version: 1.12.2-14.23.4.2703

    Minecraft Version: 1.12.2

    Downloads:

     

    1.13 prep is still moving along, I've been spending a lot of time working on the backend tools to make decompiling and working with 1.13 a bit easier. Cpw is still working on the re-write of FML for Java9+ and 1.13. 

    However, development on 1.12 has not stopped, we've gone through and cleaned up a lot of things, as well as properly introduced a better library management system. So, it's about time for a new release.

     

    Dependencies:

    For a long time Forge has supported the ability to have multiple jar files extracted at startup from mods. Allowing modders to distribute required dependencies in a single download for end user convince. However, this feature has not been used often. After getting some modder feedback I have re-written the majority of this system. We need volunteers to write full documentation for this feature, however here is a quick rundown.

    Mods will now be extracted to a central maven style libraries directory. Forge will attempt to find this using the normal launcher layout, however the path can be overridden using "-Dforge.lib_folder={LibraryFolder}"

    Mods CAN be automatically moved to this libraies folder by Forge, however this is disabled by default due to people thinking it'll be confusing to users. Enable it using  "-Dforge.enable_auto_mod_movement=true"

    To define a contained dependency modders must add the "ContainedDeps" entry to their MANIFEST file. This is a space separated list of files in the mod jar to be extracted. The files can be located under the jar root, or META-INF/libraries/.

    Libraries can specify a maven style artifact identifier in their MANIFEST file, and it will be extracted to the correct library folder. Example: Maven-Artifact: net.minecraftforge:forge:1.12.2-14.23.4.2703

    If two mods contain a dependency on the same maven artifact, the highest version will be loaded. This fixes issues where two mods ship a API, and one crashes because the older version was used.

    For 3rd party dependancies that do not have the Maven-Artifact manifest entry, you may specify a custom MANIFEST by adding a {FullJarNameIncluding.jar}.meta file next the original file.

    More information and examples should be forthcoming as modders start working with this feature. So don't be afraid to ask.

     

     

    Minecraft Forge 14.23.4 Changelog:

    ============================================================================

    New:

    • JSON based annotation caching. To help speed up load time. Disabled by default due to lack of modder feedback. Enable with -Dfml.enableJsonAnnotations=true
    • Removal of Mercurius, failed experiment. It has been disabled for months.
    • Added function to BufferBuilder to directly insert byte data.
    • Improve the "Mod rejections" error message when connecting to a server
    • Added hook to allow specifying specific modids for sub-blocks and items.
    • New hook to allow better management of rendering special items in inventories.
    • Added fences and fence gates to the ore dict.
    • Improved memory performance of rotated models.
    • New hook to allow sleeping in custom dimensions that don't allow respawning.
    • New hook to control specific mob greifing rules.
    • New performance hook to unload unused worlds.
    • New function to list biome types.
    • Added ability to send packets to everyone around a point in the world.
    • New ITeleporter interface allowing easier control of inter-dimension teleportation.
    • New feature in World Workers allowing delaying without finishing.
    • Improved missing mod dependency error screen.
    • New library/contained dependency management system.
    • Added protection against BungeeCord servers sending invalid data to the client.
    • Enhanced startup error handling and displaying.
    • Added supports for redirects when doing mod version checks.
    • Added original ChunkPos to decoration events.
    • Added ability for custom models to have per-state lighting.
    • Added an event to control nether portal formation.
    • Added formatting support for status messages.
    • Improved memory usage of multipart models.
    • Moved dedicated server's EULA check to be called earlier.

    Bug Fix:

    • Fixed non-deterministic order in deserialised Forge blockstates
    • Fixed culling of generated item models with non-default transforms 
    • Fixed incorrect dimension ID being used for maps
    • Fixed vanilla crash classes not being preloaded.
    • Fixed ForgeChunkManager performance issue by moving writing off thread.
    • Fixed various vanilla blocks loading unloaded chunks.
    • Fixed issues with smooth lighting code and translucent blocks.
    • Fixed serverside startup failure when checking for vanilla acceptance.
    • Fixed error caused by FakePlayers using commands.
    • Fixed client hang on internal server crash.
    • Fixed performance issue related to blockstate lighting.
    • Fixed lookupFluidForBlock not working for flowing water and lava.
    • Fixed log4j config for mojang launcher changes.
    • Fixed various issues related to unclosed resources.
    • Fixed NBT data loss when shift-clicking stacked items in the enchantment table (MC-17431).
    • Fixed sound engine crash when stopping streaming sounds.
    • Fixed entities sometimes not rendering when above/below the world.
    • Fixed issue causing players to be lost from chunk tracking during teleportation.
    • Fixed performance issue in ItemStack.
    • Fixed exit logger printing wrong stack elements.
    • Fixed fences and walls sometimes not connecting to vanilla blocks.
    • Fixed cryptic error caused by server watchdog.
    • Fixed players not hearing pickup sound when given via machines.
    • Fixed Spectator mode particles and sounds computed from where you have been before (MC-46445).
    • Fixed EntityPlayer firing LivingAttackEvent twice for the same attack.
    • Fixed the warning logged for cascading world gen.
    • Fixed armor bar dissappearing when moving dimensions. (MC-88179)
    • Fixed vanilla duplication exploit.
    • Fixed Forge's world gen command overloading the save thread. (Slowed it down so the save thread could keep up)
    • Fixed FluidUtil.getFluidHandler skipping some fluid tile entities.
    • Fixed events firing when the game has already crashed during loading.
    • Fixed dragon fight not initialising correctly under some circumstances.
    • Fixed overrides typo in saving registry data.
    • Fixed MC-123363: Stop rendering removed tile entities
    • Fixed client world memory leak.
    • Fixed activator rails incorrectly powering wrong vanilla rails.
    • Fixed typo in validation of vanilla registry wrappers
    • Fixed vanilla performance issue in lighting code.
    • Fixed race condition causing dedicated server block mappings to shift.
    • Fixed runtime deobfusction issue related to modified classes.
    • Fixed various Particles glitchy movement (MC-12269).
    • Fixed possible NPE when calling Loader.getIndexedModList
    • Fixed some light-emitting blocks letting light through (MC-119932).
    • Fixed farmer villagers not re-planting modded crops when they harvested them.
    • Fixed memory leaks in EnchantmentHelper (MC-128547).
    • Fixed parameter inconsistency in IFieldWrapper
    • Fixed language parsing for creating the java locale.
    • Fix Forge bucket not declaring all texture dependencies.
    • Thanks 1
  2. Oh lord, where to start.

    32 minutes ago, NolValue said:

     

    
    Map<String, String> stat = new HashMap<>();
    

    You are using this to store what? A String name, and int value right.. so why is it a <String,String> and not a <String,Integer>

     

    32 minutes ago, NolValue said:

     

    
        int valTemp = Integer.parseInt(value);
        valTemp += amount;
            value = Integer.toString(valTemp);
            stat.put(args, value);
    

    Why are you immediately converting the string to a int, why not just take in a int? It would save you all of these Integer calls...

    32 minutes ago, NolValue said:

     

    
        if (args.equals("str")||equals("cons")||equals("dex")||equals("will")||equals("mind")||equals("spir")){
    

    You do this line 4 times, you should probably move this to a 'isValidKey' function, OR start using a enum.

    32 minutes ago, NolValue said:

     

    
    public void getStat(String args)
    {
        if (args.equals("str")||equals("cons")||equals("dex")||equals("will")||equals("mind")||equals("spir"){
        stat.get(args);}
    }
    

    You do realize this function doesn't actually return anything and thus is completely useless... right... ?

     

    Looks to me that you want to do something more like:

    public  enum  Stat  { STRENGTH, CONSTITUTION, DEXTERITY, WILLPOWER, MIND, SPIRIT};
    HashMap<Stat, Integer> stats = new HashMap<>();
    public void add(Stat stat, int value) {
        stats.set(stat, stats.getOrDefault(stat, 0) + value);
    }

     

    • Like 2
  3. this.direction seems to be a static/block field that is shared between all blocks, this is fundamentally wrong. You're wanting to set it in the block state but failing.

    Show how you place the block. Try looking at the Furnace block for how to place things facing different directions.

  4. You should almost never make anything in MC static.

    This thing that saves you 'client-server sync'... what happens on dedicated servers? or lan play where there are multiple clients?

    Things should be logically separated by the sides/world they are in.

    Also, what happens when multiple worlds load? you say it gets initalized in WorldEvent.Load? Well you do know that is called for all dimensions right? And it can be called multiple times for the same world as they are loaded/unloaded.

  5. "Performance drops" is not a valid report. We need some form of actual numbers, videos showing issues, SOMETHING that can actually be tracked or reproduced.

    Also, luckally you're not like some people and pushing out a 500 build change and complaining, you only have 4 builds. And looking at the history I have a idea which one could be effecting it.

    So try 2675 vs 2674. If you can reproduce, provide logs, The sampler mod may help: https://minecraft.curseforge.com/projects/sampler

     

  6. You shouldn't.

    Read this for issues with server only entities: https://github.com/MinecraftForge/MinecraftForge/issues/4870

    However, you're slightly trying to do something different.

    You want to have your entity pretend to be something different on the client.

    That.. is actually a semi-plausible idea.

    Have you tried NOT registering your entity and just having it extend EntityRabbit? Does the Entity Registry do any form of hierarchy mapping {Getting the Rabbit entry for subclasses of Rabit that don't have mappings}...

    That may be something to look into.

  7. Then play the Java version. But ya closing this as it's not really worth discussing. Bedrock is completely different from the Java version. It doesn't have the same ability to be modified as Java does. IF a API/Injection Point ever comes into place for Bedrock, then I'll reassess it. But don't expect Java mods to work on Bedrock.

  8. If you install it using our installer then it will be fine. As it installs the file it's trying to download.

    Post the install log, it is created in the same folder you ran the installer.

    Also show screenshots of what launcher you're using, and post the full log from the launcher.

     

    The more information you give the better we can help you.

    The only way that you could be getting the error that you posted is if the file our installer installs isn't there, so I have to go under the assumption you didn't install it correctly.

    It *could* be a profile issue. You installed it on your windows profile and not on your daughters.

    More log files will hell our by saying exactly what was installed where.

×
×
  • Create New...

Important Information

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