Skip to content

Commit

Permalink
equip baubles on right click when using trinkets
Browse files Browse the repository at this point in the history
  • Loading branch information
Abbie5 committed Feb 23, 2025
1 parent 9f179c8 commit e6d3ec8
Showing 1 changed file with 15 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
import dev.emi.trinkets.api.SlotReference;
import dev.emi.trinkets.api.Trinket;
import dev.emi.trinkets.api.TrinketEnums;
import dev.emi.trinkets.api.TrinketItem;
import dev.emi.trinkets.api.TrinketsApi;
import dev.emi.trinkets.api.client.TrinketRenderer;
import dev.emi.trinkets.api.client.TrinketRendererRegistry;
Expand All @@ -23,13 +24,18 @@
import net.minecraft.client.model.HumanoidModel;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.world.Container;
import net.minecraft.world.InteractionHand;
import net.minecraft.world.InteractionResultHolder;
import net.minecraft.world.SimpleContainer;
import net.minecraft.world.entity.LivingEntity;
import net.minecraft.world.entity.ai.attributes.Attribute;
import net.minecraft.world.entity.ai.attributes.AttributeModifier;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.level.Level;

import net.fabricmc.fabric.api.event.player.UseItemCallback;
import vazkii.botania.client.render.AccessoryRenderRegistry;
import vazkii.botania.common.handler.EquipmentHandler;
import vazkii.botania.common.item.ResoluteIvyItem;
Expand All @@ -45,6 +51,7 @@
public class TrinketsIntegration extends EquipmentHandler {
public static void init() {
TrinketDropCallback.EVENT.register(TrinketsIntegration::keepAccessoryDrops);
UseItemCallback.EVENT.register(TrinketsIntegration::useBaubleItem);
}

private static TrinketEnums.DropRule keepAccessoryDrops(TrinketEnums.DropRule oldRule,
Expand All @@ -56,6 +63,14 @@ private static TrinketEnums.DropRule keepAccessoryDrops(TrinketEnums.DropRule ol
}
return oldRule;
}

private static InteractionResultHolder<ItemStack> useBaubleItem(Player player, Level level, InteractionHand hand) {
ItemStack stack = player.getItemInHand(hand);
if (stack.getItem() instanceof BaubleItem bi && bi.canEquip(stack, player) && TrinketItem.equipItem(player, stack)) {
return InteractionResultHolder.success(stack);
}
return InteractionResultHolder.pass(stack);
}

@Override
protected Container getAllWornItems(LivingEntity living) {
Expand Down

0 comments on commit e6d3ec8

Please sign in to comment.