#Modules Changes and Features
1 messages · Page 1 of 1 (latest)
Ah, i can't send the Github links, annoying
Anyway, here is the original message without the links
i tried to make it as easy to read as possible. PLEASE i need this features (like really) and i think they could be really beneficial to 1.8 PvP as a whole.
-
Improvements to existing features
-
Glow Module -> Implement the fix implemented by Eterion and Artemis that allows the module to work even under Optifine's FastRender option (Currently Unsupported by Lunar) while keeping the same visual result
-
Glow Module -> Use Eterion's custom Shader instead of Optifine's default "renderOutlines" option, to avoid the black bleeding effects on the player outlines.
-
HeighLimit Module -> Allow server to override the client's HeightLimit to make higher worlds. Require a rewrite of some packets class, include ChunkData packets because of byte limits. Its a complex idea, but would be very cool.
-
New features that i'd need in Lunar (as a 1.8 server owner)
-
Colored Lightnings Module, implemented in Artemis that allows the server to render client-side RGB colored thunder bolts.
-
Optifine extensions extensions to CIT and CEM, to add more filtering options on Custom Item Textures and Custom Item Models, allowing similar features than newer version datapacks. (more info in #1)
-
Hex FontRenderer implemented in Artemis to allow servers to use §x§r§r§g§g§b§b format in any text. Doesn't break with "vanilla" texts formats. (more info in #2)
can't even include headings...
Details #1 -> To add details on that topic, currently, Optifine has a lot of missing features. You can make custom item textures using CIT, but you cannot make full 3D models, since it has rotation limitations. As for CEM, you cannot filter entities by name.
To be more precise, the current workflows for 1.8 are the following :
- Adding 3 new entities : Fire Dragon, Ice Dragon and Thunder Dragon requires 3 JEM models fused as one, under 3 named bones. All applied as one JEM model on a then unusable vanilla entity. If the entity health is 20 -> scale Ice and Thunder bones to 0, letting only Fire visible. If the entity health is 21 -> scale fire and thunder bones to 0, letting only Ice visible. You get it. It works, but requires heavy models to be loaded all the time, even with scaled bones, and is really impractical server side (health spoofing and selection) as well as removing a vanilla Entity entirely. Adding filters using name AND multiple jem per entitieswould allow all 3D models to be put on the ArmorStand entity, loading each one separately and using all its pose values as filters for animation, leaving other vanilla entities usable as well as simulating an animation channel from server to client.
-
Adding custom blocks : Cherry Log, Cherry Leaves and Moss Block are 3 textures. You can filter them using "biomes" they are in, however, you can only use vanilla biomes, and cannot override the block's mining properties cleanly. A good feature would be to remove the "cleaning" system in Minecraft packet system. Currently, if i send a "stone" block with damageValue 8 (doesnt exist in vanilla) it gets defaulted to 0 (base stone). Removing that (not for rendering, just for storing client side) would mean we could use "unused" metadata to add custom blocks through optifine. Adding fully registered biome names through packs would also add more "filters" for the blocks, instead of having to override a vanilla biome.
-
Adding custom item models through JSON. You cannot add JEM models to item, they are only JSON, with rotation limitation and no animations like jem models. That would be a good feature to add.
-
Adding a ressourcepack-driven "LightSource" system, to make blocks emit light under certain condition.
- Details #2 : Adding hex support in the font renderer directly makes it usable on any text surface in the game. The only adidtionnal fix it requires, is to remove the 16 char limit on scoreboard entries, because the color format consumes a lot of text. Other than that, keeping the default fallback and only applying hex logic on formats that start with §x is easy and compatible with any server.
Here are images of what's currently possible with Optifine in 1.8 and some serverside handling
Expanding on this, and adding the modern Server Texture Pack handling (multiple pack per server) system to old version would IMMENSELY contribute on making 1.8 similar to 1.21+.
Image 1 -> Full Izanami-driven WorldGen
Image 2 -> Izanami's Bamboo and GlowBerries textures for Jungle decoration through Lunar's Optifine
image 3 -> Custom Izanami Cherry biome through Lunar's Optifine
image 4 -> Izanami's cave biome system and custom geometries through Lunar's Optifine
All of this is made using basic Lunar Client features, since it bundles Optifine. Expanding on them would open the widest arrays of possibilities for 1.8.9 that has ever existed
If you have any question, and if i wasnt clear enough (which is highly possible) please ask i know what i'm talking about i swear 🙏
holy fucking yap, even though i didnt understand half of this i think whatever it is should be added
Yeah i yapped a lot