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

Help applying potion effects to mobs


Recommended Posts

Hello everyone.

First of all I'm junior modder but I have some time programming on Java so everything is ok.

 

Now, here is my question.

How can I apply potion effects to entities(mobs and players)? I'm using 1.12.2

 

I made an enchantment for the sword, and I want to apply slowness to every entity I hit.

I tried a lot of things and I've researched a lot before come here so, here is my "subscribeEvent" method

 

 

@SubscribeEvent
	public static void enchantAttack(LivingAttackEvent event) {
		Object attacker = event.getSource().getTrueSource();		
		
		System.out.println("Hi0");
		if(attacker instanceof EntityLivingBase ) {
			System.out.println("Hi1");
			EntityLivingBase entityAttacker = (EntityLivingBase)attacker; 
			EntityAnimal picha = (EntityAnimal)attacker;
			
			int leve = EnchantmentHelper.getEnchantmentLevel(DAMAGE_HEAL, entityAttacker.getHeldItemMainhand());
			if(leve > 0) {
				System.out.println("hi2");
				
				
				picha.addPotionEffect(Potion.getPotionById(2), 100, 0);
				
			
				
				
			}
		}
		
	}

 

Thanks :c

 

 

 

 

 

 

Link to post
Share on other sites
Guest
This topic is now closed to further replies.


  • Recently Browsing

    No registered users viewing this page.

  • Posts

    • so I have done nothing wrong by the coding itself, it's just the understanding of mojang
    • I've noticed that forge for 1.16.5 no longer accepts version specific mod folders, has the format been changed from the version number to something else, is this a bug, or has this feature been removed? 
    • setBlockAndUpdate uses flag 3, but I've tried 1, 2, and 4 with no success. Is there any documentation on what these flags do? I found this thread but since I'm using the mojang mappings I don't think I have the same javadocs.   
    • Ok i can't make it work. It gives me this error "java.lang.RuntimeException: Attempted to load class net/minecraft/client/renderer/tileentity/ItemStackTileEntityRenderer for invalid dist DEDICATED_SERVER" I try to move the chestRenderer() methods to a separate class but it keeps to give me this error. I don't know how to separate the Supplier<Callable<ItemStackTileEntityRenderer>> renderMethod parameter to the server registration. I tryied to make a class for only the items, removing it from the Blocks class:   public class Items { public static final DeferredRegister<Item> ITEMS; private static final RegistryObject<Item> MINI_CHEST; private static final RegistryObject<Item> SMELTING_CHEST; private static final RegistryObject<Item> INVISIBLE_CHEST; private static final RegistryObject<Item> TRAP_CHEST; private static final RegistryObject<Item> PITFALL_CHEST; private static final RegistryObject<Item> DRILL_CHEST; private static final RegistryObject<Item> TELEPORT_CHEST; private static final RegistryObject<Item> LOOT_CHEST; private static final RegistryObject<Item> MONSTER_CHEST; private static final RegistryObject<Item> POCKET_DIMENSION_CHEST; private static final RegistryObject<Item> COLOSSAL_CHEST; static { ITEMS = DeferredRegister.create(ForgeRegistries.ITEMS, TenChest.MODID); MINI_CHEST = register("mini_chest", Blocks.MINI_CHEST, ItemBlockRenderer::baseChestRenderer); SMELTING_CHEST = register("smelting_chest", Blocks.SMELTING_CHEST, ItemBlockRenderer::smeltingChestRenderer); INVISIBLE_CHEST = register("invisible_chest", Blocks.INVISIBLE_CHEST, ItemBlockRenderer::baseChestRenderer); TRAP_CHEST = register("trap_chest", Blocks.TRAP_CHEST, ItemBlockRenderer::baseChestRenderer); PITFALL_CHEST = register("pitfall_chest", Blocks.PITFALL_CHEST, ItemBlockRenderer::baseChestRenderer); DRILL_CHEST = register("drill_chest", Blocks.DRILL_CHEST, ItemBlockRenderer::baseChestRenderer); TELEPORT_CHEST = register("teleport_chest", Blocks.TELEPORT_CHEST, ItemBlockRenderer::teleportChestRenderer); LOOT_CHEST = register("loot_chest", Blocks.LOOT_CHEST, ItemBlockRenderer::lootChestRenderer); MONSTER_CHEST = register("monster_chest", Blocks.MONSTER_CHEST, ItemBlockRenderer::baseChestRenderer); POCKET_DIMENSION_CHEST = register("pocket_dimension_chest", Blocks.POCKET_DIMENSION_CHEST, ItemBlockRenderer::pocketDimensionChestRenderer); COLOSSAL_CHEST = register("colossal_chest", Blocks.COLOSSAL_CHEST, ItemBlockRenderer::baseChestRenderer); } private static <T extends Item> RegistryObject<T> register(String name, RegistryObject<Block> block, Supplier<Callable<ItemStackTileEntityRenderer>> renderMethod) { return register(name, block, (item) -> item(block, renderMethod)); } private static <T extends Item> RegistryObject<T> register(String name, RegistryObject<Block> ret, Function<RegistryObject<Block>, Supplier<? extends Item>> itemCreator) { return ITEMS.register(name, (Supplier) itemCreator.apply(ret)); } private static Supplier<BlockItem> item(RegistryObject<? extends Block> block, Supplier<Callable<ItemStackTileEntityRenderer>> renderMethod) { return () -> { BlockItem blockItem = new BlockItem(block.get(), (new Item.Properties().tab(TenChest.MOD_GROUP).setISTER(renderMethod))); return blockItem; }; } } But the items are not registered, and i don't know why. It gives to me this:   [16:06:18] [Render thread/INFO] [ne.mi.re.GameData/REGISTRIES]: Injecting existing registry data into this CLIENT instance [16:06:18] [Render thread/INFO] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Item: Found a missing id from the world tenchest:colossal_chest [16:06:18] [Render thread/INFO] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Item: Found a missing id from the world tenchest:colossal_chest_part [16:06:18] [Render thread/INFO] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Item: Found a missing id from the world tenchest:drill_chest [16:06:18] [Render thread/INFO] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Item: Found a missing id from the world tenchest:invisible_chest [16:06:18] [Render thread/INFO] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Item: Found a missing id from the world tenchest:loot_chest [16:06:18] [Render thread/INFO] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Item: Found a missing id from the world tenchest:mini_chest [16:06:18] [Render thread/INFO] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Item: Found a missing id from the world tenchest:monster_chest [16:06:18] [Render thread/INFO] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Item: Found a missing id from the world tenchest:pitfall_chest [16:06:18] [Render thread/INFO] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Item: Found a missing id from the world tenchest:pocket_dimension_chest [16:06:18] [Render thread/INFO] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Item: Found a missing id from the world tenchest:smelting_chest [16:06:18] [Render thread/INFO] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Item: Found a missing id from the world tenchest:teleport_chest [16:06:18] [Render thread/INFO] [ne.mi.re.ForgeRegistry/REGISTRIES]: Registry Item: Found a missing id from the world tenchest:trap_chest [16:06:18] [Render thread/DEBUG] [ne.mi.re.GameData/REGISTRIES]: There are 12 mappings missing - attempting a mod remap [16:06:18] [Render thread/ERROR] [ne.mi.re.GameData/REGISTRIES]: Unidentified mapping from registry minecraft:item tenchest:colossal_chest: 987 tenchest:colossal_chest_part: 986 tenchest:drill_chest: 981 tenchest:invisible_chest: 978 tenchest:loot_chest: 983 tenchest:mini_chest: 976 tenchest:monster_chest: 984 tenchest:pitfall_chest: 980 tenchest:pocket_dimension_chest: 985 tenchest:smelting_chest: 977 tenchest:teleport_chest: 982 tenchest:trap_chest: 979  
    • I've tried to play my old world with mods, but Minecraft just crashes after the mods loading screen. The Minecraft version is 1.12.2 and the Forge version is the latest one, 14.23.5.2855   I've already reinstalled forge, deleted the mods and using the previous version (which I used originally and worked) and even using different versions of Java, so I don't know what else to do   The debug.log file is this: https://pastebin.com/vwLHWvFE . The error is in the line 332, I hope it helps.   Thanks in advance
  • Topics

  • Who's Online (See full list)

×
×
  • Create New...

Important Information

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