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



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I tried do download the essential mod to my mod pack but i didnt work. I paly on 1.21 and it should work. I use neoforge for my modding. The weird things is my friend somehow added the mod to his modpack and many others that I somehow can´t. Is there anything i can do? 
    • Thanks, I've now installed a slightly newer version and the server is at least starting up now.
    • i have the same issue. Found 1 Create mod class dependency(ies) in createdeco-1.3.3-1.19.2.jar, which are missing from the current create-1.19.2-0.5.1.i.jar Found 11 Create mod class dependency(ies) in createaddition-fabric+1.19.2-20230723a.jar, which are missing from the current create-1.19.2-0.5.1.i.jar Detailed walkthrough of mods which rely on missing Create mod classes: Mod: createaddition-fabric+1.19.2-20230723a.jar Missing classes of create: com/simibubi/create/compat/jei/category/sequencedAssembly/JeiSequencedAssemblySubCategory com/simibubi/create/compat/recipeViewerCommon/SequencedAssemblySubCategoryType com/simibubi/create/compat/rei/CreateREI com/simibubi/create/compat/rei/EmptyBackground com/simibubi/create/compat/rei/ItemIcon com/simibubi/create/compat/rei/category/CreateRecipeCategory com/simibubi/create/compat/rei/category/WidgetUtil com/simibubi/create/compat/rei/category/animations/AnimatedBlazeBurner com/simibubi/create/compat/rei/category/animations/AnimatedKinetics com/simibubi/create/compat/rei/category/sequencedAssembly/ReiSequencedAssemblySubCategory com/simibubi/create/compat/rei/display/CreateDisplay Mod: createdeco-1.3.3-1.19.2.jar Missing classes of create: com/simibubi/create/content/kinetics/fan/SplashingRecipe
    • The crash points to moonlight lib - try other builds or make a test without this mod and the mods requiring it
    • Do you have shaders enabled? There is an issue with the mod simpleclouds - remove this mod or disable shaders, if enabled  
  • Topics

×
×
  • Create New...

Important Information

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