Apparently there is a brand new Web Standard now for making Browsers able to request Dark Mode Versions of Websites.
And since it is new, its not publicly supported by the Browsers yet in most cases.
But latest Firefox can already handle it with some about:config changes:
ui.systemUsesDarkTheme = 1 (may require you to actually make a new integer field)
browser.in-content.dark-mode = true
privacy.resistFingerprinting = false (Unsure if it’s a Firefox Bug or a Feature, but resisting Fingerprinting causes Dark Mode to fail, since requesting Dark Mode does help Sites with Fingerprinting)
While we are at it, here is some good security Advice for Browsers. ;)
As some of you might know, I am planning on making my own Blocky Game after I’m done with GregTech-6, starting 2020.
This Page is dedicated to the Ideas I have for this Game. ^^
Though I would also recommend the Tag Gameplans on the Forums where I talk about stuff in a different kind of Detail. ;)
It will be Open Source and Free for everyone. I am not gonna sell it in some Stores.
If you want to support the Game or its Modders, then Donations are going to be the only way to go. No Ads, Link Services or other Bullshit.
The first thing I will work on, while it may sound un-exciting is a proper Launcher with Mod Loading and everything, before I even start doing anything related to the Game.
It should work on all the common operating Systems. Though my personal Dev Kit would be ran on a Kubuntu driven Computer.
The Engine would be either Amethyst, Godot-3 or Terasology, not sure which of them is gonna be used. Unless I decide to make my own Engine with some help. For sure gonna use an ECS System.
Probably I will do the Game in Rust, which is pretty much the most efficient Programming Language I know. In this case the plans would be to use Amethyst as Game Engine.
In case I somehow still decide to use Java/Kotlin, it is going to be developed in OpenJDK to ensure maximum Java compatibility.
Programs written in OpenJDK always work in Oracle Java, but Oracle Java Programs don’t always work for OpenJDK.
Also if I did it in Oracle Java, then I would have to fear shameless cashgrabs from Oracle. 5000$ per Computer per Dev License is for sure not something I would ever wanna pay, and neither would Modders wanna pay that either.
Note that I will only do OS Compat for Windows, Linux and maybe BSD if it is simple enough to do.
Apple Software will not be supported, due to the various ways Apple is hostile to its Users and Developers. In this worst case you have install Windows 10 on your Mac. Or Linux if Apple even allows you to do that, because nowadays they only allow Windows 10 as a secondary OS.
The whole thing should easily run on low spec Computers.
No Graphics Card needed if the Integrated one is somewhat okayish.
The Processor should be like 1GHz, preferrably Dualcore at least.
1GB of RAM should be enough for Singleplayer/Clientside, Servers/LAN might need more depending on how far spread the Players are.
I really want the whole thing to be efficient, when ran on Servers or on low Settings.
Maybe it is even going to be possible to make it utilise the Processing Power of a Workstation with 64 Cores, especially for Servers.
If I have to decide to either give up the RAM requirement or the CPU requirement, I will definitely go for dropping the RAM one and making that 2GB or whatever is needed, but I hope I don’t have to.
Here is a List of Hardware that I use myself for testing:
zotac ZBOX CI327 nano plus (Kubuntu + Win 10, though the next Windows Update will corrupt that Win 10 install due to lack of required Storage Space, thanks Microsoft for fucking up so much, that you dont even check how much Drive Space is needed before updating!)
GPD WIN 2 (Kubuntu)
ASUS R513CL (Kubuntu + Win 8)
ThinkPad T61 (Kubuntu)
I will go buy a Raspberry Pi later too, just to have a more diverse Testing Suite. Though the latest one right now (Summer 2019) has a borked USB C Port, so I will wait for it to be fixed.
Unlike other Games, I will have one centralised Website for Forums, Chat, Bugtracking, Support, Mods, Wikis, Server Lists, Git Repositories for Mods and similar Stuff. You wont need to register multiple Accounts just to report a frikkin Bug or request Support.
I want everything to be First-Party in regards of Website, it should not be necessary to require use of any other Services to do anything (not even a cdn!). And everything should be well interlinked and connected on the Site, so you can easily go to the Wiki or Support Page of a Mod by clicking an Icon next to its name or similar.
A GitHub alike Page (selfhosted Gitea) will be something that exists, though it definitely wont be the primary thing to go to when reporting anything (though you easily can, ofcourse, I don’t care where the Reports are as long as I get them).
Mods will also be hosted on the Site (including their Code), and Modders will receive their own Subforums, should their Mods be large enough to justify having more than just a single Thread, or if they have multiple Mods.
Within said Subforums the Modders will get Moderator Power, so they can Manage their Area mostly like they want (or appoint others as Moderators there too), as long as they behave somewhat nicely.
And I will make sure that at least some Standards are kept over there, so that people can actually navigate those Areas easily.
Modders (or basically anyone who wants to, just like a normal Wiki) can also put their own Wiki Stuff on the central Site for documenting Features of their Mods. I do not want third party Bullshit to happen like Twitch, Curse or FTB.
Though I will very much prefer ingame Documentation with Item Descriptions and everything.
Overall the Game will be going from "Stone Age" (or whatever else you are selecting as "Starting Age") to "Intergalactic Space Age" (or whatever else you determine to be the Tech Limit, "Age of Empires" or "Rise of Nations" Style).
The Complexity and Difficulty can be adjusted separately from each other, from Stupid Easy all the way over to Realistic Hard. Some people like Stupid Hard, others Realistic Easy, so the options for that will exist.
There is plenty of repetitive Tasks in the Game, but I dont want the Player to do all of those, that’s why there is gonna be NPCs doing some types of work for you.
Tickrate is something that will be less unified than in other Games. Things can have a slow and a fast tick rate depending on what they do. It will not be uncommon for things to have a Tickrate of 1 Tick per Second or even 1 Tick per Minute, or even just a specific delay Tick that only happens after some Block updated.
Speed of the Day passing will likely be 5 mins of Dawn, 10 mins of Day, 5 mins of Dusk and 10 mins of Night by default (might scale depending on how far north/south you are), ofcourse configurable, but I will add a simple Setting that takes the Computer Clock, so you could use Real Life Day Cycles if you wanted to (For Servers for example).
At least the first Type of World Generator I do, will be an Island in the Ocean Generator, which generates a large Archipelago (tons of Islands). Reason being that certain Worldgen Features like Rivers can be done easier if the Surface of the whole Island Generates at once.
The Planet wont be a Sphere, Tetrahedron, Cube, Isocahedron, Dodecahedron nor Flat. I will give it a much more unlikely and convenient yet still realistic Shape for Map Generation, but I will let that be a surprise for now.
As for Sun and Moon, the Moon will have the same general Shape as the Planet (because eventually you might be able to get there), while the Sun, well, either I will put some random Sun with random Color there or lock it to some other unusual, yet still is realistic Shape.
Blocks will be (0.25m)³ so most Detail will fit into the normal Grid and doesn’t need special adjustments like Microblocks (but Microblocks will probably still exist eventually).
There will be Megablocks and "Undiscovered" Blocks too in order to save on performance close to the ground, so that a 16x16x16 of Rock wont be processed as 4096 separate Blocks during Collision or Render checks.
I’m not sure if I am gonna use 16³ sized Chunks or 32³ sized Chunks, but I am leaning towards 32³, if my own Tests dont say that is less performant (I once asked a StarMade Dev why they used 32³ over 16³ and they said its because performance and intense testing).
Flying Machines, Boats, Cars and Stuff similar to how Spaceships in StarMade, Empyrion, Space Engineers or the Archimedes Ships Minecraft Mod work are planned too.
Another thing is that if you for example cut down a Tree, you will get a whole frikkin Tree with connected Blocks, not just "Log Blocks" and "Leaves Blocks" like in Minecraft.
You can remove Leaves, Branches and Stuff from that Tree in order to get a Log of whatever size that Tree was. If it’s small enough you can pick it up easily and carry it home, otherwise you need to cut it up or get NPC help.
Same concept also applies to Boulders and Rocks. They can ofcourse be placed as a whole thing in World. Also remember its 0.25m Blocks, not the whole Cubic Meters of Minecraft.
Furniture would also count as Blocks that can be picked up as a whole. I will probably do something that makes it possible to place Blocks on Halfgrid Spots inside said Furniture to save Space.
You will also eventually be able to register custom Player Models in some way, or just have them saved Clientside and autouploaded when you join a World.
And the editing of such Models will be in a dedicated Editor, as some Models can have effects ingame too.
For example the Size of the Model affects your Hit and Collision Box, so a big fat/buff person doesn’t fit into the tight places a tiny person would.
You could be a Giant and be very Strong with a large Inventory Capacity and lots of Melee Damage, but in the end you don’t really fit anywhere.
Several Races from Dungeons and Dragons should be possible to be (re-)created, same goes for Furry Models ofcourse.
Note that at the beginning there might only be "Humanoid" Models, meaning a Head, two Arms, two Legs and a Torso. I simply can’t do all at once.
Some things might give you advantages for certain Situations (better Eyes or Ears and Underwater breathing for example), but do note that those Effects can be disabled in the Server Settings in case a more "equally balanced" Game is wanted.
The Models will be Boxy kinda like Minecraft Mobs, essentially lowering down the "Quality Bar" so people can more easily make their own Models, without having to feel bad about being out of place, because of them not looking as good as a professional 3D Rendering would.
This will also make Armor Costs more easy to calculate and Armor Parts more easily divisible into individual Parts, not to mention custom Armor Rendering would be much easier.
If you are concerned about how Accounts are gonna be handled, its gonna be simple, Accounts are on a Per-Server Basis.
So for Whitelisted Servers, the Admin of that Server can give you a Code that you can use to register your own Username/Password/Skin when logging in for the first Time.
Note, that I will not do anything against Admins selling Accounts for their Servers, they can do that if they want, even though I do discourage doing that.
And Blacklist based Public Servers, well they might be problematic with griefing, but Safeguarded Home Areas will exist in the vanilla Game to decrease most damages.
Due to the registration being per Server, "inappropriate" Skins CAN easily be veto-ed by an Admin should one attempt to register such a thing (if it is against the Servers policy ofcourse).
However, I will try to make a System that will label Models as "definitely-appropriate" without giving that veto-right for them, simply because I do not want Admins to go all racist, sexist or similar against other people.
Whenever another player interacts with an Object, an expanding circle animation of some sort will show that they did something with it. This can also be useful if someone is pointing out something to you by touching the block they talk about.
I would also like to encrypt the Ingame Chat messages, just to make everything a little bit more secure, even if you have an insecure Internet.
Local Multiplayer is also possible thanks to the way I’m going to implement Controls, so that multiple Mice and Keyboards could be detected. The Mice will probably be the largest Issue for that, but I will see how that is gonna be solved! ;D
As for Features on Servers, I would like them to be able to have a Text and Images Only Website without anyone having to put much effort into hosting their own Website. That way News can be posted there, or instructions how to get whitelisted (since paid Server Accounts are allowed, also links to that), or a link to the Servers Patreon/Paypal for Donations.
A special Text Only "Rules" Board will also be on the Servers Website, so you dont have to place a Wall with Signs at Spawn or something stupid like that.
The Rules List will probably be shown during the loading Screen while logging in, along with whatever Title/Name/Logo the Server chooses to have.
The Website should also be able to have some sort of World Map of the Server. Similar to Dynmap for Minecraft. it will be possible to turn this off, to disable "Map spying"
Another thing to add there would be Server Chat, where you can log in using your Server credentials (including just directly through the Launcher) and then chat with the other people even if you dont actually have the Game itself up.
All those random integrated Services will run independant from each other, so that if the Game happens to crash, Chat and Website will continue to work, so that you can spam the Host to finally fix the damn Server, or help the Host fix it in Chat without having to use third party Chat programs.
Game Crashes will also result in an Email Notification for the Server Host (or Hosts, you will be able to enter multiple Emails), so that a fast reaction can be guaranteed, unless everyone Sleeps or something.
The Chat will be told that an Email Notification has been sent to the Host (but only if an Email Address was given to the Server for Notifications).
Automatic Backups are important too. Those should be triggered by a timer and by whenever a Mod Updates.
I’m a bit unsure about Automatic Reboots of the Server. The Code should be good enough to never require a stupid reboot to clear Memory. The Rebooter should definitely detect if nobody is online at that moment and when possible only do it then.
The Server itself would be a Commandline started thing, and the Game itself will have Scripting for Events and such, so there is going to be plenty of ways to control things.
While I will try to avoid adding GUIs in general, I know for sure it is not 100% possible to do that. So here a few Basics things:
Your Inventory and similar things will definitely have a GUI, it can come in different Settings, you can have it like a List with multiple Themed Tabs (Fallout), or a Grid full of small Item Icons (kinda like Minecraft, but more like Morrowind), or a Resident Evil kinda Inventory with things that occupy multiple Slots depending on Size.
Another thing with Inventorys is GUI resizeing. It’s always nice if you can resize and move your GUIs whereever you want, but it is really shitty if you can "accidentially" move or resize a Window by just clicking at its Border. That’s why I will make it so you have to hold both Mouse Buttons at once to resize or move a GUI, while hovering over its border.
There will be an IRL Clock available as UI element, because why shouldn’t you be able to tell IRL time if you dont happen to have an IRL Clock closeby.
As for Keybindings, there will be defaults for WASD and for Arrow Keys. Both won’t overlap and will work at once, so you don’t need to adjust Controls all that much. The Arrow Keys variant will work with the Keyboard Layout that I have myself, so it might not be the best considering that this Area is not Universal.
The F-Keys (F1 to F12 and so on, not the actual F-Key) are not going to be used for anything in the Default Keybinds, not even Debug Stuff. I don’t even want Mods to Default any Keybinds to those, with the reason being that people using Fraps, OBS or other Screen Capture things, have the ON/OFF Buttons and similar Recording Options mapped to the F-Keys by Default. Also apparently there is Keyboards without ANY of the F-Keys or an ESC Key… Yay for Apple! (Not that I would add support for Apple Stuffs, but still)
In the Default Keybind Config, the Z-Key and the Y-Key must be mapped to the same Function, in order to give less reason for Users to change Keybinds if they have a common QWERTZ Keyboard.
Generally, I do not want Users to end up changing their Keybinds (I will ofcourse give the Options for that in an actually proper fashion), this has the simple Reason, that when Players communicate Keybinds to each other, they usually mention the Letter corresponding to the Default binding, and that can be very confusing in some cases, when the recipient of the Message already reconfigured it.
Keybindings that are opening non-Inventory GUIs or for Debug purposes, always have to default to the Area to the right of the U, H and B Keys (including those 3 Keys themselves). They have to be between the WASD Area and the Arrow Keys Area by default.
In regards of Dvorak Users, there should definitely be an option that auto-remaps all Keybinds from QWERTY to Dvorak.
There is gonna be more than just simple Default bindings ofcourse. Ever thought how Keybinds usually work? Normally there is a Key-Pressed and a Key-Unpressed Event, there is no "Holding Key" Event, the holding needs to be implemented by the Game itself.
So if you want to set Keybinds differently, you could map "Press W" to "Start Walking Forward", and then map "Press W" to "Stop Walking Forward", this would result in you starting to walk when you press W once, and then stopping the walking when you press W a second time without you needing to hold W at all.
Or map "Stop Walking Forward" to "S" as well as "Start Walking Backward" to "S", but without pass through so that "S" is being cought by the "Stop" Keybind before it can reach the "Start Walking Backwards" Keybind, so Priorities and sortable Execution Orders will be a thing too!
But even better, this could be combined with mapping multiple Keybinds to one function, so map "Press and Unpress W" like you normally do to Walking and stop Walking, but then map lets say "Press K" to "Start Walking Forward" too, meaning you can walk with WASD like normal but press K to Autowalk!
Want to get even more advanced and make things even more confusing yet awesome? How about using multiple Keyboards at the same time and change Keybinds per Keyboard! So instead of K you map the Autowalking to W on the second Keyboard! That way its more intuitive for remembering Stuff, even if the second Keyboard might be a bit away!
This Functionality will be able to detect Keyboards not only by "first plugged in and second plugged in" but also with the UUID set by the Manufacturer with possible fallbacks if the Keyboard isn’t found properly.
This can also be used for Controllers so one of them is always "Player 1" and the other "Player 2" no matter which order or which USB Slot you decide to choose! Ofcourse with the possible fallback that if only one Controller is detected it will use it for Player 1 if you wanted to, even if you happen to plug in the Player 2 Controller.
In general the Fallback by default will be for "Devices that havent been specifically assigned yet", which will mean that if you buy a new Keyboard and plug it in, it will mirror the Keybinds of whatever the Primary Keyboard is. This is especially needed for USB Stick installs of the Game, where you just Plug and Play at some foreign Computer, while you also have additional Home Settings for specific Keyboards.
One thing of note is, by principle, I will not allow the "Reset All Bindings" Button to reset any Device that is not plugged in at that moment. It will however create a new Keyboard and similar Profile with the actual Default bindings and set that Profile as the Primary Profile, keeping the old Profiles intact and moving them to the "Old" Tab in the Options as well as moving the corresponding Device Settings File to the "old" Sub Folder.
There is going to be a lot and I really mean A LOT of customization options, to the point that Macro Keyboards are pretty much gonna be useless except for very specific timed tasks or a turbo button maybe, and even that I might obsoletify later on!
Oh and in case you are afraid of the huge GUI that this would cause, all of this is the Advanced Settings not the Normal Settings, so don’t worry too much about it, if you are just playing casually. ;)
As I plan to eventually make it possible to have more than 2 Hands or just one single Hand, there will be Keybinds for "primary Hand" and "secondary Hand" and all the etc Hands.
During Player Body Creation you will be able to select if you’re Lefthanded or Righthanded (or whichever of the Hands are the Primary/Secondary/etc), so you dont have to change your Keybinds whenever you decide your Player uses their other Hand for whatever reasons you may have.
There will be separate Keybinds for each Hand, available actions being:
whack which is essentially a Melee Attack with whatever you have in that Hand. Also used for Mining if you have the right Tool, and only if you have a Tool, no Fistpunch Mining unless you happen to be strong enough to punch Holes into the Wall, or the Wall is made of Paper.
use is using Items and solidly places Blocks (so they are attached to whatever you place them at), Melee Weapons like Swords, Spears, Pikes etc usually block using this. Bows and Guns will shoot using this too, since those are ranged and not melee.
put just lays an Object at the Location or loosely places Blocks without attaching them (so they will be affected by gravity and other forces).
chuck will just throw the Item or Block at whatever is in front of your Crosshair. Some Items like a Spear or a Bucket may have a special behaviour when chucked.
rotate will rotate the Block you are about to place into the direction you want, which is important as many Objects are made up of multiple Blocks. There will be a hologram displaying what you are about to place, and this does have forward and backward rotation bindings.
swap will remove the Item in your Hand and put it back in your Inventory. If used with an empty Hand it will draw whatever Item is on your "Belt" Slot for that particular Hand (like a Sword for example). Some Items may be on your back if large enough, like Shields, Longswords or Spears.
action will bring up a Context Menu for you to select one of multiple Options for the Item in your Hand (more on it further below). If you have a Swiss Army Knife for example, it will bring up a List of all the Tools you can select from it, like a Mode Switch. If you have a Bow, you can select what Arrows to prioritize, etc.
Default for the primary Hand are: Leftclick = whack, Rightclick = use, Left Ctrl or Right Ctrl = put, DEL or Q = chuck, Mousewheel Up/Down = rotate, END or E for swap and F or NUMPAD4 for action.
The Secondary Hand (usually the Left Hand) has: Forward (the 4th Mousebutton) = whack, Backward (the 5th Mousebutton) = use and the rest are not assigned by default, so you don’t drop your offhand Object by accident (but you can ofcourse assign the bindings yourself).
A lot of times there is the Problem of Mods adding Keybinds for random junk you’re rarely using without even asking you if you wanted that Keybind to exist in the first place, then the Keybind eventually conflicts and everything feels shitty to use, and you never know if a Key you never used is bound to something already or not.
That is why there will be "Action" Keys, which will present you with a list of Options for the Block you point at or the Item you are holding in your Hand respectively. It will be populated with all the rarely used Options, Mode Switches, Ammo Select and similar Stuffs.
The Menu itself can be either just a Text Box with multiple selections, like the Rightclick Menu on your Computer, a Box with just Icons to select from, or a Radial Menu, depending on what you like more.
One binding will be for "Block you point at with Crosshair" specifically to show all Options for that one, and all other ones are depending on your Hands Keybinds.
If you use the Hand based Action Keybind with an Empty Hand, it will prompt you with a few "Emotes", like waving, pointing, whistling and such. Simple non-verbal Communication for the most part, no Dances of the sort.
When using the Keybind with a Weapon in your Hand there might be strategy selections for those Weapons. Also some Items might have specific Emotes, like "waving your sword around" or "bashing your sword against your shield to look threatening".
The Action Menu will also give you the option to bind a Key to a specific Action, like a shortcut, ingame so you dont need to bring up the Settings Menu to search for some obscurely named Keybind. Things selected that way are usually saved on a per World basis, but you can also make it be saved globally from within the same Menu. Will also work for Emotes ofcourse.
If you bind multiple Action Keys to the same Key, there will be a Super-Action-Menu where you can choose which of the things the Action was meant for (Pointed Block, Left Hand, Right Hand etc), before the regular Action-Menu of the selected option pops up.
There will also be an "Upwards" Button in the Action-Menu that will get you to the Super-Action-Menu, so you can look through all your Options. Especially useful if you did not bind the other Action Keys at all.
Items will have a Multi-Part Description to them, which is split into Categories (where applicable), and will be shown in the following order:
The most generic possible Name for the Item.
Each major Color the Item has. For example a Red Apple would have the Name "Apple" but the Color "Red". Or "Yellow; Blue" for a Gold Ring with a Blue Gem. (I might find a better way to handle Descriptors than a Wall of Text)
A Warning Sign or similar if something is noticeably wrong with the Item. A nice example would be spoiled Milk, you will smell that it is spoiled right away and therefore see a warning for that. Your personal Stats will influence this Danger Sense.
The Label Sign that shows whatever is written on, lets say a Bottle for example. The Label can be written in a different Language and it also does not have to tell you the truth at all. Consumables will use the Label Field to show their supposed Stats.
What you feel the Weight of the Item to be. May be more or less precise depending on skill.
Description showing what you should expect the Item to be used for. It will not show the Stats of said Item in there, so that you can still trick people into consuming Poison for example.
Examples section that shows how you can actually use the Item, if it’s a more complicated Mechanism for example.
A Did you know? Section, where the Mod Devs can insert random trivia Facts. For example: Did you know that Lightning Rods in real Life could only ever produce enough Power per Lightning Strike to power a 100 Watt Lightbulb for about one and a half days? Yes it is that crappy!
Lets say you have a Bottle with a Liquid in it, what do you think can you do with it?
First the most obvious, drink it and you get whatever Effects that Liquid has, Nutrition, Drugs, Potion Effects whatever you drank was. This is typically the use Action.
Now what about throwing the Bottle at someone? Well that would be the chuck Option, and result in something similar to Splash Potions in Minecraft (+ Physical Damage of the Bottle itself hitting), but only if the Liquid actually has a "Splash Compatible Effect". A Bottle of Acid would for example have an obvious one, Booze would drench you in alcohol and make you slightly more flammable, while Water and most Juices etc. could extinguish you, or at the very least make your Clothes dirty, especially dirty when it was a Dye!
But what if you dont just wanna throw a Bottle at someone? What if you just whack it on their Head? Well, the Bottle itself would break, causing the Splash Effect and Physical Damage, but as a Bonus you now have a broken Bottle that can be used as a Melee Weapon.
Both the whack and the chuck option would result in Glass Shards spraying on the floor, which can but usually don’t harm people walking over them.
So what about forcing someone to drink the Bottle? Well that would be part of the action Menu, because it is an unusual use of the Bottle. Same would go for putting Poison from a Bottle into Food, as it’s not a commonly done thing.
And if you want to coat a Surface in a fluid by just dumping the Bottle onto the Floor, a Person or something similar, that is also action Menu. And unlike chuck and whack this will not end up breaking the Bottle. A lot of unusual things will be in this Menu.
When the Bottle happens to be empty, you can just use it on something that can fill it with Liquid, like a River, a Tap or a bleeding Creature. I should mention that some of these Actions will require a few seconds worth of time and can be interrupted by others.
Not to mention Bottles dont have to contain Fluids, they could contain Solids and Dusts too, or small Creatures like Insects and Frogs, or even Gasses, though that last one is usually harder to manage. Letters, Molotows and Miniature Ships are also an Idea!
Filling an Object in your Inventory, for example a Cup, would also be in the action Menu, as it also requires you to select which Cup to use from your Inventory.
Last but not least, ofcourse you can put the Bottle on a Shelf or the Floor or whereever. And then maybe put a Firework Rocket in it and light it!
This is just one Item, yet there is so many possibilities for its usage!
And there will even be some nonesense in the action Menu like "eat the Bottle", though those will be sorted to the bottom of the List (but still above "Misc").
Generally the action Menu is sorted depending on which Actions will make most sense, and you can sort certain Actions by proving you can use them that way. Like a Firework Rocket on a Crossbow, which will be sorted into the "Misc" category at first, until you discover this can be weaponized very well, and they go up into the Ammo Category (which for Crossbows is at the top).
Bottles are fine and well, but what about Tools like a Pickaxe or a Sword? Lets go and explore that!
A Pickaxe is made out of two Parts typically, the Tool Head and the Tool Handle, but a lot of people forget that the Tool Head actually is two Parts, and I am not talking of the Bolt holding together the Handle and the Head.
The Front Pointy End of the Pickaxe Head and the Back Pointy End are two different Tools, even when they both happen to be the same Type.
This means you can just turn your Pickaxe around once one of the Pointy Ends happens to become less pointy due to whacking Blocks with it, this can be done in the action Menu as it is a Mode Switch of some sort, and may also happen automatically if both Pointy Ends are the same Type of Pointy End.
A Side Effect is that there is multiple Types of Durability on a single Tool. Each Toolhead itself can become less sharp/pointy/etc when you work with it, and therefore useless for working.
It either doesn’t lose Matter at all, or only so minimal amounts that you wouldn’t notice, like single specs of Dust that will drop in the World, which are technically "there" but nobody would be able to pick them up without some insanely serious scrubbing.
This first Type of Durability Issue can be fixed by a Grindstone (which will also cause small but significant amounts of Dust) or by Re-Forging/Re-Smelting a Tool. Afterall Tool Creation Recipes aren’t going to be very precise about the Amount of Required Material to make them, so losing some Dust wont need to be replaced when Re-Crafting the Tool.
The Second Type of Durability is also rather obvious, the Tool Handle can break in some way, sure the Tool Head will stay intact, but you cant really use it without replacing the Handle.
Now for the Third Type of Durability that might be less obvious: Corrosion. Some Materials might become Rusty in certain Environments, like Iron in a Moist Area for example. But this takes ages ofcourse. What doesn’t take ages is the Rust that builds up on your Sword if you don’t clean off the Blood from it, or if you slice a particularily corrosive Slime with it.
Corrosion will have the Side Effect of actually changing the Material your Tool is made out of, to be a certain percentage of Rust. How you get rid of said Rust will highly depend on the Material that rusted in the first place, sometimes Re-Smelting is just enough, sometimes you need to actually process the Metal chemically to do so.
The Handle itself can Rust or Rot too, resulting in a 4th Type of Durability. If you want to replace the Handle, just pop the Tool Head off the Handle in the action Menu, and combine it with another Handle. This may require some Tools depending on Handle Material and if the Handle is welded/part to the Head or not.
Certain Tools can also be used for multiple purposes, for example a Pickaxe could open a Crate or Door just like a Crowbar could, since it’s essentially a Lever. Though such options would be in the action Menu for Pickaxes while they would be the primary use of a Crowbar and also faster.
One thing I do not want to do is clutter peoples Inventories with seemingly mandatory Tools that take up Volume and Weight, so a lot of Tools can be "misused" for other purposes, like a Pickaxe or Wrench can totally work as a Hammer even if it’s inefficient and slow.
Another way to reduce Tool overload would be just dropping the Tools you don’t use in World. You can totally just put your Pickaxe on the Floor in the Mines for when you come back, Item Despawn wont be a thing whatsoever. Spontaneously grabbing Tools whenever you need them is going to be easy, and Tools needed for Crafting other things in a Crafting Menu, can just lay around closeby without having to be in your Inventory.
There will be a special Item Inventory, usually with Items you start with or that custom Scenarios can give you, especially Quest Items or a Quest Book Item, which you shouldn’t waste normal Inventory Space for.
When you respawn you will still have said Key Items, and you cannot drop Key Items on the Ground, in the World, nor into Chests.
The only special thing about Key Items is that they are in the Key Item Inventory. Any Item could be placed into said Inventory (using Startup Items, Commands and Cheats).
A typical Startup Item could be a Music Player, which would be the way you enable special background Music ingame (but only for yourself) and have no real effect on anything. (there will be a way to compose Music ingame similar to Noteblocks but better)
Same can go for certain types of decorative Clothes, which some people ofcourse dont want to lose on respawn.
It would for example be possible to have a Spear in the Key Items Inventory, and you could melee attack with it, but you could not throw it at people because Key Item, unless it would be an infinite Spear Item.
The Color of Items will play a rather important Role in the Game, especially when distiguishing different Items from each other.
It will be possible to paint things in 4096 different named Colors. Some more obscure Names will show "Burgundy (Dark Red)" or "Gray (50%)" just to make sure everything is easily understandable.
There will be a Colorblind option during Character Creation, which will turn Color Desriptors into the 16 different shades of Gray just for you, because your Character cant see Color, not to mention the Game would even render in grayscale in that case.
Said Colorblind Character Option will also encourage making people design their Mods in a way that you can tell things apart in Grayscale Vision, resulting in the overall Game being more compatible with Real Life Colorblind People.
The UI of the Game should be easy enough to understand that even People, who dont understand a supported Language (but at least understand the Latin Alphabet + Arabic Numbers), or who barely speak English, are able to play without major Issues.
This means every type of Action and most Descriptors need to have an easily distinguishable Icon, so you can not only see on a quick glance what is what, but also don’t need to read to understand Stuff.
Ofcourse I will add Multi-Language Support in on itself (very likel via getText), but I alone cant translate everything. Only English and German can be made mandatory, simply because I know those two Languages. And I dont want to force Modders to have German Translations, so only English is guaranteed to exist.
A normal Chat Bar/Window will exist. You can switch between an MC alike Bar on the HUD, and an actual Window you can move around, in the Options.
There wont be any allowed way of having the Game itself speak to you in Chat, because I don’t want Debug Messages or Notifications to pop up in regular Chat. And yes, I am aware that I’m doing that shitty thing in GregTech with the Magnifying Glass and similar!
A separate Notification Area will be there where only Notification things show up.
Voice Chat Support ingame is also planned, with quite a few nice extras. The options to have global, team or direct Voice Chat will exist, as well as some other things.
It is possible to make distance based Chat possible, so that people from a distance cant hear what you are saying, unless you use like a Megaphone, a Radio or a Phone of some sort.
Team Chat can also be done this way, by automatically turning whatever other Teams say into Network-Bandwidth-saving Gibberish (Serverside ofcourse).
You can also just turn everyone into Gibberish if you don’t want to hear what they talk about but still want to hear THAT they talk at all. Or if you want to make use of Network Bandwidth saving.
A special limit is also a (by default enabled) option, so that you can only hear the loudest/closest people around, if there is too many people talking at once (everyone else will turn gibberish). So you don’t get too many issues in a crowded place or so.
Not sure if I would add that but a background noise Filter for the Chat itself might be a good Idea, for autodetecting if someone talks without having to hold a Push-To-Talk Key.
It will be natively possible for you to claim Islands or similar specifically marked Areas for yourself (if the Server rules allow).
On said Island you can set a lot of Game Settings to the extend of what the Server allows, such as Survival, Adventure, Creative or Spectator to say in in Minecraft Terms. You claimed the Island, you make the Rules.
There will also be a way to sub-claim Chunks within an Island, if the Rules of the Island allow you to do so (which Islands usually do by default when it’s not allowed to claim the Island entirely).
If the Owner of the Island decides to set the Island to Anarchy, then anyone can sub-claim a certain amount of Chunks just to say "I own this", or for griefing protection, depending on Rules.
Though be warned that setting your Island to Anarchy will not be reversible once someone else lives on it too. You would need a 100% majority vote of all people who sub-claimed the Anarchy Island in order to set it to something else.
Ofcourse other Modes and Rules for Team based Stuff and Admins will exist as well.
You can also set the Island Rules so that no other Player can enter the Island, except using Admin/Moderator Powers. Or you could only allow "Spectator"/"Camera" Characters in, and also set them to invisible if you want to.
A potential prompt before entering a claimed Area that you are not supposed to enter could read "You are not permitted to be present in this Area, would you like to: A: Request to be allowed into the Area. B: Enter using invisible Camera. C: Enter using visible Camera. D: Violate Privacy using Admin Powers."
Those Options ofcourse depend on Settings, for Option A the owner can just disable requests in order to not be spammed in their ingame PO Box (or even Email, should they decide to allow that).
Options B and C are depending on what kind of Cameras are allowed in the Area or if Cameras are even allowed.
And Option D will result in every activity the Moderator does being logged, while they are inside, and very likely also give a Notification to the Owner that a Moderator entered (but not who it was).
Minigames are a thing that people tend to make in some way, but cheating in those is ofcourse a Problem, so there will be a way to have a "remote controlled" Player in such Areas, so not only would that unify the Physical Abilities (to whatever body you give a Player to control), it would also make sure their Inventory is empty, and there is no "doping".
Ofcourse I need some way to Test Stuff for the Game, so I’m gonna need to host a Test Server for it. I will probably even make it public for everyone.
Since the Test Server will be using the "Islands" World Type, everyone will get a Compass alike Key Item that points towards the closest "non-generated" Island and another Compass for the closest "non-claimed" Island, the latter will glow if you are already on such an Island, but will also point to a different Island.
Because a lot of random people are expected to be on that Server, and lots of Worldgen is gonna happen, there will be some sort of Fast Travel Network from Island to Island.
Anyone will be able to join with multiple Characters per Account on this Server. So you can technically restart the Game without actually restarting the Game, by just joining with a new Character and then Fast Travelling to the furthest away Island.
This also includes use of "Spectator"/"Camera" Characters (there will be a default Camera Shaped Character for that kind of Utility, that can just be spawned in quickly), though the Permissions System would need to allow it on the Island you use it at.
Same goes for "Creative" Islands, and yes I’m gonna make it impossible to carry Items from a cheaty Type to a non-cheaty Type.
Now the Resources are something I need to think about in more detail later, but I can tell what I got already.
The Display of said Resources will go as follows regarding shortening the Numbers, because I am absolutely annoyed at Games that do this part so wrong, that I only get 1 Digit worth of Information at times, so here you go, always between 4 and 7 Digits if available:
1.000 → 1.000
10.000 → 10.000
100.000 → 100.000
1.000.000 → 1.000K
10.000.000 → 10.000K
100.000.000 → 100.000K
1.000.000.000 → 1.000M
10.000.000.000 → 10.000M
100.000.000.000 → 100.000M
1.000.000.000.000 → 1.000G
10.000.000.000.000 → 10.000G
100.000.000.000.000 → 100.000G
1.000.000.000.000.000 → 1.000T
10.000.000.000.000.000 → 10.000T
100.000.000.000.000.000 → 100.000T
1.000.000.000.000.000.000 → 1.000P
Yes some people use dots for the thousand-markers, and I don’t exactly know if I am gonna use Kilo, Mega, Giga, Tera and Peta or if I’m gonna use other Symbols.
Food and similar Consumables:
Food is a special Resource and exists in all Modes, Player-Hunger can be turned off if you dont wanna eat food all the time, but Food itself will still exist in case you want its positive Effects.
The NPC System will need Food of some sorts to work (unless you turn that off in the Settings).
There is also gonna be a Nutrition System (separate Setting), so that you need to eat a wider variety of Food.
Unless you turn off Money as a whole, making Trading much more inconvenient, Money is a special Resource used primarily in Markets and (if enabled) in the NPC System.
There might be a Stock Exchange thing that is gonna be added with Supply and Demand and Stuff, but that is also optional in the Settings.
There is also Decorative Resources that you can build your Houses with and Stuff. Rock for example can be used to build a Castle.
These Resources exist always and are craftable regardless of Difficulty.
Also in case of Rocks, you cant process them into anything proper really until you reach High Tech.
Early on there will essentially only be Wood and Stone as actual Resources, and I will try to make as many things as possible craftable using Wood and Stone only, with as few Metals as possible.
This might conflict a bit with the Resource Complexities below just by existing this way, but you can still always just turn Wood and Stone into a very low amount of Basic Resources and from there into whatever you want to Craft.
Very Easy Resource Complexity:
Money, everything when processed will become Money directly, just one Main Resource, and thats Money!
You can make it from anything and into anything! It’s like pure EMC from Equivalent Exchange!
Easy Resource Complexity:
Instead of everything just being Money, the System will split into just 6 Main Resources.
Minerals and Metals (Cyan Ingot Icon)
Radioactive Isotopes (Yellow Radiation Hazard Icon)
Crystals and Gems (Magenta Gemstone Icon)
Chemicals (Blue Fluid in a Flask Icon)
Fuels (Red Fire Icon)
Organics and Carbohydrates (Green Plant Icon)
So if you for example decide to process a Raw Wooden Log in a Sawmill (or with a Tool on your Player), it will turn into a low amount of "Organics" and also "Fuel". A Carpenter would turn it into mostly Decorative Stuff.
Most Ores will just turn into varying amounts of "Metal" when processed in a Foundry, Gold Ore giving you way more "Metal" than Iron Ore, when smelted for example (Gold Ore might even give Money as a byproduct).
This ofcourse leads to a lot of slightly exploitable Mechanics, similar to the Alchemical EMC System of the Exquivalent Exchange Mod for Minecraft, but that is intended, it’s easy Mode afterall.
It is basically as if all Resources automatically get broken down into ratios of their basic Categories.
With this System you could for example go get a ton of Iron Ore, turn it into "Metal" and then craft a decorative Platinum Ingot out of the "Metal". Said Ingot can be turned back into "Metal" too at 1:1 Ratio.
While things exist in a simplified state they will not lose their Data, you still have that Iron Ingot even if it’s displayed and stacked to you as "X Amount of Metal" and useable in all Recipes involving "Metal".
Normal Resource Complexity:
Similar to Easy Complexity, Normal Complexity works the same, but it has 18 Main Resources.
Each of the Easy Resources gets split up in 3 more Resource Categories depending on their rarity.
So Metal will turn into 3 Categories, "Basic Metal", "Advanced Metal" and "Precious Metal"
Same concept goes for the other five Categories.
Hard Resource Complexity:
Here, every Resource is simply what it would be IRL too.
You can’t just turn Iron into Nickel or anything like in previous Difficulties, you have to find the right Ore for the right purpose and process it the right way.
Very Hard Resource Complexity:
This is basically GregTech-6. Not only you have real Resources and their Processing, but you also have to Shape them into Plates, Screws and Stuff before crafting with them.
All Resources you can find in the World are the real ones, you see actual Iron Ore even if your Difficulty will only process it into "Metal" or "Money".
So no matter what Difficulty you choose, all Worlds will contain the same Ores and Materials, only your Processing changes.
If you for example wanna process any compatible Ore with Sulfuric Acid, like you would do with the Very Hard Option, but you are actually playing in Easy Difficulty, you can still do the processing to get more out of the Ore, and you only have to use an equivalent amount of "Chemicals" instead of using actual Sulfuric Acid.
There will be multiple choices for your World in regards of the Set of Ores that do generate there.
Normal, which is Ores like in Real Life.
Balanced, which contains Ores that are purely based on Game Design, Balance and Progression, similar to Angelbobs Mods in Factorio with Bobmonium, Stiratite, Saphirite, Rubyte, Jivolite etc.
Random, where the Game will make up random shit on the fly, give it randomized names made out of random Syllables and you have no Idea what each Ore is, until you experiment with it.
The first two Options are rather simple to explain, IRL Ores are IRL based, Balanced Ores are based on pure Game Design, but Random Ores need a bigger explanation.
So having purely Randomized Ore Types can have several bad balance implications or even gamebreaking implications, and I would not want that to happen.
There will be a Table of Resources that each Ore can contain, things like Iron would be common in the List, while stuff like Uranium would be rare. This Table will then be used to combine Materials together into Ores and their Byproducts.
As for the Names, it will mostly just dump random Syllables together and end it on -ite or -ium. Though I will make it so that two of the Ores start with the same Syllable and add similar quirks, that make the Names look similar for certain Ores on a per World basis.
Creating Decorative Things
As you might guess, you will only have a somewhat limited variety of Resources, so how would that translate into making Decorative Blocks.
It will probably go into a Style similar to the Carpenters Blocks Mod or the Storage Drawers Mod for Minecraft.
You will get one Basic Plank, Door, Table, Chair etc. that can be made with just "Organics" (or "Wood", depending on Difficulty).
This Basic Decorative Block has a rather plain Design and can be placed already if you want.
But you can also craft it into a better looking Variant by combining it with the Decorative Wood you can get from a Pine Tree for example to make it into/outof Pine Planks.
How exactly I will do this is not 100% clear to me yet, all I know for sure is that the Basic Variant will be made from "Regular Resources Only" and better Variants can be made from "Decorative Resources" and/or a combination of both.
Animals are usually random generated in their Features, so you get a kind of new experience with the Fauna of each Island.
There will likely be an option to have IRL-alike Animals and Stuffs, as well as options D&D Themed ones, because those are likely the most common ones to be used.
Animals can be configured to be either without Gender (like in Minecraft) or with a Gender (like with Terrafirmacraft), so people can decide if they want to bother with that.
But back to RNG based ones, there is ofcourse the Issue that people with "Easy" Resource Complexity dont want to manage a ton of different Animals.
As a Solution to that I present you the Egg laying Feather-Tailed Horned Wooly Sabertusk Milk Boar, an Animal that essentially gives you all Resources you can get from Animals.
To the ones who ask me "where is the Leather and the Fur?", I have to say that Sheep Leather is a thing in real life, and that Wool is a type of Fur.
With a Universal Animal like that you cant complain about having to farm too many different Animals. It also makes a good rare Animal considering how useful it can be, and with rare I mean almost un-findable.
Though this Boar will also be big enough to ride on it, making it even a good and fluffy form of transport, while providing you with Eggs on the go! Who wouldn’t want that!
All Animals will be categorized by their Domain and Subclasses, in order to make things more uniform and to be able to compare different Animals better with each other.
Those List of those Subclasses will be listed in the Code for easy access.
Technology is split in several "Ages", which are going from "Stone Age" up to "Intergalactic Age" with steps inbetween.
Ofcourse you can select at the start of a Game/Server what Age you are going to start in.
The Player can’t remember all the things, so Knowledge has to be stored somewhere, either in form of Scrolls and Books earlygame, or with a Laptop/Phone latergame.
If you don’t wanna carry a ton of paperwork with you, a Library closeby or a Bookshelf next to your Crafting Station is needed in order to use Recipes. (Bookshelves will have some sort of Area of Effect, Libraries will cover the entire Settlement)
Sharing (both directly and Team Based) and also Stealing Tech Levels will be a Game Mechanic too for sure.
Having a Bookshelf with the corresponding Information close to your Crafting Station will have the benefit of being able to find the Recipes much faster, as it will display those Recipes up top.
NPCs will pretend to make use of that too, by having all the previously used but non-outdated Recipes in a closeby Shelf. This makes stealing certain Tech, or simply Cooking Recipes, a little bit easier.
The earliest possible Age. You are basically a Cave-Person in this scenario.
Basic Tools made of Flint (Minerals), Fishing Poles, Fire Places, Fur Clothing, Clay Huts and Igloos are the best you can do.
NPCs in this Age are just Hunters and Gatherers, teaming up with them might bring them in good terms with you when advancing to the next Age, but they are ultimately useless until then.
You can remember all the Stone Age Technology without writing down Stuff.
Getting Copper and other low grade Metals is possible now, but alloying them is not.
This is when you can actually build a real place to live.
Farming Crops and Animals is doable now too.
Clay Pots and similar are available.
The best Tech you can do here are Animal driven Plows and an Animal/People driven Millstone for Grains.
So far you can still remember all the Technology without writing down Stuff.
You can finally alloy Copper with Tin to make Bronze, or in easier Difficulties just use "Metal" instead of Bronze in Recipes.
Carpentry becomes more and more important as Furniture, Carts and better Buildings are being used more often.
Making Paper or Papyrus Scrolls is important to write most things down now, since there is plenty of Tech in this Age.
Iron and Steel can now be produced in slightly larger Quantities and replace Bronze in a lot of Tools due to being lighter.
A lot of Roman Technology will be added in this Age.
A lot of more Military Tech gets developed.
The manual binding of Books starts to become a thing, as Books consume less Space than Scrolls.
There is not much Tech to be added for the Medieval Age, simply because that’s the time where actually a lot of Tech got lost IRL.
Many more or less useful contraptions get invented.
I need to look up things that were invented while Napoleon was ruling France and stuff.
Coal Powered Machines and better Smelteries will become available.
Early Industrial Age
Time based I would say this is Pre-World-War-1.
You can finally automate a lot of Processes instead of having NPC to do those Jobs.
Steam Powered Machines will become available.
Late Industrial Age
Time based I would say this during World-War-2 and a bit afterwards.
A lot of improvements in regards of Machines, Cars are being used much more commonly.
Time based I would say this during the Cold War.
Nuclear Power Plants and Weaponry are available now.
Early Information Age
Computers and Information Processing are available now.
Late Information Age
The whole Internet thing, you know.
And a lot of later Ages
I am not decided yet on how to name or balance any of the Future Ages yet, so yeah there is ofcourse gonna be Ages for that. ;)
NPCs are useful as they can work for you, especially repetitive Tasks are a good Job for NPCs.
The way NPCs are "governed" depends highly on their Culture, sometimes they use Money, sometimes they just use Food, sometimes they are flat out Slaves, sometimes you are their King, sometimes you are a regular Peasant to them, it all depends.
Most NPC settlements will have a "Town Hall", "Castle" or "Command Center" of some sort, simply a Main Building or Hub.
Inside that Building are several things that are very useful for controlling or managing the local NPCs (if you are in charge of them), or simply for Diplomacy Stuff.
The NPCs will have a Map of everything that is within the Settlements Borders, using that Map you will be able to "edit" that Area freely in a blueprint fashion, and the NPCs will then go and try to Build what you mapped out for them (that is if you’re the one in charge of them).
A Library will contain Information on how far the NPCs are in their Technology, and what the Statistics of the Village have been in the past. This can also be used to gain Information quickly, if you are allowed to even access the Library.
Important Buildings such as the Main Building and the Library will be Guarded by NPCs, making it hard to just break into them. Some Players might intentionally leave their Library unguarded, so everyone can access them, or to save on Personell.
Even if you don’t own an NPC Settlement, some (more or less unemployed) NPCs in it might end up helping you out in exchange for Food and/or Money.
I will probably make it possible to have "your own Family of NPCs".
Said Family would be responsible for things like "providing Bodies you can respawn in" (if enabled in Settings), or function as your personal NPC Settlement.
Things NPCs should be able to do:
Here is a List of Tasks NPCs might end up doing for you
Governing their own Area while you are away
Farming and regular Food Production
Guarding, Attacking and general Military things
Harvesting and Refining any kind of Resources
Manufacturing generally everything that is needed on demand
Building and Upgrading Houses
Doing Research to unlock Recipes
Trading with other NPC Settlements and Travelling NPC Merchants
Ofcourse there needs to be Rules for modding my Game, since everything is supposed to be nice and open for everyone, and artistic freedom of expression should definitely be protected. I don’t want the same shit happening that Minecraft Modding had happen, so here is a rough overview of what you would have to agree to when modding my Game.
Hosting the Mod:
You will not be forced to host your Mods on my Site or something like that, but it is highly recommended to do so for exposure reasons.
Making a Post about your Mod on my Website automatically means you are agreeing to the Terms (and that you are also someone with the permission to agree to said Terms, so the Author of the Mod or a Team Member), otherwise it will be removed or flagged.
Advertising a Mod that is not on the Site, might lead to removal of the post mentioning that Mod. I wont do that for normal conversations, but if someone starts a Thread about a Mod that isn’t agreeing to the Terms, it will be removed.
Copyright and Money related Stuff
I don’t want Copyright or Money related Drama happen, and if it does happen I want it to be easily resolveable, so here are the reasons, why I need to make the Terms in the first place.
If you post a Mod on my Site and you abandon it for whatever reason, you kinda still own that Copyright, and people wouldn’t be allowed to port your Mod to newer Versions. And I cannot have that happen.
Same goes for if you make a Mod, but do such a bad Job, that someone in the Community makes a fixed Version of the Mod (if you dont allow the corresponding pull requests or implement them yourself). You should not be allowed to prevent said Community Member from making their own Version of your Mod.
I will make sure that absolute copypaste ripoffs won’t happen, but if someone makes a Port of your Mod that is different enough, then they can do it on my Site (but not outside of the Site!).
Also don’t include content that will be flagged by things like Youtubes Content-ID in your Mod. Namely Music and such. Mods that allow people to upload Custom Music are fine though.
Outside of the Website of my Game, regular Copyright Law and Licenses still apply like usual, but on the Website the following applies:
The Community can use your Code and Assets however they want, except for the Mods Main Logo, that they would have to slightly adjust to make it distinguishable from the Original.
Because the Community is allowed to use your Assets and Code, both need to be freely available for them. The Website will have Git Repositories for that. This also means that you aren’t allowed to obfuscate your Code either. People need to be able to at least roughly read your Code.
Making Money from Mods on my Website is limited to Donation based Systems such as Patreon or a Paypal Donation Button. No Ads allowed on my Site!
Hosting Multiplayer Servers and selling Accounts to said Servers is a thing you are allowed to do to make Money, and Mods on my Site must freely permit such usage.
If you own the full Copyright on your Mod, then you can also make Money off of it outside my Site, but I would recommend you being nice about the ways you choose, because the Community can always just make their own Version of your Mod anytime they want.