Giter Club home page Giter Club logo

wurst-imperium / mo-glass Goto Github PK

View Code? Open in Web Editor NEW
15.0 3.0 12.0 1.04 MB

Minecraft mod that adds glass stairs and glass slabs. They look great in any build and connect seamlessly with vanilla glass blocks.

Home Page: https://www.wimods.net/mo-glass/?utm_source=GitHub&utm_medium=Mo+Glass&utm_content=Mo+Glass+GitHub+repo+sidebar+website+link

License: GNU General Public License v3.0

Java 95.24% Python 4.76%
minecraft-fabric-mod fabricmc-mod minecraft-mod minecraft java fabric mod glass decoration-blocks building-blocks

mo-glass's Introduction

Mo Glass

Mo Glass is a Minecraft mod that adds glass stairs and glass slabs, including stained and tinted glass variants. They look great in any build and connect seamlessly with vanilla glass blocks. The mod is available for many different Minecraft versions, including snapshots.

A Minecraft house with its roof made out of glass stairs, powered by the Mo Glass mod

Downloads (for users)

Download Mo Glass

Setup (for developers)

(This assumes that you are using Windows with Eclipse and Java Development Kit 21 already installed.)

  1. Clone / download the repository.

  2. Run these two commands in PowerShell:

    ./gradlew.bat --stop
    ./gradlew.bat genSources eclipse
  3. In Eclipse, go to Import... > Existing Projects into Workspace and select this project.

Features

  • Glass Slabs!
  • Glass Stairs!
  • Stained Glass Slabs! (since v1.3)
  • Stained Glass Stairs! (since v1.3)
  • Tinted Glass Slabs! (since v1.6)
  • Tinted Glass Stairs! (since v1.6)
  • Working Transparency! (see below)
  • Working Translucency! (for tinted glass)

Seamless Transparency

Both the stairs and the slabs are see-through in the same way as vanilla glass blocks. You can place multiple stairs, slabs and full blocks next to each other and they will look like a single piece of glass.

an example of seamless transparency in Mo Glass, annotated with arrows to show where the glass pieces connect

Working Translucency

Slabs and stairs made from tinted glass will block light if you place them without any air gaps, or let the light through if there is a gap.

an example of translucency in Mo Glass, demonstrated with tinted glass stairs that either block light or let it through depending on their orientation

Why aren't these blocks part of vanilla Minecraft?

Before I started making this mod, I always thought that Mojang just forgot about these blocks, or that they were too lazy to add them. But now that I've added these blocks myself and spent many hours to get the transparency to work, I think I finally understand why Mojang didn't bother. Minecraft's stairs are surprisingly complex blocks and they were never meant to be made transparent. Slabs might be easy enough, but I think if Mojang added those then people wouldn't stop asking for the stairs. And glass stairs are an absolute nightmare to make.

Stairs can be placed facing North, East, South or West, they can be upside-down or right-side-up, they can be straight or curved in one of four different ways and they have six faces that may or may not be transparent, depending on what block is next to them. But here's the catch: On each of those six faces, there could be another block of glass stairs that can also be placed facing North, East, South or West, upside-down or right-side-up and either straight or curved in one of four different ways. And then of course, on each of the six faces there could also be a non-transparent block, a regular glass block or a glass slab that is either placed on the bottom half, top half, or is a double slab.

In the end, there are 10800 possible scenarios that need to be accounted for just to calculate transparency of glass stairs. But then you also have to calculate the transparency of glass slabs (810 possible scenarios) and adjust the transparency calculation of regular glass blocks (270 possible scenarios, or 258 more than before).*

That's a lot of effort just to add two new blocks to the game - and a lot of opportunities for new bugs to sneak in. That, I think, is why Mojang didn't bother.

*Here's how I got those numbers: (click to expand)

possible variations of stairs: pvStairs = 4 * 2 * 5 = 40

possible variations of slabs: pvSlabs = 3

possible variations of glass blocks: pvGlass = 1

possible variations of non-transparent blocks: pvBlocks = 1 (because any variations would be ignored when calculating transparency)

possible combinations combined: pvAll = pvStairs + pvSlabs + pvGlass + pvBlocks = 40 + 3 + 1 + 1 = 45

possibly transparent faces of a block (including stairs, even though they have more faces): f = 6

possible scenarios for transparency of stairs: psStairs = pvAll * f * pvStairs = 45 * 6 * 40 = 10800

possible scenarios for transparency of slabs: psSlabs = pvAll * f * pvSlabs = 45 * 6 * 3 = 810

possible scenarios for transparency of glass blocks: psGlass = pvAll * f * pvGlass = 45 * 6 * 1 = 270

possible scenarios for transparency of glass blocks if glass stairs and slabs don't exist: psGlassVanilla = (pvGlass + pvBlocks) * f * pvGlass = (1 + 1) * 6 * 1 = 12 

Crafting Recipes

Glass Slab: (click to expand)

glass slab crafting recipse
glass slab stonecutter recipe

Glass Stairs: (click to expand)

glass stairs crafting recipe
glass stairs stonecutter recipe

Supported Languages

  • Chinese (Simplified) (since v1.2)
  • Chinese (Traditional) (since v1.2)
  • English (US) (since v1.0)
  • French (France) (since v1.6)
  • German (Germany) (since v1.2)
  • Italian (Italy) (since v1.6)
  • Japanese (Japan) (since v1.7)
  • Oshiwambo (Oshindonga) (since v1.5)
  • Oshiwambo (Oshikwanyama) (since v1.5)
  • Portuguese (Brazil) (since v1.7)
  • Russian (Russia) (since v1.5)
  • Spanish (Argentina) (since v1.4)
  • Spanish (Chile) (since v1.4)
  • Spanish (Ecuador) (since v1.4)
  • Spanish (Spain) (since v1.4)
  • Spanish (Mexico) (since v1.4)
  • Spanish (Uruguay) (since v1.4)
  • Spanish (Venezuela) (since v1.4)

mo-glass's People

Contributors

aikini avatar alexander01998 avatar fitfc avatar hanatakeyurii avatar haseck avatar k0-rr avatar romz24 avatar tlacatecolotl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

mo-glass's Issues

World corruption

When I install Mo Glass and use any fabric api, including the suggested 0.68.1 from the mo glass download page, my world becomes corrupted. My client is not running any mods and no other mods are running.

I am running a fabric 1.19.3 server forget to mention that bit. The mod version and fabric api version match as 1.19.3.

I have included a screenshots of how it corrupts the world by replacing blocks and items. It also forces my client to crash even though I am giving it 15gb of ram on my last attempt. I am not sure what I am doing wrong or why it is behaving this way.

2023-06-09_22 43 46
2023-06-09_22 43 50
2023-06-09_22 44 05

Ice Slabs and Stairs [Idea]

I think suggestion is straight-forward, but just to add few details:

  • There are three types of Ice, out of which only one is transparent and would need similar treatment as Glass
  • Only one of those types can melt - in which case I think Slabs and Stairs should be able to be melted too for consistency

[Translated a new language!] Add Italian language.

I am Italian (And proud of that) so i created translation file.

{
    "block.mo_glass.glass_slab": "Lastra di vetro",
    "block.mo_glass.white_stained_glass_slab": "Lastra di vetro bianco",
    "block.mo_glass.orange_stained_glass_slab": "Lastra di vetro arancione",
    "block.mo_glass.magenta_stained_glass_slab": "Lastra di vetro magenta",
    "block.mo_glass.light_blue_stained_glass_slab": "Lastra di vetro azzurro",
    "block.mo_glass.yellow_stained_glass_slab": "Lastra di vetro giallo",
    "block.mo_glass.lime_stained_glass_slab": "Lastra di vetro lime",
    "block.mo_glass.pink_stained_glass_slab": "Lastra di vetro rosa",
    "block.mo_glass.gray_stained_glass_slab": "Lastra di vetro grigio",
    "block.mo_glass.light_gray_stained_glass_slab": "Lastra di vetro grigio chiaro",
    "block.mo_glass.cyan_stained_glass_slab": "Lastra di vetro ciano",
    "block.mo_glass.purple_stained_glass_slab": "Lastra di vetro viola",
    "block.mo_glass.blue_stained_glass_slab": "Lastra di vetro blu",
    "block.mo_glass.brown_stained_glass_slab": "Lastra di vetro marrone",
    "block.mo_glass.green_stained_glass_slab": "Lastra di vetro verde",
    "block.mo_glass.red_stained_glass_slab": "Lastra di vetro rosso",
    "block.mo_glass.black_stained_glass_slab": "Lastra di vetro nero",
    "block.mo_glass.glass_stairs": "Scalini di vetro",
    "block.mo_glass.white_stained_glass_stairs": "Scalini di vetro bianco",
    "block.mo_glass.orange_stained_glass_stairs": "Scalini di vetro arancione",
    "block.mo_glass.magenta_stained_glass_stairs": "Scalini di vetro magenta",
    "block.mo_glass.light_blue_stained_glass_stairs": "Scalini di vetro azzurro",
    "block.mo_glass.yellow_stained_glass_stairs": "Scalini di vetro giallo",
    "block.mo_glass.lime_stained_glass_stairs": "Scalini di vetro lime",
    "block.mo_glass.pink_stained_glass_stairs": "Scalini di vetro rosa",
    "block.mo_glass.gray_stained_glass_stairs": "Scalini di vetro grigio",
    "block.mo_glass.light_gray_stained_glass_stairs": "Scalini di vetro grigio chiaro",
    "block.mo_glass.cyan_stained_glass_stairs": "Scalini di vetro ciano",
    "block.mo_glass.purple_stained_glass_stairs": "Scalini di vetro viola",
    "block.mo_glass.blue_stained_glass_stairs": "Scalini di vetro blu",
    "block.mo_glass.brown_stained_glass_stairs": "Scalini di vetro marrone",
    "block.mo_glass.green_stained_glass_stairs": "Scalini di vetro verde",
    "block.mo_glass.red_stained_glass_stairs": "Scalini di vetro rosso",
    "block.mo_glass.black_stained_glass_stairs": "Scalini di vetro nero"
  }
``` Call it it_it.json

Add block tags

Adding the slabs and stairs to the tags #minecraft:slabs and #minecraft:stairs would be a nice quality of life, as well as maybe making a unique tag such as #mo_glass:glass_slabs and #mo_glass:glass_stairs

Optimization for Glass Textures + New Block Set [Idea]

This post is long... very long.
I think this needs a bit of context, so let me provide it:

I was working on textures for another mod which added new resources to the game. I was NOT working on programing side of things so excuse my potential lack of knowledge on the matter.
At some point I decided that I would like to make a new Glass block for that mod, as the idea behind it's functionality was heavily tied to some of those resources.

Then I remembered about this mod, and I though I would like to make textures which would allow for making Slabs and Stairs out of the Glass block in question. I wanted to suggest a new feature with compatibility for mod I'm working on AND this mod.
Before that I obviously need to make textures, but I though I would check to see how you have done it.
I was shocked.

12 FILES for 2 Blocks - Slabs and Stairs.
4 of them are corners for top texture of stairs
4 of them are texture for stairs
2 of them are for slabs... but also top parts of non-corner stairs
And the last 2 of them which looks like vertical slabs are for top parts of non-corner stairs.

And that's just per one type of glass.

I checked the long list of textures and it seems like all glass blocks have been treated this way... which makes some sense - why treat only one block this way and not all of them of this works just fine on one block?

I'm curious if there wasn't perhaps an attempt where instead of having those textures... all fit in less files?

I checked vanilla textures - which obviously wouldn't have had any transparent textures for slabs and stairs and the whole point of this mod IS to add those kind of blocks... I was instead looking for unique textures used only on Slabs or Stairs...
And there is one file specifically for Smooth Stone Slabs I remembered.

It's a single texture containing top AND bottom texture of Slabs - for when player makes a full block out of two stone slabs.

I feel like this should allow for some optimization for files as you could have instead of 12 additional files per block... just 7:
All corners (now 4 textures) could be stored on single file (and as a bonus - you could turn it into a new - Tiled Glass, which would be made of 4 smaller glass blocks)
Horizontal Slabs (now 2 textures) could be stored on single file
"Vertical" Slabs (now 2 textures) could be stored on a single file
And... the stairs textures (now 4 textures) are not quite possible to optimize that way as you need all 4 different textures to make reflections be consistent depending on block orientation. Be it the side of the staircase or top shape of the staircase.
So... still stored on four files.

I haven't tested it yet, but I'm pretty sure it could potentially reduce the size of the mod... at least slightly.
And again - You could then have from that optimization 18 (Normal Glass, Tinted Glass and 16 Stained Glass) new tiled textures for total of 54 new blocks (Full Blocks, Slabs and Stairs, as all of them could need just their respective tiled texture.
You could even add 18 Pane blocks too... If normal Pane texture (the thin line texture used for Pane Glass and it's 16 Stained siblings) was looking well enough.

It's like killing two birds with one stone. Or... in this case glass shard.

Granted - you would have to program in those blocks too and possibly make 4 new textures shaped like stairs as well just to hide corner textures from appearing under those small parts of Stair models... which means that from 7 files per glass variant we moved back to 13 files per variant and reverted the optimization... but we would end-up with more content along the way so maybe it's worth it.

All of this... unless there is a reason why you decided to go with separate files and somehow not separating the files into 12 for each glass variant was causing errors.
There is this new transparency after all... and obviously Stairs and Slabs - as you mentioned - were not supposed to be transparent as they are hell to program if attempted to be made transparent...

I'm curious what you think of the idea.
If you want I could attempt combining textures myself at some point if you would rather not do it in your free time. I don't have much time myself, but I think I could reserve some.
Coding... as I mentioned before - I don't have much experience with it, so I can't help with that part.

[Suggestion] Is it possible to apply Vanilla textures for all sides of blocks?

Hi there! I love your creative idea on glass variants! However, when I use my favorite texturepack and found some sides of blocks are not entirely applied with it. I think this may be caused by the difficulty of applying all vanilla textures to those glass variants. I don't know if it's possible to apply textures accurately to pixels (I'm a layman of modding). What do you think?
Another suggestion, could you add an item group of all your glass variants?

Visual Bug - Mo Glass v1.3 for MC 1.16.1

 Very nice mod and much appreciated!

Not sure if here or the Curseforge page is a better place to post this.

There seems to be a visual bug with Mo Glass v1.3 for MC 1.16.1 (haven't tested other versions) with stairs in admittedly weird positions.  Screenshot attached with areas circled in red.
2020-07-17_00 21 12

Compatibility level set to JAVA_16

1.18-RC3 and RC4 server will not start with Compatibility level set to JAVA_16.
I was testing in my new mod pack, 99 Mods on the Wall: Fabric Edition to run on a server and got this message. I narrowed it down to Mo Glass and then tried to run the server with only Mo Glass and the error persisted.

Caused by: java.lang.IllegalArgumentException: The requested compatibility level JAVA_17 could not be set. Level is not supported by the active JRE or ASM version (Java 17.0, ASM 9.0 (ASM10_EXPERIMENTAL))

- fabricloader 0.12.5
- java 17
- minecraft 1.18-rc.3
- mo_glass 1.5-MC1.18-rc

latest.log

console_log.txt

Crash on Startup

Fabric Version: 0.11.3
Server Version: 1.16.5
Mod Version: 1.5

Servercrash on startup...

[19:29:16] [main/FATAL]: Mixin prepare failed preparing GlassBlockMixin in mo-glass.mixins.json: org.spongepowered.asm.mixin.transformer.throwables.InvalidMixinException The specified mixin 'net.wurstclient.glass.mixin.GlassBlockMixin' was not found
org.spongepowered.asm.mixin.transformer.throwables.InvalidMixinException: The specified mixin 'net.wurstclient.glass.mixin.GlassBlockMixin' was not found
	at org.spongepowered.asm.mixin.transformer.MixinInfo.<init>(MixinInfo.java:855) ~[fabric-server-launch.jar:?]
	at org.spongepowered.asm.mixin.transformer.MixinConfig.prepareMixins(MixinConfig.java:715) ~[fabric-server-launch.jar:?]
	at org.spongepowered.asm.mixin.transformer.MixinConfig.prepare(MixinConfig.java:648) ~[fabric-server-launch.jar:?]
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.prepareConfigs(MixinProcessor.java:514) ~[fabric-server-launch.jar:?]
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.select(MixinProcessor.java:439) ~[fabric-server-launch.jar:?]
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.checkSelect(MixinProcessor.java:415) ~[fabric-server-launch.jar:?]
	at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:285) ~[fabric-server-launch.jar:?]
	at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:208) ~[fabric-server-launch.jar:?]
	at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:178) ~[fabric-server-launch.jar:?]
	at org.spongepowered.asm.mixin.transformer.FabricMixinTransformerProxy.transformClassBytes(FabricMixinTransformerProxy.java:23) ~[fabric-server-launch.jar:?]
	at net.fabricmc.loader.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:157) ~[fabric-server-launch.jar:?]
	at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:150) ~[fabric-server-launch.jar:?]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_261]
	at java.lang.Class.forName0(Native Method) ~[?:1.8.0_261]
	at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_261]
	at net.fabricmc.loader.util.DefaultLanguageAdapter.create(DefaultLanguageAdapter.java:45) ~[fabric-server-launch.jar:?]
	at net.fabricmc.loader.EntrypointStorage$NewEntry.create(EntrypointStorage.java:112) ~[fabric-server-launch.jar:?]
	at net.fabricmc.loader.EntrypointStorage$NewEntry.getOrCreate(EntrypointStorage.java:99) ~[fabric-server-launch.jar:?]
	at net.fabricmc.loader.EntrypointStorage.lambda$getEntrypointContainers$1(EntrypointStorage.java:184) ~[fabric-server-launch.jar:?]
	at net.fabricmc.loader.entrypoint.EntrypointContainerImpl.getEntrypoint(EntrypointContainerImpl.java:37) [fabric-server-launch.jar:?]
	at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke0(EntrypointUtils.java:50) [fabric-server-launch.jar:?]
	at net.fabricmc.loader.entrypoint.minecraft.hooks.EntrypointUtils.invoke(EntrypointUtils.java:36) [fabric-server-launch.jar:?]
	at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:137) [fabric-server-launch.jar:?]
	at net.fabricmc.loader.launch.knot.KnotServer.main(KnotServer.java:28) [fabric-server-launch.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_261]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_261]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_261]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_261]
	at net.fabricmc.loader.launch.server.FabricServerLauncher.launch(FabricServerLauncher.java:62) [fabric-server-launch.jar:?]
	at net.fabricmc.loader.launch.server.FabricServerLauncher.setup(FabricServerLauncher.java:106) [fabric-server-launch.jar:?]
	at net.fabricmc.loader.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:50) [fabric-server-launch.jar:?]
Caused by: java.lang.ClassNotFoundException: The specified mixin 'net.wurstclient.glass.mixin.GlassBlockMixin' was not found
	at org.spongepowered.asm.mixin.transformer.MixinInfo.loadMixinClass(MixinInfo.java:1297) ~[fabric-server-launch.jar:?]
	at org.spongepowered.asm.mixin.transformer.MixinInfo.<init>(MixinInfo.java:848) ~[fabric-server-launch.jar:?]
	... 30 more
[19:29:16] [main/INFO]: I used the json to destroy the json

Crash on server 1.6 [1.18.1]

Crash on server start up

[01:50:41] [main/FATAL]: Failed to start the minecraft server
java.lang.RuntimeException: Could not execute entrypoint stage 'server' due to errors, provided by 'mo_glass'!
at Not Enough Crashes deobfuscated stack trace.(1.18.1+build.5) ~[?:?]
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.lambda$invoke0$0(EntrypointUtils.java:51) ~[fabric-loader-0.12.11.jar:?]
at net.fabricmc.loader.impl.util.ExceptionUtil.gatherExceptions(ExceptionUtil.java:33) ~[fabric-loader-0.12.11.jar:?]
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:49) ~[fabric-loader-0.12.11.jar:?]
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke(EntrypointUtils.java:35) ~[fabric-loader-0.12.11.jar:?]
at net.fabricmc.loader.impl.game.minecraft.Hooks.startServer(Hooks.java:63) ~[fabric-loader-0.12.11.jar:?]
at net.minecraft.server.Main.main(Main:106) [server-intermediary.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at net.fabricmc.loader.impl.game.minecraft.MinecraftGameProvider.launch(MinecraftGameProvider.java:602) [fabric-loader-0.12.11.jar:?]
at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:77) [fabric-loader-0.12.11.jar:?]
at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) [fabric-loader-0.12.11.jar:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:66) [fabric-loader-0.12.11.jar:?]
Caused by: java.lang.NoClassDefFoundError: net/minecraft/class_1921
at net.wurstclient.glass.MoGlassBlocks.initialize(MoGlassBlocks.java:149) ~[Mo-Glass-1.6-MC1.18.1.jar:?]
at net.wurstclient.glass.MoGlass.initialize(MoGlass.java:22) ~[Mo-Glass-1.6-MC1.18.1.jar:?]
at net.wurstclient.glass.MoGlassInitializer.onInitializeServer(MoGlassInitializer.java:36) ~[Mo-Glass-1.6-MC1.18.1.jar:?]
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47) ~[fabric-loader-0.12.11.jar:?]
... 15 more
Caused by: java.lang.ClassNotFoundException: net.minecraft.class_1921
at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[?:?]
at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
at net.fabricmc.loader.impl.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:158) ~[fabric-loader-0.12.11.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[?:?]
at net.wurstclient.glass.MoGlassBlocks.initialize(MoGlassBlocks.java:149) ~[Mo-Glass-1.6-MC1.18.1.jar:?]
at net.wurstclient.glass.MoGlass.initialize(MoGlass.java:22) ~[Mo-Glass-1.6-MC1.18.1.jar:?]
at net.wurstclient.glass.MoGlassInitializer.onInitializeServer(MoGlassInitializer.java:36) ~[Mo-Glass-1.6-MC1.18.1.jar:?]
at net.fabricmc.loader.impl.entrypoint.EntrypointUtils.invoke0(EntrypointUtils.java:47) ~[fabric-loader-0.12.11.jar:?]
... 15 more

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.