Forge and Nova

  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

Apparently I own this thread now...Is NOVA a good thing?


  • Total voters
    80
  • Poll closed .

NJM1564

New Member
Jul 29, 2019
2,348
-1
0
I dunno. Honestly, I think people were just being oversensitive for the sake of being oversensitive. Variety is never a bad thing.

Only one person got upset about the added diversity. Unfortunately that person was and is in a position of far to much power.
All the other comments were responses to that persons statements.
 
  • Like
Reactions: luacs1998

Someone Else 37

Forum Addict
Feb 10, 2013
1,876
1,440
168
Scala is, if memory serves, a Java derivative, hence why its useable for Minecraft modding. Theoretically, you could use most any language, so long as you had something that could compile it into JVM bytecode. If you've got either the tools or the time, you might could write mods in C++, C#, Pascal, Ruvy, Clean, or even Brainfuck, if you just wanted to. Again, just need to compile it into something the JVM can understand.
So Clojure (a LISP-based language that compiles to JVM bytecode) could indeed be mod-friendly without too much hackery. Interesting...
although I probably won't be the one to do it because required Java classes because university, meaning that I'm learning how to code regular Java rather than some fancy functional spinoff...

( ... Or just do like I'd do and release for Windows anyway because the rest don't matter.)
*looks at back of laptop*
*sees Apple logo*
:(

BTW I'm starting to get into Clojures lazy eval to much...
Code:
(ns general-clojure.math)

(defn natural
[]
(iterate inc 1))

(defn of-natural
[func]
(map func (natural)))

(defn multiples
[num]
(of-natural #(* % num)))

(defn divided-by
[num]
(of-natural #(/ % num)))

(defn under
[num]
(of-natural #(/ num %)))

(def negatives (multiples -1))
(def whole (of-natural #(- % 1)))
Anyway I will be posting me learning clojure here
I've never messed with Clojure, but I have dabbled in Scheme some. I should really look into Clojure just so I can understand the code you post here.

Hmm... I'm guessing that the square brackets tell defn the names of the arguments of the function you're defining, and # creates a lambda whose argument is %. If that's the case, then here's a Haskell translation (it works, I tested it), using what I believe are the usual conventions in Haskell:
Code:
natural :: (Num a, Enum a) => [a]
natural = [1..]

ofNatural :: (Num a, Enum a) => (a -> b) -> [b]
ofNatural f = map f natural

multiples :: (Num a, Enum a) => a -> [a]
multiples x = ofNatural (*x)

dividedBy :: (Fractional a, Enum a) => a -> [a]
dividedBy x = ofNatural (/x)

under :: (Fractional a, Enum a) => a -> [a]
under x = ofNatural (x/)

negatives :: (Num a, Enum a) => [a]
negatives = multiples (-1)

whole :: (Num a, Enum a) => [a]
whole = ofNatural (\x -> x-1)
I don't fully understand why I had to specify the Enum typeclass thing on every function... but at least the compiler suggested adding it as a fix, which worked. And by doing so (rather than saying that natural has a type of [Int] and requiring the arguments of all the other functions to be Ints), it allows the natural list to behave as a list of integers when applied to integral functions (like + and *), or a Fractional list when / is mapped over it, or a Floating list when sqrt is mapped over, etc.

Lazy eval is a useful thing. Handy when you're trying to read a really large file (i.e. larger than your computer's available RAM) because it won't actually load a line/block until some other code requests it. And yeah, infinite lists are fun.

Encryption is love <3. From now I'll load all the code in my mods from encrypted text files :p
Auggghhhhhh.....
 

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
So Clojure (a LISP-based language that compiles to JVM bytecode) could indeed be mod-friendly without too much hackery. Interesting...
although I probably won't be the one to do it because required Java classes because university, meaning that I'm learning how to code regular Java rather than some fancy functional spinoff...
Well you can directly look at Java classes and methods through Clojure the syntax for methods/values is (.something Class)
I've never messed with Clojure, but I have dabbled in Scheme some. I should really look into Clojure just so I can understand the code you post here.

Hmm... I'm guessing that the square brackets tell defn the names of the arguments of the function you're defining, and # creates a lambda whose argument is %. If that's the case, then here's a Haskell translation (it works, I tested it), using what I believe are the usual conventions in Haskell:
Code:
natural :: (Num a, Enum a) => [a]
natural = [1..]

ofNatural :: (Num a, Enum a) => (a -> b) -> [b]
ofNatural f = map f natural

multiples :: (Num a, Enum a) => a -> [a]
multiples x = ofNatural (*x)

dividedBy :: (Fractional a, Enum a) => a -> [a]
dividedBy x = ofNatural (/x)

under :: (Fractional a, Enum a) => a -> [a]
under x = ofNatural (x/)

negatives :: (Num a, Enum a) => [a]
negatives = multiples (-1)

whole :: (Num a, Enum a) => [a]
whole = ofNatural (\x -> x-1)
I don't fully understand why I had to specify the Enum typeclass thing on every function... but at least the compiler suggested adding it as a fix, which worked. And by doing so (rather than saying that natural has a type of [Int] and requiring the arguments of all the other functions to be Ints), it allows the natural list to behave as a list of integers when applied to integral functions (like + and *), or a Fractional list when / is mapped over it, or a Floating list when sqrt is mapped over, etc.

Lazy eval is a useful thing. Handy when you're trying to read a really large file (i.e. larger than your computer's available RAM) because it won't actually load a line/block until some other code requests it. And yeah, infinite lists are fun.
If you look at my repo you will see some new things that are pretty cool ;)
 

NJM1564

New Member
Jul 29, 2019
2,348
-1
0
Someone needs to make a language written entirely in ASCII and wingding font.
I know you can't wright in a specific font I will hard code the internet to make it possible.
 
  • Like
Reactions: 1SDAN

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
Someone needs to make a language written entirely in ASCII and wingding font.
I know you can't wright in a specific font I will hard code the internet to make it possible.
Well then...

Anyway, if people want Clojure things
 

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
So Clojure (a LISP-based language that compiles to JVM bytecode) could indeed be mod-friendly without too much hackery. Interesting...
although I probably won't be the one to do it because required Java classes because university, meaning that I'm learning how to code regular Java rather than some fancy functional spinoff...

I don't see why not. You'd need to work out how the syntax and whatnot translates from Java to Clojure. It sounds similar to what you'd have to do if you were to, for example, translate a program you wrote in C# to VB.Net: the imports and whatnot remain almost totally the same, its mostly just translating the code from one language to another.

*looks at back of laptop*
*sees Apple logo*
:(

Honestly, that's just me and only applies to the things I create. Since I mostly work with C# (and thus, .Net), I work exclusively with Windows. Doesn't help that I don't have a computer with an alternative operating system installed and really don't want to be arsed with having to dual-boot simply for development purposes. That said, if my plans take off in any significant way, I wouldn't say no to a dedicated Mac and/or Linux developer or two. Also, the things I make in Qt (which I really need to install on to this desktop, someday) can be targeted to other operating systems...should I release the code. Which I may or may not, I'm honestly kinda adverse to making my stuff open source because I like keeping a tight rein on my projects' development.

(Wait...I already have Qt on here! Yayyyyyyyy! C++ for all!)
 

User95

New Member
Jul 29, 2019
2
0
0
Is NOVA a good thing?
Honestly, I'm not sure about that. It's all sounds great in theory, but all this talk about "supporting all voxel games" sounds alarming.
1) At least two developers "moved on from Minecraft modding".
2) Their site sounds somewhat sceptical about Minecraft, and optimistic about various Minecraft clones.
3) Therefore, this all could be a part of the "Embrace, extend, and extinguish" tactic. They'll "embrace" Minecraft modding with their API and "extend" with cross-version compatibility. They'll wait until at least 85% of modders would use Nova. With yet another Mojang EULA changing, they'll create yet another drama, and use it for shutting down "Minecraft NOVA plugin" and advertising their plugins for "open-source" minecraft clones, essentially "extinguishing" Minecraft modding. Modders will have to either completely rewrite their mods or move (as planned) to voxel clones.
4) What does it means? Most importantly, it means illuminati and Half-Life 3 confirmed.
 

RX14

New Member
Jul 29, 2019
6
0
0
Honestly, I'm not sure about that. It's all sounds great in theory, but all this talk about "supporting all voxel games" sounds alarming.
1) At least two developers "moved on from Minecraft modding".
2) Their site sounds somewhat sceptical about Minecraft, and optimistic about various Minecraft clones.
3) Therefore, this all could be a part of the "Embrace, extend, and extinguish" tactic. They'll "embrace" Minecraft modding with their API and "extend" with cross-version compatibility. They'll wait until at least 85% of modders would use Nova. With yet another Mojang EULA changing, they'll create yet another drama, and use it for shutting down "Minecraft NOVA plugin" and advertising their plugins for "open-source" minecraft clones, essentially "extinguishing" Minecraft modding. Modders will have to either completely rewrite their mods or move (as planned) to voxel clones.
4) What does it means? Most importantly, it means illuminati and Half-Life 3 confirmed.

Wat.

All of the current NOVA dev team love Minecraft and I don't see us dropping minecraft support ever. In another note, how is novaapi.net derogatory towards Minecraft?

Considering the vague username and recent sign-up date, I would say you're trolling.
 

asiekierka

Over-Achiever
Mod Developer
Dec 24, 2013
555
1,086
213
Honestly, I'm not sure about that. It's all sounds great in theory, but all this talk about "supporting all voxel games" sounds alarming.
1) At least two developers "moved on from Minecraft modding".
2) Their site sounds somewhat sceptical about Minecraft, and optimistic about various Minecraft clones.
3) Therefore, this all could be a part of the "Embrace, extend, and extinguish" tactic. They'll "embrace" Minecraft modding with their API and "extend" with cross-version compatibility. They'll wait until at least 85% of modders would use Nova. With yet another Mojang EULA changing, they'll create yet another drama, and use it for shutting down "Minecraft NOVA plugin" and advertising their plugins for "open-source" minecraft clones, essentially "extinguishing" Minecraft modding. Modders will have to either completely rewrite their mods or move (as planned) to voxel clones.
4) What does it means? Most importantly, it means illuminati and Half-Life 3 confirmed.

1) At least two? Like who? I'm still here, Calclavia has had to move on due to job issues but is still technically working with a Minecraft-centric company, Kubuxu has not been a big modder at all, and StanHebben is still here MineTweaking day by day. And those are the only members of the core team I'm aware of.
2) Yes, because Minecraft has historically been a very unstable scene: remember the 1.8 Forge drama? Remember Bukkit? The Microsoft buyout? Eloraam? FlowerChild? Exploding bees? Greg? mDiyo? Player v. SimplyJetpacks? Immibis's Blutricity power conversion addon? 1.6 MJ changes? IC2 Experimental?
3) I love how you abuse quotation marks everywhere. First of all, due to the unavoidable performance penalty and rewrite necessity, I don't expect more than 25% of the current modders to use NOVA; rather, I expect people who could not mod for Forge due to a lack of documentation or moral issues with supporting a closed-source project to mod for NOVA instead, giving us more mods total. In addition, the NOVA Minecraft Plugin is free software and if the official maintainers shut it down you can always fork it. If nobody does, well, that means nobody cared to begin with. On top of that, keep in mind NOVA was created in wake of the 1.8 Forge controversies and that EULAs cannot ban specific mods without a lot of public backlash.
4) And then you end this with a trollish sentence. How immature. If you're going for the "fake conspiracy theorist" vibe, then keep in mind Poe's Law - I forgot about it fairly recently.
 

sgbros1

New Member
Jul 29, 2019
952
-6
0
Honestly, I'm not sure about that. It's all sounds great in theory, but all this talk about "supporting all voxel games" sounds alarming.
1) At least two developers "moved on from Minecraft modding".
2) Their site sounds somewhat sceptical about Minecraft, and optimistic about various Minecraft clones.
3) Therefore, this all could be a part of the "Embrace, extend, and extinguish" tactic. They'll "embrace" Minecraft modding with their API and "extend" with cross-version compatibility. They'll wait until at least 85% of modders would use Nova. With yet another Mojang EULA changing, they'll create yet another drama, and use it for shutting down "Minecraft NOVA plugin" and advertising their plugins for "open-source" minecraft clones, essentially "extinguishing" Minecraft modding. Modders will have to either completely rewrite their mods or move (as planned) to voxel clones.
4) What does it means? Most importantly, it means illuminati and Half-Life 3 confirmed.
What a nice necro you got there.
 

trajing

New Member
Jul 29, 2019
3,091
-14
1
I don't see why not. You'd need to work out how the syntax and whatnot translates from Java to Clojure. It sounds similar to what you'd have to do if you were to, for example, translate a program you wrote in C# to VB.Net: the imports and whatnot remain almost totally the same, its mostly just translating the code from one language to another.
Weeeell, yes and no. It is, in theory, possible to get a language with different paradigms from Java running on the JVM (say, for example, compiling Rust to JVM bytecode). However, you can still translate it so long as both languages are turing-complete and the non-Java language has support for, say, annotations (if, like Forge, Nova requires annotations for mods). It'd basically be about as much of a pain as it would be to translate it to any other sort of a language, except that the JVM is still a requirement and so long as your language of choice has Java interop, you can write parts in Java so you don't have to translate that part.

Honestly, that's just me and only applies to the things I create. Since I mostly work with C# (and thus, .Net), I work exclusively with Windows. Doesn't help that I don't have a computer with an alternative operating system installed and really don't want to be arsed with having to dual-boot simply for development purposes. That said, if my plans take off in any significant way, I wouldn't say no to a dedicated Mac and/or Linux developer or two. Also, the things I make in Qt (which I really need to install on to this desktop, someday) can be targeted to other operating systems...should I release the code. Which I may or may not, I'm honestly kinda adverse to making my stuff open source because I like keeping a tight rein on my projects' development.

(Wait...I already have Qt on here! Yayyyyyyyy! C++ for all!)
Three things: Isn't the .NET CLR going cross platform; you can go for visible source rather than open source; and in open-source you still retain rights over what's included in your project (there isn't some sort of obligation to include every pull request unless I missed something), but people could make a fork of it and include the feature in their edition so long as they say you originally made it.

EDIT: Oh, and obligatory sorry if I sound like I'm hostile, I'm just trying to respond to the points you brought up :p
 

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
Wow. Erm...thread necromancy at its finest, neh? Also, aye, the CLR has been going cross-platform thru Mono for some time. I also have issues with most modern (read: post-SVN) repository mechanisms since their interface software is usually arcane to the point of uselessness. Dunno if SourceForge still uses SVN, or at least has an option for it, but that would at least be a possibility for mods. My own software, though? Gonna have to pass on visible source, too. Just not my thing.
 

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
Wow. Erm...thread necromancy at its finest, neh? Also, aye, the CLR has been going cross-platform thru Mono for some time. I also have issues with most modern (read: post-SVN) repository mechanisms since their interface software is usually arcane to the point of uselessness. Dunno if SourceForge still uses SVN, or at least has an option for it, but that would at least be a possibility for mods. My own software, though? Gonna have to pass on visible source, too. Just not my thing.
Gits interface software isn't arcane (read there is Tower, github desktop, CLI, SourceTree, etc.). On top of that, what's wrong with visible source? There is almost no reason not to use it.
 

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
If I ever intend to sell the software, visible source could impede my ability to sell said software. That, and it requires maintaining a repository, updating two places whenever I make appreciable changes (my HDD and the repo) and just means more work. Now, if I were working with someone other than myself, which just doesn't happen, then I'd gladly use a repo. I could, personally, never get my head around Github's software. By comparison, TortoiseSVN is extremely simple. Two clicks with it, and I can make a commit or update my local copy, do trunk merges, view repositories, anything I could need.

In the end, its a personal preference. I just don't like having my source visible.
 
  • Like
Reactions: Padfoote

trajing

New Member
Jul 29, 2019
3,091
-14
1
I meant officially cross-platform - Mono is nice, but it isn't official, which could be a bad thing depending on your point of view.
Also, my workflow in git is pretty much write code -> refresh git gui -> commit changes -> push to remote repo.
As for selling software - well, obviously having open or visible source code would impede that, there isn't much that can be done with that.
 

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
If I ever intend to sell the software, visible source could impede my ability to sell said software.
There are plenty of businesses selling software that's visible source.
That, and it requires maintaining a repository, updating two places whenever I make appreciable changes (my HDD and the repo) and just means more work.
A small message of changes and one click isn't really more work IMO
I could, personally, never get my head around Github's software. By comparison, TortoiseSVN is extremely simple. Two clicks with it, and I can make a commit or update my local copy, do trunk merges, view repositories, anything I could need.
Github's software isn't all that's out there either way, but GH's software is fairly simple. One click to update local copy, one click to sync with the copy on their servers
In the end, its a personal preference. I just don't like having my source visible.
I just don't get the preference *shrug*, just doesn't make sense to me
 

RavynousHunter

New Member
Jul 29, 2019
2,784
-3
1
Why? The question becomes, ultimately: what do I get out of visible source when I'm developing alone? What advantage do I receive? Keep in mind, I give absolutely zero shits about the community. If I want to teach how to code, I'd do it in dedicated articles and detailed snippets. Visible source means that I'd have to sync my code for little to no actual gain. In the end, I see no point. For me, it'd serve no purpose, so I don't do it.
 

Strikingwolf

New Member
Jul 29, 2019
3,709
-26
1
There are many advantages:
  • Easy way to see/organize Project growth and changes in code (you could keep a vcs just running without pushing to an external server for this though)
  • People may look at your code and try to help you improve it
  • Easy and specific (i.e. link to specific code points) issue tracking
  • Easy to ask people for help (link to codepoints, allowing them to see all the different interacting sections of code)
Another thing that you apparently don't care about is the community's ability to view your code and learn about it. Many many people don't want to ask someone for help explicitly for whatever reason so they use visible/open source projects to learn. As far as syncing your code being a hassle or something I don't really get. It becomes ingrained in your workflow extremely quickly and is a negligible difference compared to actually writing the code.

I just don't get the problems with it