apace100 / origins-classes

An add-on for the Origins mod which adds classes.
MIT License
15 stars 30 forks source link

Crash with TechReborn tools [1.16.4] #7

Open ghost opened 3 years ago

ghost commented 3 years ago

Using a drill or saw from TechReborn results in this crash:

// I let you down. Sorry :(

Time: 12/16/20, 12:14 PM
Description: Unexpected error

java.lang.NullPointerException: Unexpected error
    at net.minecraft.class_1766.redirect$bfd000$applyMiningSpeedMultiplierMultiplier(class_1766.java:1019)
    at net.minecraft.class_1766.method_7865(class_1766.java:38)
    at techreborn.items.tool.DrillItem.method_7856(DrillItem.java:92)
    at techreborn.items.tool.DrillItem.method_7865(DrillItem.java:72)
    at net.minecraft.class_1799.method_7924(class_1799.java:235)
    at net.minecraft.class_1661.method_7370(class_1661.java:421)
    at net.minecraft.class_1657.method_7351(class_1657.java:756)
    at net.minecraft.class_4970.method_9594(class_4970.java:352)
    at net.minecraft.class_4970$class_4971.method_26165(class_4970.java:751)
    at net.minecraft.class_636.method_2910(class_636.java:164)
    at net.optifine.override.PlayerControllerOF.method_2910(PlayerControllerOF.java:50)
    at net.minecraft.class_310.redirect$ble000$checkForEntity(class_310.java:6876)
    at net.minecraft.class_310.method_1536(class_310.java:1396)
    at net.minecraft.class_310.method_1508(class_310.java:1706)
    at net.minecraft.class_310.method_1574(class_310.java:1534)
    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 java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:224)
    at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:141)
    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_1766.redirect$bfd000$applyMiningSpeedMultiplierMultiplier(class_1766.java:1019)
    at net.minecraft.class_1766.method_7865(class_1766.java:38)
    at techreborn.items.tool.DrillItem.method_7856(DrillItem.java:92)
    at techreborn.items.tool.DrillItem.method_7865(DrillItem.java:72)
    at net.minecraft.class_1799.method_7924(class_1799.java:235)
    at net.minecraft.class_1661.method_7370(class_1661.java:421)
    at net.minecraft.class_1657.method_7351(class_1657.java:756)
    at net.minecraft.class_4970.method_9594(class_4970.java:352)
    at net.minecraft.class_4970$class_4971.method_26165(class_4970.java:751)
    at net.minecraft.class_636.method_2910(class_636.java:164)
    at net.optifine.override.PlayerControllerOF.method_2910(PlayerControllerOF.java:50)
    at net.minecraft.class_310.redirect$ble000$checkForEntity(class_310.java:6876)
    at net.minecraft.class_310.method_1536(class_310.java:1396)
    at net.minecraft.class_310.method_1508(class_310.java:1706)

-- Affected level --
Details:
    All players: 1 total; [class_746['hypopyon'/82, l='ClientLevel', x=-190.50, y=4.00, z=-39.50]]
    Chunk stats: Client Chunk Cache: 841, 525
    Level dimension: minecraft:overworld
    Level spawn location: World: (-192,4,-32), Chunk: (at 0,0,0 in -12,-2; contains blocks -192,0,-32 to -177,255,-17), Region: (-1,-1; contains chunks -32,-32 to -1,-1, blocks -512,0,-512 to -1,255,-1)
    Level time: 228 game time, 228 day time
    Server brand: fabric
    Server type: Integrated singleplayer server
Stacktrace:```````````````````````````````````````````````
    at net.minecraft.class_638.method_8538(class_638.java:617)
    at net.minecraft.class_310.method_1587(class_310.java:2239)
    at net.minecraft.class_310.method_1514(class_310.java:704)
    at net.minecraft.client.main.Main.main(Main.java:215)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:564)
    at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:224)
    at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:141)
    at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:27)
`
-- System Details --
Details:
    Minecraft Version: 1.16.4
    Minecraft Version ID: 1.16.4
    Operating System: Linux (amd64) version 5.8.18-1-MANJARO
    Java Version: 14.0.2, N/A
    Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 1707436832 bytes (1628 MB) / 2415919104 bytes (2304 MB) up to 6442450944 bytes (6144 MB)
    CPUs: 12
    JVM Flags: 8 total; -Xss1M -Xmx6G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
    Fabric Mods: 
        adventurez: AdventureZ 1.1.5
        allure: Allure 1.2.8
        appleskin: AppleSkin 1.0.11
        artifacts: Artifacts 2.0.2+1.16.4-fabric
        autoconfig1u: Auto Config v1 Updated 3.3.1
        bebooks: Better Enchanted Books 1.1.4
        bettercaves: YUNG's Better Caves 1.16.2-1.0.3
        bettermineshafts: YUNG's Better Mineshafts 1.16.4-1.0
        cardinal-components-base: Cardinal Components API (base) 2.7.9
        cardinal-components-entity: Cardinal Components API (entities) 2.7.9
        cardinal-components-item: Cardinal Components API (items) 2.7.9
        cardinal-components-world: Cardinal Components API (worlds) 2.5.0-nightly.1.16.2-rc2
        chat_heads: Chat Heads 0.2.1+1.16.2
        cinderscapes: Cinderscapes 1.3.0+build.51
        cleancut: CleanCut mc1.16-2.1-fabric
        clear-skies: Clear Skies 1.5.53
        cleardespawn: Clear Despawn 1.16.4-fabric0.25.1-1.1.1
        cloth-basic-math: Cloth Basic Math 0.5.1
        cloth-client-events-v0: Cloth Client Events v0 1.4.5
        cloth-config2: Cloth Config v4 4.8.3
        crimsonmoon: Crimson Moon 1.2.3-1.16.2
        crowdin-translate: CrowdinTranslate 1.2
        darkness: True Darkness 1.6.50
        disable_custom_worlds_advice: Disable Custom Worlds Advice 1.2
        eldritch_mobs: Eldritch Mobs 1.5.4
        extraorigins: Extra Origins 1.16.4-4
        fabric: Fabric API 0.28.1+1.16
        fabric-api-base: Fabric API Base 0.2.0+ab87788d3a
        fabric-biome-api-v1: Fabric Biome API (v1) 3.1.0+2e23b97c3a
        fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.4+6a2618f53a
        fabric-command-api-v1: Fabric Command API (v1) 1.0.9+6a2618f53a
        fabric-commands-v0: Fabric Commands (v0) 0.2.0+6a2618f53a
        fabric-containers-v0: Fabric Containers (v0) 0.1.9+a03e98793a
        fabric-content-registries-v0: Fabric Content Registries (v0) 0.2.0+e77439c73a
        fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.2+b7f9825d3a
        fabric-dimensions-v1: fabric-dimensions-v1 2.0.1+9a6c75813a
        fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.1+6a2618f53a
        fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.0+6a2618f53a
        fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.3+a4467d2a3a
        fabric-item-api-v1: Fabric Item API (v1) 1.2.0+6a2618f53a
        fabric-item-groups-v0: Fabric Item Groups (v0) 0.2.1+6a2618f53a
        fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.1+730711c63a
        fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.0+6a2618f53a
        fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 1.2.0+ffb68a873a
        fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.0.1+6a2618f53a
        fabric-mining-levels-v0: Fabric Mining Levels (v0) 0.1.2+6a2618f53a
        fabric-models-v0: Fabric Models (v0) 0.1.1+6a2618f53a
        fabric-networking-api-v1: Fabric Networking API (v1) 1.0.0+4358fbc63a
        fabric-networking-blockentity-v0: Fabric Networking Block Entity (v0) 0.2.7+a03e98793a
        fabric-networking-v0: Fabric Networking (v0) 0.3.0+a03e98793a
        fabric-object-builder-api-v1: Fabric Object Builder API (v1) 1.9.2+6a2618f53a
        fabric-object-builders-v0: Fabric Object Builders (v0) 0.7.1+6a2618f53a
        fabric-particles-v1: fabric-particles-v1 0.2.2+6a2618f53a
        fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.7.3+be155ae23a
        fabric-renderer-api-v1: Fabric Renderer API (v1) 0.3.3+6a2618f53a
        fabric-renderer-indigo: Fabric Renderer - Indigo 0.4.3+6a2618f53a
        fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 2.2.0+6a2618f53a
        fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.1.4+6a2618f53a
        fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 0.1.12+6a2618f53a
        fabric-rendering-v0: Fabric Rendering (v0) 1.1.1+6a2618f53a
        fabric-rendering-v1: Fabric Rendering (v1) 1.4.0+6a2618f53a
        fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.3.2+1944f3e03a
        fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.1.0+6a2618f53a
        fabric-structure-api-v1: Fabric Structure API (v1) 1.1.1+f1d8af063a
        fabric-tag-extensions-v0: Fabric Tag Extensions (v0) 1.1.0+e77439c73a
        fabric-textures-v0: Fabric Textures (v0) 1.0.5+6a2618f53a
        fabric-tool-attribute-api-v1: Fabric Tool Attribute API (v1) 1.2.5+6a2618f53a
        fabricloader: Fabric Loader 0.10.8
        fallflyinglib: FallFlyingLib 1.1.0
        fallingleaves: Falling Leaves 1.2
        gbfabrictools: GBfabrictools 1.3.1+1.16.4
        iamverysmart: I Am Very Smart 2.1.0+mc1.16.1
        illuminations: Illuminations 1.3
        jankson: Jankson 3.0.1+j1.2.0
        libgui: LibGui 3.0.0-beta.1+1.16.2-rc2
        libstructure: LibStructure 1.5
        minecraft: Minecraft 1.16.4
        mm: Manningham Mills 2.1
        modid: Damage Tilt 1.16-fabric-0.1.0
        modmenu: Mod Menu 1.14.13+build.19
        optifabric: OptiFabric 1.8.13
        origins: Origins 0.4.5
        origins-classes: Origins: Classes 1.1.0
        pehkui: Pehkui 1.6.2+1.16.3
        reach-entity-attributes: Reach Entity Attribute 1.0.1
        reborncore: Reborn Core 4.5.0+build.84
        riverredux: River Redux 0.1.5
        roughlyenoughitems: Roughly Enough Items 5.8.8
        roughlyenoughitems-api: REI (API) 5.8.8
        roughlyenoughitems-default-plugin: REI (Default Plugin) 5.8.8
        roughlyenoughitems-runtime: REI (Runtime) 5.8.8
        roughlyenoughresources: Roughly Enough Resources 2.1.3
        satin: Satin 1.4.1
        sheepconsistency: Sheep Consistency 1.0.2
        shulkerboxtooltip: Shulker Box Tooltip 2.3.3+1.16.4
        step-height-entity-attribute: Step Height Entity Attribute 1.0.0
        team_reborn_energy: Energy 0.1.0
        techreborn: Tech Reborn 3.6.1+build.143
        terraform-shapes-api-v1: Terraform Shapes API (v1) 1.0.0+build.1
        terraform-wood-api-v1: Terraform Wood API (v1) 1.0.0+build.1
        trinkets: Trinkets 2.6.7
        yungsapi: YUNG's API 1.16.4-Fabric-1"applyMiningSpeedMultiplier"
    Launched Version: fabric-loader-0.10.8-1.16.4
    Backend library: LWJGL version 3.2.2 build 10
    Backend API: GeForce GTX 1050 Ti/PCIe/SSE2 GL version 4.6.0 NVIDIA 455.45.01, 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 (US)
    CPU: 12x Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
    OptiFine Version: OptiFine_1.16.4_HD_U_G5
    OptiFine Build: 20201106-171901
    Render Distance Chunks: 12
    Mipmaps: 4
    Anisotropic Filtering: 1
    Antialiasing: 0
    Multitexture: false
    Shaders: null
    OpenGlVersion: 4.6.0 NVIDIA 455.45.01
    OpenGlRenderer: GeForce GTX 1050 Ti/PCIe/SSE2
    OpenGlVendor: NVIDIA Corporation
    CpuCount: 12

-- OptiFabric --
Details:
    OptiFine jar designed for: 1.16.4
    OptiFine jar version: OptiFine_1.16.4_HD_U_G5
    OptiFine jar status: Valid OptiFine installer
    OptiFine remapped jar: /home/hypopyon/.minecraft/.optifine/OptiFine_1.16.4_HD_U_G5/Optifine-mapped.jar
    OptiFabric error: <None>

This happens with both Beta and Release versions of TechReborn.

bboivinkr commented 3 years ago

Can confirm it also conflicts with Gobber2: [✔️] Origins-Classes-1.16.3-1.1.0 [✔️] Gobber2-Fabric_1.16.4-2.3.38

java.lang.NullPointerException
    at Not Enough Crashes deobfuscated stack trace.(1.16.4+build.7)
    at net.minecraft.item.MiningToolItem.redirect$ecp000$applyMiningSpeedMultiplierMultiplier(MiningToolItem:1519)
    at net.minecraft.item.MiningToolItem.getMiningSpeedMultiplier(MiningToolItem:38)
    at net.minecraft.item.PickaxeItem.getMiningSpeedMultiplier(PickaxeItem:145)
    at com.kwpugh.gobber2.items.tools.endtools.HammerEnd.isEffectiveOn(HammerEnd.java:55)
    at net.minecraft.item.ItemStack.isEffectiveOn(ItemStack:359)
    at com.kwpugh.gobber2.items.tools.endtools.HammerEnd.canMine(HammerEnd.java:39)
    at net.minecraft.client.network.ClientPlayerInteractionManager.breakBlock(ClientPlayerInteractionManager:99)
    at net.minecraft.client.network.ClientPlayerInteractionManager.updateBlockBreakingProgress(ClientPlayerInteractionManager:239)
    at net.minecraft.client.MinecraftClient.handleBlockBreaking(MinecraftClient:1359)
    at net.minecraft.client.MinecraftClient.handleInputEvents(MinecraftClient:1720)
apace100 commented 3 years ago

Crash should be prevented in the newest version, however this was caused by the mods calling a method with a null item (potentially to calculate digging speed in some unspecified context). Therefore, while the game shouldn't crash anymore, you might see unexpected behaviour when using these tools.

apace100 commented 3 years ago

Still not fixed: https://pastebin.com/tadAnFYm

drcrazy commented 3 years ago

Context is the following: I need to check if diamond tool digs block faster then 1.0f. Not a particular ItemStack but rather generic diamond tool.

return Items.DIAMOND_PICKAXE.getMiningSpeedMultiplier(null, blockIn) > 1.0f;

Fixed on TR side, but it's better to check if stack is null. https://github.com/TechReborn/TechReborn/commit/6877f6e3f2fba632200323028f8fb5e080f306bc

WiIIiam278 commented 3 years ago

Issue is still present, running 1.16.5. Drill item crashes the game and leaves an error in the server when clicking anything that isn't stone or ores.

my logs

drcrazy commented 3 years ago

Can you provide full crash log, please?