Skip to content

Commit

Permalink
ForgeDirection (GTNewHorizons#608)
Browse files Browse the repository at this point in the history
* ForgeDirection WIP

* Fix GTPP_Render_MachineBlock

Fix handling of getTexture with facing mask for pipes
Kill a bunch of magic numbers

* spotlessApply (GTNewHorizons#612)

Co-authored-by: GitHub GTNH Actions <>

* Bump bw/tt deps

---------

Co-authored-by: Léa Gris <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
  • Loading branch information
3 people authored May 1, 2023
1 parent d2eda84 commit b2c8cfb
Show file tree
Hide file tree
Showing 314 changed files with 3,894 additions and 3,067 deletions.
51 changes: 23 additions & 28 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,34 +1,30 @@
//version: 1682104756
//version: 1682280358
/*
DO NOT CHANGE THIS FILE!
Also, you may replace this file at any time if there is an update available.
Please check https://github.com/GTNewHorizons/ExampleMod1.7.10/blob/master/build.gradle for updates.
*/


import com.diffplug.blowdryer.Blowdryer
import com.github.jengelman.gradle.plugins.shadow.tasks.ConfigureShadowRelocation
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
import com.gtnewhorizons.retrofuturagradle.ObfuscationAttribute
import com.gtnewhorizons.retrofuturagradle.mcp.ReobfuscatedJar
import com.gtnewhorizons.retrofuturagradle.minecraft.RunMinecraftTask
import com.gtnewhorizons.retrofuturagradle.util.Distribution
import com.matthewprenger.cursegradle.CurseArtifact
import com.matthewprenger.cursegradle.CurseRelation
import com.modrinth.minotaur.dependencies.ModDependency
import com.modrinth.minotaur.dependencies.VersionDependency
import cpw.mods.fml.relauncher.Side
import org.gradle.api.tasks.options.Option;
import org.gradle.internal.logging.text.StyledTextOutput.Style
import org.gradle.internal.logging.text.StyledTextOutputFactory
import org.gradle.internal.xml.XmlTransformer
import org.jetbrains.gradle.ext.*
import org.jetbrains.gradle.ext.Application
import org.jetbrains.gradle.ext.Gradle

import javax.inject.Inject
import java.nio.file.Files
import java.nio.file.Paths
import java.util.concurrent.TimeUnit
import java.util.zip.ZipEntry
import java.util.zip.ZipOutputStream
import javax.inject.Inject

buildscript {
repositories {
Expand Down Expand Up @@ -66,14 +62,14 @@ plugins {
id 'org.jetbrains.kotlin.kapt' version '1.8.0' apply false
id 'com.google.devtools.ksp' version '1.8.0-1.0.9' apply false
id 'org.ajoberstar.grgit' version '4.1.1' // 4.1.1 is the last jvm8 supporting version, unused, available for addon.gradle
id 'com.github.johnrengelman.shadow' version '7.1.2' apply false
id 'com.github.johnrengelman.shadow' version '8.1.1' apply false
id 'com.palantir.git-version' version '3.0.0' apply false
id 'de.undercouch.download' version '5.3.0'
id 'de.undercouch.download' version '5.4.0'
id 'com.github.gmazzo.buildconfig' version '3.1.0' apply false // Unused, available for addon.gradle
id 'com.diffplug.spotless' version '6.7.2' apply false
id 'com.diffplug.spotless' version '6.13.0' apply false // 6.13.0 is the last jvm8 supporting version
id 'com.modrinth.minotaur' version '2.+' apply false
id 'com.matthewprenger.cursegradle' version '1.4.0' apply false
id 'com.gtnewhorizons.retrofuturagradle' version '1.2.7'
id 'com.gtnewhorizons.retrofuturagradle' version '1.3.2'
}
boolean settingsupdated = verifySettingsGradle()
settingsupdated = verifyGitAttributes() || settingsupdated
Expand Down Expand Up @@ -133,7 +129,7 @@ propertyDefaultIfUnset("enableGenericInjection", false) // On by default for new
// this is meant to be set using the user wide property file. by default we do nothing.
propertyDefaultIfUnset("ideaOverrideBuildType", "") // Can be nothing, "gradle" or "idea"

project.extensions.add(Blowdryer, "Blowdryer", Blowdryer) // Make blowdryer available in "apply from:" scripts
project.extensions.add(com.diffplug.blowdryer.Blowdryer, "Blowdryer", com.diffplug.blowdryer.Blowdryer) // Make blowdryer available in "apply from:" scripts
if (!disableSpotless) {
apply plugin: 'com.diffplug.spotless'
apply from: Blowdryer.file('spotless.gradle')
Expand Down Expand Up @@ -408,7 +404,7 @@ minecraft {

username = developmentEnvironmentUserName.toString()

lwjgl3Version = "3.3.2-SNAPSHOT"
lwjgl3Version = "3.3.2"

// Enable assertions in the current mod
extraRunJvmArguments.add("-ea:${modGroup}")
Expand Down Expand Up @@ -722,13 +718,13 @@ ext.java17PatchDependenciesCfg = configurations.create("java17PatchDependencies"
}

dependencies {
def lwjgl3ifyVersion = '1.3.3'
def lwjgl3ifyVersion = '1.3.5'
def asmVersion = '9.4'
if (modId != 'lwjgl3ify') {
java17Dependencies("com.github.GTNewHorizons:lwjgl3ify:${lwjgl3ifyVersion}")
}
if (modId != 'hodgepodge') {
java17Dependencies('com.github.GTNewHorizons:Hodgepodge:2.2.4')
java17Dependencies('com.github.GTNewHorizons:Hodgepodge:2.2.8')
}

java17PatchDependencies('net.minecraft:launchwrapper:1.15') {transitive = false}
Expand Down Expand Up @@ -802,7 +798,7 @@ public abstract class RunHotswappableMinecraftTask extends RunMinecraftTask {
public boolean setEnableHotswap(boolean enable) { enableHotswap = enable }

@Inject
public RunHotswappableMinecraftTask(Side side, String superTask, org.gradle.api.invocation.Gradle gradle) {
public RunHotswappableMinecraftTask(Distribution side, String superTask, org.gradle.api.invocation.Gradle gradle) {
super(side, gradle)

this.lwjglVersion = 3
Expand All @@ -811,7 +807,7 @@ public abstract class RunHotswappableMinecraftTask extends RunMinecraftTask {
this.extraJvmArgs.addAll(project.provider(() -> enableHotswap ? project.hotswapJvmArgs : []))

this.classpath(project.java17PatchDependenciesCfg)
if (side == Side.CLIENT) {
if (side == Distribution.CLIENT) {
this.classpath(project.minecraftTasks.lwjgl3Configuration)
}
// Use a raw provider instead of map to not create a dependency on the task
Expand All @@ -823,7 +819,7 @@ public abstract class RunHotswappableMinecraftTask extends RunMinecraftTask {
}
}

def runClient17Task = tasks.register("runClient17", RunHotswappableMinecraftTask, Side.CLIENT, "runClient")
def runClient17Task = tasks.register("runClient17", RunHotswappableMinecraftTask, Distribution.CLIENT, "runClient")
runClient17Task.configure {
setup(project)
group = "Modded Minecraft"
Expand All @@ -834,7 +830,7 @@ runClient17Task.configure {
userUUID = minecraft.userUUID
}

def runServer17Task = tasks.register("runServer17", RunHotswappableMinecraftTask, Side.SERVER, "runServer")
def runServer17Task = tasks.register("runServer17", RunHotswappableMinecraftTask, Distribution.DEDICATED_SERVER, "runServer")
runServer17Task.configure {
setup(project)
group = "Modded Minecraft"
Expand Down Expand Up @@ -875,11 +871,6 @@ tasks.named("jar", Jar).configure {
}

if (usesShadowedDependencies.toBoolean()) {
tasks.register('relocateShadowJar', ConfigureShadowRelocation) {
target = tasks.shadowJar
prefix = modGroup + ".shadow"
enabled = relocateShadowedDependencies.toBoolean()
}
tasks.named("shadowJar", ShadowJar).configure {
manifest {
attributes(getManifestAttributes())
Expand All @@ -895,7 +886,8 @@ if (usesShadowedDependencies.toBoolean()) {
]
archiveClassifier.set('dev')
if (relocateShadowedDependencies.toBoolean()) {
dependsOn(relocateShadowJar)
relocationPrefix = modGroup + ".shadow"
enableRelocation = true
}
}
configurations.runtimeElements.outgoing.artifacts.clear()
Expand Down Expand Up @@ -1228,7 +1220,7 @@ def addCurseForgeRelation(String type, String name) {

// Updating

def buildscriptGradleVersion = "8.0.2"
def buildscriptGradleVersion = "8.1.1"

tasks.named('wrapper', Wrapper).configure {
gradleVersion = buildscriptGradleVersion
Expand Down Expand Up @@ -1483,3 +1475,6 @@ def getSecondaryArtifacts() {
if (apiPackage) secondaryArtifacts += [apiJar]
return secondaryArtifacts
}

sourceCompatibility = JavaVersion.VERSION_16
targetCompatibility = JavaVersion.VERSION_16
6 changes: 3 additions & 3 deletions dependencies.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
dependencies {
api('com.github.GTNewHorizons:GT5-Unofficial:5.09.42.71:dev')
api("com.github.GTNewHorizons:bartworks:0.6.14:dev")
api("com.github.GTNewHorizons:TecTech:5.1.15-pre:dev")
api('com.github.GTNewHorizons:GT5-Unofficial:5.09.43.02-pre:dev')
api("com.github.GTNewHorizons:bartworks:0.7.0-pre:dev")
api("com.github.GTNewHorizons:TecTech:5.2.0-pre:dev")

implementation('curse.maven:cofh-core-69162:2388751')
// https://www.curseforge.com/minecraft/mc-mods/advancedsolarpanels
Expand Down
4 changes: 4 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,10 @@ forgeVersion = 10.13.4.1614
# Do you need to test how your custom blocks interacts with a player that is not the owner? -> leave name empty
developmentEnvironmentUserName = Developer

# Enables using modern java syntax (up to version 17) via Jabel, while still targetting JVM 8.
# See https://github.com/bsideup/jabel for details on how this works.
enableModernJavaSyntax = true

# Define a source file of your project with:
# 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
Expand Down
5 changes: 2 additions & 3 deletions src/main/java/Ic2ExpReactorPlanner/ComponentFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
import java.util.LinkedHashMap;
import java.util.Map;

import com.github.bartimaeusnek.bartworks.system.material.BW_NonMeta_MaterialItems;

import Ic2ExpReactorPlanner.components.Condensator;
import Ic2ExpReactorPlanner.components.CoolantCell;
import Ic2ExpReactorPlanner.components.Exchanger;
Expand All @@ -20,9 +22,6 @@
import Ic2ExpReactorPlanner.components.ReactorItem;
import Ic2ExpReactorPlanner.components.Reflector;
import Ic2ExpReactorPlanner.components.Vent;

import com.github.bartimaeusnek.bartworks.system.material.BW_NonMeta_MaterialItems;

import gregtech.api.enums.ItemList;
import gregtech.api.objects.GT_ItemStack;
import gregtech.api.util.GT_ModHandler;
Expand Down
26 changes: 11 additions & 15 deletions src/main/java/gtPlusPlus/api/interfaces/IGregtechPower.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;

import gregtech.api.interfaces.IDescribable;
import gregtech.api.interfaces.tileentity.IBasicEnergyContainer;
Expand Down Expand Up @@ -41,7 +42,7 @@ default boolean isUniversalEnergyStored(long p0) {
public boolean increaseStoredEnergyUnits(long p0, boolean p1);

@Override
public boolean drainEnergyUnits(byte p0, long p1, long p2);
public boolean drainEnergyUnits(ForgeDirection side, long p1, long p2);

@Override
public long getAverageElectricInput();
Expand All @@ -65,10 +66,10 @@ default boolean isUniversalEnergyStored(long p0) {
public boolean increaseStoredSteam(long p0, boolean p1);

@Override
public Block getBlockAtSide(byte p0);
public Block getBlockAtSide(ForgeDirection side);

@Override
public Block getBlockAtSideAndDistance(byte p0, int p1);
public Block getBlockAtSideAndDistance(ForgeDirection side, int p1);

@Override
public Block getBlockOffset(int p0, int p1, int p2);
Expand All @@ -77,10 +78,10 @@ default boolean isUniversalEnergyStored(long p0) {
public TileEntity getTileEntity(int p0, int p1, int p2);

@Override
public TileEntity getTileEntityAtSide(byte p0);
public TileEntity getTileEntityAtSide(ForgeDirection side);

@Override
public TileEntity getTileEntityAtSideAndDistance(byte p0, int p1);
public TileEntity getTileEntityAtSideAndDistance(ForgeDirection side, int p1);

@Override
public TileEntity getTileEntityOffset(int p0, int p1, int p2);
Expand Down Expand Up @@ -116,19 +117,19 @@ default boolean isUniversalEnergyStored(long p0) {
public void writeToNBT(NBTTagCompound p0);

@Override
public boolean acceptsRotationalEnergy(byte p0);
public boolean acceptsRotationalEnergy(ForgeDirection side);

@Override
public boolean injectRotationalEnergy(byte p0, long p1, long p2);
public boolean injectRotationalEnergy(ForgeDirection side, long p1, long p2);

@Override
public long injectEnergyUnits(byte p0, long p1, long p2);
public long injectEnergyUnits(ForgeDirection side, long p1, long p2);

@Override
public boolean inputEnergyFrom(byte p0);
public boolean inputEnergyFrom(ForgeDirection side);

@Override
public boolean outputsEnergyTo(byte p0);
public boolean outputsEnergyTo(ForgeDirection side);

@Override
public String[] getInfoData();
Expand All @@ -138,9 +139,4 @@ public default boolean isGivingInformation() {
return true;
}

/*
* boolean onPreTick(TilePoweredGT tilePoweredGT, long mTickTimer2); boolean onTick(TilePoweredGT
* iGregTechTileEntity, long mTickTimer2); boolean onPostTick(TilePoweredGT iGregTechTileEntity, long mTickTimer2);
*/

}
24 changes: 13 additions & 11 deletions src/main/java/gtPlusPlus/api/interfaces/ILazyCoverable.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package gtPlusPlus.api.interfaces;

import net.minecraftforge.common.util.ForgeDirection;

import gregtech.api.interfaces.tileentity.ICoverable;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;

Expand All @@ -16,7 +18,7 @@ default byte setColorization(byte arg0) {
}

@Override
default byte getInputRedstoneSignal(byte arg0) {
default byte getInputRedstoneSignal(ForgeDirection side) {
return 0;
}

Expand All @@ -32,7 +34,7 @@ default boolean getRedstone() {
}

@Override
default boolean getRedstone(byte arg0) {
default boolean getRedstone(ForgeDirection side) {
return false;
}

Expand Down Expand Up @@ -67,23 +69,23 @@ default boolean increaseStoredSteam(long arg0, boolean arg2) {
}

@Override
default byte getOutputRedstoneSignal(byte arg0) {
default byte getOutputRedstoneSignal(ForgeDirection side) {
return 0;
}

@Override
default void setOutputRedstoneSignal(byte arg0, byte arg1) {}
default void setOutputRedstoneSignal(ForgeDirection side, byte strength) {}

@Override
default byte getStrongOutputRedstoneSignal(byte arg0) {
default byte getStrongOutputRedstoneSignal(ForgeDirection side) {
return 0;
}

@Override
default void setStrongOutputRedstoneSignal(byte arg0, byte arg1) {}
default void setStrongOutputRedstoneSignal(ForgeDirection side, byte arg1) {}

@Override
default byte getComparatorValue(byte arg0) {
default byte getComparatorValue(ForgeDirection side) {
return 0;
}

Expand All @@ -98,12 +100,12 @@ default IGregTechTileEntity getIGregTechTileEntityOffset(int arg0, int arg1, int
}

@Override
default IGregTechTileEntity getIGregTechTileEntityAtSide(byte arg0) {
default IGregTechTileEntity getIGregTechTileEntityAtSide(ForgeDirection side) {
return null;
}

@Override
default IGregTechTileEntity getIGregTechTileEntityAtSideAndDistance(byte arg0, int arg1) {
default IGregTechTileEntity getIGregTechTileEntityAtSideAndDistance(ForgeDirection side, int arg1) {
return null;
}

Expand All @@ -118,12 +120,12 @@ default byte getMetaIDOffset(int arg0, int arg1, int arg2) {
}

@Override
default byte getMetaIDAtSide(byte arg0) {
default byte getMetaIDAtSide(ForgeDirection side) {
return 0;
}

@Override
default byte getMetaIDAtSideAndDistance(byte arg0, int arg1) {
default byte getMetaIDAtSideAndDistance(ForgeDirection side, int arg1) {
return 0;
}

Expand Down
6 changes: 4 additions & 2 deletions src/main/java/gtPlusPlus/api/interfaces/ITexturedBlock.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
package gtPlusPlus.api.interfaces;

import net.minecraft.block.Block;
import net.minecraftforge.common.util.ForgeDirection;

import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.ITexturedTileEntity;

public interface ITexturedBlock extends ITexturedTileEntity {

ITexture[] getTexture(byte side);
ITexture[] getTexture(ForgeDirection side);

ITexture[] getTexture(Block block, byte side);
@Override
ITexture[] getTexture(Block block, ForgeDirection side);
}
Loading

0 comments on commit b2c8cfb

Please sign in to comment.