I'm trying to get a mod project started. I think it has the possibility of being very popular. It would add in-game web browsers and media players. These would not only be fun decorations(computers, TV's and movie screens) for the game but they could also be very useful in multiplayer. The access to web content in Minecraft would open up new possibilities for in-game stores and displaying information for things like leaderboards.
The way I propose to do this is by creating a mod that integrates Coherent UI into Minecraft.
[embed=425,349]
[/embed]
I have been in touch with Coherent Labs. They said this project is possible and they have a Java Wrapper written that they will give to me.
Quote from Coherent Labs R&D Director Nick:
In general, all you need is sufficient access to the graphics pipeline so you can write data that comes from Coherent UI into the game's surfaces. Client input is very easy, too - we have APIs for mouse/keyboard events so you just convert your input events into Coherent UI input events and everything is taken care of.
I'm not experienced with the Minecraft API (or Minecraft modding at all, for that matter), but from what I gather the mods should be written in Java. We don't have an official port for that platform, so you'll need to take our C++ library and create a Java wrapper. We do have some basic experiments for such wrapper that can render a page and take input (which might be enough for an in-game browser/media player) that we can provide to save you some hours of coding.
So, basically that's it - you need a Java wrapper for our C++ library and access to the graphics pipeline so you can write texture data.
I have been working on recruiting a more advanced Java programmer than myself to take over this project. I have had some success and talked to some nice people but haven't set up anything firm yet. I need to learn more about what is involved in making this mod. Could someone smart please look into this and tell me what you think? Can this be a Forge compatible mod? How difficult is this going to be?