mirror of
https://github.com/GTNewHorizons/StructureLib.git
synced 2026-11-09 04:55:01 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eea5227fe3 | ||
|
|
1f520cfd73 | ||
|
|
8357fdc826 | ||
|
|
27bb7b2ad9 |
No files matched your search
@@ -1,44 +0,0 @@
|
||||
# This workflow will build a Java project with Gradle and cache/restore any dependencies to improve the workflow execution time
|
||||
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
|
||||
|
||||
name: Release latest build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ master, main ]
|
||||
|
||||
jobs:
|
||||
build-and-release:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set release version
|
||||
run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
|
||||
|
||||
- name: Set up JDK 8
|
||||
uses: actions/setup-java@v2
|
||||
with:
|
||||
java-version: '8'
|
||||
distribution: 'adopt'
|
||||
cache: gradle
|
||||
|
||||
- name: Grant execute permission for gradlew
|
||||
run: chmod +x gradlew
|
||||
|
||||
- name: Setup the workspace
|
||||
run: ./gradlew setupCIWorkspace
|
||||
|
||||
- name: Build the mod
|
||||
run: ./gradlew build
|
||||
|
||||
- name: Update latest tag
|
||||
uses: "marvinpinto/action-automatic-releases@latest"
|
||||
with:
|
||||
repo_token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
automatic_release_tag: "latest"
|
||||
prerelease: false
|
||||
title: "Latest build"
|
||||
files: build/libs/*.jar
|
||||
@@ -26,3 +26,4 @@ whitelist.json
|
||||
*.ipr
|
||||
*.iws
|
||||
src/main/resources/mixins.*.json
|
||||
*.bat
|
||||
+17
-21
@@ -1,4 +1,4 @@
|
||||
//version: 4f3d1b46cf51f9d4ded5379b5d817a2a6f6b302d
|
||||
//version: ffe7b130f98fdfa1ac7c6ba4bd34722a55ab28d4
|
||||
/*
|
||||
DO NOT CHANGE THIS FILE!
|
||||
|
||||
@@ -62,6 +62,10 @@ idea {
|
||||
}
|
||||
}
|
||||
|
||||
if(JavaVersion.current() != JavaVersion.VERSION_1_8) {
|
||||
throw new GradleException("This project requires Java 8, but it's running on " + JavaVersion.current())
|
||||
}
|
||||
|
||||
checkPropertyExists("modName")
|
||||
checkPropertyExists("modId")
|
||||
checkPropertyExists("modGroup")
|
||||
@@ -153,7 +157,12 @@ configurations.all {
|
||||
// Fix Jenkins' Git: chmod a file should not be detected as a change and append a '.dirty' to the version
|
||||
'git config core.fileMode false'.execute()
|
||||
// Pulls version from git tag
|
||||
version = minecraftVersion + "-" + gitVersion()
|
||||
try {
|
||||
version = minecraftVersion + "-" + gitVersion()
|
||||
}
|
||||
catch (Exception e) {
|
||||
throw new IllegalStateException("This mod must be version controlled by Git AND the repository must provide at least one tag!");
|
||||
}
|
||||
group = modGroup
|
||||
archivesBaseName = modId
|
||||
|
||||
@@ -225,14 +234,13 @@ dependencies {
|
||||
|
||||
apply from: 'dependencies.gradle'
|
||||
|
||||
def mixinConfigJson = "mixins." + modId + ".json"
|
||||
def mixingConfigRefMap = "mixins." + modId + ".refmap.json"
|
||||
def refMap = "${tasks.compileJava.temporaryDir}" + File.separator + mixingConfigRefMap
|
||||
def mixinSrg = "${tasks.reobf.temporaryDir}" + File.separator + "mixins.srg"
|
||||
|
||||
task generateAssets {
|
||||
if(usesMixins.toBoolean()) {
|
||||
new File(projectDir.toString() + "/src/main/resources/", mixinConfigJson).text = """{
|
||||
new File(projectDir.toString() + "/src/main/resources/", "mixins." + modId + ".json").text = """{
|
||||
"required": true,
|
||||
"minVersion": "0.7.11",
|
||||
"package": "${modGroup}.${mixinsPackage}",
|
||||
@@ -351,6 +359,10 @@ processResources
|
||||
"modName": modName
|
||||
}
|
||||
|
||||
if(usesMixins.toBoolean()) {
|
||||
from refMap
|
||||
}
|
||||
|
||||
// copy everything else, thats not the mcmod.info
|
||||
from(sourceSets.main.resources.srcDirs) {
|
||||
exclude 'mcmod.info'
|
||||
@@ -374,7 +386,7 @@ def getManifestAttributes() {
|
||||
if(usesMixins.toBoolean()) {
|
||||
manifestAttributes += [
|
||||
"TweakClass" : "org.spongepowered.asm.launch.MixinTweaker",
|
||||
"MixinConfigs" : mixinConfigJson,
|
||||
"MixinConfigs" : "mixins." + modId + ".json",
|
||||
"ForceLoadAsMod" : containsMixinsAndOrCoreModOnly.toBoolean() == false
|
||||
]
|
||||
}
|
||||
@@ -448,22 +460,6 @@ artifacts {
|
||||
}
|
||||
}
|
||||
|
||||
// Crude handler to append custom maven repositories to maven dependency
|
||||
install{
|
||||
repositories{
|
||||
mavenInstaller{
|
||||
pom.withXml {
|
||||
def repositoriesNode = asNode().appendNode("repositories")
|
||||
project.repositories.each { repository ->
|
||||
def repositoryNode = repositoriesNode.appendNode("repository")
|
||||
repositoryNode.appendNode("name", repository.name)
|
||||
repositoryNode.appendNode("url", repository.properties.get("url"))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Updating
|
||||
task updateBuildScript {
|
||||
doLast {
|
||||
|
||||
@@ -14,6 +14,10 @@ public interface IAlignment extends IAlignmentLimits,IAlignmentProvider {
|
||||
|
||||
ExtendedFacing getExtendedFacing();
|
||||
|
||||
/**
|
||||
* Set the facing without additional checks.
|
||||
* Tools altering facing should use {@link #toolSetExtendedFacing(ExtendedFacing)} instead.
|
||||
*/
|
||||
void setExtendedFacing(ExtendedFacing alignment);
|
||||
|
||||
IAlignmentLimits getAlignmentLimits();
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.google.common.collect.ImmutableSet;
|
||||
import com.gtnewhorizon.structurelib.alignment.IAlignment;
|
||||
import com.gtnewhorizon.structurelib.alignment.IntegerAxisSwap;
|
||||
import com.gtnewhorizon.structurelib.util.Vec3Impl;
|
||||
import net.minecraft.util.StatCollector;
|
||||
import net.minecraft.util.Vec3;
|
||||
import net.minecraftforge.common.util.ForgeDirection;
|
||||
|
||||
@@ -276,6 +277,10 @@ public enum ExtendedFacing {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public String getLocalizedName() {
|
||||
return StatCollector.translateToLocal("structurelib.facing." + getIndex());
|
||||
}
|
||||
|
||||
public static ExtendedFacing byName(String name) {
|
||||
return name == null ? null : NAME_LOOKUP.get(name.toLowerCase(Locale.ROOT));
|
||||
}
|
||||
|
||||
@@ -27,13 +27,7 @@ import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.TreeMap;
|
||||
import java.util.TreeSet;
|
||||
import java.util.function.BiConsumer;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.BiPredicate;
|
||||
import java.util.function.Consumer;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.IntBinaryOperator;
|
||||
import java.util.function.Supplier;
|
||||
import java.util.function.*;
|
||||
|
||||
import static java.lang.Integer.MIN_VALUE;
|
||||
|
||||
@@ -816,6 +810,28 @@ public class StructureUtility {
|
||||
|
||||
//endregion
|
||||
|
||||
/**
|
||||
* Enable this structure element only if given predicate returns true.
|
||||
*/
|
||||
public static <T> IStructureElement<T> onlyIf(Predicate<? super T> predicate, IStructureElement<? super T> downstream) {
|
||||
return new IStructureElement<T>() {
|
||||
@Override
|
||||
public boolean check(T t, World world, int x, int y, int z) {
|
||||
return predicate.test(t) && downstream.check(t, world, x, y, z);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean spawnHint(T t, World world, int x, int y, int z, ItemStack trigger) {
|
||||
return predicate.test(t) && downstream.spawnHint(t, world, x, y, z, trigger);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean placeBlock(T t, World world, int x, int y, int z, ItemStack trigger) {
|
||||
return predicate.test(t) && downstream.placeBlock(t, world, x, y, z, trigger);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Take care while chaining, as it will try to call every structure element until it returns true.
|
||||
* If none does it will finally return false.
|
||||
|
||||
@@ -51,6 +51,103 @@ structurelib.blockhint.15.name=Hint error
|
||||
structurelib.blockhint.desc.5=ERROR, what did u expect?
|
||||
itemGroup.structurelib=StructureLib
|
||||
|
||||
structurelib.facing.0=down normal none
|
||||
structurelib.facing.1=down normal horizontal
|
||||
structurelib.facing.2=down normal vertical
|
||||
structurelib.facing.3=down normal both
|
||||
structurelib.facing.4=down clockwise none
|
||||
structurelib.facing.5=down clockwise horizontal
|
||||
structurelib.facing.6=down clockwise vertical
|
||||
structurelib.facing.7=down clockwise both
|
||||
structurelib.facing.8=down upside down
|
||||
structurelib.facing.9=down upside down
|
||||
structurelib.facing.10=down upside down
|
||||
structurelib.facing.11=down upside down
|
||||
structurelib.facing.12=down counter clockwise
|
||||
structurelib.facing.13=down counter clockwise
|
||||
structurelib.facing.14=down counter clockwise
|
||||
structurelib.facing.15=down counter clockwise
|
||||
structurelib.facing.16=up normal none
|
||||
structurelib.facing.17=up normal horizontal
|
||||
structurelib.facing.18=up normal vertical
|
||||
structurelib.facing.19=up normal both
|
||||
structurelib.facing.20=up clockwise none
|
||||
structurelib.facing.21=up clockwise horizontal
|
||||
structurelib.facing.22=up clockwise vertical
|
||||
structurelib.facing.23=up clockwise both
|
||||
structurelib.facing.24=up upside down
|
||||
structurelib.facing.25=up upside down
|
||||
structurelib.facing.26=up upside down
|
||||
structurelib.facing.27=up upside down
|
||||
structurelib.facing.28=up counter clockwise
|
||||
structurelib.facing.29=up counter clockwise
|
||||
structurelib.facing.30=up counter clockwise
|
||||
structurelib.facing.31=up counter clockwise
|
||||
structurelib.facing.32=north normal none
|
||||
structurelib.facing.33=north normal horizontal
|
||||
structurelib.facing.34=north normal vertical
|
||||
structurelib.facing.35=north normal both
|
||||
structurelib.facing.36=north clockwise none
|
||||
structurelib.facing.37=north clockwise horizontal
|
||||
structurelib.facing.38=north clockwise vertical
|
||||
structurelib.facing.39=north clockwise both
|
||||
structurelib.facing.40=north upside down
|
||||
structurelib.facing.41=north upside down
|
||||
structurelib.facing.42=north upside down
|
||||
structurelib.facing.43=north upside down
|
||||
structurelib.facing.44=north counter clockwise
|
||||
structurelib.facing.45=north counter clockwise
|
||||
structurelib.facing.46=north counter clockwise
|
||||
structurelib.facing.47=north counter clockwise
|
||||
structurelib.facing.48=south normal none
|
||||
structurelib.facing.49=south normal horizontal
|
||||
structurelib.facing.50=south normal vertical
|
||||
structurelib.facing.51=south normal both
|
||||
structurelib.facing.52=south clockwise none
|
||||
structurelib.facing.53=south clockwise horizontal
|
||||
structurelib.facing.54=south clockwise vertical
|
||||
structurelib.facing.55=south clockwise both
|
||||
structurelib.facing.56=south upside down
|
||||
structurelib.facing.57=south upside down
|
||||
structurelib.facing.58=south upside down
|
||||
structurelib.facing.59=south upside down
|
||||
structurelib.facing.60=south counter clockwise
|
||||
structurelib.facing.61=south counter clockwise
|
||||
structurelib.facing.62=south counter clockwise
|
||||
structurelib.facing.63=south counter clockwise
|
||||
structurelib.facing.64=west normal none
|
||||
structurelib.facing.65=west normal horizontal
|
||||
structurelib.facing.66=west normal vertical
|
||||
structurelib.facing.67=west normal both
|
||||
structurelib.facing.68=west clockwise none
|
||||
structurelib.facing.69=west clockwise horizontal
|
||||
structurelib.facing.70=west clockwise vertical
|
||||
structurelib.facing.71=west clockwise both
|
||||
structurelib.facing.72=west upside down
|
||||
structurelib.facing.73=west upside down
|
||||
structurelib.facing.74=west upside down
|
||||
structurelib.facing.75=west upside down
|
||||
structurelib.facing.76=west counter clockwise
|
||||
structurelib.facing.77=west counter clockwise
|
||||
structurelib.facing.78=west counter clockwise
|
||||
structurelib.facing.79=west counter clockwise
|
||||
structurelib.facing.80=east normal none
|
||||
structurelib.facing.81=east normal horizontal
|
||||
structurelib.facing.82=east normal vertical
|
||||
structurelib.facing.83=east normal both
|
||||
structurelib.facing.84=east clockwise none
|
||||
structurelib.facing.85=east clockwise horizontal
|
||||
structurelib.facing.86=east clockwise vertical
|
||||
structurelib.facing.87=east clockwise both
|
||||
structurelib.facing.88=east upside down
|
||||
structurelib.facing.89=east upside down
|
||||
structurelib.facing.90=east upside down
|
||||
structurelib.facing.91=east upside down
|
||||
structurelib.facing.92=east counter clockwise
|
||||
structurelib.facing.93=east counter clockwise
|
||||
structurelib.facing.94=east counter clockwise
|
||||
structurelib.facing.95=east counter clockwise
|
||||
|
||||
structurelib.config.client=Client Side Configurations
|
||||
structurelib.config.client.tooltip=Configurations that only changes how the game looks like, but not how it functions.
|
||||
structurelib.config.client.hologram=Hologram Configurations
|
||||
|
||||
Reference in new issue
Block a user