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 1.12 #316
Update to 1.12 #316
Conversation
Already? You are quick. I think with how long it will likely take for Forge to stablize, it would definitely still be worth getting 1.11 relase out first, and having separate branches for each of these versions is still useful. |
@KnightMiner It isn't a very complex port - there are a couple of mapping and signature changes, and recipes are a little different. I'm sure there will be other changes required as Forge updates and removes old code. I agree that we should get a stable 1.11 version out too (and a 1.9.4/1.10.2 version for that matter). All in all, I'd like to see a separate branch for 1.10.*, 1.11.* and 1.12.* - they are sufficiently similar that it it shouldn't be too hard to juggle all three. |
It does raise a point. Should there be a complicated list of advancements for CC or just unlock it all from one of them and don't bother with it? |
@Wojbie I'd prefer some form of hierarchy - I feel the advancement system should guide the player through the mod. For instance, something like:
You could also have some "actual" advancements - such as one for using the printer, or dying a turtle. I'd like to imagine that this could encourage people to use more of the more than turtles. I'm probably being a little optimistic though :). |
ce6e2f6
to
ec769a7
Compare
Impressive quick update @SquidDev , thank you so much! |
ec769a7
to
af20e89
Compare
About the integration between Minecraft's new Recipe System and Forge, have a look at this @SquidDev https://gist.github.com/LexManos/2a11d4f7aa9d680d861dae4faf9dcfa6 |
c2d841f
to
a20ce91
Compare
So the Forge team are currently rewriting the registry system to be more event oriented. Instead of registering items & blocks in PreInit, they are now done in individual registry events. Furthermore, there will be potential for registry reloading in the future (so only loading certain mods, reloading after config changes, etc...). I feel this is a good time to rewrite the current pocket and turtle upgrade registries to make use of these changes. There are a couple of improvements this offers:
I'd quite like to convert the bundled redstone, media, peripheral and turtle permission provides to use a similar event based system, but I'd be interested in people's opinion on that. I hope this all makes sense (and isn't an absurd idea). I'd really like to hear what other's think (especially @dan200 obviously). Just to provide a code example of how I'm envisioning this working: interface ITurtleUpgrade extends IForgeRegistryEntry<ITurtleUpgrade>
{ /* Same as before minus getUpgradeID() */ }
class TurtleTool implements ITurtleUpgrade extends IForgeRegistryEntry.Impl<ITurtleUpgrade>
{
public TurtleTool( ResourceLocation id, int legacyID, String adjective, Item item )
{
setRegistryName(id);
// Same as before
}
// Same as before minus getUpgradeID()
}
class CCTurtleProxyCommon
{
@SubscribeEvent
public static void registerUpgrades(RegistryEvent.Register<ITurtleUpgrade> event)
{
event.getRegistry().register(new TurtleTool());
}
} |
846edd5
to
c65f2b4
Compare
I've just updated the PR to add support for Forge's new registry system. There are a couple of issues here, so any suggestions are welcome:
|
I've got this error trying to run the latest CC build for 1.12 in https://cc.crzd.me/. I'm using only Forge b2385 and Iron Chests: https://gist.github.com/vpontin/4c188edc4dacfe6684a11de50c8d61e7 |
|
83375fb
to
9762229
Compare
SquidDev, you can check this Travis blog post here: https://blog.travis-ci.com/2013-11-26-test-your-java-libraries-on-java-8/ . Add the jdk into .travis.yml and Java 8 build should work. |
@lutherwenxu: I'm aware that you can change travis's Java version, it's just I'm pretty sure it needs to be changed on the master branch (and so needs to be done by Dan). |
I am +1 on SquidDev's idea for separate branches for 1.10 to 1.12. On advancements: ComputerCraft has always been more of a programming education tool than game playing (hence why the recipes are so cheap), so I don't think requiring advancements to unlock recipes is a good idea. People use OpenComputers if they want a gameplay challenge. |
Advancements are not so much a requirement to unlock recipes, the recipes always work whether they are visible in the book or not. The point is to help discover recipes, so I personally thing they are a great idea. Basically, obtaining redstone would notify the user of computers, crafting that would notify them of pocket and turtles. Crafting it and obtaining gold would notify them of the relevant advanced computers, etc. |
- Convert most recipes to JSON - Add JSON factories for impostor and turtle recipes. - Several mappings changes - Migrate to Forge's new registry system
Default methods, everywhere. Arrow types, switch on strings. Lambdas! Here comes Java 8.
This doesn't provide the ability to unlock the upgrade impostor recipes, but I'm not sure that is currently feasible.
8f513c6
to
263bade
Compare
Hi, I don't know if this is the right place to post this, but I'll do it anyway: multicolor print seems to be broken in the latest build (printing works, but when printing over an existing page in another color, the old text gets wiped.) (I think) it used to be able to print in multiple colors by cycling an already printed page trough the printer again with a different dye. I don't know if this bug is because of the 1.12 port or due to ComputerCraft in general since I only play on 1.12. Thanks a lot! |
The big change this Minecraft update is that the recipe system got a bit of a rewrite. Most of the existing recipe code can be reused, but there are a couple of quirks:
assets/computercraft/recipes
).If people want to have a play, you can download it here.
The build is failing as Minecraft now depends on Java 8 (woot!). The Travis file will need to be changed to include: