The Meaning of Life, the Universe, and Everything.
Join Date:
2/12/2012
Posts:
55
Member Details
Hi, fairly new to the Minecraft Forum, but I hear it's regularly viewed by the Mojang staff. Currently the modding system supports Java, and in my opinion Java is limited, closed. It's hard to write, hard to edit, etc, however Lua is an open, scripting language where anyone can make anything, update mods to the latest version, etc. It's very easy to learn and to write, and with a little bit of know-how you can do much more than you can do with Java.
TL:DR, Java is limited, and in my opinion, lua is better.
This would require Minecraft to be rewritten, and is a horrible idea.
This. You DO know how long it would take to rewrite Minecraft in Lua, IF AT ALL. And it would give modders a fun time rewriting mods into Lua, IF AT ALL.
I'm not gonna say no support, but this is just some food for thought.
The Meaning of Life, the Universe, and Everything.
Join Date:
2/12/2012
Posts:
55
Member Details
Do you know what an API is? It's something that allows support for something else, IE java to be able to talk to Lua. You could keep Java mods aswell as Lua mods. It wouldn't need minecraft to be rewritten, just a few .class files to be written to allow compatibility with Lua.
Java is hard to code in? *Looks at all of the mods for Minecraft*
Also, Lua is terrible in terms of performance, just see the results here - up to 31 times slower than Java and only slightly better in some cases, which is just bad at memory management (do you have to allocate RAM to your non-Java word processor? No?); people who say that Java is terrible in terms of speed probably last coded in it in like 1999, when it did deserve a bad reputation for being slow.
Definitely not something you'd want to use in Minecraft, even as an API interface, especially for mods that require good performance, such as ones that alter world generation or rendering.
The Meaning of Life, the Universe, and Everything.
Join Date:
2/12/2012
Posts:
55
Member Details
Java needs to be compiled whereas Lua simply gets saved and then ran. It is much easier to write and to learn than Java. For example, in lua, to write a script to print something, you simply type 'print ("Something")' where as in Java you need to write
Java needs to be compiled whereas Lua simply gets saved and then ran. It is much easier to write and to learn than Java. For example, in lua, to write a script to print something, you simply type 'print ("Something")' where as in Java you need to write
public class Something {
public static void main(String [] args){
System.out.println("Something");
}
}
Sorry, performance is still much more important, and if 8 year olds can make mods like this anybody can learn how to make mods (of course, they probably used MCreator or something but you can still see how the code is written; don't really know their age either unless the second comment is correct but this is something somebody that age might make).
In any case, most of the complexity is not in the language itself but in the program; try writing a program that generates caves like in Minecraft in Lua and tell me if it is any less complex (take a look in MapGenCaves and see that it is mostly mathematical operations, certainly not going to be simpler in Lua, and telling me than a basic "Hello World" program is simpler doesn't cut it; show me a complex game like Minecraft).
No, I don't want to have to buy a $10,000 computer just to run Minecraft even if it is a bit easier to code in, and when modding in MCP it only takes a few seconds to recompile.
Java needs to be compiled whereas Lua simply gets saved and then ran. It is much easier to write and to learn than Java. For example, in lua, to write a script to print something, you simply type 'print ("Something")' where as in Java you need to write
public class Something {
public static void main(String [] args){
System.out.println("Something");
}
}
Sorry, performance is still much more important, and if 8 year olds can make mods like this anybody can learn how to make mods (of course, they probably used MCreator or something but you can still see how the code is written; don't really know their age either unless the second comment is correct but this is something somebody that age might make).
In any case, most of the complexity is not in the language itself but in the program; try writing a program that generates caves like in Minecraft in Lua and tell me if it is any less complex (take a look in MapGenCaves and see that it is mostly mathematical operations, certainly not going to be simpler in Lua, and telling me than a basic "Hello World" program is simpler doesn't cut it; show me a complex game like Minecraft).
No, I don't want to have to buy a $10,000 computer just to run Minecraft even if it is a bit easier to code in, and when modding in MCP it only takes a few seconds to recompile.
The Meaning of Life, the Universe, and Everything.
Join Date:
2/12/2012
Posts:
55
Member Details
You don't need a $10,000 computer to run Lua scripts, look at Garry's Mod, which is on the source engine, and has a Lua API. I can use my ~$200 computer and get around 60-100 frames per second, on any gamemode. around the same I get on tekkit. Performance isn't much of an issue, maybe with several hundred mods, all doing lots of things all at once, but that comes in any language.
Sorry, performance is still much more important, and if 8 year olds can make mods like this anybody can learn how to make mods (of course, they probably used MCreator or something but you can still see how the code is written; don't really know their age either unless the second comment is correct but this is something somebody that age might make).
In any case, most of the complexity is not in the language itself but in the program; try writing a program that generates caves like in Minecraft in Lua and tell me if it is any less complex (take a look in MapGenCaves and see that it is mostly mathematical operations, certainly not going to be simpler in Lua, and telling me than a basic "Hello World" program is simpler doesn't cut it; show me a complex game like Minecraft).
No, I don't want to have to buy a $10,000 computer just to run Minecraft even if it is a bit easier to code in, and when modding in MCP it only takes a few seconds to recompile.
Sorry, performance is still much more important, and if 8 year olds can make mods like this anybody can learn how to make mods (of course, they probably used MCreator or something but you can still see how the code is written; don't really know their age either unless the second comment is correct but this is something somebody that age might make).
In any case, most of the complexity is not in the language itself but in the program; try writing a program that generates caves like in Minecraft in Lua and tell me if it is any less complex (take a look in MapGenCaves and see that it is mostly mathematical operations, certainly not going to be simpler in Lua, and telling me than a basic "Hello World" program is simpler doesn't cut it; show me a complex game like Minecraft).
No, I don't want to have to buy a $10,000 computer just to run Minecraft even if it is a bit easier to code in, and when modding in MCP it only takes a few seconds to recompile.
It all depends on the type of plugin you're creating a world generation plugin probably would want to be written in java or another compiled language, but a plugin that adds a item with a special ability when right clicked could be written in a scripting language.
I do support the suggestion that the API should support multiple languages. The thing is Mojang themselves don't really need to do anything as most jvm languages have support for accessing java API'S. I know there is java implementation of lua, LuaJ. So to support lua someone just needs to write code to load the lua files and call the LuaJ API and that just it, I know integration of other languages like Scala,Ruby(JRuby) and javascript would be very similar as well.
TL:DR, Java is limited, and in my opinion, lua is better.
Thanks for reading my suggestion, thanks.
This would require Minecraft to be rewritten, and is a horrible idea.
This. You DO know how long it would take to rewrite Minecraft in Lua, IF AT ALL. And it would give modders a fun time rewriting mods into Lua, IF AT ALL.
I'm not gonna say no support, but this is just some food for thought.
Also, Lua is terrible in terms of performance, just see the results here - up to 31 times slower than Java and only slightly better in some cases, which is just bad at memory management (do you have to allocate RAM to your non-Java word processor? No?); people who say that Java is terrible in terms of speed probably last coded in it in like 1999, when it did deserve a bad reputation for being slow.
Definitely not something you'd want to use in Minecraft, even as an API interface, especially for mods that require good performance, such as ones that alter world generation or rendering.
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
public class Something {
public static void main(String [] args){
System.out.println("Something");
}
}
Sorry, performance is still much more important, and if 8 year olds can make mods like this anybody can learn how to make mods (of course, they probably used MCreator or something but you can still see how the code is written; don't really know their age either unless the second comment is correct but this is something somebody that age might make).
In any case, most of the complexity is not in the language itself but in the program; try writing a program that generates caves like in Minecraft in Lua and tell me if it is any less complex (take a look in MapGenCaves and see that it is mostly mathematical operations, certainly not going to be simpler in Lua, and telling me than a basic "Hello World" program is simpler doesn't cut it; show me a complex game like Minecraft).
No, I don't want to have to buy a $10,000 computer just to run Minecraft even if it is a bit easier to code in, and when modding in MCP it only takes a few seconds to recompile.
Sorry, performance is still much more important, and if 8 year olds can make mods like this anybody can learn how to make mods (of course, they probably used MCreator or something but you can still see how the code is written; don't really know their age either unless the second comment is correct but this is something somebody that age might make).
In any case, most of the complexity is not in the language itself but in the program; try writing a program that generates caves like in Minecraft in Lua and tell me if it is any less complex (take a look in MapGenCaves and see that it is mostly mathematical operations, certainly not going to be simpler in Lua, and telling me than a basic "Hello World" program is simpler doesn't cut it; show me a complex game like Minecraft).
No, I don't want to have to buy a $10,000 computer just to run Minecraft even if it is a bit easier to code in, and when modding in MCP it only takes a few seconds to recompile.
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
It all depends on the type of plugin you're creating a world generation plugin probably would want to be written in java or another compiled language, but a plugin that adds a item with a special ability when right clicked could be written in a scripting language.
I do support the suggestion that the API should support multiple languages. The thing is Mojang themselves don't really need to do anything as most jvm languages have support for accessing java API'S. I know there is java implementation of lua, LuaJ. So to support lua someone just needs to write code to load the lua files and call the LuaJ API and that just it, I know integration of other languages like Scala,Ruby(JRuby) and javascript would be very similar as well.