Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

JerryLy086

Members
  • Posts

    9
  • Joined

  • Last visited

JerryLy086's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. Finally fixed, thank you so much. Didn't even know I have to register that before, sorry about that silly guessing of the issues, I'm bad at doing this.
  2. I'm porting some code (Create mod Shadow Steel tools, GitHub link below) from 1.14.4 to 1.16.5. Link: https://github.com/Creators-of-Create/Create/tree/mc1.14/release/src/main/java/com/simibubi/create And every time when I mine some blocks with the tools that toggle the event the game just crash. Crash report: Description: Ticking entity java.lang.IllegalArgumentException: Invalid message com.jerrylu086.shadowsteeltools.items.utils.AbstractToolItem$HarvestPacket at net.minecraftforge.fml.network.simple.IndexedMessageCodec.build(IndexedMessageCodec.java:145) ~[?:?] {re:classloading} at net.minecraftforge.fml.network.simple.SimpleChannel.encodeMessage(SimpleChannel.java:85) ~[?:?] {re:classloading} at net.minecraftforge.fml.network.simple.SimpleChannel.toBuffer(SimpleChannel.java:98) ~[?:?] {re:classloading} at net.minecraftforge.fml.network.simple.SimpleChannel.toVanillaPacket(SimpleChannel.java:129) ~[?:?] {re:classloading} at net.minecraftforge.fml.network.simple.SimpleChannel.send(SimpleChannel.java:124) ~[?:?] {re:classloading} at com.jerrylu086.shadowsteeltools.items.ToolEvents.toolsCanModifyBlockDrops(ToolEvents.java:85) ~[?:mc1.16-b1.0.0] {re:classloading} at net.minecraftforge.eventbus.ASMEventHandler_31_ToolEvents_toolsCanModifyBlockDrops_BreakEvent.invoke(.dynamic) ~[?:?] {} at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.eventbus.EventBus$$Lambda$2557/317960538.invoke(Unknown Source) ~[?:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.common.ForgeHooks.onBlockBreakEvent(ForgeHooks.java:601) ~[?:?] {re:classloading} at net.minecraft.server.management.PlayerInteractionManager.func_180237_b(PlayerInteractionManager.java:230) ~[?:?] {re:computing_frames,re:classloading} at net.minecraft.server.management.PlayerInteractionManager.func_73075_a(PlayerInteractionManager.java:96) ~[?:?] {re:computing_frames,re:classloading} at net.minecraft.entity.player.ServerPlayerEntity.func_70071_h_(ServerPlayerEntity.java:354) ~[?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.server.ServerWorld.func_217479_a(ServerWorld.java:611) ~[?:?] {re:classloading} at net.minecraft.world.server.ServerWorld$$Lambda$8066/167082997.accept(Unknown Source) ~[?:?] {} at net.minecraft.world.World.func_217390_a(World.java:554) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:create.mixins.json:TileWorldHookMixin,pl:mixin:A} at net.minecraft.world.server.ServerWorld.func_72835_b(ServerWorld.java:404) ~[?:?] {re:classloading} at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:851) ~[?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:787) ~[?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:118) ~[?:?] {re:classloading,xf:OptiFine:default} at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:642) [?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.func_240783_a_(MinecraftServer.java:232) [?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer$$Lambda$7541/1467198794.run(Unknown Source) [?:?] {} at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Server thread Stacktrace: at net.minecraftforge.fml.network.simple.IndexedMessageCodec.build(IndexedMessageCodec.java:145) ~[?:?] {re:classloading} at net.minecraftforge.fml.network.simple.SimpleChannel.encodeMessage(SimpleChannel.java:85) ~[?:?] {re:classloading} at net.minecraftforge.fml.network.simple.SimpleChannel.toBuffer(SimpleChannel.java:98) ~[?:?] {re:classloading} at net.minecraftforge.fml.network.simple.SimpleChannel.toVanillaPacket(SimpleChannel.java:129) ~[?:?] {re:classloading} at net.minecraftforge.fml.network.simple.SimpleChannel.send(SimpleChannel.java:124) ~[?:?] {re:classloading} at com.jerrylu086.shadowsteeltools.items.ToolEvents.toolsCanModifyBlockDrops(ToolEvents.java:85) ~[?:mc1.16-b1.0.0] {re:classloading} at net.minecraftforge.eventbus.ASMEventHandler_31_ToolEvents_toolsCanModifyBlockDrops_BreakEvent.invoke(.dynamic) ~[?:?] {} at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.eventbus.EventBus$$Lambda$2557/317960538.invoke(Unknown Source) ~[?:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.common.ForgeHooks.onBlockBreakEvent(ForgeHooks.java:601) ~[?:?] {re:classloading} at net.minecraft.server.management.PlayerInteractionManager.func_180237_b(PlayerInteractionManager.java:230) ~[?:?] {re:computing_frames,re:classloading} at net.minecraft.server.management.PlayerInteractionManager.func_73075_a(PlayerInteractionManager.java:96) ~[?:?] {re:computing_frames,re:classloading} at net.minecraft.entity.player.ServerPlayerEntity.func_70071_h_(ServerPlayerEntity.java:354) ~[?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.server.ServerWorld.func_217479_a(ServerWorld.java:611) ~[?:?] {re:classloading} at net.minecraft.world.server.ServerWorld$$Lambda$8066/167082997.accept(Unknown Source) ~[?:?] {} -- Entity being ticked -- Details: Entity Type: minecraft:player (net.minecraft.entity.player.ServerPlayerEntity) Entity ID: 207 Entity Name: JerryLu086 Entity's Exact location: -36.60, 58.00, 112.67 Entity's Block location: World: (-37,58,112), Chunk: (at 11,3,0 in -3,7; contains blocks -48,0,112 to -33,255,127), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511) Entity's Momentum: 0.00, -0.08, 0.00 Entity's Passengers: [] Entity's Vehicle: ~~ERROR~~ NullPointerException: null Stacktrace: at net.minecraft.world.World.func_217390_a(World.java:554) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:create.mixins.json:TileWorldHookMixin,pl:mixin:A} at net.minecraft.world.server.ServerWorld.func_72835_b(ServerWorld.java:404) ~[?:?] {re:classloading} -- Affected level -- Details: All players: 1 total; [ServerPlayerEntity['JerryLu086'/207, l='ServerLevel[Tests]', x=-36.60, y=58.00, z=112.67]] Chunk stats: ServerChunkCache: 2025 Level dimension: minecraft:overworld Level spawn location: World: (-32,64,112), Chunk: (at 0,4,0 in -2,7; contains blocks -32,0,112 to -17,255,127), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511) Level time: 1077 game time, 1000 day time Level name: Tests Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false) Known server brands: forge Level was modded: true Level storage version: 0x04ABD - Anvil Stacktrace: at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:851) ~[?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:787) ~[?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:118) ~[?:?] {re:classloading,xf:OptiFine:default} at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:642) [?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.func_240783_a_(MinecraftServer.java:232) [?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer$$Lambda$7541/1467198794.run(Unknown Source) [?:?] {} at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51] {} -- 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: 2233564128 bytes (2130 MB) / 3221225472 bytes (3072 MB) up to 3221225472 bytes (3072 MB) CPUs: 4 JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx3G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M ModLauncher: 8.0.9+86+master.3cf110c ModLauncher launch target: fmlclient ModLauncher naming: srg ModLauncher services: /mixin-0.8.2.jar mixin PLUGINSERVICE /eventbus-4.0.0.jar eventbus PLUGINSERVICE /forge-1.16.5-36.1.0.jar object_holder_definalize PLUGINSERVICE /forge-1.16.5-36.1.0.jar runtime_enum_extender PLUGINSERVICE /accesstransformers-3.0.1.jar accesstransformer PLUGINSERVICE /forge-1.16.5-36.1.0.jar capability_inject_definalize PLUGINSERVICE /forge-1.16.5-36.1.0.jar runtimedistcleaner PLUGINSERVICE /mixin-0.8.2.jar mixin TRANSFORMATIONSERVICE /OptiFine_1.16.5_HD_U_G7.jar OptiFine TRANSFORMATIONSERVICE /forge-1.16.5-36.1.0.jar fml TRANSFORMATIONSERVICE FML: 36.1 Forge: net.minecraftforge:36.1.0 FML Language Providers: javafml@36.1 minecraft@1 Mod List: forge-1.16.5-36.1.0-client.jar |Minecraft |minecraft |1.16.5 |DONE |NOSIGNATURE tetra-1.16.5-3.8.0.jar |Tetra |tetra |3.8.0 |DONE |NOSIGNATURE cleancut-mc1.16-2.2-forge.jar |Clean Cut |cleancut |2.2 |DONE |NOSIGNATURE MouseTweaks-2.13-mc1.16.2.jar |Mouse Tweaks |mousetweaks |2.13 |DONE |NOSIGNATURE Jade-1.16.4-2.6.1.jar |Jade |jade |2.6.1 |DONE |NOSIGNATURE EntityCulling-1.16.5-1.0.0.jar |Entity Culling |entity_culling |1.0.0 |DONE |NOSIGNATURE morecreatestuffs-mc1.16-1.4.1.jar |More Create Stuffs |morecreatestuffs |mc1.16-1.4.1 |DONE |NOSIGNATURE tetrapak-0.1.1.jar |Tetra Pak |tetrapak |0.1.1 |DONE |NOSIGNATURE ferritecore-2.0.4-forge.jar |Ferrite Core |ferritecore |2.0.4 |DONE |41:ce:50:66:d1:a0:05:ce:a1:0e:02:85:9b:46:64:e0:bf:2e:cf:60:30:9a:fe:0c:27:e0:63:66:9a:84:ce:8a jei-1.16.5-7.6.4.90.jar |Just Enough Items |jei |7.6.4.90 |DONE |NOSIGNATURE shadowsteeltools-mc1.16-b1.0.0.jar |Shadow Steel Tools: Reborn |shadowsteeltools |mc1.16-1.4.1 |DONE |NOSIGNATURE forge-1.16.5-36.1.0-universal.jar |Forge |forge |36.1.0 |DONE |22:af:21:d8:19:82:7f:93:94:fe:2b:ac:b7:e4:41:57:68:39:87:b1:a7:5c:c6:44:f9:25:74:21:14:f5:0d:90 Neat+1.7-27.jar |Neat |neat |1.7-27 |DONE |NOSIGNATURE create-mc1.16.5_v0.3.1b.jar |Create |create |mc1.16.5_v0.3.1b+143|DONE |NOSIGNATURE Xaeros_Minimap_21.2.0.2_Forge_1.16.5.jar |Xaero's Minimap |xaerominimap |21.2.0 |DONE |NOSIGNATURE XaerosWorldMap_1.11.11.2_Forge_1.16.5.jar |Xaero's World Map |xaeroworldmap |1.11.11 |DONE |NOSIGNATURE mgui-1.16.4-3.1.3.jar |mgui |mgui |3.1.3 |DONE |NOSIGNATURE Controlling-7.0.0.11.jar |Controlling |controlling |7.0.0.11 |DONE |NOSIGNATURE Crash Report UUID: 02d0a64a-badc-49c7-abd6-6e902a157b84 Player Count: 1 / 8; [ServerPlayerEntity['JerryLu086'/207, l='ServerLevel[Tests]', x=-36.60, y=58.00, z=112.67]] Data Packs: vanilla, mod:tetra, mod:cleancut (incompatible), mod:mousetweaks, mod:jade, mod:entity_culling, mod:morecreatestuffs, mod:tetrapak, mod:ferritecore (incompatible), mod:jei, mod:shadowsteeltools, mod:forge, mod:neat (incompatible), mod:create, mod:xaerominimap, mod:xaeroworldmap, mod:mgui (incompatible), mod:controlling Type: Integrated Server (map_client.txt) Is Modded: Definitely; Client brand changed to 'forge' OptiFine Version: OptiFine_1.16.5_HD_U_G7 OptiFine Build: 20210305-003221 Render Distance Chunks: 8 Mipmaps: 4 Anisotropic Filtering: 1 Antialiasing: 0 Multitexture: false Shaders: null OpenGlVersion: 4.5.0 - Build 23.20.16.4973 OpenGlRenderer: Intel(R) HD Graphics 520 OpenGlVendor: Intel CpuCount: 4 Description: Ticking entity java.lang.IllegalArgumentException: Invalid message com.jerrylu086.shadowsteeltools.items.utils.AbstractToolItem$HarvestPacket at net.minecraftforge.fml.network.simple.IndexedMessageCodec.build(IndexedMessageCodec.java:145) ~[?:?] {re:classloading} at net.minecraftforge.fml.network.simple.SimpleChannel.encodeMessage(SimpleChannel.java:85) ~[?:?] {re:classloading} at net.minecraftforge.fml.network.simple.SimpleChannel.toBuffer(SimpleChannel.java:98) ~[?:?] {re:classloading} at net.minecraftforge.fml.network.simple.SimpleChannel.toVanillaPacket(SimpleChannel.java:129) ~[?:?] {re:classloading} at net.minecraftforge.fml.network.simple.SimpleChannel.send(SimpleChannel.java:124) ~[?:?] {re:classloading} at com.jerrylu086.shadowsteeltools.items.ToolEvents.toolsCanModifyBlockDrops(ToolEvents.java:85) ~[?:mc1.16-b1.0.0] {re:classloading} at net.minecraftforge.eventbus.ASMEventHandler_31_ToolEvents_toolsCanModifyBlockDrops_BreakEvent.invoke(.dynamic) ~[?:?] {} at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.eventbus.EventBus$$Lambda$2557/317960538.invoke(Unknown Source) ~[?:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.common.ForgeHooks.onBlockBreakEvent(ForgeHooks.java:601) ~[?:?] {re:classloading} at net.minecraft.server.management.PlayerInteractionManager.func_180237_b(PlayerInteractionManager.java:230) ~[?:?] {re:computing_frames,re:classloading} at net.minecraft.server.management.PlayerInteractionManager.func_73075_a(PlayerInteractionManager.java:96) ~[?:?] {re:computing_frames,re:classloading} at net.minecraft.entity.player.ServerPlayerEntity.func_70071_h_(ServerPlayerEntity.java:354) ~[?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.server.ServerWorld.func_217479_a(ServerWorld.java:611) ~[?:?] {re:classloading} at net.minecraft.world.server.ServerWorld$$Lambda$8066/167082997.accept(Unknown Source) ~[?:?] {} at net.minecraft.world.World.func_217390_a(World.java:554) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:create.mixins.json:TileWorldHookMixin,pl:mixin:A} at net.minecraft.world.server.ServerWorld.func_72835_b(ServerWorld.java:404) ~[?:?] {re:classloading} at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:851) ~[?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:787) ~[?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:118) ~[?:?] {re:classloading,xf:OptiFine:default} at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:642) [?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.func_240783_a_(MinecraftServer.java:232) [?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer$$Lambda$7541/1467198794.run(Unknown Source) [?:?] {} at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51] {} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Server thread Stacktrace: at net.minecraftforge.fml.network.simple.IndexedMessageCodec.build(IndexedMessageCodec.java:145) ~[?:?] {re:classloading} at net.minecraftforge.fml.network.simple.SimpleChannel.encodeMessage(SimpleChannel.java:85) ~[?:?] {re:classloading} at net.minecraftforge.fml.network.simple.SimpleChannel.toBuffer(SimpleChannel.java:98) ~[?:?] {re:classloading} at net.minecraftforge.fml.network.simple.SimpleChannel.toVanillaPacket(SimpleChannel.java:129) ~[?:?] {re:classloading} at net.minecraftforge.fml.network.simple.SimpleChannel.send(SimpleChannel.java:124) ~[?:?] {re:classloading} at com.jerrylu086.shadowsteeltools.items.ToolEvents.toolsCanModifyBlockDrops(ToolEvents.java:85) ~[?:mc1.16-b1.0.0] {re:classloading} at net.minecraftforge.eventbus.ASMEventHandler_31_ToolEvents_toolsCanModifyBlockDrops_BreakEvent.invoke(.dynamic) ~[?:?] {} at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.eventbus.EventBus$$Lambda$2557/317960538.invoke(Unknown Source) ~[?:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:302) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) ~[eventbus-4.0.0.jar:?] {} at net.minecraftforge.common.ForgeHooks.onBlockBreakEvent(ForgeHooks.java:601) ~[?:?] {re:classloading} at net.minecraft.server.management.PlayerInteractionManager.func_180237_b(PlayerInteractionManager.java:230) ~[?:?] {re:computing_frames,re:classloading} at net.minecraft.server.management.PlayerInteractionManager.func_73075_a(PlayerInteractionManager.java:96) ~[?:?] {re:computing_frames,re:classloading} at net.minecraft.entity.player.ServerPlayerEntity.func_70071_h_(ServerPlayerEntity.java:354) ~[?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.world.server.ServerWorld.func_217479_a(ServerWorld.java:611) ~[?:?] {re:classloading} at net.minecraft.world.server.ServerWorld$$Lambda$8066/167082997.accept(Unknown Source) ~[?:?] {} -- Entity being ticked -- Details: Entity Type: minecraft:player (net.minecraft.entity.player.ServerPlayerEntity) Entity ID: 207 Entity Name: JerryLu086 Entity's Exact location: -36.60, 58.00, 112.67 Entity's Block location: World: (-37,58,112), Chunk: (at 11,3,0 in -3,7; contains blocks -48,0,112 to -33,255,127), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511) Entity's Momentum: 0.00, -0.08, 0.00 Entity's Passengers: [] Entity's Vehicle: ~~ERROR~~ NullPointerException: null Stacktrace: at net.minecraft.world.World.func_217390_a(World.java:554) ~[?:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:create.mixins.json:TileWorldHookMixin,pl:mixin:A} at net.minecraft.world.server.ServerWorld.func_72835_b(ServerWorld.java:404) ~[?:?] {re:classloading} -- Affected level -- Details: All players: 1 total; [ServerPlayerEntity['JerryLu086'/207, l='ServerLevel[Tests]', x=-36.60, y=58.00, z=112.67]] Chunk stats: ServerChunkCache: 2025 Level dimension: minecraft:overworld Level spawn location: World: (-32,64,112), Chunk: (at 0,4,0 in -2,7; contains blocks -32,0,112 to -17,255,127), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511) Level time: 1077 game time, 1000 day time Level name: Tests Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false) Known server brands: forge Level was modded: true Level storage version: 0x04ABD - Anvil Stacktrace: at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:851) ~[?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:787) ~[?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:118) ~[?:?] {re:classloading,xf:OptiFine:default} at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:642) [?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer.func_240783_a_(MinecraftServer.java:232) [?:?] {re:classloading,pl:accesstransformer:B} at net.minecraft.server.MinecraftServer$$Lambda$7541/1467198794.run(Unknown Source) [?:?] {} at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51] {} -- 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: 2233564128 bytes (2130 MB) / 3221225472 bytes (3072 MB) up to 3221225472 bytes (3072 MB) CPUs: 4 JVM Flags: 9 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx3G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M ModLauncher: 8.0.9+86+master.3cf110c ModLauncher launch target: fmlclient ModLauncher naming: srg ModLauncher services: /mixin-0.8.2.jar mixin PLUGINSERVICE /eventbus-4.0.0.jar eventbus PLUGINSERVICE /forge-1.16.5-36.1.0.jar object_holder_definalize PLUGINSERVICE /forge-1.16.5-36.1.0.jar runtime_enum_extender PLUGINSERVICE /accesstransformers-3.0.1.jar accesstransformer PLUGINSERVICE /forge-1.16.5-36.1.0.jar capability_inject_definalize PLUGINSERVICE /forge-1.16.5-36.1.0.jar runtimedistcleaner PLUGINSERVICE /mixin-0.8.2.jar mixin TRANSFORMATIONSERVICE /OptiFine_1.16.5_HD_U_G7.jar OptiFine TRANSFORMATIONSERVICE /forge-1.16.5-36.1.0.jar fml TRANSFORMATIONSERVICE FML: 36.1 Forge: net.minecraftforge:36.1.0 FML Language Providers: javafml@36.1 minecraft@1 Mod List: forge-1.16.5-36.1.0-client.jar |Minecraft |minecraft |1.16.5 |DONE |NOSIGNATURE tetra-1.16.5-3.8.0.jar |Tetra |tetra |3.8.0 |DONE |NOSIGNATURE cleancut-mc1.16-2.2-forge.jar |Clean Cut |cleancut |2.2 |DONE |NOSIGNATURE MouseTweaks-2.13-mc1.16.2.jar |Mouse Tweaks |mousetweaks |2.13 |DONE |NOSIGNATURE Jade-1.16.4-2.6.1.jar |Jade |jade |2.6.1 |DONE |NOSIGNATURE EntityCulling-1.16.5-1.0.0.jar |Entity Culling |entity_culling |1.0.0 |DONE |NOSIGNATURE morecreatestuffs-mc1.16-1.4.1.jar |More Create Stuffs |morecreatestuffs |mc1.16-1.4.1 |DONE |NOSIGNATURE tetrapak-0.1.1.jar |Tetra Pak |tetrapak |0.1.1 |DONE |NOSIGNATURE ferritecore-2.0.4-forge.jar |Ferrite Core |ferritecore |2.0.4 |DONE |41:ce:50:66:d1:a0:05:ce:a1:0e:02:85:9b:46:64:e0:bf:2e:cf:60:30:9a:fe:0c:27:e0:63:66:9a:84:ce:8a jei-1.16.5-7.6.4.90.jar |Just Enough Items |jei |7.6.4.90 |DONE |NOSIGNATURE shadowsteeltools-mc1.16-b1.0.0.jar |Shadow Steel Tools: Reborn |shadowsteeltools |mc1.16-1.4.1 |DONE |NOSIGNATURE forge-1.16.5-36.1.0-universal.jar |Forge |forge |36.1.0 |DONE |22:af:21:d8:19:82:7f:93:94:fe:2b:ac:b7:e4:41:57:68:39:87:b1:a7:5c:c6:44:f9:25:74:21:14:f5:0d:90 Neat+1.7-27.jar |Neat |neat |1.7-27 |DONE |NOSIGNATURE create-mc1.16.5_v0.3.1b.jar |Create |create |mc1.16.5_v0.3.1b+143|DONE |NOSIGNATURE Xaeros_Minimap_21.2.0.2_Forge_1.16.5.jar |Xaero's Minimap |xaerominimap |21.2.0 |DONE |NOSIGNATURE XaerosWorldMap_1.11.11.2_Forge_1.16.5.jar |Xaero's World Map |xaeroworldmap |1.11.11 |DONE |NOSIGNATURE mgui-1.16.4-3.1.3.jar |mgui |mgui |3.1.3 |DONE |NOSIGNATURE Controlling-7.0.0.11.jar |Controlling |controlling |7.0.0.11 |DONE |NOSIGNATURE Crash Report UUID: 02d0a64a-badc-49c7-abd6-6e902a157b84 Player Count: 1 / 8; [ServerPlayerEntity['JerryLu086'/207, l='ServerLevel[Tests]', x=-36.60, y=58.00, z=112.67]] Data Packs: vanilla, mod:tetra, mod:cleancut (incompatible), mod:mousetweaks, mod:jade, mod:entity_culling, mod:morecreatestuffs, mod:tetrapak, mod:ferritecore (incompatible), mod:jei, mod:shadowsteeltools, mod:forge, mod:neat (incompatible), mod:create, mod:xaerominimap, mod:xaeroworldmap, mod:mgui (incompatible), mod:controlling Type: Integrated Server (map_client.txt) Is Modded: Definitely; Client brand changed to 'forge' OptiFine Version: OptiFine_1.16.5_HD_U_G7 OptiFine Build: 20210305-003221 Render Distance Chunks: 8 Mipmaps: 4 Anisotropic Filtering: 1 Antialiasing: 0 Multitexture: false Shaders: null OpenGlVersion: 4.5.0 - Build 23.20.16.4973 OpenGlRenderer: Intel(R) HD Graphics 520 OpenGlVendor: Intel CpuCount: 4 The code in ToolEvents: package com.jerrylu086.shadowsteeltools.items; import java.util.List; import com.jerrylu086.shadowsteeltools.items.material.ToolTiers; import com.jerrylu086.shadowsteeltools.items.utils.AbstractToolItem; import com.jerrylu086.shadowsteeltools.items.utils.AbstractToolItem.HarvestPacket; import com.simibubi.create.foundation.networking.AllPackets; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.enchantment.EnchantmentHelper; import net.minecraft.enchantment.Enchantments; import net.minecraft.entity.Entity; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.entity.player.ServerPlayerEntity; import net.minecraft.item.IItemTier; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.TieredItem; import net.minecraft.util.EntityDamageSource; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.vector.Vector3d; import net.minecraft.world.IWorld; import net.minecraft.world.World; import net.minecraft.world.server.ServerWorld; import net.minecraft.loot.LootContext.Builder; import net.minecraft.loot.LootParameters; import net.minecraftforge.event.entity.living.LivingDropsEvent; import net.minecraftforge.event.entity.living.LivingExperienceDropEvent; import net.minecraftforge.event.world.BlockEvent; import net.minecraftforge.eventbus.api.Event.Result; import net.minecraftforge.eventbus.api.EventPriority; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; import net.minecraftforge.fml.network.PacketDistributor; @EventBusSubscriber public class ToolEvents { @SubscribeEvent(priority = EventPriority.LOWEST) public static void toolsCanModifyBlockDrops(BlockEvent.BreakEvent event) { if (event.isCanceled()) return; PlayerEntity player = event.getPlayer(); ItemStack held = player.getHeldItemMainhand(); if (player.isCreative()) return; if (!(held.getItem() instanceof AbstractToolItem)) return; AbstractToolItem tool = (AbstractToolItem) held.getItem(); if (!tool.modifiesDrops()) return; BlockState state = event.getState(); if (!tool.canHarvestBlock(held, state) && state.getRequiresTool()) return; IWorld world = event.getWorld(); BlockPos pos = event.getPos(); boolean onServer = !world.isRemote(); if (!onServer) { tool.spawnParticles(world, pos, held, state); return; } World actualWorld = event.getPlayer().world; if (!(actualWorld instanceof ServerWorld)) return; List<ItemStack> drops = state.getDrops(new Builder((ServerWorld) actualWorld) .withRandom(actualWorld.getRandom()).withParameter(LootParameters.field_237457_g_, Vector3d.copy(pos)) .withParameter(LootParameters.TOOL, held).withParameter(LootParameters.THIS_ENTITY, player) .withNullableParameter(LootParameters.BLOCK_ENTITY, world.getTileEntity(pos))); tool.modifyDrops(drops, world, pos, held, state); tool.onBlockDestroyed(held, actualWorld, state, pos, player); world.setBlockState(pos, Blocks.AIR.getDefaultState(), 3); for (ItemStack dropped : drops) Block.spawnAsEntity(actualWorld, pos, dropped); AllPackets.channel.send(PacketDistributor.TRACKING_ENTITY.with(() -> player), new HarvestPacket(state, held, pos, false)); AllPackets.channel.send(PacketDistributor.PLAYER.with(() -> (ServerPlayerEntity) player), new HarvestPacket(state, held, pos, true)); event.setResult(Result.DENY); } @SubscribeEvent public static void toolsMayModifyEntityLoot(LivingDropsEvent event) { if (!(event.getSource() instanceof EntityDamageSource)) return; EntityDamageSource source = (EntityDamageSource) event.getSource(); Entity target = event.getEntity(); Entity trueSource = source.getTrueSource(); World world = target.getEntityWorld(); if (trueSource != null && trueSource instanceof PlayerEntity) { PlayerEntity player = (PlayerEntity) trueSource; ItemStack heldItemMainhand = player.getHeldItemMainhand(); Item item = heldItemMainhand.getItem(); IItemTier tier = item instanceof TieredItem ? ((TieredItem) item).getTier() : null; if (tier == ToolTiers.SHADOW_STEEL) event.setCanceled(true); } } @SubscribeEvent public static void shadowSteelToolsDropMoreXPonKill(LivingExperienceDropEvent event) { PlayerEntity attackingPlayer = event.getAttackingPlayer(); if (attackingPlayer == null) return; ItemStack heldItemMainhand = attackingPlayer.getHeldItemMainhand(); Item item = heldItemMainhand.getItem(); IItemTier tier = item instanceof TieredItem ? ((TieredItem) item).getTier() : null; if (tier == ToolTiers.SHADOW_STEEL) { int level = EnchantmentHelper.getEnchantmentLevel(Enchantments.LOOTING, heldItemMainhand); float modifier = 1 + event.getEntity().world.getRandom().nextFloat() * level; event.setDroppedExperience((int) (event.getDroppedExperience() * modifier + 0.4f)); } } } AbstractToolItem: package com.jerrylu086.shadowsteeltools.items.utils; import static com.jerrylu086.shadowsteeltools.items.utils.ToolTypes.AXE; import static com.jerrylu086.shadowsteeltools.items.utils.ToolTypes.HOE; import static com.jerrylu086.shadowsteeltools.items.utils.ToolTypes.PICKAXE; import static com.jerrylu086.shadowsteeltools.items.utils.ToolTypes.SHOVEL; import static com.jerrylu086.shadowsteeltools.items.utils.ToolTypes.SWORD; import java.util.Collection; import java.util.HashSet; import java.util.Set; import java.util.function.Supplier; import net.minecraft.block.Block; import net.minecraft.block.BlockState; import net.minecraft.block.Blocks; import net.minecraft.block.material.Material; import net.minecraft.client.Minecraft; import net.minecraft.client.world.ClientWorld; import net.minecraft.enchantment.Enchantment; import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.IItemTier; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemUseContext; import net.minecraft.item.Items; import net.minecraft.item.ToolItem; import net.minecraft.nbt.NBTUtil; import net.minecraft.network.PacketBuffer; import net.minecraft.tags.BlockTags; import net.minecraft.util.ActionResultType; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IWorld; import net.minecraft.world.World; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.common.ToolType; import net.minecraftforge.fml.DistExecutor; import net.minecraftforge.fml.network.NetworkEvent.Context; public abstract class AbstractToolItem extends ToolItem { protected ToolTypes[] toolTypes; public AbstractToolItem(float attackDamageIn, float attackSpeedIn, IItemTier tier, Properties builder, ToolTypes... types) { super(attackDamageIn, attackSpeedIn, tier, getEffectiveBlocks(types), setToolTypes(builder, tier, types)); toolTypes = types; } @Override public boolean canApplyAtEnchantingTable(ItemStack stack, Enchantment enchantment) { boolean canEnchant = super.canApplyAtEnchantingTable(stack, enchantment); for (ToolTypes type : toolTypes) { switch (type) { case AXE: canEnchant |= enchantment.canApply(new ItemStack(Items.DIAMOND_AXE)); break; case HOE: canEnchant |= enchantment.canApply(new ItemStack(Items.DIAMOND_HOE)); break; case PICKAXE: canEnchant |= enchantment.canApply(new ItemStack(Items.DIAMOND_PICKAXE)); break; case SHEARS: canEnchant |= enchantment.canApply(new ItemStack(Items.SHEARS)); break; case SHOVEL: canEnchant |= enchantment.canApply(new ItemStack(Items.DIAMOND_SHOVEL)); break; case SWORD: canEnchant |= enchantment.canApply(new ItemStack(Items.DIAMOND_SWORD)); break; default: break; } } return canEnchant; } private static Set<Block> getEffectiveBlocks(ToolTypes... types) { Set<Block> blocks = new HashSet<>(); for (ToolTypes type : types) { switch (type) { case AXE: blocks.addAll(EffectiveBlocks.AXE); break; case HOE: break; case PICKAXE: blocks.addAll(EffectiveBlocks.PICKAXE); break; case SHEARS: break; case SHOVEL: blocks.addAll(EffectiveBlocks.SHOVEL); break; case SWORD: break; default: break; } } return blocks; } private static Properties setToolTypes(Properties builder, IItemTier tier, ToolTypes... types) { for (ToolTypes type : types) { if (type == PICKAXE) builder.addToolType(ToolType.PICKAXE, tier.getHarvestLevel()); if (type == SHOVEL) builder.addToolType(ToolType.SHOVEL, tier.getHarvestLevel()); if (type == AXE) builder.addToolType(ToolType.AXE, tier.getHarvestLevel()); } return builder; } protected boolean hasType(ToolTypes typeIn) { for (ToolTypes type : toolTypes) if (type == typeIn) return true; return false; } @Override public ActionResultType onItemUse(ItemUseContext context) { if (hasType(HOE) && !context.getPlayer().isSneaking()) return Items.WOODEN_HOE.onItemUse(context); if (hasType(SHOVEL)) return Items.WOODEN_SHOVEL.onItemUse(context); return super.onItemUse(context); } @Override public boolean canHarvestBlock(ItemStack stack, BlockState state) { int i = this.getTier().getHarvestLevel(); if (getToolTypes(stack).contains(state.getHarvestTool())) return i >= state.getHarvestLevel(); Material material = state.getMaterial(); boolean canHarvestMaterial = false; if (hasType(PICKAXE)) canHarvestMaterial |= material == Material.ROCK || material == Material.IRON || material == Material.ANVIL; if (hasType(SHOVEL)) canHarvestMaterial |= Items.WOODEN_SHOVEL.canHarvestBlock(stack, state); if (hasType(SWORD)) canHarvestMaterial |= Items.WOODEN_SWORD.canHarvestBlock(stack, state); if (hasType(ToolTypes.SHEARS)) canHarvestMaterial |= Items.SHEARS.canHarvestBlock(state); return canHarvestMaterial; } @Override public boolean canPlayerBreakBlockWhileHolding(BlockState state, World worldIn, BlockPos pos, PlayerEntity player) { return !hasType(SWORD) || !player.isCreative(); } @Override public float getDestroySpeed(ItemStack stack, BlockState state) { Material material = state.getMaterial(); if (hasType(PICKAXE) && (material == Material.IRON || material == Material.ANVIL || material == Material.ROCK)) return this.efficiency; if (hasType(AXE) && (material == Material.WOOD || material == Material.PLANTS || material == Material.TALL_PLANTS || material == Material.BAMBOO)) return this.efficiency; if (hasType(SWORD) && (state.getBlock() == Blocks.COBWEB || material == Material.PLANTS || material == Material.TALL_PLANTS || material == Material.CORAL || state.isIn(BlockTags.LEAVES) || material == Material.GOURD)) return this.efficiency; return super.getDestroySpeed(stack, state); } public boolean modifiesDrops() { return false; } public void modifyDrops(final Collection<ItemStack> drops, IWorld world, BlockPos pos, ItemStack tool, BlockState state) { } public void spawnParticles(IWorld world, BlockPos pos, ItemStack tool, BlockState state) { } public static class HarvestPacket extends SimplePacketBase { private BlockState state; private ItemStack stack; private BlockPos pos; private boolean self; public HarvestPacket(BlockState state, ItemStack stack, BlockPos pos, boolean self) { this.state = state; this.stack = stack; this.pos = pos; this.self = self; } public HarvestPacket(PacketBuffer buffer) { state = NBTUtil.readBlockState(buffer.readCompoundTag()); stack = buffer.readItemStack(); pos = buffer.readBlockPos(); self = buffer.readBoolean(); } @Override public void write(PacketBuffer buffer) { buffer.writeCompoundTag(NBTUtil.writeBlockState(state)); buffer.writeItemStack(stack); buffer.writeBlockPos(pos); buffer.writeBoolean(self); } @Override public void handle(Supplier<Context> context) { context.get().enqueueWork(() -> DistExecutor.runWhenOn(Dist.CLIENT, () -> () -> this.spawnParticles(self))); context.get().setPacketHandled(true); } @OnlyIn(Dist.CLIENT) void spawnParticles(boolean self) { if (!(stack.getItem() instanceof AbstractToolItem)) return; ClientWorld world = Minecraft.getInstance().world; if (!self) world.playEvent(2001, pos, Block.getStateId(state)); ((AbstractToolItem) stack.getItem()).spawnParticles(world, pos, stack, state); } } }
  3. I used the AttributeModifer before, but what I want is increase the attack damage. Like if I'm using melee damage and wearing the chestplate, I will deal 6 damage. And if I'm using netherite sword, which has 8 attack damage, I will deal 13 damage. As far as I know what I can do with AttributeModifer is only *set* the attack damage, like if I'm wearing the chestplate, I will always deal 5 damage, even I'm using the weapons with high attack damage.
  4. Here's my code: package com.jerrylu086.createarsenal.items; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.Iterables; import com.google.common.collect.Multimap; import com.jerrylu086.createarsenal.CreateArsenal; import com.jerrylu086.createarsenal.registry.ModItems; import net.minecraft.entity.Entity; import net.minecraft.entity.LivingEntity; import net.minecraft.entity.ai.attributes.Attribute; import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.inventory.EquipmentSlotType; import net.minecraft.item.*; import net.minecraft.util.DamageSource; import net.minecraftforge.event.entity.living.LivingDamageEvent; import net.minecraftforge.event.entity.living.LivingHurtEvent; import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.fml.common.Mod.EventBusSubscriber; import javax.annotation.Nonnull; @EventBusSubscriber(modid = CreateArsenal.MOD_ID) public class ExoframeItem extends ArmorItem { private Multimap<Attribute, AttributeModifier> attributeModifiers = ArrayListMultimap.create(); public ExoframeItem(IArmorMaterial materialIn, EquipmentSlotType slot, Properties properties) { super(materialIn, slot, properties); } /*@Override public boolean hitEntity(@Nonnull ItemStack stack, @Nonnull LivingEntity target, @Nonnull LivingEntity attacker) { stack.damageItem(1, attacker, (entity) -> { entity.sendBreakAnimation(EquipmentSlotType.CHEST); }); return true; }*/ @SubscribeEvent public void onDamageDealt (LivingDamageEvent event) { Entity trueSource = event.getSource().getTrueSource(); for (ItemStack stack : trueSource.getArmorInventoryList()) { if (isExo(stack)) { float damage = event.getAmount() + 5; event.setAmount(damage); } } } public boolean isExo(ItemStack stack) { if (stack == null || stack.getItem() == null) { return false; } Item item = stack.getItem(); return item == ModItems.EXOFRAME.get(); } } What I want to do is when this event detects an attacker of LivingDamageEvent is wearing the Exoframe item will increase the attack damage by 5 (can be reduced so use LivingDamageEvent instead of LivingHurtEvent). But I tested it, it does not do anything when I'm wearing the item. How I fix it?
  5. I want to increase the player's attack damage when using a chestplate, but I have no way to do it. What I have done is just set to a number, not increase. For example, I want to increase 3 attack damage when using, and I'm using a diamond sword which provides 7 damage. When I'm wearing the chestplate, it should be 10 attack damage. My code: package com.jerrylu086.createarsenal.items; import com.google.common.collect.ImmutableMultimap; import com.google.common.collect.Multimap; import com.jerrylu086.createarsenal.CreateArsenal; import net.minecraft.entity.Entity; import net.minecraft.entity.ai.attributes.Attribute; import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.entity.ai.attributes.Attributes; import net.minecraft.inventory.EquipmentSlotType; import net.minecraft.item.*; import net.minecraft.util.ResourceLocation; import javax.annotation.Nullable; public class ExoskeletonItem extends ArmorItem { private final float attackDamage; private final Multimap<Attribute, AttributeModifier> attributeModifiers; public ExoskeletonItem(IArmorMaterial materialIn, EquipmentSlotType slot, float attackDamageIn, Properties properties) { super(materialIn, slot, properties); this.attackDamage = attackDamageIn; ImmutableMultimap.Builder<Attribute, AttributeModifier> builder = ImmutableMultimap.builder(); builder.put(Attributes.ATTACK_DAMAGE, new AttributeModifier(ATTACK_DAMAGE_MODIFIER, "Weapon modifier", (double)this.attackDamage, AttributeModifier.Operation.ADDITION)); this.attributeModifiers = builder.build(); } @Override @Nullable public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlotType slot, String type) { return new ResourceLocation(CreateArsenal.MOD_ID, "textures/models/armor/exoskeleton_layer_1.png").toString(); } public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlotType equipmentSlot) { return equipmentSlot == EquipmentSlotType.CHEST ? this.attributeModifiers : super.getAttributeModifiers(equipmentSlot); } }package com.jerrylu086.createarsenal.items; import com.google.common.collect.ImmutableMultimap; import com.google.common.collect.Multimap; import com.jerrylu086.createarsenal.CreateArsenal; import net.minecraft.entity.Entity; import net.minecraft.entity.ai.attributes.Attribute; import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.entity.ai.attributes.Attributes; import net.minecraft.inventory.EquipmentSlotType; import net.minecraft.item.*; import net.minecraft.util.ResourceLocation; import javax.annotation.Nullable; public class ExoskeletonItem extends ArmorItem { private final float attackDamage; private final Multimap<Attribute, AttributeModifier> attributeModifiers; public ExoskeletonItem(IArmorMaterial materialIn, EquipmentSlotType slot, float attackDamageIn, Properties properties) { super(materialIn, slot, properties); this.attackDamage = attackDamageIn; ImmutableMultimap.Builder<Attribute, AttributeModifier> builder = ImmutableMultimap.builder(); builder.put(Attributes.ATTACK_DAMAGE, new AttributeModifier(ATTACK_DAMAGE_MODIFIER, "Weapon modifier", (double)this.attackDamage, AttributeModifier.Operation.ADDITION)); this.attributeModifiers = builder.build(); } @Override @Nullable public String getArmorTexture(ItemStack stack, Entity entity, EquipmentSlotType slot, String type) { return new ResourceLocation(CreateArsenal.MOD_ID, "textures/models/armor/exoskeleton_layer_1.png").toString(); } public Multimap<Attribute, AttributeModifier> getAttributeModifiers(EquipmentSlotType equipmentSlot) { return equipmentSlot == EquipmentSlotType.CHEST ? this.attributeModifiers : super.getAttributeModifiers(equipmentSlot); } }
  6. Sorry I don't really understand that... but I found that I need a bool value about a tag is loaded or not but don't really know how to do it...
  7. Is there any ways to add a item to the ItemGroup depends on a tag? Like something is depends on a mod loaded as the code below: public static final DeferredRegister<Item> ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, MyProject.MOD_ID); public static final RegistryObject<Item> ITEM_A = ITEMS.register("item_a", () -> new Item(new Item.Properties().group(ModList.get().isLoaded("mod_a") ? ItemGroup.MATERIALS : null)));
  8. I'm new at coding and I got a problem when I was building my gradle. Here's the error code: Build file 'build.gradle' line: 37 A problem occurred evaluating root project 'RoseGold'. > No signature of method: java.lang.String.mods() is applicable for argument types: (build_aylkspmrctt1hitxfh2fvq7es$_run_closure2$_closure8$_closure9$_closure12) values: [build_aylkspmrctt1hitxfh2fvq7es$_run_closure2$_closure8$_closure9$_closure12@7c9fab72] Possible solutions: plus(java.lang.Object), minus(java.util.regex.Pattern), plus(java.lang.CharSequence), is(java.lang.Object), minus(java.lang.Object), wait() Code in my gradle: buildscript { repositories { maven { url = 'https://files.minecraftforge.net/maven' } jcenter() mavenCentral() } dependencies { classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true } } repositories { maven { url "https://www.cursemaven.com" } } apply plugin: 'net.minecraftforge.gradle' apply plugin: 'eclipse' apply plugin: 'maven-publish' version = 'b0.1' group = 'com.jerryly086.rosegold' archivesBaseName = 'rosegold' sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' println('Java: ' + System.getProperty('java.version') + ' JVM: ' + System.getProperty('java.vm.version') + '(' + System.getProperty('java.vendor') + ') Arch: ' + System.getProperty('os.arch')) minecraft { mappings channel: 'snapshot', version: '20201028-1.16.3' runs { client { workingDirectory project.file('run') property 'forge.logging.markers', 'REGISTRIES'. mods { rosegold { source sourceSets.main } } } server { workingDirectory project.file('run') property 'forge.logging.markers', 'REGISTRIES' property 'forge.logging.console.level', 'debug' mods { rosegold { source sourceSets.main } } } data { workingDirectory project.file('run') property 'forge.logging.markers', 'REGISTRIES' property 'forge.logging.console.level', 'debug' args '--mod', 'examplemod', '--all', '--output', file('src/generated/resources/'), '--existing', file('src/main/resources/') mods { rosegold { source sourceSets.main } } } } } sourceSets.main.resources { srcDir 'src/generated/resources' } dependencies { minecraft 'net.minecraftforge:forge:1.16.5-36.0.42' implementation fg.deobf("curse.maven:farmers-delight-398521:3249879") } jar { manifest { attributes([ "Specification-Title": project.name, "Specification-Vendor": "JerryLu086", "Specification-Version": "1", // We are version 1 of ourselves "Implementation-Title": project.name, "Implementation-Version": "${version}", "Implementation-Vendor" :"JerryLu086", "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ") ]) } } jar.finalizedBy('reobfJar') publishing { publications { mavenJava(MavenPublication) { artifact jar } } repositories { maven { url "file:///${project.projectDir}/mcmodsrepo" } } }
×
×
  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.