-
Notifications
You must be signed in to change notification settings - Fork 215
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add an "Incompatibilities between versions" page
This is largely based on our existing wiki page. I've pruned out a couple of entries which I think are largely irrelevant (config file splitting, Java API changes). 10/10 job by me of changing nothing since 1.13. Shame to break that streak really.
- Loading branch information
Showing
1 changed file
with
67 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
--- | ||
module: [kind=reference] breaking_changes | ||
--- | ||
|
||
<!-- | ||
SPDX-FileCopyrightText: 2019 The CC: Tweaked Developers | ||
SPDX-License-Identifier: MPL-2.0 | ||
--> | ||
|
||
# Incompatibilities between versions | ||
|
||
CC: Tweaked tries to remain as compatible between versions as possible, meaning most programs written for older version | ||
of the mod should run fine on later versions. | ||
|
||
> [External peripherals][!WARNING] | ||
> | ||
> While CC: Tweaked is relatively stable across versions, this may not be true for other mods which add their own | ||
> peripherals. Older programs which interact with external blocks may not work on newer versions of the game. | ||
However, some changes to the underlying game, or CC: Tweaked's own internals may break some programs. This page serves | ||
as documentation for breaking changes and "gotchas" one should look out for between versions. | ||
|
||
## Minecraft 1.13 {#mc-1.13} | ||
- The "key code" for [`key`] and [`key_up`] events has changed, due to Minecraft updating to LWJGL 3. Make sure you're | ||
using the constants provided by the [`keys`] API, rather than hard-coding numerical values. | ||
|
||
Related to this change, the numpad enter key now has a different key code to the enter key. You may need to adjust | ||
your programs to handle both. (Note, the `keys.numpadEnter` constant was defined in pre-1.13 versions of CC, but the | ||
`keys.enter` constant was queued when the key was pressed) | ||
|
||
- Minecraft 1.13 removed the concept of item damage and block metadata (see ["The Flattening"][flattening]). As a | ||
result `turtle.inspect` no longer provides block metadata, and `turtle.getItemDetail` no longer provides damage. | ||
|
||
- Block states (`turtle.inspect().state`) should provide all the same information as block metadata, but in a much | ||
more understandable format. | ||
|
||
- Item and block names now represent a unique item type. For instance, wool is split into 16 separate items | ||
(`minecraft:white_wool`, etc...) rather than a single `minecraft:wool` with each meta/damage value specifying the | ||
colour. | ||
|
||
- Custom ROMs are now provided using data packs rather than resource packs. This should mostly be a matter of renaming | ||
the "assets" folder to "data", and placing it in "datapacks", but there are a couple of other gotchas to look out | ||
for: | ||
|
||
- Data packs [impose some restrictions on file names][legal_data_pack]. As a result, your programs and directories | ||
must all be lower case. | ||
- Due to how data packs are read by CC: Tweaked, you may need to use the `/reload` command to see changes to your | ||
pack show up on the computer. | ||
|
||
See [the example datapack][datapack-example] for how to get started. | ||
|
||
- Turtles can now be waterlogged and move "through" water sources rather than breaking them. | ||
|
||
## CC: Tweaked 1.88.0 {#cc-1.88} | ||
- Unlabelled computers and turtles now keep their ID when broken, meaning that unlabelled computers/items do not stack. | ||
|
||
## ComputerCraft 1.80pr1 {#cc-1.80} | ||
- Programs run via `shell.run` are now started in their own isolated environment. This means globals set by programs | ||
will not be accessible outside of this program. | ||
|
||
- Programs containing `/` are looked up in the current directory and are no longer looked up on the path. For instance, | ||
you can no longer type `turtle/excavate` to run `/rom/programs/turtle/excavate.lua`. | ||
|
||
[flattening]: https://minecraft.wiki.com/w/Java_Edition_1.13/Flattening | ||
[legal_data_pack]: https://minecraft.gamepedia.com/Tutorials/Creating_a_data_pack#Legal_characters | ||
[datapack-example]: https://github.com/cc-tweaked/datapack-example "An example datapack for CC: Tweaked" |