Skip to content

Commit

Permalink
added curios compat
Browse files Browse the repository at this point in the history
  • Loading branch information
Trinsdar committed Jan 19, 2025
1 parent 8be5378 commit 5fdf1ac
Show file tree
Hide file tree
Showing 5 changed files with 63 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package muramasa.antimatter.integration.curios;

import muramasa.antimatter.util.ImplLoader;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;

import java.util.stream.Stream;

public interface ICuriosHelper {
ICuriosHelper INSTANCE = ImplLoader.load(ICuriosHelper.class);
Stream<ItemStack> getCuriosItems(String slotType, Player player);
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import muramasa.antimatter.Ref;
import muramasa.antimatter.capability.energy.ItemEnergyHandler;
import muramasa.antimatter.datagen.providers.AntimatterItemModelProvider;
import muramasa.antimatter.integration.curios.ICuriosHelper;
import muramasa.antimatter.item.ICustomDurability;
import muramasa.antimatter.item.ItemBattery;
import muramasa.antimatter.material.Material;
Expand Down Expand Up @@ -218,7 +219,7 @@ default void onGenericAddInformation(ItemStack stack, List<Component> tooltip, T

default void refillTool(ItemStack stack, Player player){
if (this.getAntimatterToolType().isPowered()) {
Streams.concat(player.getInventory().items.stream(), player.getInventory().offhand.stream()).forEach(s -> {
Streams.concat(player.getInventory().items.stream(), player.getInventory().offhand.stream(), ICuriosHelper.INSTANCE.getCuriosItems("belt", player)).forEach(s -> {
if (this.getCurrentEnergy(stack) < getMaxEnergy(stack)){
if (s.getItem() instanceof ItemBattery battery && battery.getTier().getIntegerId() == this.getEnergyTier()){
IEnergyHandlerItem batteryHandler = TesseractCapUtils.INSTANCE.getEnergyHandlerItem(s).orElse(null);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package muramasa.antimatter.integration.trinkets.fabric;

import muramasa.antimatter.integration.curios.ICuriosHelper;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;

import java.util.stream.Stream;

public class CuriosHelperImpl implements ICuriosHelper {

@Override //TODO trinkets implementation
public Stream<ItemStack> getCuriosItems(String slotType, Player player) {
return Stream.empty();
}
}
1 change: 1 addition & 0 deletions forge/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ dependencies {
modImplementation("dev.latvian.mods:rhino-forge:${project.rhino_version}")
modImplementation("dev.architectury:architectury-forge:${project.architectury_version}")
modImplementation("curse.maven:the-one-probe-245211:${project.top_forge_file}")
modImplementation("curse.maven:curios-309927:4985315")
compileOnly(annotationProcessor("io.github.llamalad7:mixinextras-common:0.4.1"))
implementation(jarJar("io.github.llamalad7:mixinextras-forge:0.4.1"))
modCompileOnly("com.simibubi.create:create-${minecraft_version}:0.5.1.i-435:all")
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package muramasa.antimatter.integration.curios.forge;

import muramasa.antimatter.AntimatterAPI;
import muramasa.antimatter.integration.curios.ICuriosHelper;
import net.minecraft.world.entity.player.Player;
import net.minecraft.world.item.ItemStack;
import top.theillusivec4.curios.api.CuriosApi;

import java.util.ArrayList;
import java.util.List;
import java.util.stream.Stream;

public class CuriosHelperImpl implements ICuriosHelper {
@Override
public Stream<ItemStack> getCuriosItems(String slotType, Player player) {
if (!AntimatterAPI.isModLoaded("curios")) {
return Stream.empty();
}
var handler = CuriosApi.getCuriosHelper().getCuriosHandler(player).resolve().orElse(null);
if (handler == null) {
return Stream.empty();
}
List<ItemStack> stacks = new ArrayList<>();
var curioMap = handler.getCurios();
var stacksHandler = curioMap.get(slotType).getStacks();
for (int i = 0; i < stacksHandler.getSlots(); i++) {
if (!stacksHandler.getStackInSlot(i).isEmpty()) {
stacks.add(stacksHandler.getStackInSlot(i));
}
}
return stacks.stream();
}
}

0 comments on commit 5fdf1ac

Please sign in to comment.