Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/pump-transposer' into pump-trans…
Browse files Browse the repository at this point in the history
…poser
  • Loading branch information
Vlamonster committed Feb 26, 2025
2 parents a77a17d + 3933d20 commit 8f5f50a
Show file tree
Hide file tree
Showing 13 changed files with 104 additions and 109 deletions.
27 changes: 0 additions & 27 deletions .github/scripts/test-no-error-reports.sh

This file was deleted.

9 changes: 7 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
.gradle
.settings
/.idea/
/.vscode/
/run/
/build/
/eclipse/
.classpath
.project
/bin/
/config/
/classes/
/crash-reports/
/logs/
options.txt
Expand All @@ -26,8 +26,13 @@ whitelist.json
*.iml
*.ipr
*.iws
src/main/resources/mixins.*.json
src/main/resources/mixins.*([!.]).json
*.bat
*.DS_Store
!gradlew.bat
.factorypath
addon.local.gradle
addon.local.gradle.kts
addon.late.local.gradle
addon.late.local.gradle.kts
layout.json
101 changes: 45 additions & 56 deletions dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,63 +5,52 @@ dependencies {
shadowImplementation name: 'OC-JNLua', version: '20230530.0', ext: 'jar'
shadowImplementation name: 'OC-JNLua-Natives', version: '20220928.1', ext: 'jar'

compile("com.google.code.findbugs:jsr305:3.0.2")

compileOnly("com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-542-GTNH:dev") {transitive = false }
compileOnly("com.github.GTNewHorizons:EnderStorage:1.7.2:dev") {transitive = false }
compileOnly("com.github.GTNewHorizons:GT5-Unofficial:5.09.51.128:dev") {transitive = false }
compile("com.github.GTNewHorizons:ForestryMC:4.10.1:dev") {transitive = false }
compileOnly("com.github.GTNewHorizons:Railcraft:9.16.3:dev") {transitive = false }
compile("com.github.GTNewHorizons:NotEnoughItems:2.7.29-GTNH:dev") {transitive = false }
compileOnly("com.github.GTNewHorizons:ForgeMultipart:1.6.2:dev") {transitive = false }
compile("com.github.GTNewHorizons:CodeChickenCore:1.4.1:dev") {transitive = false }
compileOnly("com.github.GTNewHorizons:waila:1.8.2:dev") {transitive = false }
compileOnly("com.github.GTNewHorizons:Galacticraft:3.3.4-GTNH:dev") {transitive = false }
compileOnly("com.github.GTNewHorizons:TinkersMechworks:0.4.0:dev") {transitive = false }
compileOnly("com.github.GTNewHorizons:ProjectRed:4.11.1-GTNH:dev") {transitive = false }
compileOnly("com.github.GTNewHorizons:BloodMagic:1.7.5:dev") {transitive = false }
compileOnly("com.github.GTNewHorizons:ThaumicEnergistics:1.7.6-GTNH:dev") {transitive = false }
compileOnly("com.github.GTNewHorizons:ExtraCells2:2.5.35:dev") {transitive = false }
compileOnly('com.github.GTNewHorizons:AE2FluidCraft-Rework:1.4.28-gtnh:dev') {transitive = false }
compile("com.github.GTNewHorizons:EnderIO:2.9.3:dev") {
compile("com.github.GTNewHorizons:EnderCore:0.4.6:dev")
transitive = false
}
compileOnly("com.github.GTNewHorizons:Avaritiaddons:1.8.4-GTNH:dev") {transitive = false }
compileOnly("com.github.GTNewHorizons:gendustry:1.9.1-GTNH:dev") {transitive = false }
compileOnly("com.github.GTNewHorizons:WirelessRedstone-CBE:1.7.0:dev") {transitive = false }
compileOnly("com.github.GTNewHorizons:BuildCraft:7.1.42:dev") {transitive = false }
compileOnly("appeng:RotaryCraft:V5c:api") {transitive = false }
compileOnly("com.bluepowermod:BluePower:0.2.928:deobf") {transitive = false }
compileOnly("igwmod:IGW-Mod-1.7.10:1.1.3-18:userdev") {transitive = false }
compileOnly("li.cil.tis3d:TIS-3D:MC1.7.10-1.2.4.70:dev") {transitive = false }
compileOnly("dev.modwarriors.notenoughkeys:NotEnoughKeys:1.7.10-2.0.0b4:deobf-dev") {transitive = false }
compileOnly("qmunity:QmunityLib:0.1.105:deobf") {transitive = false }
compileOnly("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") {transitive = false }
compileOnly("curse.maven:mekanism-268560:2475797") {transitive = false }
compileOnly("net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev") {transitive = false }
compileOnly("curse.maven:minefactory-reloaded-66672:2366150") {transitive = false }
compileOnly("curse.maven:computercraft-67504:2269339") {transitive = false }
compile("curse.maven:cofh-core-69162:2388751")
compileOnly("curse.maven:agricraft-225635:2284133") {transitive = false }
compileOnly("curse.maven:stargatetech-2-226769:2230351") {transitive = false }

compileOnlyApi("com.github.GTNewHorizons:Angelica:1.0.0-beta33:api") { transitive = false }
compileOnly("com.github.GTNewHorizons:AE2FluidCraft-Rework:1.4.30-gtnh:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:Angelica:1.0.0-beta35:api") {transitive = false}
compileOnly("com.github.GTNewHorizons:Applied-Energistics-2-Unofficial:rv3-beta-547-GTNH:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:Avaritiaddons:1.8.4-GTNH:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:BloodMagic:1.7.5:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:BuildCraft:7.1.42:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:CodeChickenCore:1.4.1:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:EnderCore:0.4.6:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:EnderIO:2.9.4:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:EnderStorage:1.7.2:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:ExtraCells2:2.5.35:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:ForestryMC:4.10.3:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:ForgeMultipart:1.6.2:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:Galacticraft:3.3.4-GTNH:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:GT5-Unofficial:5.09.51.153:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:GTNHLib:0.6.11:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:ModularUI:1.2.18:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:NotEnoughItems:2.7.29-GTNH:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:ProjectRed:4.11.1-GTNH:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:Railcraft:9.16.3:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:StructureLib:1.4.2:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:ThaumicEnergistics:1.7.6-GTNH:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:TinkersMechworks:0.4.0:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:waila:1.8.2:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:WirelessRedstone-CBE:1.7.0:dev") {transitive = false}

compileOnly(deobf("https://immibis.com/mcmoddl/files/redlogic-59.1.13.jar"))
compileOnly files("dependencies/ic2classic-api.zip") //curseforge one does NOT work ...
compileOnly(deobf("https://github.com/purpleposeidon/fz_archive/raw/master/old/Factorization-1.7.10-0.8.108.jar"))
compileOnly("api:coloredlightscore:1")
compileOnly(deobf("http://immibis.com/mcmoddl/files/immibis-microblocks-59.1.2.jar"))

testCompile("org.mockito:mockito-all:1.10.19")
testCompile("org.scalactic:scalactic_2.11:2.2.6")
testCompile("org.scalatest:scalatest_2.11:2.2.6")
testCompile "junit:junit:4.13"
testCompile "org.mockito:mockito-all:1.10.19"
testCompile "org.scalactic:scalactic_2.11:2.2.6"
testCompile "org.scalatest:scalatest_2.11:2.2.6"
compileOnly("com.bluepowermod:BluePower:0.2.928:deobf") {transitive = false}
compileOnly("curse.maven:agricraft-225635:2284133") {transitive = false}
compileOnly("curse.maven:cofh-core-69162:2388751")
compileOnly("curse.maven:mekanism-268560:2475797") {transitive = false}
compileOnly("curse.maven:minefactory-reloaded-66672:2366150") {transitive = false}
compileOnly("curse.maven:computercraft-67504:2269339") {transitive = false}
compileOnly("curse.maven:stargatetech-2-226769:2230351") {transitive = false}
compileOnly("dev.modwarriors.notenoughkeys:NotEnoughKeys:1.7.10-2.0.0b4:deobf-dev") {transitive = false}
compileOnly("igwmod:IGW-Mod-1.7.10:1.1.3-18:userdev") {transitive = false}
compileOnly("li.cil.tis3d:TIS-3D:MC1.7.10-1.2.4.70:dev") {transitive = false}
compileOnly("net.industrial-craft:industrialcraft-2:2.2.828-experimental:dev") {transitive = false}
compileOnly("thaumcraft:Thaumcraft:1.7.10-4.2.3.5:dev") {transitive = false}
compileOnly("qmunity:QmunityLib:0.1.105:deobf") {transitive = false}
compileOnly(deobf("https://github.com/purpleposeidon/fz_archive/raw/master/old/Factorization-1.7.10-0.8.108.jar"))
compileOnly(deobf("https://immibis.com/mcmoddl/files/immibis-microblocks-59.1.2.jar"))
compileOnly(deobf("https://immibis.com/mcmoddl/files/redlogic-59.1.13.jar"))
compileOnly(files("dependencies/ic2classic-api.zip")) // curseforge one does NOT work ...

compileOnly("com.github.GTNewHorizons:ModularUI:1.2.17:dev") {transitive = false}
compileOnly("com.github.GTNewHorizons:StructureLib:1.4.2:dev") {transitive = false}
testImplementation("org.mockito:mockito-all:1.10.19")
testImplementation("org.scalatest:scalatest_2.11:2.2.6")
testImplementation("junit:junit:4.13")
}
11 changes: 1 addition & 10 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -55,22 +55,13 @@ generateGradleTokenClass = li.cil.oc.Tags
# Name of the token containing the project's current version to generate/replace.
gradleTokenVersion = VERSION

# [DEPRECATED] Mod ID replacement token.
gradleTokenModId =

# [DEPRECATED] Mod name replacement token.
gradleTokenModName =

# [DEPRECATED] Mod Group replacement token.
gradleTokenGroupName =

# [DEPRECATED]
# Multiple source files can be defined here by providing a comma-separated list: Class1.java,Class2.java,Class3.java
# public static final String VERSION = "GRADLETOKEN_VERSION";
# The string's content will be replaced with your mod's version when compiled. You should use this to specify your mod's
# version in @Mod([...], version = VERSION, [...]).
# Leave these properties empty to skip individual token replacements.
replaceGradleTokenInFile =
# replaceGradleTokenInFile =

# In case your mod provides an API for other mods to implement you may declare its package here. Otherwise, you can
# leave this property empty.
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
3 changes: 1 addition & 2 deletions gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,7 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
' "$PWD" ) || exit
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
Expand Down
2 changes: 1 addition & 1 deletion settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ pluginManagement {
}

plugins {
id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.32'
id 'com.gtnewhorizons.gtnhsettingsconvention' version '1.0.33'
}


Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package li.cil.oc.api.prefab;

import li.cil.oc.util.CapabilityUtil;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
Expand All @@ -20,6 +21,6 @@ public boolean worksWith(final World world, final int x, final int y, final int
return false;
}
final TileEntity tileEntity = world.getTileEntity(x, y, z);
return tileEntity != null && filter.isAssignableFrom(tileEntity.getClass());
return CapabilityUtil.hasCapability(tileEntity, filter);
}
}
3 changes: 2 additions & 1 deletion src/main/java/li/cil/oc/api/prefab/DriverTileEntity.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package li.cil.oc.api.prefab;

import li.cil.oc.util.CapabilityUtil;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;

Expand All @@ -19,6 +20,6 @@ public boolean worksWith(final World world, final int x, final int y, final int
return false;
}
final TileEntity tileEntity = world.getTileEntity(x, y, z);
return tileEntity != null && filter.isAssignableFrom(tileEntity.getClass());
return CapabilityUtil.hasCapability(tileEntity, filter);
}
}
30 changes: 30 additions & 0 deletions src/main/java/li/cil/oc/util/CapabilityUtil.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package li.cil.oc.util;

import com.gtnewhorizon.gtnhlib.capability.Capabilities;
import cpw.mods.fml.common.Loader;
import net.minecraft.tileentity.TileEntity;

public final class CapabilityUtil {

private static final boolean isGTNHLibLoaded = Loader.isModLoaded("gtnhlib");

public static <T> boolean hasCapability(TileEntity tileEntity, Class<T> capability) {
if (isGTNHLibLoaded) {
return Capabilities.getCapability(tileEntity, capability) != null;
} else {
return tileEntity != null && capability.isAssignableFrom(tileEntity.getClass());
}
}

public static <T> T getCapability(TileEntity tileEntity, Class<T> capability) {
if (isGTNHLibLoaded) {
return Capabilities.getCapability(tileEntity, capability);
} else {
if (tileEntity != null && capability.isAssignableFrom(tileEntity.getClass())) {
return capability.cast(tileEntity);
} else {
return null;
}
}
}
}
2 changes: 1 addition & 1 deletion src/main/scala/li/cil/oc/integration/Mods.scala
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ object Mods {
val Forestry = new SimpleMod(IDs.Forestry, version = "@[4.0,)")
val ForgeMultipart = new SimpleMod(IDs.ForgeMultipart)
val Galacticraft = new SimpleMod(IDs.Galacticraft)
val GregTech = new ClassBasedMod(IDs.GregTech, "gregtech.api.GregTech_API")
val GregTech = new ClassBasedMod(IDs.GregTech, "gregtech.api.GregTechAPI")
val IndustrialCraft2 = new SimpleMod(IDs.IndustrialCraft2)
val IndustrialCraft2Classic = new SimpleMod(IDs.IndustrialCraft2Classic)
val IngameWiki = new SimpleMod(IDs.IngameWiki, version = "@[1.1.3,)")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
package li.cil.oc.integration.gregtech;

import com.gtnewhorizon.gtnhlib.capability.Capabilities;
import gregtech.api.interfaces.tileentity.IBasicEnergyContainer;
import li.cil.oc.api.machine.Arguments;
import li.cil.oc.api.machine.Callback;
Expand All @@ -19,7 +20,7 @@ public Class<?> getTileEntityClass() {
@Override
public ManagedEnvironment createEnvironment(
final World world, final int x, final int y, final int z, final ForgeDirection side) {
return new Environment((IBasicEnergyContainer) world.getTileEntity(x, y, z));
return new Environment(Capabilities.getCapability(world.getTileEntity(x, y, z), IBasicEnergyContainer.class, side));
}

public static final class Environment extends ManagedTileEntityEnvironment<IBasicEnergyContainer> {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,24 +1,29 @@
package li.cil.oc.integration.gregtech

import com.gtnewhorizon.gtnhlib.capability.Capabilities
import cpw.mods.fml.common.eventhandler.SubscribeEvent
import gregtech.api.interfaces.IDamagableItem
import gregtech.api.interfaces.tileentity.IGregTechTileEntity
import gregtech.api.interfaces.tileentity.{IGregTechDeviceInformation, IGregTechTileEntity, ITurnable}
import gregtech.api.items.MetaGeneratedTool
import li.cil.oc.api.event.{GeolyzerEvent, RobotUsedToolEvent}
import net.minecraft.item.ItemStack
import net.minecraftforge.common.util.ForgeDirection

import scala.collection.convert.WrapAsScala._

object EventHandlerGregTech {
@SubscribeEvent
def onGeolyzerAnalyze(e: GeolyzerEvent.Analyze) {
val world = e.host.world
world.getTileEntity(e.x, e.y, e.z) match {
case tile : IGregTechTileEntity =>
e.data += "facing" -> tile.getFrontFacing.name
e.data += "sensorInformation" -> tile.getInfoData()
val te = world.getTileEntity(e.x, e.y, e.z)
te match {
case turnable : ITurnable =>
e.data += "facing" -> turnable.getFrontFacing.name
case _ =>
}
val infoDevice = Capabilities.getCapability(te, classOf[IGregTechDeviceInformation])
if (infoDevice != null) {
e.data += "sensorInformation" -> infoDevice.getInfoData
}
}

@SubscribeEvent
Expand Down

0 comments on commit 8f5f50a

Please sign in to comment.