Jump to content

Vanilla Enchantment Logic


littlemonge

Recommended Posts

 

I was looking for how enchantment logic are made on minecraft code. I found classes like "LoyaltyEnchantment" , "EfficiencyEnchantment" , and more classes like "StuffEnchatment"

all of them inheriting from Enchantment class, so my question is where to add enchatment logic code from custom enchantment? Because no one of these classes has that code.

 

Thanks in advance, regards

Edited by littlemonge
Link to comment
Share on other sites

My enchantment its a tool repairing enchantment like mending but instead of working with experience it works with time ,every 30 sec (1200 minecraft tick),it  repairs a tool use enchanted with it.

 

So i done this on my tool class :

 

@Override
	public void inventoryTick(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) {
		if (EnchantmentHelper.getEnchantments(stack).get(ModEnchantments.evil_mending) != null) {
			if (this.ticks == REPAIR_TIME_IN_SECONDS * TICKS_PER_SECOND) {
				this.ticks = 0;
				if (stack.isDamaged()) {
					stack.setDamage(stack.getDamage() - 1);
				}
			} else {
				ticks++;
			}
		}
		super.inventoryTick(stack, worldIn, entityIn, itemSlot, isSelected);

	}

 

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



×
×
  • Create New...

Important Information

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