Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to Minecraft 1.8 and 1.9 #13

Merged
merged 122 commits into from
Mar 24, 2016
Merged

Update to Minecraft 1.8 and 1.9 #13

merged 122 commits into from
Mar 24, 2016

Conversation

Pokechu22
Copy link
Collaborator

Pretty much a complete rework for 1.8 and 1.9.

  • Jawa is now used instead of solum
  • The JSON format is roughly the same, but in many cases textual IDs are used instead of numeric IDs.
  • Biomes are reformatted due to 1.9 adding two types of text IDs for them
  • Packet instructions was completely rewritten. The format is mostly the same, though. There's just different packet names to deal with the different states.
  • Recipes are no longer upside down.
  • Recipe format tweaked
  • Several other JSON layout changes as were necessary

And a few other notes:

  • Objects and entities might not be 100% stable, but they should work
  • Sounds doesn't work in 1.8. I could make it work, but most of the data from 1.9 is more useful.
  • I don't know if I should keep setup.py in it. It looks like it's solum's setup.py, so it might be wrong to keep that there (in fact, I'm not entirely sure why it's there).
  • This doesn't work on all of the 1.9 snapshots (last time I tested it, at least). It might work now or it might not; as necessary I'll try to get them supported.

I've continued with what @deathcap did in #12.

Here's some demos with a tweaked version of vitrine (which I haven't released yet):

Tyler Kennedy and others added 30 commits April 13, 2011 22:01
…ler, added Disassembler. Stubbed out Context.
…pswitch, existing code does not need to be (but should be) changed. Lookupswitch's value has been changed to a tuple.
namedtuple for < 2.6
JarFile no longer has a map() method. Processing will be left up to the
user, if required.
Added .classes(), .all(), .class_list(), .count(), .o
pen_class().
This should suffice for the majority of users, and extende
d functionality can be implemented using the JarFile.zp property.
In 1.9, writing varints and such return the packetbuffer where previously they returned void.  Thus, the existing tests did not find the method, and then the position method was assumed (it's used for packetbuffer methods that don't match anything else, since there is no other good way to identify it).  The fix is to test if a method is obfuscated by the length, thus preventing ambiguity between writeInt and writeVarInt.
Vanilla Minecraft doesn't put any comments in its language files that
I'm aware of, but the language system _does_ ignore lines starting with
'#' so we should too.
This is the first half; the second half will involve sounds.json and subtitles.
This makes things like iterators clearer.
It should now use the correct numbers for its values.
This is incomplete.  However, it should eventually fix the way that
recipes are read, and make the code a bit cleaner (I think).
It can now parse and return everything needed.  I just need to make the
JSON more consistant (items with metadata vs items without).
It's still not perfect, but it's better.
The read material was ignored, so the array index was instead used.
I'm not sure how good of an idea this is, as it's a lot of redundant
data, but it makes vitrine simpler.  I might revert this later.
Rather than just moving everything to the side, generating broken
results.
Heights and color should now work.
This helps deal with Mesa Plateau F M M.  Normal plateau wasn't saved since the last item in the list was no longer saved; thus, it just used the last biome.
This was removed in 1.9, and wasn't used at all in 1.8.  Better to not
track it than to cause issues later on.
1.9 made a significant number of changes to the biome storage, meaning
that a lot of the biome processing code needed to be rewritten.  That's
been done, and biomes work now.

I also had to change the JSON format for iomes, since I needed to store
a list of biome fields.  It now resembles blocks and items more closely.
Previously, in 1.8 biome_fields would store the same data as biomes.
Now, it matches 1.9 in storing only the biome name.
This caused some issues with 1.9, particularly since it didn't read all of the different things that should be identified (the list was too short).
* Update README to reflect current state
* Remove solum stuff from README (we're using jawa now)
* Remove temporary hack from munch.py
* Make website.py load 1.9 rather than 1.8.3

Closes #12 (since this extends upon it)
@rom1504
Copy link

rom1504 commented Mar 24, 2016

nice 👍

@TkTech TkTech merged commit 25c5184 into TkTech:master Mar 24, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants