Content: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Background: Slate Blackcurrant Watermelon Strawberry Orange Banana Apple Emerald Chocolate Marble
Pattern: Blank Waves Notes Sharp Wood Rockface Leather Honey Vertical Triangles
Welcome to TerraFirmaCraft Forums

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

  • Announcements

    • Dries007

      ATTENTION Forum Database Breach   03/04/2019

      There has been a breach of our database. Please make sure you change your password (use a password manager, like Lastpass).
      If you used this password anywhere else, change that too! The passwords themselves are stored hashed, but may old accounts still had old, insecure (by today's standards) hashes from back when they where created. This means they can be "cracked" more easily. Other leaked information includes: email, IP, account name.
      I'm trying my best to find out more and keep everyone up to date. Discord (http://invite.gg/TerraFirmaCraft) is the best option for up to date news and questions. I'm sorry for this, but the damage has been done. All I can do is try to make sure it doesn't happen again.
    • Claycorp

      This forum is now READ ONLY!   01/20/2020

      As of this post and forever into the future this forum has been put into READ ONLY MODE. There will be no new posts! A replacement is coming SoonTM . If you wish to stay up-to-date on whats going on or post your content. Please use the Discord or Sub-Reddit until the new forums are running.

      Any questions or comments can be directed to Claycorp on either platform.
tetrified

[TFC 0.79.17] Anvil Calculator

25 posts in this topic

Find yourself struggling to craft your gear before your ingots cool down? Do you just hit the buttons until it works? Do you find it tedious to figure out how to smith your tools? Well I have a solution for you!

 

The TerraFirmaCraft Anvil Solver!

 

Just type in your material ID, the ID of the item you want to make, and select the last three steps(first, second, last), and this nifty application will tell you what you need to do to create the weapons, armour, or tools of your dreams!

post-17847-0-65975800-1428358899_thumb.j

 

The file is hosted here.

Leave the seed as 0 to use in version 79.15-79.17.

To get your seed, you can either type /seed, or recreate your world and look at the seed there (I like that one more because it lets you copy paste your seed) I personally recommend keeping your seed in a text document somewhere to copy and paste it easily whenever you're smithing.

 

If you have suggestions on things I should do to improve this project, or features I can add, I'm all ears.

Edited by tetrified
2

Share this post


Link to post

This will not work. The location of the arrow is dependent on the world seed, so the list of actions required to complete a tool changes for every world.

0

Share this post


Link to post

This will not work. The location of the arrow is dependent on the world seed, so the list of actions required to complete a tool changes for every world.

 

It has worked in three worlds I've tried, two creative, and one survival

 

 

for farther clarification, this only takes in to account the item ID's world seed isn't included at all.

70 + new Random((in != null ? Item.getIdFromItem(in.getItem()) : 0) + (result != null ? Item.getIdFromItem(result.getItem()) : 0)).nextInt(craftingBoundDefault)

random(seed).nextInt(max)

this will always return the same value, as long as seed remains the same, and unless item ID is dependant on world seed (which I highly doubt) the arrow will always be in the same spot.

 

and this determines the last hits of the items, and is clearly static

 

 

and if it is ever changed to be determined by world seed, I can always change my algorithm to account for a world seed that the user would enter.

Edited by tetrified
2

Share this post


Link to post

The last three hits will always be the same, yes, that's how the minigame works. The hits leading up to that do change for each instance though. Numerical ItemIDs are not static, and if you install mods other than TFC it is extremely likely that the number ID for say a copper ingot will be different from someone who has just TFC installed.

 

World seed not being taken into account is a bug that apparently happened when we ported to Minecraft 1.7.10. It has been fixed for the next version of TFC so it is taken into account.

1

Share this post


Link to post

Numerical ItemIDs are not static, and if you install mods other than TFC it is extremely likely that the number ID for say a copper ingot will be different from someone who has just TFC installed.

 

This is a problem, but one that can be fixed by labelling this "Vanilla only", the item ID's should remain the same across vanilla installs.

also, wouldn't that make this page entirely useless?

 

World seed not being taken into account is a bug that apparently happened when we ported to Minecraft 1.7.10. It has been fixed for the next version of TFC so it is taken into account.

 

And when this happens, I'll modify my algorithm to match yours, and require a seed input from the user

Edited by tetrified
2

Share this post


Link to post

http://wiki.terrafirmacraft.com/index.php?title=Item_Index&action=history

 

Last updated October of 2014. See the big warning at the top of every wiki page stating that it's still under construction for the 79 update? One of those changes is switching all of the numerical IDs to the proper string ones.

 

Ooh, string id's? That should make this even easier. And also portable across mod installs, yeah? Awesome, I'll update it when the 79 update comes out.

2

Share this post


Link to post

You're missing the point. The calculation uses Numerical IDs, not string ones. The numerical IDs are generated completely separate from the string ones, and change from install to install.

0

Share this post


Link to post

You're missing the point. The calculation uses Numerical IDs, not string ones. The numerical IDs are generated completely separate from the string ones, and change from install to install.

 

Ah I thought the calculation was going to change as well. Oh well. But the numerical id's should remain identical across installs of "vanilla" TFC.

 

And across installs that aren't vanilla they should be offset by a constant, which shouldn't be hard to find out for a specific combination.

Edited by tetrified
2

Share this post


Link to post

That's not completely guaranteed, as it's possible they may change for people who are just using different versions of forge. The only way that you can possibly guarantee that this addon will work is if you have users input the number IDs of their items.

0

Share this post


Link to post

Mojang intentionally moved away from numerical IDs and to string ones because of how finicky they are. The number IDs of items can change between different forge versions, or even between different versions of TFC. If TFC ever adds a new item or block to the game, all of the old number IDs will change and your addon will no longer work.

 

We intentionally use these super finicky number IDs for our calculations to prevent players from doing exactly what your addon is doing, which takes the fun out of the minigame and turns it into nothing more than an app that a player uses to progress faster. This is also the reason why the math behind anvil smithing is banned from the guides forum, and not allowed to be posted on the wiki.

0

Share this post


Link to post

That's not completely guaranteed, as it's possible they may change for people who are just using different versions of forge. The only way that you can possibly guarantee that this addon will work is if you have users input the number IDs of their items.

 

This is actually a great idea, as much as I like the idea of the menu, I like your idea better and have updated to that.

 

 

Mojang intentionally moved away from numerical IDs and to string ones because of how finicky they are. The number IDs of items can change between different forge versions, or even between different versions of TFC. If TFC ever adds a new item or block to the game, all of the old number IDs will change and your addon will no longer work.

 

We intentionally use these super finicky number IDs for our calculations to prevent players from doing exactly what your addon is doing, which takes the fun out of the minigame and turns it into nothing more than an app that a player uses to progress faster. This is also the reason why the math behind anvil smithing is banned from the guides forum, and not allowed to be posted on the wiki.

 

A lot of people (myself included) seem to consider the system really annoying.

Edited by tetrified
2

Share this post


Link to post

Well i got a solution.... Why dont you just type in the seed and it can find the right plan for it? Just putting in ideas

1

Share this post


Link to post

Ive made so many tools now that I remember every single hit. I can make a pickaxe with my eyes closed.

And if i change the world, I will be able to start from the red arrow, so that the recepie (for example) for a wrough iron sheet is: Punch; Bend; L.Hit; L.Hit; L.Hit.

Edited by Sugar_Fox
0

Share this post


Link to post

Just a heads up, this will not be compatible with 0.79.18. We are updating the system to not only use the world seed, but also use a randomly generated seed that is based off of things you cannot easily obtain as a player (Such as the exact time the world was generated down to the millisecond, or the exact amount of time it takes for the world to be generated down to the millisecond,etc ). Note that we will be implementing this in such a way that players do not need to worry about their recipes being reset each time the server/game is rebooted.

2

Share this post


Link to post

Kitty,

You have made a valiant effort to thwart this exploitive piece of software and I applaud you for that. May I suggest an additional seed source to pull from? Use a seed generated from the theoretical max flop count on the computer running the minecraft virtual machine as well as a precise bit count of active memory at initial render time and then pass it through a 256 bit RSA encryption to spit out the actual seed used to create the secure item id's. It would be a virtually instant calculation at the generation point of the world and would be impossible to duplicate as the system will never be in the same physical state again :)

Try to work around that one tetrified :P

Edited by Balthizarlucien
0

Share this post


Link to post

Kitty,You have made a valiant effort to thwart this exploitive piece of software and I applaud you for that. May I suggest an additional seed source to pull from? Use a seed generated from the theoretical max flop count on the computer running the minecraft virtual machine as well as a precise bit count of active memory at initial render time and then pass it through a 256 bit RSA encryption to spit out the actual seed used to create the secure item id's. It would be a virtually instant calculation at the generation point of the world and would be impossible to duplicate as the system will never be in the same physical state again :)Try to work around that one tetrified :P

 

 

Well, the easiest way to do it would be to simply write the script as a minecraft mod, pull the goal value, and then display the steps on the user's screen.

 

But that would take longer than half an hour, so I'm not going to bother. I just wanted you to know that this sort of thing is an exercise in futality.

2

Share this post


Link to post

As long as you provide a way for server admins to stop their players from using it, go right ahead and create a mod that you install on the Minecraft client.

 

We have made it very clear that we do not support this type of addon. If after the 79.18 update you somehow manage to get around all the effort that we put in explicitly to stop addons like this from being created, and you still don't include some sort of way to allow servers to stop players from using it, this addon and you will be permanently banned from this forum.

 

There's this concept you don't seem to quite understand that's called "Respect a Developer's wishes"

0

Share this post


Link to post

As long as you provide a way for server admins to stop their players from using it, go right ahead and create a mod that you install on the Minecraft client.

 

We have made it very clear that we do not support this type of addon. If after the 79.18 update you somehow manage to get around all the effort that we put in explicitly to stop addons like this from being created, and you still don't include some sort of way to allow servers to stop players from using it, this addon and you will be permanently banned from this forum.

 

There's this concept you don't seem to quite understand that's called "Respect a Developer's wishes"

 

Would the 'superseed' be in the NBT data still? I got bored of TFC and haven't installed it for a while.

 

The way to avoid it when you had 'seed' as part of the formula was simple, though:

disallow the /seed command to non-op players

2

Share this post


Link to post

Yes, the superseed will be in the NBT data for worldinfo.

 

And no that is not a valid method of "allowing servers to stop players from using it" because all it takes is for one player to use /seed before they switch it to op-only, or for an op to use /seed and share it with other players for other reasons.

0

Share this post


Link to post

Yes, the superseed will be in the NBT data for worldinfo.

 

And no that is not a valid method of "allowing servers to stop players from using it" because all it takes is for one player to use /seed before they switch it to op-only, or for an op to use /seed and share it with other players for other reasons.

 

 

This update doesn't break my application at all then, it just makes the 'seed' option a little confusing (they would need to type in superseed instead of the seed)

2

Share this post


Link to post

You are only partially correct. For singleplayer, no it does not break your app. Of course you have to get the superseed out of the game in the first place somehow, which will require a mod or nbt sniffing in a dat file. For SMP, your client never has the superseed sent to them. So unless a server admin retrieves the superseed for you, your app will no longer function. And if I'm wrong, i'll go back and rework it until I am correct. There are of course other ways for you to build your app and we'll never be able to stop certain incarnations, but I don't plan to make it easy for you to adversely affect the experience of others for your own satisfaction.

 

I do not care that this app exists for the purpose of singleplayer. However if a person creates an app or mod which has the effect of altering gameplay for players on a server without the consent of the server owner, it will not be accepted here.

1

Share this post


Link to post

Is anyone else working on this? Or can share a link to one that works?

0

Share this post


Link to post

I doubt anyone is working on this, It's a few years old. With a list of how much each action moves the arrow and the last required hits though you could easily just find a sequence that starts a the arrow and ends at the arrow. This project now really just stands as a testament to the hissy fits thrown by the devs of this mod, though. Anyone know where the anvil numbers and food numbers might be online though?

0

Share this post


Link to post

iirc, development has been finished for TFC 1, and TFC2 is paused for the staggering changes 1.13 will bring to the code.

 

 

 

Edited by Mathias Ademar
punctuation missing. punctuation is very important. :p
0

Share this post


Link to post