Jump to content

Trigonaut

Members
  • Posts

    6
  • Joined

  • Last visited

Trigonaut's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. Ah, so it was just moved around a bit. Thanks.
  2. After building my project, the vanilla source code is missing many files that I expect to be here, for example, the "entity" package Is this a known problem with a particular version of the development kit? Have they simply been moved with 1.17.1? I've tried rebuilding the project but nothing seems to work. Why am I missing these files?
  3. I am encountering an error on my modded item's onItemRightClick action, but only when the mod is built to a jar and run in normal minecraft. This error doesn't happen when running from the project in IntelliJ. The item works as intended. I am using the exact same forge version in both instances. (35.1.0) What might be the cause for an error 'in the field' which isn't produced in the IDE? Here is the class which causes the error: public class HookshotItem extends Item implements IVanishable { public HookshotItem(Item.Properties builder) { super(builder); } public ActionResult<ItemStack> onItemRightClick(World worldIn, PlayerEntity playerIn, Hand handIn) { ItemStack itemstack = playerIn.getHeldItem(handIn); if (!worldIn.isRemote) { IHookshotIdentifier hookId = playerIn.getCapability(CapabilityHookshotIdentifier.HOOKSHOT_IDENTIFIER_CAPABILITY,null).orElse(null); HookshotHookEntity hookEntity = hookId.getHook(); if(hookEntity == null){ hookEntity = new HookshotHookEntity(ModEntityTypes.HOOKSHOT_HOOK.get(), playerIn, worldIn); worldIn.addEntity(hookEntity); }else{ hookEntity.reelCable(0.3f); } } return ActionResult.func_233538_a_(itemstack, worldIn.isRemote()); } public int getItemEnchantability() { return 0; } } and here is the portion of the log containing the crash: [22Apr2021 22:44:42.940] [Server thread/ERROR] [net.minecraft.server.MinecraftServer/]: Encountered an unexpected exception java.lang.ExceptionInInitializerError: null at com.trigonaut.mobilitymod.item.HookshotItem.func_77659_a(HookshotItem.java:32) ~[?:1.0] at net.minecraft.item.ItemStack.func_77957_a(ItemStack.java:214) ~[?:?] at net.minecraft.server.management.PlayerInteractionManager.func_187250_a(PlayerInteractionManager.java:287) ~[?:?] at net.minecraft.network.play.ServerPlayNetHandler.func_147346_a(ServerPlayNetHandler.java:982) ~[?:?] at net.minecraft.network.play.client.CPlayerTryUseItemPacket.func_148833_a(SourceFile:31) ~[?:?] at net.minecraft.network.play.client.CPlayerTryUseItemPacket.func_148833_a(SourceFile:9) ~[?:?] at net.minecraft.network.PacketThreadUtil.func_225383_a(SourceFile:21) ~[?:?] at net.minecraft.network.PacketThreadUtil$$Lambda$5774/1431595733.run(Unknown Source) ~[?:?] at net.minecraft.util.concurrent.TickDelayedTask.run(SourceFile:18) ~[?:?] at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(SourceFile:144) ~[?:?] at net.minecraft.util.concurrent.RecursiveEventLoop.func_213166_h(SourceFile:23) ~[?:?] at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:733) ~[?:?] at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:159) ~[?:?] at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(SourceFile:118) ~[?:?] at net.minecraft.server.MinecraftServer.func_213205_aW(MinecraftServer.java:716) ~[?:?] at net.minecraft.server.MinecraftServer.func_213168_p(MinecraftServer.java:710) ~[?:?] at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213160_bf(SourceFile:103) ~[?:?] at net.minecraft.server.MinecraftServer.func_213202_o(MinecraftServer.java:695) ~[?:?] at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:645) [?:?] at net.minecraft.server.MinecraftServer.lambda$startServer$0(MinecraftServer.java:232) [?:?] at net.minecraft.server.MinecraftServer$$Lambda$5064/1245825773.run(Unknown Source) [?:?] at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51] Caused by: net.minecraftforge.fml.common.ObfuscationReflectionHelper$UnableToFindMethodException: java.lang.NoSuchMethodException: net.minecraft.entity.Entity.setFlag(int, boolean) at net.minecraftforge.fml.common.ObfuscationReflectionHelper.findMethod(ObfuscationReflectionHelper.java:166) ~[?:?] at com.trigonaut.mobilitymod.entity.HookshotHookEntity.<clinit>(HookshotHookEntity.java:41) ~[?:1.0] ... 22 more Caused by: java.lang.NoSuchMethodException: net.minecraft.entity.Entity.setFlag(int, boolean) at java.lang.Class.getDeclaredMethod(Class.java:2130) ~[?:1.8.0_51] at net.minecraftforge.fml.common.ObfuscationReflectionHelper.findMethod(ObfuscationReflectionHelper.java:160) ~[?:?] at com.trigonaut.mobilitymod.entity.HookshotHookEntity.<clinit>(HookshotHookEntity.java:41) ~[?:1.0] ... 22 more [22Apr2021 22:44:42.945] [Server thread/FATAL] [net.minecraftforge.common.ForgeMod/]: Preparing crash report with UUID a6fd1be1-e806-4d7e-8d84-ca7c4250b981 It looks like something to do with reflection, but I haven't used any reflection anywhere in this mod.
  4. I am trying to change the way damage to the player is affected by the game's difficulty. At the beginning of the vanilla PlayerEntity.attackEntityFrom() method (where these calculations are normally applied), there is a Forge hook for a LivingAttackEvent, but it doesn't seem offer any way to change the damage being dealt by that attack. I could probably accomplish what I'm looking for by copying all of the code from PlayerEntity.attackEntityFrom() and LivingEntity.attackEntityFrom(). into my subscribed method, but there must be a better way. How best can I override/bypass the formulas for when a player is damaged at different difficulties?
  5. I am trying to add a new type of shield, but its json model does not seem to respect the 'blocking' predicate even though the item extends ShieldItem. How should I make the blocking predicate set to 1 when the shield is used, like the vanilla shield?
  6. I am trying to create an entity which mimics the player using an item (placing a block, using a bucket, etc.). I have a class VirtualPlayerEntity extends PlayerEntity, which is passed into the onItemRightClick method for the item my entity is holding. My problem arises when that item is an empty bucket, used on a fluid block. In the onItemRightClick method for the BucketItem class I get the error: <com.trigonaut.mod.entity.VirtualPlayerEntity cannot be cast to net.minecraft.entity.player.ServerPlayerEntity> caused by the FILLED_BUCKET criteria trigger. How do I make VirtualPlayerEntity able to cast to ServerPlayerEntity? (preferably without extending it) Is there a better way to emulate a player right-click? How do other mods create this functionality? Attached is my VirtualPlayerEntity class. VirtualPlayerEntity.java
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.