Posted December 18, 20213 yr Currently getting a TickingEntity crash from usage of getDistance() in this method, occurs frequently when my projectile entity hits another entity: @Override protected void onHitEntity(EntityHitResult hitResult) { LivingEntity target = (LivingEntity) hitResult.getEntity(); Entity shooter = getOwner(); System.out.println("HIT"); System.out.println("DISTANCE: " + Objects.requireNonNull(getOwner()).distanceTo(target)); double armor = target.getArmorValue() * (1 - piercing); double toughness = Objects.requireNonNull(target.getAttribute(Attributes.ARMOR_TOUGHNESS)).getValue(); float finalDamage = (float) (damage * (1 - (Math.min(20, Math.max((armor / 5), armor - ((4 * damage) / (toughness + 8))))) / 25)); target.hurt(causeBulletDamage(this, shooter).bypassArmor(), finalDamage); if (bulletType == BulletType.COPPER) { target.invulnerableTime = 0; } } Full code here: https://github.com/CrackedScreen/Mod_1.18 Error log: Spoiler ---- Minecraft Crash Report ---- // Don't be sad, have a hug! ❤️ Time: 12/17/21, 5:54 PM Description: Ticking entity java.lang.NullPointerException: Ticking entity at java.util.Objects.requireNonNull(Objects.java:208) ~[?:?] {} at com.example.examplemod.entity.BulletEntity.onHitEntity(BulletEntity.java:78) ~[%2381!:?] {re:classloading} at net.minecraft.world.entity.projectile.Projectile.onHit(Projectile.java:135) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.entity.projectile.ThrowableProjectile.tick(ThrowableProjectile.java:62) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading} at com.example.examplemod.entity.BulletEntity.tick(BulletEntity.java:51) ~[%2381!:?] {re:classloading} at net.minecraft.client.multiplayer.ClientLevel.tickNonPassenger(ClientLevel.java:222) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.world.level.Level.guardEntityTick(Level.java:487) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.client.multiplayer.ClientLevel.lambda$tickEntities$4(ClientLevel.java:204) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.world.level.entity.EntityTickList.forEach(EntityTickList.java:54) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading} at net.minecraft.client.multiplayer.ClientLevel.tickEntities(ClientLevel.java:202) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.tick(Minecraft.java:1674) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.runTick(Minecraft.java:1015) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.run(Minecraft.java:660) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.main(Main.java:205) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:runtimedistcleaner:A} 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.minecraftforge.fml.loading.targets.ForgeClientUserdevLaunchHandler.lambda$launchService$0(ForgeClientUserdevLaunchHandler.java:38) ~[fmlloader-1.18-38.0.16.jar%230!:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:90) [bootstraplauncher-0.1.17.jar:?] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Render thread Stacktrace: at java.util.Objects.requireNonNull(Objects.java:208) ~[?:?] {} at com.example.examplemod.entity.BulletEntity.onHitEntity(BulletEntity.java:78) ~[%2381!:?] {re:classloading} at net.minecraft.world.entity.projectile.Projectile.onHit(Projectile.java:135) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.entity.projectile.ThrowableProjectile.tick(ThrowableProjectile.java:62) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading} at com.example.examplemod.entity.BulletEntity.tick(BulletEntity.java:51) ~[%2381!:?] {re:classloading} at net.minecraft.client.multiplayer.ClientLevel.tickNonPassenger(ClientLevel.java:222) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.world.level.Level.guardEntityTick(Level.java:487) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.client.multiplayer.ClientLevel.lambda$tickEntities$4(ClientLevel.java:204) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.world.level.entity.EntityTickList.forEach(EntityTickList.java:54) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading} at net.minecraft.client.multiplayer.ClientLevel.tickEntities(ClientLevel.java:202) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:runtimedistcleaner:A} -- Entity being ticked -- Details: Entity Type: examplemod:bullet (com.example.examplemod.entity.BulletEntity) Entity ID: 399 Entity Name: entity.examplemod.bullet Entity's Exact location: 23.47, 65.68, 242.20 Entity's Block location: World: (23,65,242), Section: (at 7,1,2 in 1,4,15; chunk contains blocks 16,-64,240 to 31,319,255), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,-64,0 to 511,319,511) Entity's Momentum: 1.18, -2.34, -2.09 Entity's Passengers: [] Entity's Vehicle: null Stacktrace: at net.minecraft.world.level.Level.guardEntityTick(Level.java:487) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.client.multiplayer.ClientLevel.lambda$tickEntities$4(ClientLevel.java:204) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.world.level.entity.EntityTickList.forEach(EntityTickList.java:54) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading} at net.minecraft.client.multiplayer.ClientLevel.tickEntities(ClientLevel.java:202) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.tick(Minecraft.java:1674) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.runTick(Minecraft.java:1015) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.run(Minecraft.java:660) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.main(Main.java:205) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:runtimedistcleaner:A} 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.minecraftforge.fml.loading.targets.ForgeClientUserdevLaunchHandler.lambda$launchService$0(ForgeClientUserdevLaunchHandler.java:38) ~[fmlloader-1.18-38.0.16.jar%230!:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:90) [bootstraplauncher-0.1.17.jar:?] {} -- Affected level -- Details: All players: 1 total; [LocalPlayer['Dev'/97, l='ClientLevel', x=14.92, y=81.12, z=257.36]] Chunk stats: 961, 557 Level dimension: minecraft:overworld Level spawn location: World: (-80,63,48), Section: (at 0,15,0 in -5,3,3; chunk contains blocks -80,-64,48 to -65,319,63), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,-64,0 to -1,319,511) Level time: 301500 game time, 280978 day time Server brand: forge Server type: Integrated singleplayer server Stacktrace: at net.minecraft.client.multiplayer.ClientLevel.fillReportDetails(ClientLevel.java:407) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.fillReport(Minecraft.java:2249) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.Minecraft.run(Minecraft.java:677) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:accesstransformer:B,pl:runtimedistcleaner:A} at net.minecraft.client.main.Main.main(Main.java:205) ~[forge-1.18-38.0.16_mapped_official_1.18-recomp.jar%2377!:?] {re:classloading,pl:runtimedistcleaner:A} 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.minecraftforge.fml.loading.targets.ForgeClientUserdevLaunchHandler.lambda$launchService$0(ForgeClientUserdevLaunchHandler.java:38) ~[fmlloader-1.18-38.0.16.jar%230!:?] {} at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.0.7.jar%2310!:?] {} at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:90) [bootstraplauncher-0.1.17.jar:?] {} -- Last reload -- Details: Reload number: 1 Reload reason: initial Finished: Yes Packs: Default, Mod Resources -- System Details -- Details: Minecraft Version: 1.18 Minecraft Version ID: 1.18 Operating System: Windows 10 (amd64) version 10.0 Java Version: 17.0.1, Eclipse Adoptium Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), Eclipse Adoptium Memory: 2797753744 bytes (2668 MiB) / 4664066048 bytes (4448 MiB) up to 8573157376 bytes (8176 MiB) CPUs: 24 Processor Vendor: AuthenticAMD Processor Name: AMD Ryzen 9 5900X 12-Core Processor Identifier: AuthenticAMD Family 25 Model 33 Stepping 0 Microarchitecture: Zen 3 Frequency (GHz): 3.69 Number of physical packages: 1 Number of physical CPUs: 12 Number of logical CPUs: 24 Graphics card #0 name: NVIDIA GeForce GTX 1060 3GB Graphics card #0 vendor: NVIDIA (0x10de) Graphics card #0 VRAM (MB): 3072.00 Graphics card #0 deviceId: 0x1c02 Graphics card #0 versionInfo: DriverVersion=30.0.14.9709 Memory slot #0 capacity (MB): 16384.00 Memory slot #0 clockSpeed (GHz): 3.60 Memory slot #0 type: DDR4 Memory slot #1 capacity (MB): 16384.00 Memory slot #1 clockSpeed (GHz): 3.60 Memory slot #1 type: DDR4 Virtual memory max (MB): 37557.55 Virtual memory used (MB): 18334.25 Swap memory total (MB): 4864.00 Swap memory used (MB): 3.49 JVM Flags: 1 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump Launched Version: MOD_DEV Backend library: LWJGL version 3.2.2 SNAPSHOT Backend API: NVIDIA GeForce GTX 1060 3GB/PCIe/SSE2 GL version 3.2.0 NVIDIA 497.09, NVIDIA Corporation Window size: 854x480 GL Caps: Using framebuffer using OpenGL 3.2 GL debug messages: Using VBOs: Yes Is Modded: Definitely; Client brand changed to 'forge'; Server brand changed to 'forge' Type: Integrated Server (map_client.txt) Graphics mode: fancy Resource Packs: vanilla, mod_resources Current Language: English (US) CPU: 24x AMD Ryzen 9 5900X 12-Core Processor Server Running: true Player Count: 1 / 8; [ServerPlayer['Dev'/97, l='ServerLevel[Test]', x=14.92, y=81.12, z=257.37]] Data Packs: vanilla, mod:forge, mod:examplemod ModLauncher: 9.0.7+91+master.8569cdf ModLauncher launch target: forgeclientuserdev ModLauncher naming: mcp ModLauncher services: mixin PLUGINSERVICE eventbus PLUGINSERVICE object_holder_definalize PLUGINSERVICE runtime_enum_extender PLUGINSERVICE capability_token_subclass PLUGINSERVICE accesstransformer PLUGINSERVICE runtimedistcleaner PLUGINSERVICE mixin TRANSFORMATIONSERVICE fml TRANSFORMATIONSERVICE FML Language Providers: [email protected] javafml@null Mod List: forge-1.18-38.0.16_mapped_official_1.18-recomp.jar|Minecraft |minecraft |1.18 |DONE |Manifest: a1:d4:5e:04:4f:d3:d6:e0:7b:37:97:cf:77:b0:de:ad:4a:47:ce:8c:96:49:5f:0a:cf:8c:ae:b2:6d:4b:8a:3f |Forge |forge |38.0.16 |DONE |Manifest: NOSIGNATURE main |Example Mod |examplemod |0.0NONE |DONE |Manifest: NOSIGNATURE Crash Report UUID: df2125d7-9324-44b0-a159-460830c86d04 FML: 38.0 Forge: net.minecraftforge:38.0.16 Edited December 18, 20213 yr by CrackedScreen Marked as solved
December 18, 20213 yr ...and Objects.requireNonNull does not return a non-null value when passed null. It is an assertion; if it fails, throws a null pointer exception. This is its implementation: public static <T> T requireNonNull(T obj) { if (obj == null) throw new NullPointerException(); return obj; } Edited December 18, 20213 yr by Draco18s Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable. If you think this is the case, JUST REPORT ME. Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice. Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked. DO NOT PM ME WITH PROBLEMS. No help will be given.
December 18, 20213 yr Author Seems to be fixed after adding checks where they might be needed. Marking this as solved.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.