Jump to content

Recommended Posts

Posted

I've recently added a config to my mod to make an item drop only when silk touched. The config works.

The silk touch doesn't. Whether I am using a Silk Touch pick or a normal one the HarvestDropsEvent.isSilkTouching is always false.

From looking at calls to post a new HarvestDropsEvent, it looks like the game is only passing true to the isSilkTouching if the block could normally be silk touched.

 

I need to be able to tell if a BlockMobSpawner is silk touched or not.

 

My current SubscribeEvent looks like this:

 

@SubscribeEvent
public void onBlockDrops(HarvestDropsEvent event)
{
	if (event.block instanceof BlockMobSpawner)
	{
            System.out.println("BlockMobSpawner broken");
            if (ConfigurationHandler.spawnerDropRequireSilk)
            {
                System.out.println("spawnerDropRequireSilk");
                if (event.isSilkTouching)
                {
                    System.out.println("isSilkTouching");
                    event.drops.add(new ItemStack(SCBlocks.mobCage, 1));
                } else {
                    System.out.println("isntSilkTouching");
                }
            }
            else
            {
                System.out.println("spawnerDropDoesntRequireSilk");
                event.drops.add(new ItemStack(SCBlocks.mobCage, 1));
            }
	}
}

 

My full mod can be found here: https://github.com/CAD97/SpawnerCraft

 

I am using forge 1.7.10-10.13.0.1188

Posted

It took me a while to find, but I got it.

 

I'd looked before for the solution you suggested, jabelar, by going through the event.harvester options, but not found it.

 

Looking at the stacktrace for event.isSilkTouching, though, I was able to find the call required:

EnchantmentHelper.getSilkTouchModifier(event.harvester)

.

 

Looking more at isSilkTouching it does only seem to be true for silktouch-able blocks.

Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

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