@ccuser44 opened this Issue on April 28th 2021

Description

When using jesus in singleplayer all mobs in a nearby area will get jesus as well. Anyways it is annoying when you think you are safe in an ocean but then 4 baby zombies with jesus attack you.

Steps To Reproduce

Please make a list of steps to reproduce the problem (ideally from a fresh Wurst installation):

  1. Enable jesus.
  2. Have mobs in a nearby area.
  3. Bring the mobs into water.

Screenshots / Videos (Optional)

2021-04-28_16 32 55
2021-04-28_16 32 59

Crash Report

Note: This crash report is manual and only exists because the issue template told to assign a crash report. The bug DID NOT cause the crash!

---- Minecraft Crash Report ----
// Who set us up the TNT?

Time: 28.4.2021 17:28
Description: Manually triggered debug crash

java.lang.Throwable
    at net.minecraft.class_309.method_1474(class_309.java:458)
    at net.minecraft.class_310.method_1574(class_310.java:1609)
    at net.minecraft.class_310.method_1523(class_310.java:1021)
    at net.minecraft.class_310.method_1514(class_310.java:681)
    at net.minecraft.client.main.Main.main(Main.java:215)
    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:226)
    at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:139)
    at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:27)

A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Render thread
Stacktrace:
    at net.minecraft.class_309.method_1474(class_309.java:458)

-- Affected level --
Details:
    All players: 1 total; [class_746['USERNAMEREDACTED'/114, l='ClientLevel', x=-204.53, y=63.00, z=67.35]]
    Chunk stats: SodiumChunkCache: 697
    Level dimension: minecraft:overworld
    Level spawn location: World: (-256,67,32), Chunk: (at 0,4,0 in -16,2; contains blocks -256,0,32 to -241,255,47), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
    Level time: 20662 game time, 20662 day time
    Server brand: fabric
    Server type: Integrated singleplayer server
Stacktrace:
    at net.minecraft.class_638.method_8538(class_638.java:449)
    at net.minecraft.class_310.method_1587(class_310.java:2239)
    at net.minecraft.class_310.method_1514(class_310.java:699)
    at net.minecraft.client.main.Main.main(Main.java:215)
    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:226)
    at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:139)
    at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:27)

-- System Details --
Details:
    Minecraft Version: 1.16.5
    Minecraft Version ID: 1.16.5
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_51, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 309220168 bytes (294 MB) / 905969664 bytes (864 MB) up to 2147483648 bytes (2048 MB)
    CPUs: 4
    JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx2G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
    Fabric Mods: 
        autoconfig1u: Auto Config v1 Updated 2.2.0
        baritone: Baritone 1.6.3
        chime: Chime 1.1.3
        cloth-basic-math: Cloth Basic Math 0.5.1
        cloth-config2: Cloth Config v4 4.8.3
        colormatic: Colormatic 2.2.8+mc.1.16.3
        com_moandjiezana_toml_toml4j: toml4j 0.7.2
        dynamicfps: Dynamic FPS 2.0.1
        fabric: Fabric API 0.33.1+1.16
        fabric-api-base: Fabric API Base 0.2.1+9354966b7d
        fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.0.0+dc716ea17d
        fabric-biome-api-v1: Fabric Biome API (v1) 3.1.1+ca58154a7d
        fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.5+ca58154a7d
        fabric-command-api-v1: Fabric Command API (v1) 1.1.1+351679a77d
        fabric-commands-v0: Fabric Commands (v0) 0.2.2+ca58154a7d
        fabric-containers-v0: Fabric Containers (v0) 0.1.11+9354966b7d
        fabric-content-registries-v0: Fabric Content Registries (v0) 0.2.1+ca58154a7d
        fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.3+ca58154a7d
        fabric-dimensions-v1: Fabric Dimensions API (v1) 2.0.6+61336ba97d
        fabric-entity-events-v1: Fabric Entity Events (v1) 1.0.3+ca58154a7d
        fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.2+ca58154a7d
        fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.1+ca58154a7d
        fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.6+ca58154a7d
        fabric-item-api-v1: Fabric Item API (v1) 1.2.1+ca58154a7d
        fabric-item-groups-v0: Fabric Item Groups (v0) 0.2.7+2868a2287d
        fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.4+9354966b7d
        fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.1+ca58154a7d
        fabric-language-kotlin: Fabric Language Kotlin 1.5.0+kotlin.1.4.31
        fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 1.2.1+ca58154a7d
        fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.0.2+ca58154a7d
        fabric-mining-levels-v0: Fabric Mining Levels (v0) 0.1.3+ca58154a7d
        fabric-models-v0: Fabric Models (v0) 0.3.0+bc7a746f7d
        fabric-networking-api-v1: Fabric Networking API (v1) 1.0.1+ca58154a7d
        fabric-networking-blockentity-v0: Fabric Networking Block Entity (v0) 0.2.8+ca58154a7d
        fabric-networking-v0: Fabric Networking (v0) 0.3.2+ca58154a7d
        fabric-object-builder-api-v1: Fabric Object Builder API (v1) 1.9.4+9354966b7d
        fabric-object-builders-v0: Fabric Object Builders (v0) 0.7.2+ca58154a7d
        fabric-particles-v1: Fabric Particles (v1) 0.2.4+ca58154a7d
        fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.7.4+ca58154a7d
        fabric-renderer-api-v1: Fabric Renderer API (v1) 0.4.2+2868a2287d
        fabric-renderer-indigo: Fabric Renderer - Indigo 0.4.4+ca58154a7d
        fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 2.3.0+2868a2287d
        fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.1.5+ca58154a7d
        fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 0.1.13+ca58154a7d
        fabric-rendering-v0: Fabric Rendering (v0) 1.1.2+ca58154a7d
        fabric-rendering-v1: Fabric Rendering (v1) 1.6.0+2868a2287d
        fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.4.6+2868a2287d
        fabric-screen-api-v1: Fabric Screen API (v1) 1.0.0+c045166c7d
        fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.1.5+9354966b7d
        fabric-structure-api-v1: Fabric Structure API (v1) 1.1.4+ca58154a7d
        fabric-tag-extensions-v0: Fabric Tag Extensions (v0) 1.1.1+ca58154a7d
        fabric-textures-v0: Fabric Textures (v0) 1.0.6+ca58154a7d
        fabric-tool-attribute-api-v1: Fabric Tool Attribute API (v1) 1.2.7+8183d3957d
        fabricloader: Fabric Loader 0.11.1
        fabricskyboxes: FabricSkyBoxes 0.4.0
        fiber: fiber 0.23.0-2
        java: Java HotSpot(TM) 64-Bit Server VM 8
        lambdabettergrass: LambdaBetterGrass 1.0.3+1.16
        lambdynlights: LambDynamicLights 1.3.4+1.16
        lazydfu: LazyDFU 0.1.2
        lithium: Lithium 0.6.4
        minecraft: Minecraft 1.16.5
        modmenu: Mod Menu 1.16.9
        okzoomer: Ok Zoomer 4.0.1+1.16.2
        org_aperlambda_lambdajcommon: lambdajcommon 1.8.1
        org_jetbrains_kotlin_kotlin-reflect: kotlin-reflect 1.4.31
        org_jetbrains_kotlin_kotlin-stdlib: kotlin-stdlib 1.4.31
        org_jetbrains_kotlin_kotlin-stdlib-jdk7: kotlin-stdlib-jdk7 1.4.31
        org_jetbrains_kotlin_kotlin-stdlib-jdk8: kotlin-stdlib-jdk8 1.4.31
        org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm: kotlinx-coroutines-core-jvm 1.4.2
        org_jetbrains_kotlinx_kotlinx-coroutines-jdk8: kotlinx-coroutines-jdk8 1.4.2
        org_jetbrains_kotlinx_kotlinx-serialization-core-jvm: kotlinx-serialization-core-jvm 1.1.0
        org_jetbrains_kotlinx_kotlinx-serialization-json-jvm: kotlinx-serialization-json-jvm 1.1.0
        phosphor: Phosphor 0.7.1+build.11
        soaring-clouds: Soaring Clouds 1.2.0-1.16
        sodium: Sodium 0.1.0
        spruceui: SpruceUI 2.0.4+1.16
        transparent: Transparent 2.1.0
        varied-mobs: Varied Mobs 1.0.0
        wurst: Wurst Client v7.15-MC1.16.5
    Launched Version: fabric-loader-0.11.1-1.16.5
    Backend library: LWJGL version 3.2.2 build 10
    Backend API: GeForce GTX 1060 3GB/PCIe/SSE2 GL version 4.6.0 NVIDIA 388.46, NVIDIA Corporation
    GL Caps: Using framebuffer using OpenGL 3.0
    Using VBOs: Yes
    Is Modded: Definitely; Client brand changed to 'fabric'
    Type: Client (map_client.txt)
    Graphics mode: fast
    Resource Packs: vanilla
    Current Language: English (United Kingdom)
    CPU: 4x Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz
@AndrewBruhMoment commented on April 29th 2021

Code to make you actually walk on water is located in FluidBlockMixin.java
Because you are in a singleplayer world, the water becomes a full block for everything, as the server is being locally hosted on your computer.

One way to fix this would be to only actualy start shouldBeSolid() when the player is close to water. Still would not be a reliable fix, as mobs could still jesus when you are close.



Why are you hacking in a singleplayer world?

@ccuser44 commented on April 30th 2021

Code to make you actually walk on water is located in FluidBlockMixin.java
Because you are in a singleplayer world, the water becomes a full block for everything, as the server is being locally hosted on your computer.

One way to fix this would be to only actualy start shouldBeSolid() when the player is close to water. Still would not be a reliable fix, as mobs could still jesus when you are close.

Why are you hacking in a singleplayer world?

No. The way how it should work is only become solid for the current player

@AndrewBruhMoment commented on April 30th 2021

I don't think there is a way to do that.

The hack takes the water block and makes it a full block using an inject. If you are in a single-player world then this change affects everything.

This applies to a bunch of other hacks, like no slowdown. The hacks are all changing the setting for you, but because you are in a single-player world this effect is handed over to mobs.
For example, if I use an inject to make every block slippery, it will do the same thing to mobs because I'm in a single-player world.

Again, see FluidBlockMixin.java