lucaargolo / kibe Goto Github PK
View Code? Open in Web Editor NEWA miscellaneous mod for Minecraft that adds a bunch of random, and mostly unoriginal things.
License: Mozilla Public License 2.0
A miscellaneous mod for Minecraft that adds a bunch of random, and mostly unoriginal things.
License: Mozilla Public License 2.0
When attempting to use the slimesling/slime boots on a Fabric server, the server crashes after letting go of the right mouse button. Here's the log when it occurs:
[08:58:27] [Server thread/ERROR]: Encountered an unexpected exception
java.lang.NoClassDefFoundError: net.minecraft.class_746
at Not Enough Crashes deobfuscated stack trace.(1.16.1+build.17) ~[?:?]
at io.github.lucaargolo.kibe.utils.SlimeBounceHandler.<init>(SlimeBounceHandler.java:18) ~[kibe-1.16.1-1.1.3-BETA.jar:?]
at io.github.lucaargolo.kibe.utils.SlimeBounceHandler$Companion.addBounceHandler(SlimeBounceHandler.java:36) ~[kibe-1.16.1-1.1.3-BETA.jar:?]
at io.github.lucaargolo.kibe.items.miscellaneous.SlimeSling.onStoppedUsing(SlimeSling.java:62) ~[kibe-1.16.1-1.1.3-BETA.jar:?]
at net.minecraft.item.ItemStack.onStoppedUsing(ItemStack:485) ~[?:?]
at net.minecraft.entity.LivingEntity.stopUsingItem(LivingEntity:2947) ~[?:?]
at net.minecraft.server.network.ServerPlayNetworkHandler.onPlayerAction(ServerPlayNetworkHandler:939) ~[?:?]
at net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket.apply(PlayerActionC2SPacket:40) ~[?:?]
at net.minecraft.network.packet.c2s.play.PlayerActionC2SPacket.apply(PlayerActionC2SPacket:10) ~[?:?]
at net.minecraft.network.NetworkThreadUtils.method_11072(NetworkThreadUtils:21) ~[?:?]
at net.minecraft.class_2600$$Lambda$5461/0000000000000000.run(Unknown Source) ~[?:?]
at net.minecraft.server.ServerTask.run(ServerTask:18) ~[?:?]
at net.minecraft.util.thread.ThreadExecutor.executeTask(ThreadExecutor:144) ~[?:?]
at net.minecraft.util.thread.ReentrantThreadExecutor.executeTask(ReentrantThreadExecutor:23) ~[?:?]
at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer:763) ~[intermediary-server.jar:?]
at net.minecraft.server.MinecraftServer.executeTask(MinecraftServer:154) ~[intermediary-server.jar:?]
at net.minecraft.util.thread.ThreadExecutor.runTask(ThreadExecutor:118) ~[?:?]
at net.minecraft.server.MinecraftServer.method_20415(MinecraftServer:745) ~[intermediary-server.jar:?]
at net.minecraft.server.MinecraftServer.runTask(MinecraftServer:739) ~[intermediary-server.jar:?]
at net.minecraft.util.thread.ThreadExecutor.runTasks(ThreadExecutor:127) ~[?:?]
at net.minecraft.server.MinecraftServer.method_16208(MinecraftServer:724) ~[intermediary-server.jar:?]
at net.minecraft.server.MinecraftServer.method_29741(MinecraftServer:676) [intermediary-server.jar:?]
at net.minecraft.server.MinecraftServer.method_29739(MinecraftServer:256) [intermediary-server.jar:?]
at net.minecraft.server.MinecraftServer$$Lambda$4504/0000000000000000.run(Unknown Source) [intermediary-server.jar:?]
at java.lang.Thread.run(Thread.java:835) [?:?]
Caused by: java.lang.ClassNotFoundException: net.minecraft.class_746
at jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:788) ~[?:?]
at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[?:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:1081) ~[?:?]
at net.fabricmc.loader.launch.server.InjectingURLClassLoader.loadClass(InjectingURLClassLoader.java:56) ~[fabric-server-launch.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:1081) ~[?:?]
at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:161) ~[fabric-server-launch.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:1081) ~[?:?]
... 24 more
This line seems to be the culprit: https://github.com/lucaargolo/kibe/blob/master/src/main/kotlin/io/github/lucaargolo/kibe/utils/SlimeBounceHandler.kt#L18
took a big torch.
loaded a few stacks of torches into it.
wanted to see if I could feed them in via a hopper.
place hopper on top
open hopper, place stack of torches.
crash on linux server
A player logged into my server, noticed it was dark, and immediately slept with the sleeping bag. They died and a death chest was placed as close to 0, 0, 0 as it could get while still being in world. It looks like the sleeping position of the player is determined by the following code in SleepingBag.kt:
val sleepingPos = rayTraceContext.run {
if(this.type == HitResult.Type.BLOCK) {
return@run BlockPos(this.pos)
}else{
return@run BlockPos.ORIGIN
}
}
Shouldn't a rayTrace if it isn't HitResult.Type.BLOCK actually return the player position or fail instead of BlockPos.ORIGIN which is located at 0, 0, 0?
I tried to set up a mob farm on a server using Cursed Dirt so that I could collect mob resources. I had previously placed a Big Torch and it has a full set of torches within it. There are also additional Big Torches in farther chunks to cover a larger area. Prior to placing the cursed seed on the dirt to make Cursed Dirt, no mobs would spawn anywhere within the chunks covered by the Big Torches. After letting the Cursed Dirt spread for a little while along with mobs spawning within the Cursed Dirt mob farm, areas that should be covered by the Big Torches are now starting to spawn mobs.
I originally thought it might be cursed Endermen picking up the Cursed Dirt and placing it elsewhere, but no dirt is missing from the mob farm and I can't find any Cursed Dirt in areas where mobs are spawning. The mobs that are spawning do not look like cursed versions but regular mobs that would spawn if the Big Torches no longer were covering an area.
Here is how I think it's happening:
I would imagine solving the problem is not simple. While code could be added to verify which chunk the exception is for, it would not work for people who build mob farms either above or below their main bases while depending on the Big Torch to prevent mobs from spawning in those bases.
A better solution might require changing the suppression check to be more thorough in HostileEntityMixin.java#L20 to get rid of the exceptions needed due to the Cursed Dirt. I am not an expert at Kotlin and rusty with fabric mod development so am unsure of how one might specifically be able to compare the block below to CursedDirt, but I would imagine it would be something like:
if(BigTorchBlockEntity.Companion.isChunkSuppressed(world.toServerWorld().getRegistryKey(), new ChunkPos(pos))) {
+ // Include checking the block beneath the current pos to see if it is a CursedDirt block and return true if it is
+ if(world.toServerWorld().getBlockState(pos.down()).getBlock() is CursedDirt) return info.setReturnValue(true);
+ // otherwise return false like before
info.setReturnValue(false);
}
This would allow normal, non-cursed mobs to spawn on Cursed Dirt but that might be an acceptable alternative.
Finally, one could possibly change how the spawn check is done within getSpawnableMonster so that it doesn't actually create exceptions at all by doing its own spawning verification. This likely would be the hardest solution because there doesn't seem to be an easy way to get any common base that covers all the possible mobs that might spawn.
Given I put a stack of Glass Bottles in input sloft of the Vacuum Hopper,
Then it shows a certain number of Bottle o' Enchanting in the output slot.
If I shift-click the output slot, I initially get the indicated number of Bottles o' Enchanting.
But when I close the Vacuum Hopper GUI, the number of Glass Bottles and Bottles o' Enchanting in my inventory changes.
Also, I could not guess how many mB of Liquid XP each Bottle o' Enchanting contains (same question for buckets, though).
BTW, what one could do with a bucket of Liquid XP ?
In my survival world I cant craft items such as the glider and the pocket crafting table. and al the other items as wel.
The Angel Ring doesn't work when switching through dimensions via teleporting (and maybe normally too, not too sure). This causes problems with mods like Immersive Portals, /tpa, and /home.
Or maybe it's Mouse Wheelie causing it I don't know I'm not a scientist
Crash Report:
Fix the spawn of spiders with cursed soil or add a config folder where I can disable it! sick of darned spiders clogging my Cursed soil mob farm! I've tried slabs, overhangs, leaves, signs, ladders, fences, cacti, etc, they still spawn!
The big torch affects every spawner (well, maybe not all, I didn't test all of them) except for the guardian spawner
took cooler that was placed on ground and put a stack of apples in it.
picked up cooler (broke the block)
put in hotbar
right clicked it
crashed linux server
https://hastebin.com/fateyepuki.sql
1.16.2
Allow spikes to be mounted on walls and on the roof, to get rid of those pesky, climbing, 8-legged horrors, and flying creatures too.
Looks like a copy-pasta error.
Version 1.3.1
Minecraft 1.16.4
Kibe 1.5-beta
Chunkloader doesn't seem to actually load any chunks on a multiplayer server. I had a portal set up to put mobs through and kill them on the other side, then send back the drops, but they would just disappear and nothing happened. I had to have another player go stand by the killing machine on the other side, and everything worked as intended. Not sure what i'm doing wrong?
Description: Exception in server tick loop
java.lang.NoClassDefFoundError: net/minecraft/class_310
at io.github.lucaargolo.kibe.blocks.drawbridge.DrawbridgeScreenHandler.method_7609(DrawbridgeScreenHandler.java:60)
at io.github.lucaargolo.kibe.utils.BlockEntityInventory.method_5434(BlockEntityInventory.java:29)
at net.minecraft.class_1735.method_7671(class_1735.java:104)
at net.minecraft.class_1703.method_30010(class_1703.java:308)
at net.minecraft.class_1703.method_7593(class_1703.java:177)
at io.github.lucaargolo.kibe.blocks.drawbridge.DrawbridgeScreenHandler.method_7593(DrawbridgeScreenHandler.java:52)
Full Crashlog
https://paste.lucko.me/49LO0ij1J7
make the entangled chest have an opening sound, it can be the vanilla one. its just wierd to have no sound when opening it.
given the opening animation maybe its even the shulker box sound.
The glider remains opened when you select a different item in the hotbar.
Also the glider should close after landing.
Shouldn't id be Bottle o' Enchanting ?
Lava is a hassle to deal with. While resistance is great, it doesn't help us miners get to the resources.
A ring that could void a lava source block would be very helpful. The player would point the ring in the direction of a lava source block. If this block is in the interaction range of the player, it would be removed.
"2": "block:obsidian",
should be
"2": "block/obsidian",
This mod looks awesome, bring some classic mod elements to Fabric.
One snag, crashes on server start up.
Log: https://gist.github.com/kwpugh/1c78353ac22ad793b8dcce33ee156718
Allow diamond spikes to be enchanted, either like a sword (or an axe) or by a subset or enchantments:
1 . Gold and Diamond lasso cannot pick up villagers, you just open the GUI instead ( I managed to do it ONCE by accident and could not ever again )
If you pick up a zombie with a Diamond lasso, there is a chance you will put down a baby zombie instead. After picking this up and putting it down multiple times, it then spawned with a full set of gold enchanted armor it did not previously have.
Placing a mob down against a wall results in it ending up inside the wall and suffocating, often in the blocks above where you placed it. Even placing down on the floor near a wall they often take damage.
Hey, long time no see ! :)
Could the input slot of the vacuum hopper accepts glass bottles from hoppers ? (Maybe the main inventory should not accept items).
Could the bottles in the output slot be gathered by a hopper ?
Thanks.
Hi, dunno where to put suggestions, but it would be really nice if the entangled bag could be set to automatically pick things up, and it would be amazing if this could be filtered. It would also be awesome if Kibe could add a player interface like the one from actually additions ([https://ftb.gamepedia.com/Player_Interface]). Great mod, so far my only actual issue is how subtle the facing for entangled chest/tanks is, which took a bit to figure out.
Just updated to kibe 1.16.4-1.5.1BETA and am now getting a crash.
Needed to update 1 mod in my pack but then one update led to another and am now currently on yours.
Mods I updated in order as follows:
Justmap-1.2.16-1.16.4-release
limitless-1.0.2
config-2-4.8.3
cloth-api-1.4.9
fabric-api-1.25.4+1.16
RoughlyEnoughItems-5.8.3
slight-gui-modifications-1.5.1
AnvilFix-1.1.3+build.7-1.16
Kibe-1.16.4-1.5.1BETA
modmenu-1.14.7+build.11
libblockattributes-all-0.8.4
autoconfig1u-3.3.1
Crash report and latest log attached:
crash-2020-11-11_11.04.32-client.txt
latest.log
When trying to pick up tamed mobs like cat or dog they sit, even when sneaking.
When trying to pick up a horse tamed or untamed, they perform their right click interaction instead of being picked up by lasso.
The areas around cursed dirt mobfarms get infested with enderman. Even if these farms have a 2 high ceiling.
What we suspect is happening, is that despite the 2 block spawn height, endermen are still spawned by the Cursed Dirt. This gives the endermen a tick of suffocation damage, and they immediately teleport.
Every few hours I use /kill to clean up these endermen, usually about 1100 get killed.
I'm already using the bottom side with fluid hopper. So I'm trying to pull items out of the side using @EZPAS puller pipes.
it would be usefull to be able to silk touch cursed dirt, and place it manually.
When the Vacuum Hopper is almost full (15880 or more), it continues to attract and consume XP orbs though it cannot transform them into liquid XP because it would overflow.
Minecraft 1.16.2.
Kibe 1.2.
Hi! I've been having issues with this mod not working. The game crashes and says "An unexpected issue occurred and the game crashed. We're sorry for the inconvenience." Are there any things I could do to stop this from happening? I know that immersive portals doesn't work with this mod, but I don't have that installed right now. Are there any other mods that conflict with this one, or any tips in general?
Max Tier Big Torches do not stop pillagers from spawning at pillager outposts
It appears that endermen are able to spawn in the radius of big torches in the end. Weirdly enough, most enderman spawns are blocked, but not quite all of them: waiting around for 20-ish seconds on the main end island after covering it in the radius of big torches will result in one or two endermen spawning.
This was witnessed in All Of Fabric 3, so it might be caused by Better End, which appears to mess with enderman spawning in this mixin. I'm reporting the bug here because I would imagine that the big torch should prevent enderman spawning regardless of other factors, or at least either prevent either all or none of them.
Experience in is less than experience out, and so it duplicates experience at rate close to 2:1 but not quite. My setup to test this is simply an XP drain, a tank and an XP shower.
Edit: as I say this, I tested Kibe on its own and it must be another mod causing it. For posterity, I'll leave this issue up and report back when I figure out which mod causes it.
Client crashes when trying to use an entangled bucket on a bubble column: https://pastebin.com/mmu61PAE
The latest version, 1.2-BETA, crashes on mc version 16.1.
Could you release version 0.5.5 for mc 16.1 as well as 16.2?
Mixin apply failed kibe.mixins.json:HostileEntityMixin -> net.minecraft.class_1588: org.spongepowered.asm.mixin.transformer.throwables.InvalidMixinException Unexpecteded ClassMetadataNotFoundException whilst transforming the mixin class: [MAIN Applicator Phase -> kibe.mixins.json:HostileEntityMixin -> Apply Methods -> (Lnet/minecraft/class_5425;Lnet/minecraft/class_2338;Ljava/util/Random;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;)V:handler$bgj000$isSpawnDark -> Transform Descriptor -> desc=Lnet/minecraft/class_5425;]
org.spongepowered.asm.mixin.transformer.throwables.InvalidMixinException: Unexpecteded ClassMetadataNotFoundException whilst transforming the mixin class: [MAIN Applicator Phase -> kibe.mixins.json:HostileEntityMixin -> Apply Methods -> (Lnet/minecraft/class_5425;Lnet/minecraft/class_2338;Ljava/util/Random;Lorg/spongepowered/asm/mixin/injection/callback/CallbackInfoReturnable;)V:handler$bgj000$isSpawnDark -> Transform Descriptor -> desc=Lnet/minecraft/class_5425;]
at org.spongepowered.asm.mixin.transformer.MixinTargetContext.transformMethod(MixinTargetContext.java:490)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyNormalMethod(MixinApplicatorStandard.java:523)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMethods(MixinApplicatorStandard.java:509)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.applyMixin(MixinApplicatorStandard.java:381)
at org.spongepowered.asm.mixin.transformer.MixinApplicatorStandard.apply(MixinApplicatorStandard.java:320)
at org.spongepowered.asm.mixin.transformer.TargetClassContext.applyMixins(TargetClassContext.java:345)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:570)
at org.spongepowered.asm.mixin.transformer.MixinProcessor.applyMixins(MixinProcessor.java:351)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClass(MixinTransformer.java:191)
at org.spongepowered.asm.mixin.transformer.MixinTransformer.transformClassBytes(MixinTransformer.java:178)
at org.spongepowered.asm.mixin.transformer.FabricMixinTransformerProxy.transformClassBytes(FabricMixinTransformerProxy.java:23)
at net.fabricmc.loader.launch.knot.KnotClassDelegate.getPostMixinClassByteArray(KnotClassDelegate.java:157)
at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:143)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at net.fabricmc.loader.launch.knot.KnotClassLoader.loadClass(KnotClassLoader.java:156)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at net.minecraft.class_2246.<clinit>(class_2246.java:333)
at net.minecraft.class_2378.method_10237(class_2378.java:169)
at net.minecraft.class_2378$$Lambda$191/270313690.get(Unknown Source)
at net.minecraft.class_2378.method_29110(class_2378.java:220)
at net.minecraft.class_2378$$Lambda$235/348209600.accept(Unknown Source)
at java.util.LinkedHashMap.forEach(LinkedHashMap.java:676)
at net.minecraft.class_2378.<clinit>(class_2378.java:219)
at net.minecraft.class_2966.method_12851(class_2966.java:41)
at net.minecraft.client.main.Main.main(Main.java:137)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:192)
at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:140)
at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:26)
Caused by: org.spongepowered.asm.mixin.throwables.ClassMetadataNotFoundException: net.minecraft.class_5425
at org.spongepowered.asm.mixin.transformer.MixinTargetContext.transformSingleDescriptor(MixinTargetContext.java:949)
at org.spongepowered.asm.mixin.transformer.MixinTargetContext.transformSingleDescriptor(MixinTargetContext.java:909)
at org.spongepowered.asm.mixin.transformer.MixinTargetContext.transformMethodDescriptor(MixinTargetContext.java:964)
at org.spongepowered.asm.mixin.transformer.MixinTargetContext.transformDescriptor(MixinTargetContext.java:865)
at org.spongepowered.asm.mixin.transformer.MixinTargetContext.transformMethod(MixinTargetContext.java:447)
... 34 more
What if when you used a Lasso to capture a Villager, it would gain some negative gossip towards you which made trade prices more expensive with that villager (and possibly others)?
For example, you see a Librarian that is asking 10 emeralds for a mending book. You like that trade, so you capture the villager. You then release the villager, but this time inside your home village / trading hall. Once you release the villager, you decide to buy a mending book, but the price has increased to 15 emeralds for a mending book. due to the negative gossip you acquired by capturing the villager. This price increase slowly fades over time, until you're back at 10 emeralds a (in-game) week later.
This effect should be configurable (if possible) so that players who don't like spreading negative gossip upon capturing a villager can disable it for themselves.
REI shows that you could get cursed droplets by killing evry mob, but i get it only by killing wither skeleton
Minecraft 1.16.1 crashes when Kibe 1.1.12 and Immersive Portals are both installed. Previous versions of Kibe worked fine with Immersive Portals. I tried getting the crash report, but they're not being created so I'm not sure how else to help. Here's a log file, I dunno if it'll help.
[23:07:34] [main/INFO]: Loading for game Minecraft 1.16.1
[23:07:34] [main/INFO]: [FabricLoader] Loading 55 mods: [email protected]+eae12eb802, [email protected]+3fa9f7c502, [email protected]+build.204, [email protected], [email protected]+045df74f02, [email protected]+a2d21ddd02, [email protected]+a71b305302, [email protected], [email protected]+fe81e12502, [email protected]+12a8474c02, [email protected]+b7f9825d02, [email protected]+eae12eb802, [email protected]+b7084faa02, [email protected], [email protected], [email protected]+c6a8ea8902, [email protected]+013e49d202, [email protected], [email protected]+5a0f9a6002, [email protected], [email protected]+386eb69e02, [email protected]+build.384-1.16.1, [email protected]+0a6f2a7002, [email protected]+e00ecb5f02, [email protected], [email protected]+97324d1102, [email protected]+b50ffc7b02, [email protected]+build.13, [email protected], [email protected]+5ce5339802, [email protected]+55e0cc5f02, [email protected], [email protected]+34d6c87102, [email protected]+059ea86602, [email protected]+16acbe5b02, [email protected]+7066030f02, [email protected]+b7f9825d02, [email protected]+build.1, [email protected]+5341049002, [email protected]+346247d702, [email protected]+f404f3be02, [email protected], [email protected], [email protected]+f41e209802, [email protected], [email protected]+059ea86602, [email protected]+a4c57d8e02, [email protected]+7dba2d6c02, [email protected]+52d3083602, [email protected]+b764ce9902, [email protected]+16acbe5b02, [email protected]+438f963602, [email protected]+dfdb52d602, [email protected]+a2d21ddd02, [email protected]
[23:07:36] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8 Source=file:/C:/Users/joshu/AppData/Roaming/.minecraft/libraries/net/fabricmc/sponge-mixin/0.8+build.18/sponge-mixin-0.8+build.18.jar Service=Knot/Fabric Env=CLIENT
[23:07:36] [main/WARN]: Error loading class: org/jetbrains/annotations/ApiStatus$Internal (java.lang.ClassNotFoundException: org/jetbrains/annotations/ApiStatus$Internal)
[23:07:37] [main/WARN]: @reDIrect conflict. Skipping immersive_portals.mixins.json:MixinServerWorld->@reDIrect::redirectGetForcedChunks(Lnet/minecraft/class_3218;)Lit/unimi/dsi/fastutil/longs/LongSet; with priority 1000, already redirected by kibe.mixins.json:ServerWorldMixin->@reDIrect::redirectGetForcedChunksOnTick(Lnet/minecraft/class_3218;)Lit/unimi/dsi/fastutil/longs/LongSet; with priority 1000
they can go on vanilla dirt variants, would make sense they are able to be placed on cursed dirt. would also help for mob farms, reducing number of unwanted entities in things such as a wither skeleton farm, and thus saving tps.
When equipping a Chunkloader, turtles should load a 3x3 area around them.
Kibe version: 1.4.3
Minecraft version: 1.16.2
Modpack: All of Fabric 3 v2.0.5 (with removed mods from v2.0.4 readded)
I had 3 tanks placed on top of each other, with liquid XP entirely filling the lowest tank block, and a little bit more in the middle one. I placed the XP Shower on the side of the top tank block. Doing so did not have it pull out any XP - it can only pull out of the tank block it's currently attached to.
(Unrelated: thanks for this mod!! It's great seeing all of these cool features from OpenBlocks and elsewhere implemented in a modern Fabric mod. The rework of the old Ender Storage mod is especially cool. Hope to see more from you!)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.