• 0

    posted a message on [Launcher] Magic Launcher 1.3.4 (mods, options, profiles, news)
    Quote from Fujiroko»




    Same problem for me



    Thanks for responding. I knew I'm not the only one with this problem.




    Quote from soccerguy3»

    Run Minecraft launcher with vanilla 1.8 profile to install updates , then open a map to test . . The garbled name in the window is obfuscated text from reading wrong data , but is harmless .



    As I believe that I have previously stated, I have tried doing that but it did NOT fix the problem. I have even tried that proposed solution multiple times now but have still been unsuccessful in resolving the problem. I also wouldn't exactly call it harmless. It should definitely be fixed of course.


    So far, it appears the problem only exists with Minecraft versions 1.8.2, 1.8.3, and current latest 1.8.4. At least, for me.

    The text error seems to no longer appear though. However, the minecraft jar still shows as that "a/io/File;)Z" for those particular Minecraft versions when choosing that Minecraft version's environment.




    :mellow:

    Posted in: Minecraft Tools
  • 1

    posted a message on [Launcher] Magic Launcher 1.3.4 (mods, options, profiles, news)
    Quote from ThreeEye»


    I have recently run into this problem too even though I have first run the vanilla launcher to update the game libraries. The problem still exists.


    In fact, I have found that it's showing a bad jar file indicator for me within Magic Launcher even if I try to re-specify the proper jar location and file. I have even tried removing Magic Launcher's configuration file from the "magic" folder within the roaming appdata location. Nothing has worked to fix it so far.


    Images below:



    Additional Images:












    :unsure:




    Still having this problem with Minecraft Version 1.8.4.


    It only happens with "Environments" (for the "Environment" Setting) above Minecraft Version 1.8.




    :unsure:

    Posted in: Minecraft Tools
  • 0

    posted a message on [Launcher] Magic Launcher 1.3.4 (mods, options, profiles, news)
    Quote from soccerguy3»

    Quote from archmage94»

    When I try to start it I get this error involving some sort of Twitch library, I don't do any livestreams, in fact I only have one video on Youtube cause I don't really care for Youtube publicity. How can I run it without this file?

    Here's the log:

    MagicLauncher 1.2.6

    ...

    Downloading: https://s3.amazonaws.com/Minecraft.Download/libraries/tv/twitch/twitch-platform/6.5/twitch-platform-6.5.jar
    Library not found: libraries/tv/twitch/twitch-platform/6.5/twitch-platform-6.5.jar
    Library not found: libraries/tv/twitch/twitch-external-platform/4.5/twitch-external-platform-4.5.jar

    ...



    Run the vanilla launcher profile first to update your game libraries , then your can use magiclauncher . Get into the habit of doing this often to keep your game updated



    I have recently run into this problem too even though I have first run the vanilla launcher to update the game libraries. The problem still exists.


    In fact, I have found that it's showing a bad jar file indicator for me within Magic Launcher even if I try to re-specify the proper jar location and file. I have even tried removing Magic Launcher's configuration file from the "magic" folder within the roaming appdata location. Nothing has worked to fix it so far.


    Images below:



    Additional Images:












    :unsure:

    Posted in: Minecraft Tools
  • 0

    posted a message on Modding with Forge/Eclipse: Source files not available?

    So, do you need to do BOTH "setupDevWorkspace" AND "setupDecompWorkspace" or will "setupDecompWorkspace" automatically do both even though "setupDevWorkspace" does not?


    If you need to do both manually, should one be done before the other? If so, which one first?


    :huh:

    Posted in: Modification Development
  • 0

    posted a message on Solar Roadways!
    Quote from LordPie

    Sorry, but.. no. They're really, really not practical. There are countless problems with the idea. I would go over the problems myself, but to save both me the effort of typing it all out, and you the effort of reading my inane drivel, take a look at these:

    Note: I'm not saying he's an infallible source, but most of his points are perfectly good.




    All of those "concerns" have either been outright debunked or answered.

    See the following links:


    http://www.solarroad...reakinair.shtml


    http://www.solarroadways.com/faq.shtml






    :)
    Posted in: Computer Science and Technology
  • 0

    posted a message on Solar Roadways!
    Quote from CodofMC

    Most people probably aren't talking about it because it's a cool concept, but not really practical. It would be much easier to just install solar panels on the roofs of houses. Not only would roads have to be closed down for these panels to be installed, but electrical work would have to be done as well, adding even more down time. Plus, these don't look pleasant to drive on at highway speeds either.



    Actually, a lot of people are talking about it in general. Just not here. And, I disagree that it's not practical. What's not practical is asphalt since it is unsustainable because it is petroleum based. As for replacing roads, roads are always shut down due to maintenance anyhow for things like potholes which would no longer be a problem. They also account for the electrical things which also provides a bonus of no longer having ugly overhead power lines littering the neighborhood and falling down due to heavy ice and things like that. So, more reliability for electricity. No power outages because someone ran into a pole somewhere. Of course, there are many additional benefits too that save lives and money such as no longer having snow and ice on the roads or requiring snow plows etc. And, as for looks, the finalized product will look much better and I'm sure it won't be a problem visually for most people. Most people are saying they actually look better than asphalt roads too.


    :)
    Posted in: Computer Science and Technology
  • 0

    posted a message on Solar Roadways!
    Quote from Elaxter

    Yeah, someone in my school mentioned them. They sounded pretty cool. Are they in use anywhere?




    They finished up their Phase II Prototype with federal funding and now they are finishing up their Indiegogo crowdfunding campaign which will allow them to hire more people, finalize the product, and start installing it in various locations. The projects will be close to their home in North Idaho at first.


    http://www.solarroad...tml#faqProjects




    :D
    Posted in: Computer Science and Technology
  • 0

    posted a message on Solar Roadways!
    I'm sort of surprised that no one has been talking about Solar Roadways here.


    This is the Technology Section after all.





    http://www.solarroad...com/intro.shtml


    https://www.indiegog.../solar-roadways


    https://www.facebook.com/solarroadways


    http://www.solarroadways.com/faq.shtml





    :D
    Posted in: Computer Science and Technology
  • 0

    posted a message on [1.6.4] Minecraft Modding Tutorial #11a - Creating a Custom Fluid
    Having problems with this. A long time ago, I had previously edited some base classes to get the functionality I was wanting. Back then, I was also able to directly change the value of the "isWater" boolean variable.

    First, all I want to do is create a liquid "block" that does NOT "flow" like a liquid but causes the same (or similar) "swimming" effects as water. However, when trying the stuff listed in this thread, all I have been able to achieve is that the liquid will flow (despite setting the "viscosity" to 0, which it reverts to 1 as the lowest) and "swimming" through the block is still not possible.

    I am currently thinking I may need to use Java Reflection instead to get access to the "isWater" boolean variable in order to trick the code into thinking the player is swimming in water. But, I'm also thinking I'm just missing some things here instead. For various reasons, I'm trying not to have to go the Java Reflection route unless I have to.

    How can I make a "block" act like a liquid for purposes of living entities (the player and mobs) moving through the block but the block will not flow like liquid. In other words, it will still act like a normal block except for movement through the block. A liquid that stays the shape of a block but acts like water (or very similar to water) for movement through the block. And, yes, living entities can still drown in the block in survival mode but I'm not worried about that at the moment.

    Also, I do not need the "bucket" behavior as listed in the follow-up tutorial thread for this subject.

    I'm trying to accomplish this still with Minecraft 1.6.4 in attempt to get everything working properly before migrating over to 1.7+.



    :huh:
    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on [1.7][Video][Text] MouseTutorial's Beginner Tutorials - On Youtube too!
    Quote from freezzerrr

    Added tutorial 5:

    Love to have some feedback!




    Never got a response from you about naming on your previous 1.6.2 version of the thread:

    http://www.minecraftforum.net/topic/1908190-162-forge-minecraft-modding-professionalpahimars-system-video-and-text-updated-21-8/page__st__60#entry28946418


    I even sent you a PM that appears to have never been read.


    :mellow:
    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on [1.6.2] Forge Minecraft Modding Professional/Pahimar's System. Video and Text! Updated 21-8
    Quote from ThreeEye




    First off, with the LANG_RESOURCE_LOCATION string variable from the "References" class (the text tutorial shows it as being from the "Strings" class rather than the "References" class).

    The video tutorial and GitHub both show you as listing the location as "/assets/mousdoesmods/lang" without an additional trailing slash ( " / " ) at the end of the string. The text tutorial doesn't really show where you set it (like you do in the video and on GitHub) but it does state that it is "/assets/mousedoesmods/lang/" (WITH the trailing slash).

    So, without the trailing slash (as both the video tutorial and GitHub show), the string from the following code (from the Localizations class):
    public static String[] localeFiles = { Strings.LANG_RESOURCE_LOCATION + "en_US.xml" };

    ... would actually (and incorrectly) be "/assets/mousedoesmods/langen_US.xml" with the two strings running together at the end. So, there is obviously an errror in the video tutorials and GitHub code since there needs to be the additional slash to properly tie the two strings together.




    Second, it appears that the code (in the LocalizationHelper class):
    public static String getLocalizationString(String key) {
    
    return LanguageRegistry.instance().getStringLocalization(key);
    
    }

    ... is never called anywhere from the rest of your code.

    It looks to me like this is where it is supposed to actually load the key(s) from the language localization files we created as XML files. But, again, it never appears to be called by your code elsewhere. So, how is it supposed to actually load each key from the specified XML file in the first place?

    I haven't checked the LanguageRegistry class itself that has the "loadLocalization" method you specify but I wouldn't expect it to call the getLocalizationString method from your LocalizationHelper class. And, again, your code itself doesn't call this method itself either.




    Third, you say that this is supposed to make it easier for adding additional language name files (using the XML files you drop in that "lang" folder) so you don't have to change anything within the code itself whenever you want to add additional languages. However, you hard-code the check for each particular language name in the Localizations class with the following code:
    public static String[] localeFiles = { Strings.LANG_RESOURCE_LOCATION + "en_US.xml" };


    Granted, you're only showing for U.S. English in this case (so, only the one string stored in the array during the tutorial) but this means you actually have to pre-specify strings for ALL of the additional languages that you may be able to accept in the future. If you don't do so, dropping in another XML file into that lang folder will do nothing since it will only be looking for the "en_US.xml" file and no other.

    It seems there should be a much easier/better/more appropriate way to do this and there are at least a couple that I can think of off the top of my head.

    One possible way you should be able to do this would be to get the list of all language files that Minecraft normally looks for ( en_US, af_ZA, zh_TW, etc ) and automatically fill the string array with the list of all of those languages replacing ".lang" with ".xml" at the end.

    Another possible way would be to just pull up a list of files located in the specified lang folder you created and then cycle through loading the keys from each of the files specified in that directory. Since the only thing in that folder should be appropriately named language files in XML format, you shouldn't even have to check to see if they are XML files or even properly named according to the language they are for (unless you really want to do the additional safety checks for whatever reason).



    :huh:





    While waiting on a reply to my last post, I figured I should ask ....

    Has anyone actually been able to get Tutorial #5 to work or figured out what is missing with things like "getLocalizationString(key)" method I mentioned?


    :huh:
    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on [1.6.2] Forge Minecraft Modding Professional/Pahimar's System. Video and Text! Updated 21-8
    Quote from freezzerrr

    Tutorial 5, Adding names

    [spoiler]
    Text Tutorial:
    [spoiler]
    Ok, so why would we use localization files?
    well, if other people like your mod, they can translate it to their own language.
    You can simply add another language file, and it works.
    No changing all your code and stuff.

    So,

    package BlazeCoding.Tales.core.handler;
    
    import BlazeCoding.Tales.core.helper.LocalizationHelper;
    import BlazeCoding.Tales.lib.Localizations;
    import cpw.mods.fml.common.registry.LanguageRegistry;
    
    public class LocalizationHandler{
    
    public static void init(){
    
    /**
    * For all files registered in Localizations.java, add them to the Localization Library.
    * This way we can use this file to add localizations (names).
    */
    for(String LocationFile: Localizations.localeFiles){
    
    LanguageRegistry.instance().loadLocalization(LocationFile, LocalizationHelper.getLocaleFromFileName(LocationFile), LocalizationHelper.isXMLLanguageFile(LocationFile));
    }
    }
    }


    This is what adds the localization file to the localization library.
    It needs a localization file, which we will set in a later file.
    It also needs a string of what the key is of an item/block. Our helper class will get this from the language file
    The helper file also checks if it is an xml file (needed).
    So how does that mysterious helper class look like?

    package BlazeCoding.Tales.core.helper;
    
    import cpw.mods.fml.common.registry.LanguageRegistry;
    
    public class LocalizationHelper{
    
    /**
    * Checks if language file is an .xml file
    *
    * @param Name of the file which needs to be checked.
    * @return true when is, false when isn't
    */
    
    public static boolean isXMLLanguageFile(String fileName){
    
    return fileName.endsWith(".xml");
    }
    
    /**
    * Gets the language from filename. EG. en_US.xml will return en_US
    *
    * @param Name of the file which needs to be checked.
    * @return Language substring.
    */
    
    public static String getLocaleFromFileName(String fileName){
    
    return fileName.substring(fileName.lastIndexOf("/")+1,fileName.lastIndexOf("."));
    }
    
    /**
    * Gets the language of the file
    *
    * @param Key of the language file
    * @return language of the file
    */
    
    public static String getLocalizationString(String key){
    
    return LanguageRegistry.instance().getStringLocalization(key);
    }
    }

    Ok, so, breaking down:

    public static boolean isXMLLanguageFile(String fileName){
    
    return fileName.endsWith(".xml");
    }


    this checks if it is an xml file, by just reading it's name.

     public static String getLocaleFromFileName(String fileName){
    
    return fileName.substring(fileName.lastIndexOf("/")+1,fileName.lastIndexOf("."));
    }


    This method gets the locale from file name (yea, obvious from it's name)
    with other words, it will get your directory, and go to the last part of it.
    It will now see this: en_US.xml
    Because it will end at the index of '.', it will only read en_US

    package BlazeCoding.Tales.lib;
    
    public class Localizations {
    
    /**
    * Array of which localization files have to be loaded.
    */
    
    public static String[] localeFiles = {Strings.LANG_RESOURCE_LOCATION + "en_US.xml"};
    }


    This will contain all the localization files. The LANG_RESOURCE_LOCATION holds my directory of where i saved it.
    So : LANG_RESOURCE_LOCATION = /assets/MODID/lang/
    toghether with that and en_US it will register the language fole

    Last piece goes in the main mod file
    LocalizationHandler.init();


    Basically starts loading the localizations.

    [/spoiler]





    Okay, this tutorial doesn't work for me and I'm thinking there are at least a couple of issues in the tutorial itself anyhow.



    First off, with the LANG_RESOURCE_LOCATION string variable from the "References" class (the text tutorial shows it as being from the "Strings" class rather than the "References" class).

    The video tutorial and GitHub both show you as listing the location as "/assets/mousdoesmods/lang" without an additional trailing slash ( " / " ) at the end of the string. The text tutorial doesn't really show where you set it (like you do in the video and on GitHub) but it does state that it is "/assets/mousedoesmods/lang/" (WITH the trailing slash).

    So, without the trailing slash (as both the video tutorial and GitHub show), the string from the following code (from the Localizations class):
    public static String[] localeFiles = { Strings.LANG_RESOURCE_LOCATION + "en_US.xml" };

    ... would actually (and incorrectly) be "/assets/mousedoesmods/langen_US.xml" with the two strings running together at the end. So, there is obviously an errror in the video tutorials and GitHub code since there needs to be the additional slash to properly tie the two strings together.




    Second, it appears that the code (in the LocalizationHelper class):
    public static String getLocalizationString(String key) {
    
    return LanguageRegistry.instance().getStringLocalization(key);
    
    }

    ... is never called anywhere from the rest of your code.

    It looks to me like this is where it is supposed to actually load the key(s) from the language localization files we created as XML files. But, again, it never appears to be called by your code elsewhere. So, how is it supposed to actually load each key from the specified XML file in the first place?

    I haven't checked the LanguageRegistry class itself that has the "loadLocalization" method you specify but I wouldn't expect it to call the getLocalizationString method from your LocalizationHelper class. And, again, your code itself doesn't call this method itself either.




    Third, you say that this is supposed to make it easier for adding additional language name files (using the XML files you drop in that "lang" folder) so you don't have to change anything within the code itself whenever you want to add additional languages. However, you hard-code the check for each particular language name in the Localizations class with the following code:
    public static String[] localeFiles = { Strings.LANG_RESOURCE_LOCATION + "en_US.xml" };


    Granted, you're only showing for U.S. English in this case (so, only the one string stored in the array during the tutorial) but this means you actually have to pre-specify strings for ALL of the additional languages that you may be able to accept in the future. If you don't do so, dropping in another XML file into that lang folder will do nothing since it will only be looking for the "en_US.xml" file and no other.

    It seems there should be a much easier/better/more appropriate way to do this and there are at least a couple that I can think of off the top of my head.

    One possible way you should be able to do this would be to get the list of all language files that Minecraft normally looks for ( en_US, af_ZA, zh_TW, etc ) and automatically fill the string array with the list of all of those languages replacing ".lang" with ".xml" at the end.

    Another possible way would be to just pull up a list of files located in the specified lang folder you created and then cycle through loading the keys from each of the files specified in that directory. Since the only thing in that folder should be appropriately named language files in XML format, you shouldn't even have to check to see if they are XML files or even properly named according to the language they are for (unless you really want to do the additional safety checks for whatever reason).





    :huh:
    Posted in: Mapping and Modding Tutorials
  • 0

    posted a message on Forge CODE For Storing Text In A Tile Entity For Later.
    Quote from Mr_Crayfish

    No problem. I'm glad I helped you out :)




    Me too.

    Unfortunately, after I finally got this working despite it not syncing immediately, I checked an old bookmark I had to one of the Forge tutorials on their website since I had remembered something about the problem of it not syncing right away and I found that there is a HUGE change for 1.7.2 on how packets are handled:

    http://www.minecraftforge.net/wiki/Tutorials/Packet_Handling
    • @NetworkMod has been removed
    • Packet Handling is now done via Netty
    • Packet sending is sent through Netty instead of a network manager

    With a bunch of code examples there.

    It looks like I may have to be starting from scratch again all over with this.


    :(
    Posted in: Modification Development
  • 0

    posted a message on Forge CODE For Storing Text In A Tile Entity For Later.
    Quote from Mr_Crayfish

    ...




    Mr_Crayfish,


    First off, ...


    THANK YOU!!!


    I believe I have FINALLY found the problem thanks to you!!!


    I was extremely close and basically had most everything correct but it currently looks like my problem was here ...

    It was apparently the line:

    Quote from Mr_Crayfish

    PacketDispatcher.sendPacketToAllAround(x, y, z, 100, entityPlayerMP.dimension, tee.getDescriptionPacket());




    in:

    Quote from Mr_Crayfish

    @Override
    public void onPacketData(INetworkManager manager, Packet250CustomPayload packet, Player player)
    {
    
         DataInputStream inputStream = new DataInputStream(new ByteArrayInputStream(packet.data));
    
         EntityPlayer entityPlayer = (EntityPlayer) player;
         EntityPlayerMP entityPlayerMP = (EntityPlayerMP) entityPlayer;
    
         if (packet.channel.equals("insert_channel_name"))
         {
    
              int x = inputStream.readInt();
              int y = inputStream.readInt();
              int z = inputStream.readInt();
              String text = inputStream.readUTF();
    
              TileEntity tile_entity = entityPlayerMP.getBlockTileEntity(x, y, z);
    
              if(tile_entity instanceof TileEntityExample)
              {
    
                   TileEntityExample tee = (TileEntityExample) tile_entity;
                   tee.text = text;
    
                   PacketDispatcher.sendPacketToAllAround(x, y, z, 100, entityPlayerMP.dimension, tee.getDescriptionPacket());
    
              }
    
         }
    
    }




    ... as you pointed out.


    For some reason, I had been trying to do that from within the TileEntity's "getDescriptionPacket" routine instead.

    I am still doing some testing and additional experiments because it appears to not always update a change right away and might still have the old value if I exit the game immediately after changing it. I am also going to experiment with just sending it to the server or to "All In Dimension" rather than "All Around."

    I also had to change a couple of minor things like adding "worldObj" for getting the block's tile entity from entityPlayerMP based on the version of the code I'm messing with at the moment. A few other odd things like that here and there. I'm also sending the update on the GUI being closed at the moment as opposed to the button being clicked. But, all I have the button doing at the moment is basically closing the GUI. So, the final block update doesn't need to take place until then. I also had to add an IOException Try-Catch in the Packet Handler.

    Your instructions also cleared up some confusion I was having about the code apparently needing to use BOTH Packet250CustomPayload AND Packet132TileEntityData in different spots.



    Again, THANK YOU!!!


    I'll let you know if I run into any other problems!

    Now, I just need to get back to work on finally updating my Circuit Cubes mod once again. This issue, that has plagued me for a LONG time, is what was preventing me from updating the mod.

    When I finally do, I will definitely be giving you the very much deserved credit in the OP there!



    :D
    Posted in: Modification Development
  • 0

    posted a message on Forge CODE For Storing Text In A Tile Entity For Later.
    Quote from Mr_Crayfish

    I updated my post above. It should cover saving the text and syncing the tile entity with the server with packets.



    Thanks! I took a quick peek and I'm looking forward to going over it in more detail. I've been a bit busy so, unfortunately, I probably won't be getting to it until Sunday at the soonest. So, in the meantime, I wanted to let you know I saw you updated it.


    :)
    Posted in: Modification Development
  • To post a comment, please or register a new account.