mirror of
https://github.com/Sollace/Unicopia.git
synced 2025-02-01 03:26:44 +01:00
Fixed dispensers not being able to equip friendship bracelets and amulets when trinkets is installed
This commit is contained in:
parent
48f355050b
commit
9ce27c3f65
3 changed files with 3 additions and 11 deletions
|
@ -57,7 +57,7 @@ public abstract class WearableItem extends Item implements Wearable {
|
||||||
return pointer.getWorld().getEntitiesByClass(
|
return pointer.getWorld().getEntitiesByClass(
|
||||||
LivingEntity.class,
|
LivingEntity.class,
|
||||||
new Box(pointer.getPos().offset(pointer.getBlockState().get(DispenserBlock.FACING))),
|
new Box(pointer.getPos().offset(pointer.getBlockState().get(DispenserBlock.FACING))),
|
||||||
EntityPredicates.EXCEPT_SPECTATOR.and(new EntityPredicates.Equipable(armor))
|
EntityPredicates.EXCEPT_SPECTATOR
|
||||||
)
|
)
|
||||||
.stream()
|
.stream()
|
||||||
.flatMap(entity -> TrinketsDelegate.getInstance()
|
.flatMap(entity -> TrinketsDelegate.getInstance()
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
package com.minelittlepony.unicopia.trinkets;
|
package com.minelittlepony.unicopia.trinkets;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
import net.fabricmc.loader.api.FabricLoader;
|
import net.fabricmc.loader.api.FabricLoader;
|
||||||
|
@ -48,11 +49,7 @@ public interface TrinketsDelegate {
|
||||||
}
|
}
|
||||||
|
|
||||||
default Set<Identifier> getAvailableTrinketSlots(LivingEntity entity, Set<Identifier> probedSlots) {
|
default Set<Identifier> getAvailableTrinketSlots(LivingEntity entity, Set<Identifier> probedSlots) {
|
||||||
return Set.of();
|
return probedSlots.stream().filter(slot -> getEquipped(entity, slot).count() == 0).collect(Collectors.toSet());
|
||||||
}
|
|
||||||
|
|
||||||
default Stream<ItemStack> getEquipped(LivingEntity entity) {
|
|
||||||
return Stream.empty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
default Stream<ItemStack> getEquipped(LivingEntity entity, Identifier slot) {
|
default Stream<ItemStack> getEquipped(LivingEntity entity, Identifier slot) {
|
||||||
|
|
|
@ -50,11 +50,6 @@ public class TrinketsDelegateImpl implements TrinketsDelegate {
|
||||||
return probedSlots;
|
return probedSlots;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public Stream<ItemStack> getEquipped(LivingEntity entity) {
|
|
||||||
return getInventories(entity).flatMap(InventoryUtil::stream).filter(s -> !s.isEmpty());
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Stream<ItemStack> getEquipped(LivingEntity entity, Identifier slot) {
|
public Stream<ItemStack> getEquipped(LivingEntity entity, Identifier slot) {
|
||||||
return getInventory(entity, slot).stream().flatMap(InventoryUtil::stream).filter(s -> !s.isEmpty());
|
return getInventory(entity, slot).stream().flatMap(InventoryUtil::stream).filter(s -> !s.isEmpty());
|
||||||
|
|
Loading…
Reference in a new issue