Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ dependencies {
// http://www.gradle.org/docs/current/userguide/artifact_dependencies_tutorial.html
// http://www.gradle.org/docs/current/userguide/dependency_management.html

antlr 'org.antlr:antlr4:4.13.1'
testImplementation 'com.github.javaparser:javaparser-symbol-solver-core:3.26.4'
antlr 'org.antlr:antlr4:4.13.1'
testImplementation 'com.github.javaparser:javaparser-symbol-solver-core:3.26.4'
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'

Expand Down Expand Up @@ -66,4 +66,6 @@ dependencies {
compileOnly "org.appliedenergistics:appliedenergistics2:19.2.15:api"

implementation "curse.maven:building-gadgets-298187:6850515"

implementation "com.hollingsworth.ars_nouveau:ars_nouveau-1.21.1:5.12.1.1381"
}
11 changes: 11 additions & 0 deletions platform/minecraft/gradle/repositories.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,15 @@ repositories {
url 'https://maven.covers1624.net/'
// https://nexus.covers1624.net/#browse/browse:cofh-releases
}

maven {
name = 'GeckoLib'
url 'https://dl.cloudsmith.io/public/geckolib3/geckolib/maven/'
content {
includeGroup("software.bernie.geckolib")
}
}
repositories {
maven { url = 'https://maven.minecraftforge.net/' }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package ca.teamdman.sfm.common.compat;

import ca.teamdman.sfm.common.registry.SFMDeferredRegister;
import ca.teamdman.sfm.common.resourcetype.ResourceType;
import ca.teamdman.sfm.common.resourcetype.SourceResourceType;

public class SFMArsCompat {
public static void registerResourceTypes(SFMDeferredRegister<ResourceType<?, ?, ?>> types) {
types.register("source", SourceResourceType::new);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ public static boolean isAE2Loaded() {
return isModLoaded("ae2");
}

public static boolean isArsLoaded() {return isModLoaded("ars_nouveau");}

public static boolean isModLoaded(String modid) {
return ModList.get().getModContainerById(modid).isPresent();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import ca.teamdman.sfm.SFM;
import ca.teamdman.sfm.common.capability.SFMBlockCapabilityKind;
import ca.teamdman.sfm.common.compat.SFMArsCompat;
import ca.teamdman.sfm.common.compat.SFMMekanismCompat;
import ca.teamdman.sfm.common.compat.SFMModCompat;
import ca.teamdman.sfm.common.registry.SFMDeferredRegister;
Expand Down Expand Up @@ -49,6 +50,10 @@ public class SFMResourceTypes {
if (SFMModCompat.isMekanismLoaded()) {
SFMMekanismCompat.registerResourceTypes(REGISTERER);
}

if (SFMModCompat.isArsLoaded()) {
SFMArsCompat.registerResourceTypes(REGISTERER);
}
}

public static int getResourceTypeCount() {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
package ca.teamdman.sfm.common.resourcetype;

import ca.teamdman.sfm.common.blockentity.BufferBlockEntityContents;
import ca.teamdman.sfm.common.capability.SFMBlockCapabilityKind;
import ca.teamdman.sfm.common.util.SFMResourceLocation;
import com.hollingsworth.arsnouveau.api.source.ISourceCap;
import com.hollingsworth.arsnouveau.setup.registry.CapabilityRegistry;

public class SourceResourceType extends IntegerResourceType<ISourceCap> {
public static final SFMBlockCapabilityKind<ISourceCap> CAP = new SFMBlockCapabilityKind<>(
CapabilityRegistry.SOURCE_CAPABILITY
);

public SourceResourceType() {
super(CAP, SFMResourceLocation.fromNamespaceAndPath("ars_nouveau", "source"));
}

@Override
public ISourceCap createHandlerForBufferBlock(BufferBlockEntityContents contents) {
return null;
}

@Override
public Integer getStackInSlot(ISourceCap iSourceCap, int slot) {
return iSourceCap.getSource();
}

@Override
public Integer extract(ISourceCap iSourceCap, int slot, long amount, boolean simulate) {
int finalAmount = amount > Integer.MAX_VALUE ? Integer.MAX_VALUE : (int) amount;

return iSourceCap.extractSource(finalAmount, simulate);
}

@Override
public int getSlots(ISourceCap handler) {
return 1;
}

@Override
public long getMaxStackSizeForSlot(ISourceCap iSourceCap, int slot) {
return iSourceCap.getSourceCapacity();
}

@Override
public Integer insert(ISourceCap iSourceCap, int slot, Integer stack, boolean simulate) {
int accepted = iSourceCap.receiveSource(stack, simulate);
return stack - accepted;
}

@Override
public boolean matchesCapabilityHandler(Object o) {
return o instanceof ISourceCap;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -96,3 +96,8 @@ side="BOTH"
modId = "mekanism"
type="optional"
versionRange = "[10.3.2,)"

[[dependencies.${ mod_id }]]
modId = "ars_nouveau"
type="optional"
versionRange = "[5.10.0,)"