Jump to content

[Solved] [1.7.2] getting default mob drops (obfuscated method name)


wesserboy

Recommended Posts

Hello,

I had this idea for a mod that spawns particles around an entity of the item that it drops, i found this method in EntityLiving called getDropItem(), and i wanted to use this to get the item the particle should look like, the only problem is that this method is protected, does anybody know if there is a forge hook to still get this item or another way to get the drop of a specific entity?

I made the Mob Particles mod, you can check it out here: http://www.minecraftforum.net/topic/2709242-172-forge-mob-particles/

Link to comment
Share on other sites

I used java reflection, and in my dev environment it seemed to work fine, it spawned the particles every time, but when i exported the mod and tried it, it didn't spawn any particles at all. this is the code i am using:

 

LivingUpdateEventHandler:

https://gist.github.com/anonymous/cf4dd49d5de35af5a8a3

 

EntityItemFX:

https://gist.github.com/anonymous/1a5c7715ca01c1ac077c

 

ParticleHelper:

https://gist.github.com/anonymous/fbeee5aee9c7ea08e113

 

does anybody know why this happens?

 

I made the Mob Particles mod, you can check it out here: http://www.minecraftforum.net/topic/2709242-172-forge-mob-particles/

Link to comment
Share on other sites

I have looked into it further and i have noticed the problem, entities that do have a getDropItem() method cause a noSuchMethodException if i run the exported version of the mod, however the same entity doesn't cause this exception in eclipse...

 

does anybody know what could be the cause of this?

I made the Mob Particles mod, you can check it out here: http://www.minecraftforum.net/topic/2709242-172-forge-mob-particles/

Link to comment
Share on other sites

ok, i am one step further now, since i use a String to find the method within the class i can't use "getDropItem" outside eclipse, i need the obfuscated name of getDropItem, does anybody know where i can find this obfuscated name?

I made the Mob Particles mod, you can check it out here: http://www.minecraftforum.net/topic/2709242-172-forge-mob-particles/

Link to comment
Share on other sites

Hi

 

Do you know about the MCPbot?

 

http://mcpold.ocean-labs.de/index.php/MCPBot

 

-TGG

 

 

irc.esper.net

 

12:46 Started talking with MCPBot on Sunday 1/06/2014 12:46:15

TheGreyGhost gcm getDropItem

MCPBot [ GET CLIENT METHODS ]

MCPBot Side : client

MCPBot Name : EntityLiving.getDropItem

MCPBot Notch : ri.u

MCPBot Searge : func_146068_u

MCPBot Type/Notch : ()Lnet/minecraft/item/Item; | ()Labn;

Link to comment
Share on other sites

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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Recently started to attempt 1.20.1 modding, in registering idle, walk and attack animations in the mob entity class i've run into two issues:   a) idle and walk animations seem to play simultaneously  + the mob itself does not seem to walk private static final EntityDataAccessor<Boolean> ATTACKING = SynchedEntityData.defineId(MugaEntity.class, EntityDataSerializers.BOOLEAN); public MugaEntity(EntityType<? extends Monster > pEntityType, Level pLevel) { super(pEntityType, pLevel); } public final AnimationState idleAnimationState = new AnimationState(); private int idleAnimationTimeout = 1; p ublic final AnimationState attackAnimationState = new AnimationState(); public int attackAnimationTimeout = 0; @Override public void tick() { super.tick(); if(this.level().isClientSide()) { setupAnimationStates(); } } private void setupAnimationStates () { if(this.idleAnimationTimeout <= 0) { this.idleAnimationTimeout = this.random.nextInt(30) + 60; this.idleAnimationState.start(this.tickCount); } else { --this.idleAnimationTimeout; } if (this.isAttacking() && attackAnimationTimeout <= 0 ) { attackAnimationTimeout = 20; attackAnimationState.start(this.tickCount); } else { --this.attackAnimationTimeout; } if(this.isAttacking()) { attackAnimationState.stop(); } } @Override protected void updateWalkAnimation(float pPartialTick) { float f; if(this.getPose() == Pose.STANDING) { f=Math.min(pPartialTick * 3.0F, 1.0F); } else { f= 0.0F; } this.walkAnimation.update(f, 0.2F); } @Override protected void defineSynchedData() { super.defineSynchedData(); this.entityData.define(ATTACKING, false); } public void setAttacking(boolean attacking) { this.entityData.set(ATTACKING, attacking); } public boolean isAttacking() { return this.entityData.get(ATTACKING); } b) the attack animation is never played on attack, despite being registered  @Override public void setupAnim(Entity entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) { this.root().getAllParts().forEach(ModelPart::resetPose); this.animateWalk(ModAnimationDefinitions.MUGA_WALKING, limbSwing, limbSwingAmount, 1f, 1f ); this.animate(((MugaEntity)entity).idleAnimationState, ModAnimationDefinitions.MUGA_IDLE, ageInTicks, 1f); t his.animate(((MugaEntity)entity).attackAnimationState, ModAnimationDefinitions.MUGA_ATTACK, ageInTicks, 1f); }
    • Maybe there are some more broken files - check the new crash-report - the file name is mentioned in the first lines   If it is another crash, add it here
    • Thanks. Found and deleted it, but it doesn't change anything. When joining a new file is created, the screen freezes/ does not respond in typical manner and I have to close it then. I deleted it in curseforge>minecraft>instances>Modpack>saves>World>serverconfig Should I have deleted it anywhere else?
    • Do you still need help?
  • Topics

×
×
  • Create New...

Important Information

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