Client-Side Only Mode

Started by Pizza Parker Supreme on Thu, 06/16/2022 - 11:04

Topic category: Feature requests and ideas for MCreator

Last seen on 09:06, 12. Jul 2022
Joined Jun 2021
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • Tracker tickets:
  • MCreator plugins:
  • Comments:
Client-Side Only Mode
Thu, 06/16/2022 - 11:04

Apologies if a thread for this already exists, I couldn't find one.

As the title suggests, it would be great to have the ability to make client-side only mods (can be used on servers without being on the server's modlist) using MCreator. Currently, MCreator can only create server-side mods (must be installed on both the server and client). In fact, if you create an MCreator mod with literally nothing in it, it's still considered a server-side mod.

Ideally what I'd like to see is a more strictly-limited workspace so that we can experiment with what we can/can't do with client-side mods. We could get some really interesting and creative mods out of something like that.

Last seen on 09:35, 9. Aug 2022
Joined Oct 2021
Points:

User statistics:

  • Modifications:
  • Forum topics:
  • Wiki pages:
  • Tracker tickets:
  • MCreator plugins:
  • Comments:
Okay, for the beginning…
Sun, 07/24/2022 - 21:09

Okay, for the beginning small explanation.

Minecraft has actually 4 possible meanings for "client" and "server":

  • Physical client - entire program you run on your computer, all processes, threads and services that run during game's graphical, interactible lifetime are part of it. 
  • Physical server - often known as dedicated server is entire program that you launch though any sort of "minecraft_server.jar" that don't bring up a playable GUI.
  • Logical server - here runs game logic: mob spawning, weather, updating inventories, health, AI and all other game mechanics. Logical server is part of physical server, but can be run inside physical client together with logical client on single player worlds. 
  • Logical client - this is what accepts any inputs from player and sends it to the logical server. Also it receives informations from logical server and makes it available graphically. Logical client runs in Render Thread(s), which handle things like playing audio or rendering any sort of graphics. 

​​​​​

So if you won't be doing only graphical mods (like minimap or something) then your mod most probably will be server sided anyway.

Like if you create new mob, block, item server has to know it exists to properly calculate world and client needs to know it exists to properly render it on your screen. 

However things like minimap, things only add stuff to render (like said minimap) don't have anything that server will have know about.

 

At the moment i don't remember much client sided elements (other than not many procedure blocks?) in mcreator.