Jump to content

[1.7.2] Material.rock vs. Material.stone vs. ???


Robosphinx

Recommended Posts

Alright, my problem here is probably a simple fix, but it's not coming to me;

 

Inside eclipse, I've got my custom ores' material set as Material.rock, because that is what seems to have replaced Material.stone from pre-1.7... Works as expected, *inside* eclipse. Then I go build it and throw it into my client, and there's where I run into a snag:

cpw.mods.fml.common.LoaderException: java.lang.NoSuchFieldError: rock

 

Kinda weird... So I decided to try Material.stone on the off chance it gets compiled/obfuscated/magical-ized, and to no avail, same NoSuchFieldError: stone instead. So to any of you who have been working with 1.7 longer than I have and have figured this out: Help a guy out here?

 

Thanks in advance!

-- Robosphinx

 

EDIT: Here's the relevant snippet in a pastebin: http://pastebin.com/2XY6zUct (sorry for the wonky formatting, I suppose that's pastebin for ya.

The further a society drifts from the truth, the more it hates those who speak it.

Link to comment
Share on other sites

Yes and yes :P

 

Most of my mods I use separate methods to keep it more organized, then call them inside their respective (in this case PreInit) method.

 

Although, building with gradle recently went wonky; it used to package it all into a single jar, but now all it is is the Meta-Inf in that jar and I have to manually package the rest from the bin folder.

 

Folder structure (files are in "quotations"):

forge
| .gradle
| .settings
| bin
|  | All my mod classes, in their folder structure (yes, compiled into classes), but not in a jar
|
| build
| eclipse
| gradle
| src
|  | project folder
|     | .gradle
|     | build
|     |  | libs
|     |  |  | properly named jar file, only containing "MANIFEST.MF"
|     |  |
|     |  | natives
|     |  | sources
|     |  | tmp
|     |  |
|     |  | ".gitignore"
|     |
|     | eclipse
|     | java
|     | resources
|     |
|     | "build.gradle"
|
| ".classpath"
| ".project"
| "build.gradle"
| "gradlew"
| "gradlew.bat"
| "settings.gradle" (points gradle to build the project folder -as well as- the main (example) mod)

The further a society drifts from the truth, the more it hates those who speak it.

Link to comment
Share on other sites

Although, building with gradle recently went wonky; it used to package it all into a single jar, but now all it is is the Meta-Inf in that jar and I have to manually package the rest from the bin folder.

Hmmm coincidence? :)

 

I am guessing that the failure to find Material.rock is something to do with incorrect deobfuscation, since it works ok in Eclipse but not in the jar.  The bin folder might not have the proper deobfuscation applied (not sure to be honest but it seems possible).

 

It might be worth reinstalling your Forge from scratch and trying the build again.

 

-TGG

Link to comment
Share on other sites

Just did that two days ago to get a more recent version of forge (1125), and I always set it up using

 gradlew setupDecompWorkspace

 

And it has always worked just fine... Kinda at a loss here :(

The further a society drifts from the truth, the more it hates those who speak it.

Link to comment
Share on other sites

Not very complicated actually, it let's me keep all my projects in one workspace and the grade system is designed specifically to make that easier. I'll link to where I got the setup from if I can find it, but I'm pretty sure it came from right here in the MCF forums. And as I said before, it worked seamlessly for about 7 months before now.

The further a society drifts from the truth, the more it hates those who speak it.

Link to comment
Share on other sites

Well that's a side note anyway, I can still functionally export my mods, so back to the original problem at hand: What's up with Material.rock / Material.stone / Whatever may have replaced them? Has anyone else had success with Material.rock and I just need to recreate my workspace again or...?

The further a society drifts from the truth, the more it hates those who speak it.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • How to fix file server-1.20.1-20230612.114412-srg.jar  
    • Just a few months ago I was creating my own plugin for Minecraft 1.20.2 spigot that did the same thing, but the skins were not saved, if you can understand this code that I made a long time ago it may help you.   //This is a class method private static String APIRequest(String value, String url, String toSearch) { try { URL api = new URL(url + value); HttpURLConnection connection = (HttpURLConnection) api.openConnection(); connection.setRequestMethod("GET"); int responseCode = connection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); StringBuilder response = new StringBuilder(); for (String responseChar; (responseChar = reader.readLine()) != null; ) response.append(responseChar); reader.close(); JSONObject responseObject = new JSONObject(response.toString()); if (!toSearch.equals("id")) return responseObject .getJSONArray("properties") .getJSONObject(0) .getString("value"); else return responseObject.getString("id"); } else { AntiGianka.ConsoleMessage(ChatColor.RED, String.format( "Could not get %s. Response code: %s", ((toSearch.equals("id")) ? "UUID" : "texture"), responseCode )); } } catch (MalformedURLException error) { AntiGianka.ConsoleMessage(ChatColor.RED, "An error occurred while trying to access the URL. Error: " + error); } catch (IOException error) { AntiGianka.ConsoleMessage(ChatColor.RED, "An error occurred while attempting to connect to the URL. Error: " + error); } return ""; } //other class method private void SkinGetter() { String uuid; String textureCoded; if ((uuid = APIRequest(args[0], "https://api.mojang.com/users/profiles/minecraft/", "id")).isEmpty() || (textureCoded = APIRequest(uuid, "https://sessionserver.mojang.com/session/minecraft/profile/", "value")).isEmpty() ) sender.sendMessage(ChatColor.RED + String.format( "An error has occurred while trying to obtain the %s player skin, please check if the name %s is spelled correctly or try again later.", args[0], args[0] ) ); else SkinSetter(textureCoded); } //other more private void SkinSetter(String textureCoded) { JSONObject profile = new JSONObject(new String(Base64.getDecoder().decode(textureCoded))); try { URL textureUrl = new URL(profile.getJSONObject("textures"). getJSONObject("SKIN"). getString("url")); if (sender instanceof Player && args.length == 1) { PlayerTextures playerTextures = ((Player) sender).getPlayerProfile().getTextures(); playerTextures.setSkin(textureUrl); ((Player) sender).getPlayerProfile().setTextures(playerTextures); if (((Player) sender).getPlayerProfile().getTextures().getSkin() != null) sender.sendMessage(((Player) sender).getPlayerProfile().getTextures().getSkin().toString()); else sender.sendMessage("Null"); sender.sendMessage("Skin changed successfully.a"); } else { } AntiGianka.ConsoleMessage(ChatColor.GREEN, "Skin command executed successfully."); } catch (MalformedURLException error) { sender.sendMessage(ChatColor.RED + String.format( "An error has occurred while trying to obtain the %s player skin, please check if the name %s is spelled correctly or try again later.", args[0], args[0] ) ); AntiGianka.ConsoleMessage(ChatColor.RED, "An error occurred while trying to access the URL. Error: " + error); } }  
    • Use /locate structure The chat should show all available structures as suggestion For the Ancient City it is /locate structure ancient_city
    • So does it work without this mod? Did you test it with other builds?
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

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