Compare commits
10 commits
aa4abdfdb5
...
44079faabd
Author | SHA1 | Date | |
---|---|---|---|
44079faabd | |||
1a190bdbff | |||
1dca64f916 | |||
|
2211b35513 | ||
|
9523da1744 | ||
|
0b4b28dd62 | ||
|
1c6a48de0f | ||
|
76005a114b | ||
|
f9017f2475 | ||
|
a31af2bd7c |
10 changed files with 70 additions and 84 deletions
2
.github/workflows/release.yml
vendored
2
.github/workflows/release.yml
vendored
|
@ -27,7 +27,7 @@ jobs:
|
|||
with:
|
||||
context: changelog
|
||||
workflow_id: release.yml
|
||||
- run: ./gradlew build publish publishMods github --stacktrace -x test
|
||||
- run: ./gradlew build publish publishMods --stacktrace -x test
|
||||
env:
|
||||
RELEASE_CHANNEL: ${{ github.event.inputs.channel }}
|
||||
MAVEN_URL: ${{ secrets.MAVEN_URL }}
|
||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -11,6 +11,7 @@
|
|||
/.settings
|
||||
/classpath
|
||||
/dep
|
||||
/.vscode
|
||||
|
||||
TechReborn.iws
|
||||
TechReborn.ipr
|
||||
|
|
|
@ -28,8 +28,8 @@
|
|||
}
|
||||
],
|
||||
"depends": {
|
||||
"fabricloader": ">=0.14.21",
|
||||
"fabric-api": ">=0.82.1",
|
||||
"fabricloader": ">=0.14.22",
|
||||
"fabric-api": ">=0.86.1",
|
||||
"team_reborn_energy": ">=3.0.0",
|
||||
"fabric-biome-api-v1": ">=3.0.0",
|
||||
"minecraft": ">=1.20.1- <1.20.2-"
|
||||
|
|
80
build.gradle
80
build.gradle
|
@ -1,9 +1,3 @@
|
|||
buildscript {
|
||||
dependencies {
|
||||
classpath 'org.kohsuke:github-api:1.135'
|
||||
}
|
||||
}
|
||||
|
||||
plugins {
|
||||
id 'java'
|
||||
id 'groovy'
|
||||
|
@ -13,7 +7,7 @@ plugins {
|
|||
id 'maven-publish'
|
||||
id 'com.diffplug.spotless' version '6.19.0'
|
||||
id 'fabric-loom' version '1.3-SNAPSHOT'
|
||||
id 'me.modmuss50.mod-publish-plugin' version '0.0.3'
|
||||
id 'me.modmuss50.mod-publish-plugin' version '0.3.3'
|
||||
}
|
||||
|
||||
repositories {
|
||||
|
@ -83,7 +77,7 @@ allprojects {
|
|||
publications {
|
||||
register("maven", MavenPublication) {
|
||||
groupId project.name
|
||||
artifactId project.archivesBaseName + "-" + getBranch()
|
||||
artifactId project.archivesBaseName + "-" + (ENV.GITHUB_REF_NAME ?: "local")
|
||||
version project.version
|
||||
|
||||
from components.java
|
||||
|
@ -259,7 +253,7 @@ tasks.sourcesJar.dependsOn runDatagen
|
|||
jar {
|
||||
exclude "**/*.psd"
|
||||
from file('src/main/generated')
|
||||
from { crowdin.getDidWork() ? fileTree('build/translations').matching{exclude "**/en_US.json"} : null}
|
||||
from { fileTree('build/translations').matching{exclude "**/en_US.json"} }
|
||||
|
||||
// A bit of a hack to allow the generated sources when they already exist
|
||||
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
||||
|
@ -285,15 +279,15 @@ tasks.register('crowdinExport') {
|
|||
def translationsUrl = "https://crowdin.com/backend/download/project/techreborn.zip"
|
||||
def translationsZip = file("build/translations.zip")
|
||||
|
||||
tasks.register('crowdin') {
|
||||
dependsOn crowdinExport
|
||||
description "Downloads translations from CrowdIn"
|
||||
outputs.file translationsZip
|
||||
// tasks.register('crowdin') {
|
||||
// dependsOn crowdinExport
|
||||
// description "Downloads translations from CrowdIn"
|
||||
// outputs.file translationsZip
|
||||
|
||||
doLast {
|
||||
translationsZip.bytes = new URL(translationsUrl).bytes
|
||||
}
|
||||
}
|
||||
// doLast {
|
||||
// translationsZip.bytes = new URL(translationsUrl).bytes
|
||||
// }
|
||||
// }
|
||||
|
||||
tasks.register('cleanCrowdin', Delete) {
|
||||
description "Delete old translations"
|
||||
|
@ -302,7 +296,7 @@ tasks.register('cleanCrowdin', Delete) {
|
|||
clean.dependsOn cleanCrowdin
|
||||
|
||||
tasks.register('renameCrowdin', Copy) {
|
||||
dependsOn crowdin
|
||||
// dependsOn crowdin
|
||||
description "Renames the translation files to be all lower case"
|
||||
from zipTree(translationsZip)
|
||||
into file('build/translations')
|
||||
|
@ -340,11 +334,11 @@ tasks.register('copyTranslationsToGenerated', Copy) {
|
|||
}
|
||||
|
||||
publishMods {
|
||||
changelog = ENV.CHANGELOG ?: "No changelog provided"
|
||||
changelog = providers.environmentVariable("CHANGELOG").orElse("No changelog provided")
|
||||
version = project.version
|
||||
type = ENV.RELEASE_CHANNEL == "release" ? STABLE : BETA
|
||||
type = providers.environmentVariable("RELEASE_CHANNEL").orElse("release").map {it == "release" ? STABLE : BETA }
|
||||
modLoaders.add("fabric")
|
||||
dryRun = ENV.CURSEFORGE_API_KEY == null
|
||||
dryRun = providers.environmentVariable("CURSEFORGE_API_KEY").getOrNull() == null
|
||||
|
||||
def options = curseforgeOptions {
|
||||
accessToken = providers.environmentVariable("CURSEFORGE_API_KEY")
|
||||
|
@ -372,40 +366,14 @@ publishMods {
|
|||
from options
|
||||
projectId = "237903"
|
||||
file = project(":RebornCore").tasks.remapJar.archiveFile
|
||||
displayName = "RebornCore $version"
|
||||
}
|
||||
|
||||
github {
|
||||
file = remapJar.archiveFile
|
||||
additionalFiles.from project(":RebornCore").tasks.remapJar.archiveFile
|
||||
repository = providers.environmentVariable("GITHUB_REPOSITORY").orElse("dryrun")
|
||||
accessToken = providers.environmentVariable("GITHUB_TOKEN")
|
||||
commitish = providers.environmentVariable("GITHUB_REF_NAME").orElse("dryrun")
|
||||
}
|
||||
}
|
||||
|
||||
static def getBranch() {
|
||||
def ENV = System.getenv()
|
||||
if (ENV.GITHUB_REF) {
|
||||
def branch = ENV.GITHUB_REF
|
||||
return branch.substring(branch.lastIndexOf("/") + 1)
|
||||
}
|
||||
|
||||
return "unknown"
|
||||
}
|
||||
|
||||
import org.kohsuke.github.GHReleaseBuilder
|
||||
import org.kohsuke.github.GitHub
|
||||
|
||||
tasks.register('github') {
|
||||
dependsOn remapJar
|
||||
onlyIf {
|
||||
ENV.GITHUB_TOKEN
|
||||
}
|
||||
|
||||
doLast {
|
||||
def github = GitHub.connectUsingOAuth(ENV.GITHUB_TOKEN as String)
|
||||
def repository = github.getRepository(ENV.GITHUB_REPOSITORY)
|
||||
|
||||
def releaseBuilder = new GHReleaseBuilder(repository, version as String)
|
||||
releaseBuilder.name("${archivesBaseName}-${version}")
|
||||
releaseBuilder.body(ENV.CHANGELOG)
|
||||
releaseBuilder.commitish(getBranch())
|
||||
|
||||
def ghRelease = releaseBuilder.create()
|
||||
ghRelease.uploadAsset(file("${project.buildDir}/libs/${archivesBaseName}-${version}.jar"), "application/java-archive")
|
||||
ghRelease.uploadAsset(file("RebornCore/build/libs/RebornCore-${version}.jar"), "application/java-archive")
|
||||
}
|
||||
}
|
||||
github.dependsOn(project(":RebornCore").getTasks().named("remapJar"))
|
||||
|
|
|
@ -3,14 +3,14 @@ org.gradle.jvmargs=-Xmx2G
|
|||
fabric.loom.multiProjectOptimisation=true
|
||||
|
||||
# Mod properties
|
||||
mod_version=5.8.5
|
||||
mod_version=5.8.7
|
||||
|
||||
# Fabric Properties
|
||||
# check these on https://modmuss50.me/fabric.html
|
||||
minecraft_version=1.20.1
|
||||
yarn_version=1.20.1+build.1
|
||||
loader_version=0.14.21
|
||||
fapi_version=0.83.0+1.20.1
|
||||
loader_version=0.14.22
|
||||
fapi_version=0.86.1+1.20.1
|
||||
|
||||
# Dependencies
|
||||
energy_version=3.0.0
|
||||
|
|
|
@ -26,7 +26,7 @@ package techreborn;
|
|||
|
||||
import net.fabricmc.api.ClientModInitializer;
|
||||
import net.fabricmc.fabric.api.blockrenderlayer.v1.BlockRenderLayerMap;
|
||||
import net.fabricmc.fabric.api.client.model.ModelLoadingRegistry;
|
||||
import net.fabricmc.fabric.api.client.model.loading.v1.ModelLoadingPlugin;
|
||||
import net.fabricmc.fabric.api.client.rendering.v1.EntityRendererRegistry;
|
||||
import net.fabricmc.fabric.api.renderer.v1.RendererAccess;
|
||||
import net.minecraft.client.item.ClampedModelPredicateProvider;
|
||||
|
@ -87,37 +87,47 @@ public class TechRebornClient implements ClientModInitializer {
|
|||
|
||||
@Override
|
||||
public void onInitializeClient() {
|
||||
ModelLoadingRegistry.INSTANCE.registerModelProvider((manager, out) -> {
|
||||
out.accept(new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "cell_base"), "inventory"));
|
||||
out.accept(new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "cell_fluid"), "inventory"));
|
||||
out.accept(new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "cell_background"), "inventory"));
|
||||
out.accept(new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "cell_glass"), "inventory"));
|
||||
ModelLoadingPlugin.register((pluginContext) -> {
|
||||
pluginContext.addModels(
|
||||
new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "cell_base"), "inventory"),
|
||||
new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "cell_fluid"), "inventory"),
|
||||
new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "cell_background"), "inventory"),
|
||||
new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "cell_glass"), "inventory"),
|
||||
new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "bucket_base"), "inventory"),
|
||||
new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "bucket_fluid"), "inventory"),
|
||||
new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "bucket_background"), "inventory")
|
||||
);
|
||||
|
||||
out.accept(new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "bucket_base"), "inventory"));
|
||||
out.accept(new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "bucket_fluid"), "inventory"));
|
||||
out.accept(new ModelIdentifier(new Identifier(TechReborn.MOD_ID, "bucket_background"), "inventory"));
|
||||
});
|
||||
pluginContext.resolveModel().register((context) -> {
|
||||
final Identifier id = context.id();
|
||||
|
||||
ModelLoadingRegistry.INSTANCE.registerVariantProvider(resourceManager -> (modelIdentifier, modelProviderContext) -> {
|
||||
if (modelIdentifier.getNamespace().equals(TechReborn.MOD_ID)) {
|
||||
if (modelIdentifier.getPath().equals("cell")) {
|
||||
if (!id.getNamespace().equals(TechReborn.MOD_ID) || !id.getPath().startsWith("item/")) {
|
||||
return null;
|
||||
}
|
||||
|
||||
String path = id.getPath().replace("item/", "");
|
||||
|
||||
if (path.equals("cell")) {
|
||||
if (!RendererAccess.INSTANCE.hasRenderer()) {
|
||||
return JsonUnbakedModel.deserialize("{\"parent\":\"minecraft:item/generated\",\"textures\":{\"layer0\":\"techreborn:item/cell_background\"}}");
|
||||
}
|
||||
|
||||
return new UnbakedDynamicModel(DynamicCellBakedModel::new);
|
||||
}
|
||||
Fluid fluid = Registries.FLUID.get(new Identifier(TechReborn.MOD_ID, modelIdentifier.getPath().split("_bucket")[0]));
|
||||
if (modelIdentifier.getPath().endsWith("_bucket") && fluid != Fluids.EMPTY) {
|
||||
|
||||
Fluid fluid = Registries.FLUID.get(new Identifier(TechReborn.MOD_ID, path.split("_bucket")[0]));
|
||||
if (path.endsWith("_bucket") && fluid != Fluids.EMPTY) {
|
||||
if (!RendererAccess.INSTANCE.hasRenderer()) {
|
||||
return JsonUnbakedModel.deserialize("{\"parent\":\"minecraft:item/generated\",\"textures\":{\"layer0\":\"minecraft:item/bucket\"}}");
|
||||
}
|
||||
|
||||
return new UnbakedDynamicModel(DynamicBucketBakedModel::new);
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
StackToolTipHandler.setup();
|
||||
ClientboundPacketHandlers.init();
|
||||
|
|
|
@ -56,7 +56,6 @@ import techreborn.init.TRBlockEntities;
|
|||
import techreborn.init.TRContent;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public class StorageUnitBaseBlockEntity extends MachineBaseBlockEntity implements InventoryProvider, IToolDrop, IListInfoProvider, BuiltScreenHandlerProvider {
|
||||
|
||||
|
@ -533,8 +532,10 @@ public class StorageUnitBaseBlockEntity extends MachineBaseBlockEntity implement
|
|||
}
|
||||
|
||||
@SuppressWarnings("UnstableApiUsage")
|
||||
private Storage<ItemVariant> getInternalStoreStorage(Direction side) {
|
||||
Objects.requireNonNull(side);
|
||||
private Storage<ItemVariant> getInternalStoreStorage(@Nullable Direction direction) {
|
||||
// Quick fix to handle null sides. https://github.com/TechReborn/TechReborn/issues/3175
|
||||
final Direction side = direction != null ? direction : Direction.DOWN;
|
||||
|
||||
if (internalStoreStorage[side.getId()] == null) {
|
||||
internalStoreStorage[side.getId()] = new SingleStackStorage() {
|
||||
@Override
|
||||
|
|
|
@ -274,6 +274,12 @@ public class TechRebornConfig {
|
|||
@Config(config = "items", category = "power", key = "clockingDeviceEnergyUsage", comment = "Cloaking device energy usage")
|
||||
public static int cloakingDeviceCost = 10;
|
||||
|
||||
@Config(config = "items", category = "power", key = "quantumSuitArmour", comment = "Quantum Suit armour value")
|
||||
public static double quantumSuitArmour = 20;
|
||||
|
||||
@Config(config = "items", category = "power", key = "quantumSuitKnockbackResist", comment = "Quantum Suit knockback resistance")
|
||||
public static double quantumSuitKnockbackResist = 2;
|
||||
|
||||
@Config(config = "items", category = "power", key = "quantumSuitCapacity", comment = "Quantum Suit Energy Capacity")
|
||||
public static long quantumSuitCapacity = 40_000_000;
|
||||
|
||||
|
|
|
@ -71,8 +71,8 @@ public class QuantumSuitItem extends TREnergyArmourItem implements ArmorBlockEnt
|
|||
}
|
||||
|
||||
if (equipmentSlot == this.getSlotType() && getStoredEnergy(stack) > 0) {
|
||||
attributes.put(EntityAttributes.GENERIC_ARMOR, new EntityAttributeModifier(MODIFIERS[getSlotType().getEntitySlotId()], "Armor modifier", 20, EntityAttributeModifier.Operation.ADDITION));
|
||||
attributes.put(EntityAttributes.GENERIC_KNOCKBACK_RESISTANCE, new EntityAttributeModifier(MODIFIERS[getSlotType().getEntitySlotId()], "Knockback modifier", 2, EntityAttributeModifier.Operation.ADDITION));
|
||||
attributes.put(EntityAttributes.GENERIC_ARMOR, new EntityAttributeModifier(MODIFIERS[getSlotType().getEntitySlotId()], "Armor modifier", TechRebornConfig.quantumSuitArmour, EntityAttributeModifier.Operation.ADDITION));
|
||||
attributes.put(EntityAttributes.GENERIC_KNOCKBACK_RESISTANCE, new EntityAttributeModifier(MODIFIERS[getSlotType().getEntitySlotId()], "Knockback modifier", TechRebornConfig.quantumSuitKnockbackResist, EntityAttributeModifier.Operation.ADDITION));
|
||||
}
|
||||
|
||||
return ImmutableMultimap.copyOf(attributes);
|
||||
|
|
|
@ -30,8 +30,8 @@
|
|||
]
|
||||
},
|
||||
"depends": {
|
||||
"fabricloader": ">=0.14.21",
|
||||
"fabric-api": ">=0.82.1",
|
||||
"fabricloader": ">=0.14.22",
|
||||
"fabric-api": ">=0.86.1",
|
||||
"reborncore": "*",
|
||||
"team_reborn_energy": ">=3.0.0",
|
||||
"fabric-biome-api-v1": ">=3.0.0",
|
||||
|
|
Loading…
Reference in a new issue