Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 09/05/18 in all areas

  1. Just want to clarify the concept a bit. The vanilla source is "obfuscated" meaning that it is valid Java code but isn't really human-readable, mostly because all the fields and methods have names that don't mean anything (to humans). So as part of MCP there is a system of mapping human-friendly names to the actual names. This mapping is basically crowd-sourced -- up to the community to submit suggestions. Note that sometimes the suggestions aren't exactly right (I've seen cases of misnamed methods), and also sometimes the methods get adjusted over time based on trying to improve naming consistency Since the mapping is often getting updated, it is important for your build.gradle to point to a fairly recent version. I recommend updating every week, especially in the early days of a new version when it is probably changing frequently. In terms of whether it is "safe" to build a mod using an outdated mapping, it is because the friendly mappings are just to aid developers and the actual names are the correct ones for associating with vanilla. Note that if you use Java reflection, you need to use a class called ReflectionHelper because of the mapping. In ReflectionHelper methods you need to specify both the mapped and original names. The mappings are maintained by MCPBot which you can use to find mappings, download CSV spreadsheets with latest listings, and submit suggestions for new ones. For 1.12.2 I would say that the mapping process is essentially "finished". When 1.13.x comes around though you'll get to observe a period where there are lots of unmapped ones that get better. Each time you update the mappings there is a chance that your code will start throwing errors due to the change. You simply need to figure out what the new name is and correct your code -- a bit of a pain sometimes but unavoidable.
    1 point
  2. It makes no difference, mapped methods get un-mapped during the build process of your mod so they properly target vanilla methods outside of your development environment. If you're working with 1.12.X I recommend updating your mappings to stable_39.
    1 point
  3. those are mapping issues. you could simply fix this by updating your mappings. If they are still obfuscated it means they don't have name for it yet and then you report it to mcp
    1 point
  4. I don't think that it will ever be 100% complete. It's a big project, bugs are always going to appear (not always big one).
    1 point
  5. Here are my thoughts regarding what you have said: Optifine has a preview version for 1.13 out that was released last week, i assume this still includes shaders (The GLSL dev let the Optifine dev take over) LiteLoader likely hasn’t needed any updates, Mumfrey is likely busy with other things, such as Mixins and Sponge There can’t be any mods for 1.13 without Forge or LL having a version out to load the mods Since Mojang basically overturned everything there are likely a lot of new things that people are working out for RPs/datapacks for 1.13, i’m sure they will update in time too
    1 point
  6. If you want to, you can create a script and then a bunch of desktop shortcuts that can allow you to switch between mod directories easily. If you copy the copy below into a file called switchmc.bat and replace YOUR_USER_NAME with your computer's account name, then you can make desktop shortcuts to this file and add the mane of the mods directory to the target property. E.g. if you save switchmc.bat into C:\ then create a shortcut called swichmc 1.8.9, right click, and then change the target to say C:\switchmc.bat 1.8.9 Now you can put all your 1.8.9 mods in a directory called mods_1.8.9 (in your .minecraft directory). It makes it faster to switch between versions of Minecraft. You still need to install forge for each version of minecraft and make a profile for each version. Let me know if you need any help. @echo off echo Minecraft Mod Directory Switcher set MCPATH=C:\Users\YOUR_USER_NAME\AppData\Roaming\.minecraft set FILENAME=mods set modsDir=%MCPATH%\%FILENAME% goto :start REM Error handling labels :noMCVersionArg echo ERROR - Missing Minecraft version - e.g. 1.12 goto :usage :noTargetModsFound echo ERROR - Target mods dir not found: %targetModDir% goto :usage :noModsDirFound echo ERROR - Mods dir not found: %modsDir% echo - Create symlink with: mklink /D mods SOME_MOD_DIR goto :usage :usage echo USAGE: switchmc VERSION [extention] echo switchmc 1.12.2 -funmods goto :end :start set ext="" if "%1"=="" goto noMCVersionArg if "%2"=="" goto setModExtenstion :setModExtenstion set ext=%2 :checkIfModDirIsSymLink set targetModDir=%MCPATH%\%FILENAME%_%1%ext% if not exist %targetModDir% goto :noTargetModsFound if not exist %modsDir% ( goto :createSymLink ) :checkSymLink set SP1=0 for /f "tokens=4,5 delims= " %%A IN ('dir /L /N %modsDir%*') do ( if %%B EQU %FILENAME% ( if "%%A" EQU "<SYMLINKD>" set SP1=1 ) ) if %sp1% EQU 0 goto :symFalse if %sp1% EQU 1 goto :createSymLink :symFalse echo ERROR - Not switching mods directiry as mods is not a symlink echo - Rename mods dir and create symlink with: mklink /D mods SOME_MOD_DIR goto :end :createSymLink echo Switching to mod dir %targetModDir% if exist %modsDir% rmdir %modsDir% mklink /D %modsDir% %targetModDir% goto :end :end
    1 point
×
×
  • Create New...

Important Information

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