Radvylf / minecraft-lists

Lists of items, blocks, and more. Updated for each version.
MIT License
15 stars 5 forks source link

Burger? #7

Open u9g opened 3 years ago

u9g commented 3 years ago

Have you taken a look at burger? they basically do what you did but automatically

Radvylf commented 3 years ago

I haven't! I'll continue to keep this updated (unfortunately I can't update to 1.17 for the next month or so due to a drive crash), since it's a nice simple reference for people who just want a list of blocks or items.

TheAlgorithm476 commented 3 years ago

@u9g Can it be used to extract other stuff from it as well? That being:

Radvylf commented 3 years ago

For crafting recipes, you should be able to use the vanilla datapack. Starting with 1.17 I think I'll include more lists here, like some of the ones you suggested.

TheAlgorithm476 commented 3 years ago

I'm considering writing a Java program to fetch all entries from the JAR (As Java is more robust than JavaScript, and doesn't require that much manual checking). So expect more block and item lists soon, for more versions

EDIT: Planning on going back as far as beta

Radvylf commented 3 years ago

That'd be pretty cool, for the original list I did some of it by hand and used some automated stuff for the rest, but fully automating the process could be super helpful. It could also probably be eventually ported to include stuff like entities, potions, enchantments, recipes, achievements/advancements, and the like.

TheAlgorithm476 commented 3 years ago

Exactly, it's just a matter of finding the class(es) where those lists are stored, and fetching them. Deobfuscation could be possible using Enigma, and decompilation with FernFlower, which are both open-source, with a very permissible license. I think it'll be just a matter of finding out where everything's stored in what classes.

P.S. my exams finished yesterday, so chances are I will see what's possible within the next couple of days/weeks

u9g commented 3 years ago

I'm considering writing a Java program to fetch all entries from the JAR (As Java is more robust than JavaScript, and doesn't require that much manual checking). So expect more block and item lists soon, for more versions

EDIT: Planning on going back as far as beta

I don't understand how Java is more robust than js, so it would require less checking?

u9g commented 3 years ago

Also, going back past the flattening will yield interesting results because the item name system completely changed then

u9g commented 3 years ago

That'd be pretty cool, for the original list I did some of it by hand and used some automated stuff for the rest, but fully automating the process could be super helpful. It could also probably be eventually ported to include stuff like entities, potions, enchantments, recipes, achievements/advancements, and the like.

some of those aren't as clear in the code as achievements

TheAlgorithm476 commented 3 years ago

I'm considering writing a Java program to fetch all entries from the JAR (As Java is more robust than JavaScript, and doesn't require that much manual checking). So expect more block and item lists soon, for more versions

EDIT: Planning on going back as far as beta

I don't understand how Java is more robust than js, so it would require less checking?

Java is more robust than JavaScript, because Java is a compiled language, rather than an interpreted, like JavaScript. This automatically makes it more powerful and performant, because nothing has to be compiled on runtime. It would require less checking because you could easily write your code in such a way that it only pulls something, and just that. No further processing required.

u9g commented 3 years ago

I'm considering writing a Java program to fetch all entries from the JAR (As Java is more robust than JavaScript, and doesn't require that much manual checking). So expect more block and item lists soon, for more versions

EDIT: Planning on going back as far as beta

I don't understand how Java is more robust than js, so it would require less checking?

Java is more robust than JavaScript, because Java is a compiled language, rather than an interpreted, like JavaScript. This automatically makes it more powerful and performant, because nothing has to be compiled on runtime. It would require less checking because you could easily write your code in such a way that it only pulls something, and just that. No further processing required.

I disagree, I think nodejs is just as robust as Java and I don't understand what you mean by only pulls something and and just that

TheAlgorithm476 commented 3 years ago

I'm considering writing a Java program to fetch all entries from the JAR (As Java is more robust than JavaScript, and doesn't require that much manual checking). So expect more block and item lists soon, for more versions EDIT: Planning on going back as far as beta

I don't understand how Java is more robust than js, so it would require less checking?

Java is more robust than JavaScript, because Java is a compiled language, rather than an interpreted, like JavaScript. This automatically makes it more powerful and performant, because nothing has to be compiled on runtime. It would require less checking because you could easily write your code in such a way that it only pulls something, and just that. No further processing required.

I disagree, I think nodejs is just as robust as Java and I don't understand what you mean by only pulls something and and just that

Well that's your opinion, It just has been shown multiple times before that compiled languages are more performant than interpreted ones. Java has the power to do way more than your JavaScript or Node.JS will ever allow you to achieve. I'm going to give an example. Minecraft is written in Java. Good luck writing it in JavaScript.

u9g commented 3 years ago

I'm considering writing a Java program to fetch all entries from the JAR (As Java is more robust than JavaScript, and doesn't require that much manual checking). So expect more block and item lists soon, for more versions EDIT: Planning on going back as far as beta

I don't understand how Java is more robust than js, so it would require less checking?

Java is more robust than JavaScript, because Java is a compiled language, rather than an interpreted, like JavaScript. This automatically makes it more powerful and performant, because nothing has to be compiled on runtime. It would require less checking because you could easily write your code in such a way that it only pulls something, and just that. No further processing required.

I disagree, I think nodejs is just as robust as Java and I don't understand what you mean by only pulls something and and just that

Well that's your opinion, It just has been shown multiple times before that compiled languages are more performant than interpreted ones. Java has the power to do way more than your JavaScript or Node.JS will ever allow you to achieve. I'm going to give an example. Minecraft is written in Java. Good luck writing it in JavaScript.

But you aren’t writing a game engine, you are writing a parser of text files. I won’t stop you, just telling you it will add complexity and raise the contribution requirement.

TheAlgorithm476 commented 3 years ago

I'm considering writing a Java program to fetch all entries from the JAR (As Java is more robust than JavaScript, and doesn't require that much manual checking). So expect more block and item lists soon, for more versions EDIT: Planning on going back as far as beta

I don't understand how Java is more robust than js, so it would require less checking?

Java is more robust than JavaScript, because Java is a compiled language, rather than an interpreted, like JavaScript. This automatically makes it more powerful and performant, because nothing has to be compiled on runtime. It would require less checking because you could easily write your code in such a way that it only pulls something, and just that. No further processing required.

I disagree, I think nodejs is just as robust as Java and I don't understand what you mean by only pulls something and and just that

Well that's your opinion, It just has been shown multiple times before that compiled languages are more performant than interpreted ones. Java has the power to do way more than your JavaScript or Node.JS will ever allow you to achieve. I'm going to give an example. Minecraft is written in Java. Good luck writing it in JavaScript.

But you aren’t writing a game engine, you are writing a parser of text files. I won’t stop you, just telling you it will add complexity and raise the contribution requirement.

It won't raise the contribution requirements, as I already have a text parser lying around from another project. I have APIs lying around that can do a lot of things with text files. No need to worry about that. And in case you wonder, I'm planning on making it open-source, don't worry.

finndo77 commented 2 years ago

just poking my head in, I'm maintaining a repo of an item list for Minecraft economy servers, that sets default buy/sell values for MC items, and this repo is a miracle considering how many items were added in 1.17, although I have to strip out the creative mode items (or set to value=0, which I think I am going to do moving forwards). Really appreciate this, if you want to see the list I have you can pop over here: mc-worth just note I have yet to add the 1.17 items. I will be referencing this repo in the read me when I add the 1.17 items from here. thanks again! I'll keep checking in.