Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug fixes and 1.20.4 release prep #1904

Merged
merged 11 commits into from
Dec 27, 2024
4 changes: 3 additions & 1 deletion .github/requirements.txt
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
fire==0.4.0
fire==0.4.0
curseuploadpy @ git+https://github.com/MrTJP/curseuploadpy.git@dev
modrinthpy @ git+https://github.com/MrTJP/modrinthpy.git@dev
99 changes: 88 additions & 11 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,26 +32,26 @@ jobs:
case $release_type in
"release")
publish_maven=true
publish_curse=true
publish_launchers=true
publish_gh_release=true
version_format="{major}.{minor}.{patch}"
;;
"beta")
publish_maven=true
publish_curse=true
publish_launchers=true
publish_gh_release=false
version_format="{major}.{minor}.{patch}-beta+{increment}"
;;
"alpha")
publish_maven=true
publish_curse=false
publish_launchers=false
publish_gh_release=false
version_format="{major}.{minor}.{patch}-alpha+{increment}"
;;
*)
echo "::warning::Unknown release type: $release_type"
publish_maven=false
publish_curse=false
publish_launchers=false
publish_gh_release=false
version_format="{major}.{minor}.{patch}-$release_type+{increment}"
esac
Expand All @@ -61,7 +61,7 @@ jobs:
echo "release_channel=$release_channel" >> $GITHUB_OUTPUT
echo "release_type=$release_type" >> $GITHUB_OUTPUT
echo "publish_maven=$publish_maven" >> $GITHUB_OUTPUT
echo "publish_curse=$publish_curse" >> $GITHUB_OUTPUT
echo "publish_launchers=$publish_launchers" >> $GITHUB_OUTPUT
echo "publish_gh_release=$publish_gh_release" >> $GITHUB_OUTPUT
echo "version_format=$version_format" >> $GITHUB_OUTPUT
echo "tag_format=$tag_format" >> $GITHUB_OUTPUT
Expand Down Expand Up @@ -127,13 +127,90 @@ jobs:
MAVEN_USER: ${{ secrets.MAVEN_USER }}
MAVEN_PASS: ${{ secrets.MAVEN_PASS }}

- name: Curse publish
if: ${{ steps.release_type.outputs.publish_curse == 'true' }}
run: ./gradlew curseforge
- name: Publish to Curse
if: ${{ steps.release_type.outputs.publish_launchers == 'true' }}
run: |
# Base args for all modules
COMMON_ARGS=( \
-k $API_TOKEN \
-rt $RELEASE_TYPE \
-v 'Java 17' \
-v 1.20.1 \
-v Forge \
-v NeoForge \
-c ./CHANGELOG.md \
--required-dep codechicken-lib-1-8 \
--required-dep cb-multipart \
)

# All submodules need PR Core
MODULE_ARGS=( \
"${COMMON_ARGS[@]}" \
--required-dep project-red-core \
)

# Fabrication is special and also needs Integration and Transmission
FAB_ARGS=( \
"${MODULE_ARGS[@]}" \
--required-dep project-red-integration \
--required-dep project-red-transmission \
)

python -m curseuploadpy "${COMMON_ARGS[@]}" -p 228702 -f core/build/libs/*-core.jar
python -m curseuploadpy "${MODULE_ARGS[@]}" -p 229048 -f expansion/build/libs/*-expansion.jar
python -m curseuploadpy "${MODULE_ARGS[@]}" -p 229049 -f exploration/build/libs/*-exploration.jar
python -m curseuploadpy "${FAB_ARGS[@]}" -p 230111 -f fabrication/build/libs/*-fabrication.jar
python -m curseuploadpy "${MODULE_ARGS[@]}" -p 229046 -f illumination/build/libs/*-illumination.jar
python -m curseuploadpy "${MODULE_ARGS[@]}" -p 229045 -f integration/build/libs/*-integration.jar
python -m curseuploadpy "${MODULE_ARGS[@]}" -p 478939 -f transmission/build/libs/*-transmission.jar

env:
AUTO_GENERATED_VERSION: ${{ steps.versioning.outputs.version }}
CURSE_RELEASE_TYPE: ${{ steps.release_type.outputs.release_type }}
CURSE_TOKEN: ${{ secrets.CURSE_TOKEN }}
RELEASE_TYPE: ${{ steps.release_type.outputs.release_type }}
API_TOKEN: ${{ secrets.CURSE_TOKEN }}


- name: Publish to Modrinth
if: ${{ steps.release_type.outputs.publish_launchers == 'true' }}
run: |
# Base args for all modules
COMMON_ARGS=( \
-k $API_TOKEN \
create-version \
-v "$MOD_VERSION" \
-c ./CHANGELOG.md \
-gv 1.20.1 \
-vt $RELEASE_TYPE \
-l forge \
-l neoforge \
--required-dep codechicken-lib \
--required-dep cb-multipart \
)

# All submodules need PR Core
MODULE_ARGS=( \
"${COMMON_ARGS[@]}" \
--required-dep project-red-core \
)

# Fabrication is special and also needs Integration and Transmission
FAB_ARGS=( \
"${MODULE_ARGS[@]}" \
--required-dep project-red-integration \
--required-dep project-red-transmission \
)

python -m modrinthpy "${COMMON_ARGS[@]}" -p project-red-core -n "Project Red Core v$MOD_VERSION" -f core/build/libs/*-core.jar
python -m modrinthpy "${MODULE_ARGS[@]}" -p project-red-expansion -n "Project Red Expansion v$MOD_VERSION" -f expansion/build/libs/*-expansion.jar
python -m modrinthpy "${MODULE_ARGS[@]}" -p project-red-exploration -n "Project Red Exploration v$MOD_VERSION" -f exploration/build/libs/*-exploration.jar
python -m modrinthpy "${FAB_ARGS[@]}" -p project-red-fabrication -n "Project Red Fabrication v$MOD_VERSION" -f fabrication/build/libs/*-fabrication.jar
python -m modrinthpy "${MODULE_ARGS[@]}" -p project-red-illumination -n "Project Red Illumination v$MOD_VERSION" -f illumination/build/libs/*-illumination.jar
python -m modrinthpy "${MODULE_ARGS[@]}" -p project-red-integration -n "Project Red Integration v$MOD_VERSION" -f integration/build/libs/*-integration.jar
python -m modrinthpy "${MODULE_ARGS[@]}" -p project-red-transmission -n "Project Red Transmission v$MOD_VERSION" -f transmission/build/libs/*-transmission.jar

env:
RELEASE_TYPE: ${{ steps.release_type.outputs.release_type }}
API_TOKEN: ${{ secrets.MODRINTH_TOKEN }}
MOD_VERSION: ${{ steps.versioning.outputs.version }}

- name: Tag and Release
if: ${{ steps.release_type.outputs.publish_gh_release == 'true' }}
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Icon?
ehthumbs.db
Thumbs.db
#gradle stuff
/.gradle
**/.gradle
/build/
/*/build/
/run/
Expand Down
21 changes: 0 additions & 21 deletions core/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id 'net.neoforged.gradle'
id 'com.matthewprenger.cursegradle'
}

String mod_id = 'projectred_core'
Expand Down Expand Up @@ -46,23 +45,3 @@ dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.2'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.2'
}

curseforge {
apiKey = System.getenv('CURSE_TOKEN') ?: 'XXX'

// Core
project {
id = '228702'
releaseType = System.getenv('CURSE_RELEASE_TYPE') ?: 'alpha'
changelogType = 'markdown'
changelog = rootProject.file('CHANGELOG.md')
relations {
requiredDependency 'codechicken-lib-1-8' // CCL is required for everything
requiredDependency 'cb-multipart' // CBMultipart is required for everything
}

// Java/ForgeGradle integrations don't work after 1.18.2 port
addGameVersion "${mc_version}"
addGameVersion "Java ${java_lang_version}"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ public void loadFrom(CompoundTag parent, String key) {
// Check if list-format tags are present
ListTag itemList = parent.getList(key, 10);
if (!itemList.isEmpty()) {
ProjectRedCore.LOGGER.warn("Inventory {} loaded from non-ordered data. Its contents may have shuffled", this);
fromTag(itemList);
ProjectRedCore.LOGGER.warn("Inventory {} loaded from non-ordered data. Its contents may have shuffled", this);
} else {
// Otherwise, use new compound format
load(parent.getCompound(key));
Expand All @@ -70,4 +70,18 @@ public void loadFrom(CompoundTag parent, String key) {
public static int getItemCount(CompoundTag tag) {
return tag.contains(TAG_ITEM_COUNT) ? tag.getInt(TAG_ITEM_COUNT) : tag.getList(TAG_ITEMS, 10).size(); //TODO remove legacy support
}

//region Deprecate vanilla save/load as it does not load back to correct slots
@Override
@Deprecated // Use saveTo or save
public ListTag createTag() {
return super.createTag();
}

@Override
@Deprecated // Use loadFrom or load
public void fromTag(ListTag pContainerNbt) {
super.fromTag(pContainerNbt);
}
//endregion
}
20 changes: 0 additions & 20 deletions expansion/build.gradle
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
id 'net.neoforged.gradle'
id 'com.matthewprenger.cursegradle'
id 'org.spongepowered.mixin'
}

Expand Down Expand Up @@ -45,22 +44,3 @@ mixin {
debug.verbose = true
debug.export = true
}

curseforge {
apiKey = System.getenv('CURSE_TOKEN') ?: 'XXX'

// Expansion
project {
id = '229048'
releaseType = System.getenv('CURSE_RELEASE_TYPE') ?: 'alpha'
changelogType = 'markdown'
changelog = rootProject.file('CHANGELOG.md')
relations {
requiredDependency 'project-red-core'
}

// Java/ForgeGradle integrations don't work after 1.18.2 port
addGameVersion "${mc_version}"
addGameVersion "Java ${java_lang_version}"
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// 1.20.1 2024-07-17T09:25:42.182432 projectred_expansion Item models.
// 1.20.1 2024-11-20T09:27:37.993874 projectred_expansion Item models.
599e9047cbf1215359e3106b1a6a0757a569ffc9 assets/projectred_expansion/models/item/auto_crafter.json
736ab07c8745c163e8a3cb90abc9308466032009 assets/projectred_expansion/models/item/battery.json
d887cd7b776f1227da04cf267bf0a48dbc706027 assets/projectred_expansion/models/item/battery_box.json
Expand All @@ -16,10 +16,10 @@ ca8ee7426c8d4b145e75bc0bebca77c90e05779e assets/projectred_expansion/models/item
f8ad62a7aa4f5ae87d36e422722c4ffbf46d22e1 assets/projectred_expansion/models/item/electric_screwdriver.json
c04ad8c2f44fd4f5a6ea7c5bb9ddf98629332a84 assets/projectred_expansion/models/item/empty_battery.json
8adfe244bf33706f67d587942e9179b74cf38fd0 assets/projectred_expansion/models/item/fire_starter.json
a163c9ce1e63e428f3fa804b66e491b455f18540 assets/projectred_expansion/models/item/frame.json
432462cb1b080b869c472c0e8f7495e9b4e1d638 assets/projectred_expansion/models/item/frame.json
933ec48f28e2627aefbdcaa7d989eeac271ad282 assets/projectred_expansion/models/item/frame_actuator.json
a163c9ce1e63e428f3fa804b66e491b455f18540 assets/projectred_expansion/models/item/frame_motor.json
a163c9ce1e63e428f3fa804b66e491b455f18540 assets/projectred_expansion/models/item/pneumatic_tube.json
78ea8ea37f9467201dc2e05ef372f4403ccbadb2 assets/projectred_expansion/models/item/frame_motor.json
efabd61ed85b4d67f546ea6cfb90d9f5f17773cc assets/projectred_expansion/models/item/pneumatic_tube.json
9457da7d0b200c883ca98241d9bf155043221c53 assets/projectred_expansion/models/item/project_bench.json
5d8ae0bcb189be1eb7ce726fc4d28637dcdfaac8 assets/projectred_expansion/models/item/recipe_plan.json
000ee856d11f86a527eb92dd81e20dee640de756 assets/projectred_expansion/models/item/recipe_plan_written.json
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
{
"parent": "minecraft:item/generated"
"parent": "minecraft:item/generated",
"class": "mrtjp.projectred.expansion.client.FrameBlockRenderer",
"loader": "codechickenlib:class"
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
{
"parent": "minecraft:item/generated"
"parent": "minecraft:item/generated",
"class": "mrtjp.projectred.expansion.client.FrameMotorBlockRenderer",
"loader": "codechickenlib:class"
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
{
"parent": "minecraft:item/generated"
"parent": "minecraft:item/generated",
"class": "mrtjp.projectred.expansion.client.TubePartItemRenderer",
"loader": "codechickenlib:class"
}
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
import net.minecraftforge.event.level.ChunkWatchEvent;
import net.minecraftforge.event.level.LevelEvent;

import javax.annotation.Nullable;
import java.util.*;
import java.util.function.Consumer;

Expand Down Expand Up @@ -65,7 +66,7 @@ public static MovementManager getInstance(Level level) {
return map.computeIfAbsent(level.dimension(), MovementManager::new);
}

public static MovementManager getClientInstanceNullable() {
public static @Nullable MovementManager getClientInstanceNullable() {
var clientLevel = Minecraft.getInstance().level;
if (clientLevel == null) {
return null;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,11 @@ public static void registerFrameInteraction(FrameInteraction interaction) {
BlockEntity be = level.getBlockEntity(pos);
if (be instanceof MovementController mbe) return mbe;

if (be != null) {
LazyOptional<MovementController> cap = be.getCapability(IExpansionAPI.MOVEMENT_CONTROLLER_CAPABILITY);
if (cap.isPresent()) return cap.orElseThrow(() -> new RuntimeException("??"));
}

return null;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public class FrameBlockRenderer implements ICCBlockRenderer, IItemRenderer {

public static final FrameBlockRenderer INSTANCE = new FrameBlockRenderer();

private FrameBlockRenderer() {
public FrameBlockRenderer() {
}

//region ICCBlockRenderer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ public class FrameMotorBlockRenderer extends FullyOrientableBlockRenderer {
private static @Nullable MultiIconTransformation iconT2;
private static @Nullable MultiIconTransformation iconT3;

private FrameMotorBlockRenderer() {
public FrameMotorBlockRenderer() {
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,7 @@

public class TubePartItemRenderer implements IItemRenderer {

public static final TubePartItemRenderer INSTANCE = new TubePartItemRenderer();

private TubePartItemRenderer() { }
public TubePartItemRenderer() { }

@Override
public boolean useAmbientOcclusion() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

import codechicken.lib.datagen.ItemModelProvider;
import mrtjp.projectred.expansion.TubeType;
import mrtjp.projectred.expansion.client.FrameBlockRenderer;
import mrtjp.projectred.expansion.client.FrameMotorBlockRenderer;
import mrtjp.projectred.expansion.client.TubePartItemRenderer;
import net.minecraft.data.PackOutput;
import net.minecraft.world.item.Item;
import net.minecraft.world.level.block.Block;
Expand Down Expand Up @@ -34,11 +37,11 @@ protected void registerModels() {
simpleItemBlock(BLOCK_BREAKER_BLOCK.get());
simpleItemBlock(DEPLOYER_BLOCK.get());

generated(FRAME_BLOCK.get()).noTexture();
generated(FRAME_MOTOR_BLOCK.get()).noTexture();
clazz(FRAME_BLOCK.get(), FrameBlockRenderer.class);
clazz(FRAME_MOTOR_BLOCK.get(), FrameMotorBlockRenderer.class);

for (TubeType type : TubeType.values()) {
generated(type.getItem()).noTexture();
clazz(type.getItem(), TubePartItemRenderer.class);
}

generated(EMPTY_BATTERY_ITEM);
Expand Down
Loading
Loading