Skip to content

Commit

Permalink
JADE !!!!!!
Browse files Browse the repository at this point in the history
Leclowndu93150 committed Sep 17, 2024
1 parent c358ad8 commit 43671a5
Showing 4 changed files with 80 additions and 2 deletions.
2 changes: 2 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -72,6 +72,8 @@ dependencies {
implementation "net.neoforged:neoforge:${neo_version}"

implementation "top.theillusivec4.curios:curios-neoforge:${curios_version}+1.21"
implementation "curse.maven:jade-324717:5729884"
implementation "curse.maven:modonomicon-538392:5717209"

compileOnly "mezz.jei:jei-${minecraft_version}-common-api:${jei_version}"
compileOnly "mezz.jei:jei-${minecraft_version}-neoforge-api:${jei_version}"
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package com.portingdeadmods.modjam.compat.jade;

import com.portingdeadmods.modjam.content.blockentities.AquaticCatalystBlockEntity;
import net.minecraft.network.chat.Component;
import net.minecraft.resources.ResourceLocation;
import snownee.jade.api.BlockAccessor;
import snownee.jade.api.IBlockComponentProvider;
import snownee.jade.api.ITooltip;
import snownee.jade.api.config.IPluginConfig;

public enum AquaticCatalystComponentProvider implements IBlockComponentProvider {
INSTANCE;

@Override
public void appendTooltip(ITooltip iTooltip, BlockAccessor blockAccessor, IPluginConfig iPluginConfig) {
if (blockAccessor.getBlockEntity() instanceof AquaticCatalystBlockEntity blockEntity) {
if (blockEntity.isActive()) {
iTooltip.add(Component.literal("Status: Active"));
blockEntity.getCurrentRecipe().ifPresent(recipe -> {
iTooltip.add(Component.literal("Processing: ").append(Component.literal(blockEntity.getItemHandler().getStackInSlot(0).getCount() +"x ").append(Component.translatable(blockEntity.getProcessingItem().getDescriptionId()))));
iTooltip.add(Component.literal("Remaining Duration: " + blockEntity.getRemainingDuration() + " ticks"));
iTooltip.add(Component.literal("Transferring: " + blockEntity.getPower() + "AP/T"));
});
} else {
iTooltip.add(Component.literal("Status: Inactive"));
}
}
}


@Override
public ResourceLocation getUid() {
return ResourceLocation.fromNamespaceAndPath("modjam", "aquatic_catalyst");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.portingdeadmods.modjam.compat.jade;

import com.portingdeadmods.modjam.content.blockentities.AquaticCatalystBlockEntity;
import com.portingdeadmods.modjam.content.blocks.AquaticCatalystBlock;
import snownee.jade.api.IWailaClientRegistration;
import snownee.jade.api.IWailaCommonRegistration;
import snownee.jade.api.IWailaPlugin;
import snownee.jade.api.WailaPlugin;

@WailaPlugin
public class JadePlugin implements IWailaPlugin {

@Override
public void register(IWailaCommonRegistration registration) {
//TODO register data providers
}

@Override
public void registerClient(IWailaClientRegistration registration) {
registration.registerBlockComponent(AquaticCatalystComponentProvider.INSTANCE, AquaticCatalystBlock.class);
}
}
Original file line number Diff line number Diff line change
@@ -26,6 +26,7 @@

public class AquaticCatalystBlockEntity extends LaserBlockEntity {
private AquaticCatalystChannelingRecipe recipe;
private int amount;
private int duration;

public AquaticCatalystBlockEntity(BlockPos blockPos, BlockState blockState) {
@@ -46,6 +47,20 @@ public int getDuration() {
return duration;
}

public int getRemainingDuration() {
return recipe != null ? recipe.duration() - duration : 0;
}

public ItemStack getProcessingItem() {
return getItemHandler().getStackInSlot(0);
}

public Optional<AquaticCatalystChannelingRecipe> getCurrentRecipe() {
return Optional.ofNullable(this.recipe);
}



@Override
public ObjectSet<Direction> getLaserOutputs() {
Direction direction = getBlockState().getValue(BlockStateProperties.FACING);
@@ -76,7 +91,7 @@ public void commonTick() {
getItemStackHandler().setStackInSlot(0, stack.copyWithCount(stack.getCount() - 1));
duration = 0;
} else {
int amount = recipe.powerAmount() / recipe.duration();
amount = recipe.powerAmount() / recipe.duration();
transmitPower(amount);
duration++;
}
@@ -85,6 +100,10 @@ public void commonTick() {
}
}

public int getPower() {
return amount;
}

@Override
public <T> Map<Direction, Pair<IOActions, int[]>> getSidedInteractions(BlockCapability<T, @Nullable Direction> capability) {
if (capability == Capabilities.ItemHandler.BLOCK) {
@@ -93,7 +112,7 @@ public <T> Map<Direction, Pair<IOActions, int[]>> getSidedInteractions(BlockCapa
return Map.of();
}

private boolean isActive() {
public boolean isActive() {
return getBlockState().getValue(AquaticCatalystBlock.CORE_ACTIVE);
}

0 comments on commit 43671a5

Please sign in to comment.