Giter Site home page Giter Site logo

lucaargolo / kibe Goto Github PK

View Code? Open in Web Editor NEW
44.0 3.0 29.0 1.56 MB

A miscellaneous mod for Minecraft that adds a bunch of random, and mostly unoriginal things.

License: Mozilla Public License 2.0

Kotlin 90.87% Java 9.13%
kibe mods fabric fabricmc-mod fabricmc minecraft minecraft-mod mod

kibe's Introduction

Kibe

A miscellaneous mod for Minecraft that adds a bunch of random, and mostly unoriginal things.

Also uses PlayerAbilityLib by Pyrofab

Features

For a complete list of features please check the mods official page

License

Distributed under the Mozilla Public License 2.0. See LICENSE for more information.

Build

If you want to build this yourself, please clone the repository and execute gradlew build in the projects folder.

Artifacts will be generated at /build/libs

kibe's People

Contributors

adirelle avatar allanf181 avatar itsmiir avatar jpenilla avatar k0-rr avatar littlecircleoo avatar lucaargolo avatar luligabi1 avatar nichrosia avatar phoenixvx avatar qsefthuopq avatar romz24 avatar shartte avatar technici4n avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

kibe's Issues

[Suggestion] Enchantable diamond spikes

Allow diamond spikes to be enchanted, either like a sword (or an axe) or by a subset or enchantments:

  • Looting,
  • Smite / Bane of Arthropods / Sharpness,
  • maybe Efficiency (to reduce the delay between damages ?).

Vacuum Hopper wastes XP orbs when full

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.

Dedicated server crash when player tries to change the texture of Drawbridge

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

Suggestion: Spread negative gossip upon capturing a villager

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.

Cant craft in survival

In my survival world I cant craft items such as the glider and the pocket crafting table. and al the other items as wel.

Big torch does not block enderman spawning in the end

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.

crash with immersive portals

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

[Suggestion] Vacuum hopper and regular hoppers

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.

suggestion: chest sound

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.

suggestion: wither roses on cursed dirt

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.

An Unexpected Issue Occurred

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?

java.lang.NoClassDefFoundError: net.minecraft.class_746

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

Vacuum Hopper GUI, Glass Bottle and shift+click

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 ?

Cursed Soil Issue

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!

Chunkloader does not appear to work on multiplayer server

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?

Crash on launch

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

Angel ring through dimensions

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.

Sleeping bag teleported player to 0, 0, 0 and they fell out of the world

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?

Version 1.16.1 no longer supported

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

Cursed Dirt not checking valid spawn requirements (at least for enderman)

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.

XP Showers don't take from liquid in tank blocks aside from the one it's attached to

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!)

suggestion: lava vacuum ring

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.

[Suggestion] Wall/roof spikes

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.

[Suggestions] Add auto pickup to entangled bag, add player interface

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.

Cursed dirt changes Big Torches behavior which leads to random mobs spawning

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:

  1. Cursed Dirt has a randomTick method and within it calls getSpawnableMonster to try and spawn a mob. See CursedCursedDirt.kt#L94
  2. Within getSpawnableMonster it calls the singleton for BigTorchBlockEntity and sets the exception to true. See CursedDirt.kt#L142
  3. Looking at BigTorchBlockEntity, the exception modifies the behavior of isChunkSuppressed so that it returns false. The method isChunkSuppressed doesn't seem to take into consideration which chunk should be the exception nor whether the chunk that is calling isChunkSuppressed is the chunk that set the exception. When combined with thread concurrency, it is possible that between the time that Cursed Dirt sets the exception and checks if the chunk is suppressed that another call to isChunkSuppressed has taken the exception allowing a different chunk within any Big Torch's boundary to spawn a mob. This matches behavior that I am seeing where mobs are spawning in random chunks that are "protected" by a Big Torch. See BigTorchBlockEntity.kt#L147
  4. More Cursed Dirt blocks, or more chunks with the blocks in them, will lead to larger probabilities of the randomTick method call. This means that as time goes on and the Cursed Dirt spreads, there is a greater chance for a possible concurrency issue and more likely that any other chunk within a Big Torch's influence will allow mobs to spawn. If the chunk with Cursed Dirt is chunk loaded (whether through a nearby player or chuck loader from mods) then it increases the length of time that this can go on leading to the following behavior:
    • Mobs can spawn according to normal minecraft spawning within Big Torch covered chunks
    • If mobs within a Cursed Dirt chunk are moved to a different chunk like often is done within a larger mob farm, they will never exceed the Cursed Dirt mob capacity limit and so the chunks the mobs are removed from will continue to try to create new mobs and new BigTorchBlockEntity exceptions
    • Because of the previous two points, mobs will slowly increase in number within chunk loaded Big Torch covered chunks that do not have Cursed Dirt in them

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.

Multiple lasso bugs version 1.16.1 1.1.5-Beta

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 )

  1. 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.

  2. 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.

BUG

REI shows that you could get cursed droplets by killing evry mob, but i get it only by killing wither skeleton

XP drain yield and XP shower yield are not 1:1

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.

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.