Skip to content

Commit bf40a15

Browse files
authored
Merge branch 'mc1.20.1/dev' into mc1.20.1/mmc-6
2 parents 44dd995 + 41b6028 commit bf40a15

File tree

132 files changed

+14117
-4631
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

132 files changed

+14117
-4631
lines changed

.github/workflows/build.yml

+3-5
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,7 @@ jobs:
1010
uses: actions/checkout@v4
1111

1212
- name: Setup Java
13-
uses: actions/setup-java@v4
14-
with:
15-
distribution: 'temurin'
16-
java-version: '17'
13+
run: echo "JAVA_HOME=$JAVA_HOME_17_X64" >> "$GITHUB_ENV"
1714

1815
- name: NeoGradle Cache
1916
uses: actions/cache@v4
@@ -28,11 +25,12 @@ jobs:
2825
gradle-home-cache-cleanup: true
2926

3027
- name: Validate Gradle Wrapper Integrity
31-
uses: gradle/wrapper-validation-action@v2
28+
uses: gradle/actions/wrapper-validation@v3
3229

3330
- name: Build
3431
run: ./gradlew build
3532

3633
- uses: actions/upload-artifact@v4
3734
with:
35+
name: Artifacts
3836
path: build/libs/

.github/workflows/release.yml

+2-5
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,15 @@ jobs:
1010
uses: actions/checkout@v4
1111

1212
- name: Setup Java
13-
uses: actions/setup-java@v4
14-
with:
15-
distribution: 'temurin'
16-
java-version: '17'
13+
run: echo "JAVA_HOME=$JAVA_HOME_17_X64" >> "$GITHUB_ENV"
1714

1815
- name: Setup Gradle
1916
uses: gradle/actions/setup-gradle@v4
2017
with:
2118
cache-disabled: true
2219

2320
- name: Validate Gradle Wrapper Integrity
24-
uses: gradle/wrapper-validation-action@v2
21+
uses: gradle/actions/wrapper-validation@v3
2522

2623
- name: Build & Publish
2724
env:

build.gradle

+31-32
Original file line numberDiff line numberDiff line change
@@ -149,34 +149,19 @@ repositories {
149149
}
150150

151151
dependencies {
152-
jarJar("com.tterrag.registrate:Registrate:${registrate_version}") {
153-
version {
154-
strictly "[MC1.20-1.3.3,)"
155-
}
156-
}
157-
jarJar("dev.engine-room.flywheel:flywheel-forge-${flywheel_minecraft_version}:${flywheel_version}") {
158-
version {
159-
strictly "[1.0,2.0)"
160-
}
161-
}
152+
modImplementation(jarJar("com.tterrag.registrate:Registrate:${registrate_version}"))
153+
jarJar("net.createmod.ponder:Ponder-Forge-${minecraft_version}:${ponder_version}")
162154

163-
jarJar("net.createmod.ponder:Ponder-Forge-${minecraft_version}:${ponder_version}") {
164-
version {
165-
strictly "[${ponder_version},)"
166-
}
167-
}
155+
implementation(jarJar("io.github.llamalad7:mixinextras-forge:${mixin_extras_version}"))
168156

169-
implementation(jarJar("io.github.llamalad7:mixinextras-forge:${mixin_extras_version}")) {
157+
modCompileOnly("dev.engine-room.flywheel:flywheel-forge-api-${flywheel_minecraft_version}:${flywheel_version}")
158+
modRuntimeOnly(jarJar("dev.engine-room.flywheel:flywheel-forge-${flywheel_minecraft_version}:${flywheel_version}") {
170159
version {
171-
strictly "[${mixin_extras_version},)"
160+
strictly "[1.0,2.0)"
161+
prefer "1.0.1"
172162
}
173-
}
174-
175-
modImplementation("com.tterrag.registrate:Registrate:${registrate_version}")
176-
177-
modCompileOnly("dev.engine-room.flywheel:flywheel-forge-api-${flywheel_minecraft_version}:${flywheel_version}")
178-
modRuntimeOnly("dev.engine-room.flywheel:flywheel-forge-${flywheel_minecraft_version}:${flywheel_version}")
179-
modRuntimeOnly("dev.engine-room.vanillin:vanillin-forge-${flywheel_minecraft_version}:${flywheel_version}")
163+
})
164+
modRuntimeOnly("dev.engine-room.vanillin:vanillin-forge-${flywheel_minecraft_version}:${vanillin_version}")
180165

181166
if (ponderInWorkspace) {
182167
implementation project(":ponder:Common")
@@ -214,7 +199,7 @@ dependencies {
214199
modImplementation("dev.ftb.mods:ftb-library-forge:2001.2.4")
215200

216201
modImplementation("curse.maven:journeymap-32274:5457831")
217-
// implementation("ignored:journeymap-1.20.1-5.10.1-forge")
202+
// modImplementation("ignored:journeymap-1.20.1-5.10.1-forge")
218203

219204
// modRuntimeOnly("curse.maven:framedblocks-441647:5629578")
220205
// modRuntimeOnly("curse.maven:galosphere-631098:4983871")
@@ -315,11 +300,24 @@ tasks.named("sourcesJar") {
315300
])
316301
}
317302

303+
final slimJar = tasks.register("slimJar", Jar) {
304+
archiveClassifier = "slim"
305+
from sourceSets.main.output
306+
manifest.attributes([
307+
"Git-Hash": gitHash
308+
])
309+
}
310+
obfuscation.reobfuscate(slimJar, sourceSets.main)
311+
318312
project.publishing {
319313
publications {
320314
mavenJava(MavenPublication) {
321315
artifactId base.archivesName.get()
322316
from components.java
317+
318+
artifact(tasks.jar) {
319+
classifier = "all"
320+
}
323321
}
324322
}
325323

@@ -343,18 +341,19 @@ project.publishing {
343341
}
344342

345343
publishMods {
346-
file = jar.archiveFile
344+
file = reobfJar.archiveFile
347345
changelog = ChangelogText.getChangelogText(project).toString()
348346
type = STABLE
349-
displayName = "$mod_name $minecraft_version $mod_version"
347+
version = "$minecraft_version-$mod_version"
348+
displayName = "$mod_name $mod_version for mc$minecraft_version"
350349
modLoaders.add("forge")
351350
modLoaders.add("neoforge")
352351

353-
// curseforge {
354-
// accessToken = providers.environmentVariable("CURSEFORGE_TOKEN")
355-
// projectId = "328085"
356-
// minecraftVersions.add(minecraft_version)
357-
// }
352+
curseforge {
353+
accessToken = providers.environmentVariable("CURSEFORGE_TOKEN")
354+
projectId = "328085"
355+
minecraftVersions.add(minecraft_version)
356+
}
358357

359358
modrinth {
360359
accessToken = providers.environmentVariable("MODRINTH_TOKEN")

changelog.md

+40
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,43 @@
1+
------------------------------------------------------
2+
Create 6.0.2
3+
------------------------------------------------------
4+
5+
#### Bug Fixes
6+
7+
- Fix warning getting logged when cc: tweaked isn't installed
8+
9+
------------------------------------------------------
10+
Create 6.0.1
11+
------------------------------------------------------
12+
13+
#### Bug Fixes
14+
15+
- Fixed Shopping lists not updating when adding purchases (1.21) #7449 #7393
16+
- Fixed Frogport ponder scene not animating correctly (1.21)
17+
- Fixed broken address filter in second stock ticker ponder scene (1.21)
18+
- Fixed crash when modifying pipe structures while they are transporting fluids (1.21) #7515
19+
- Fixed shift-inserting into toolboxes causing items to be voided (1.21) #7519
20+
- Fixed inconsistent component serialisation in backtank BE (1.21)
21+
- Fixed table cloths not showing tooltips and enchantment effect when configured (1.21)
22+
- Fixed shopping list tooltip expanding as its viewed (1.21) #7503
23+
- Fixed crash when selling enchanted items on a table cloth (1.21) #7516 #7536
24+
- Added a tooltip for the stock keeper address input
25+
- Fixed crash when re-packaging a duplicated package fragment #7456
26+
- Fixed crash when ctrl-click copying a gauge #7431
27+
- Safety check for unexpected string modifications in address edit boxes #7409
28+
- Fixed crash with fluid propagator
29+
- Fixed a crash when using factory gauges
30+
- Fixed debug info command not translating the graphics mode text
31+
- Fixed cardboard sword not being able to damage arthropod mobs other than the spider
32+
- Fixed a crash that occurred when placing a stock link on a re-packager
33+
- Fixed an issue where wearing diving boots and sprinting would force you into the swim position and then out of it
34+
right away
35+
- Fixed item group attribute filters crashing
36+
- Fixed mixin conflict with immersive portals
37+
- Fixed processing output not supporting itemstack components
38+
- Fixed crash when shift-clicking items in the package filter UI #7497
39+
- Fixed crash caused by the create menu button when loaded too early #7521
40+
141
------------------------------------------------------
242
Create 6.0.0
343
------------------------------------------------------

gradle.properties

+5-4
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ org.gradle.caching = true
77

88
# mod version info
99
# build_info_mod_version is the version that gets filled into CreateBuildInfo.java
10-
mod_version = 6.0.0
11-
build_info_mod_version = 6.0.0
10+
mod_version = 6.0.1
11+
build_info_mod_version = 6.0.1
1212
artifact_minecraft_version = 1.20.1
1313

1414
minecraft_version = 1.20.1
@@ -20,12 +20,13 @@ use_parchment = true
2020
# dependency versions
2121
registrate_version = MC1.20-1.3.3
2222
flywheel_minecraft_version = 1.20.1
23-
flywheel_version = 1.0.0-beta-212
23+
flywheel_version = 1.0.1
24+
vanillin_version = 1.0.0-beta-217
2425
jei_minecraft_version = 1.20.1
2526
jei_version = 15.19.0.85
2627
curios_minecraft_version = 1.20.1
2728
curios_version = 5.3.1
28-
ponder_version = 1.0.34
29+
ponder_version = 1.0.39
2930
mixin_extras_version = 0.4.1
3031

3132
cc_tweaked_enable = true
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package com.simibubi.create;
2+
3+
import java.util.List;
4+
import java.util.function.Predicate;
5+
6+
import com.simibubi.create.api.behaviour.spouting.BlockSpoutingBehaviour;
7+
import com.simibubi.create.api.behaviour.spouting.CauldronSpoutingBehavior;
8+
import com.simibubi.create.api.behaviour.spouting.StateChangingBehavior;
9+
import com.simibubi.create.compat.Mods;
10+
import com.simibubi.create.compat.tconstruct.SpoutCasting;
11+
12+
import net.minecraft.resources.ResourceLocation;
13+
import net.minecraft.world.level.block.Block;
14+
import net.minecraft.world.level.block.Blocks;
15+
import net.minecraft.world.level.block.FarmBlock;
16+
import net.minecraft.world.level.block.LayeredCauldronBlock;
17+
import net.minecraft.world.level.block.entity.BlockEntityType;
18+
import net.minecraft.world.level.material.Fluid;
19+
import net.minecraft.world.level.material.Fluids;
20+
21+
import net.minecraftforge.registries.ForgeRegistries;
22+
23+
public class AllBlockSpoutingBehaviours {
24+
static void registerDefaults() {
25+
Predicate<Fluid> isWater = fluid -> fluid.isSame(Fluids.WATER);
26+
BlockSpoutingBehaviour toMud = StateChangingBehavior.setTo(250, isWater, Blocks.MUD);
27+
28+
for (Block dirt : List.of(Blocks.DIRT, Blocks.COARSE_DIRT, Blocks.ROOTED_DIRT)) {
29+
BlockSpoutingBehaviour.BY_BLOCK.register(dirt, toMud);
30+
}
31+
32+
BlockSpoutingBehaviour.BY_BLOCK.register(Blocks.FARMLAND, StateChangingBehavior.incrementingState(100, isWater, FarmBlock.MOISTURE));
33+
BlockSpoutingBehaviour.BY_BLOCK.register(Blocks.WATER_CAULDRON, StateChangingBehavior.incrementingState(250, isWater, LayeredCauldronBlock.LEVEL));
34+
BlockSpoutingBehaviour.BY_BLOCK.register(Blocks.CAULDRON, CauldronSpoutingBehavior.INSTANCE);
35+
36+
if (!Mods.TCONSTRUCT.isLoaded())
37+
return;
38+
39+
for (String name : List.of("table", "basin")) {
40+
ResourceLocation id = Mods.TCONSTRUCT.rl(name);
41+
if (ForgeRegistries.BLOCK_ENTITY_TYPES.containsKey(id)) {
42+
BlockEntityType<?> table = ForgeRegistries.BLOCK_ENTITY_TYPES.getValue(id);
43+
BlockSpoutingBehaviour.BY_BLOCK_ENTITY.register(table, SpoutCasting.INSTANCE);
44+
} else {
45+
Create.LOGGER.warn("Block entity {} wasn't found. Outdated compat?", id);
46+
}
47+
}
48+
}
49+
}

src/main/java/com/simibubi/create/AllBlocks.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -876,7 +876,7 @@ public class AllBlocks {
876876
.properties(p -> p.forceSolidOff())
877877
.transform(pickaxeOnly())
878878
.blockstate(BlockStateGen.pipe())
879-
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::withoutAO))
879+
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::withAO))
880880
.item()
881881
.transform(customItemModel())
882882
.register();
@@ -915,7 +915,7 @@ public class AllBlocks {
915915
.build();
916916
}, BlockStateProperties.WATERLOGGED);
917917
})
918-
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::withoutAO))
918+
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::withAO))
919919
.loot((p, b) -> p.dropOther(b, FLUID_PIPE.get()))
920920
.register();
921921

@@ -924,7 +924,7 @@ public class AllBlocks {
924924
.properties(p -> p.mapColor(MapColor.STONE))
925925
.transform(pickaxeOnly())
926926
.blockstate(BlockStateGen.directionalBlockProviderIgnoresWaterlogged(true))
927-
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::withoutAO))
927+
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::withAO))
928928
.transform(CStress.setImpact(4.0))
929929
.item()
930930
.transform(customItemModel())
@@ -936,7 +936,7 @@ public class AllBlocks {
936936
.properties(p -> p.mapColor(MapColor.TERRACOTTA_YELLOW))
937937
.transform(pickaxeOnly())
938938
.blockstate(new SmartFluidPipeGenerator()::generate)
939-
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::withoutAO))
939+
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::withAO))
940940
.item()
941941
.transform(customItemModel())
942942
.register();
@@ -948,7 +948,7 @@ public class AllBlocks {
948948
.blockstate((c, p) -> BlockStateGen.directionalAxisBlock(c, p,
949949
(state, vertical) -> AssetLookup.partialBaseModel(c, p, vertical ? "vertical" : "horizontal",
950950
state.getValue(FluidValveBlock.ENABLED) ? "open" : "closed")))
951-
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::withoutAO))
951+
.onRegister(CreateRegistrate.blockModel(() -> PipeAttachmentModel::withAO))
952952
.item()
953953
.transform(customItemModel())
954954
.register();

src/main/java/com/simibubi/create/AllDisplaySources.java

+13-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
package com.simibubi.create;
22

3+
import static com.simibubi.create.Create.REGISTRATE;
4+
5+
import java.util.HashMap;
6+
import java.util.List;
7+
import java.util.Map;
8+
import java.util.function.Supplier;
9+
310
import com.simibubi.create.api.behaviour.display.DisplaySource;
411
import com.simibubi.create.compat.Mods;
512
import com.simibubi.create.content.redstone.displayLink.source.AccumulatedItemCountDisplaySource;
@@ -29,20 +36,15 @@
2936
import com.simibubi.create.content.redstone.displayLink.source.TimeOfDayDisplaySource;
3037
import com.simibubi.create.content.redstone.displayLink.source.TrainStatusDisplaySource;
3138
import com.tterrag.registrate.util.entry.RegistryEntry;
39+
40+
import net.minecraftforge.registries.ForgeRegistries;
41+
3242
import net.minecraft.Util;
3343
import net.minecraft.core.registries.Registries;
3444
import net.minecraft.resources.ResourceLocation;
3545
import net.minecraft.world.item.DyeColor;
3646
import net.minecraft.world.level.block.Blocks;
3747
import net.minecraft.world.level.block.entity.BlockEntityType;
38-
import net.minecraftforge.registries.ForgeRegistries;
39-
40-
import java.util.HashMap;
41-
import java.util.List;
42-
import java.util.Map;
43-
import java.util.function.Supplier;
44-
45-
import static com.simibubi.create.Create.REGISTRATE;
4648

4749
public class AllDisplaySources {
4850
public static final RegistryEntry<DeathCounterDisplaySource> DEATH_COUNT = REGISTRATE.displaySource("death_count", DeathCounterDisplaySource::new)
@@ -87,6 +89,9 @@ public class AllDisplaySources {
8789

8890
public static final RegistryEntry<ComputerDisplaySource> COMPUTER = REGISTRATE.displaySource("computer", ComputerDisplaySource::new)
8991
.onRegisterAfter(Registries.BLOCK_ENTITY_TYPE, source -> {
92+
if (!Mods.COMPUTERCRAFT.isLoaded())
93+
return;
94+
9095
List<String> types = List.of("wired_modem_full", "computer_normal", "computer_advanced", "computer_command");
9196
for (String name : types) {
9297
ResourceLocation id = Mods.COMPUTERCRAFT.rl(name);

src/main/java/com/simibubi/create/Create.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22

33
import java.util.Random;
44

5+
import com.simibubi.create.compat.inventorySorter.InventorySorterCompat;
6+
57
import org.slf4j.Logger;
68

79
import com.google.gson.Gson;
810
import com.google.gson.GsonBuilder;
911
import com.mojang.logging.LogUtils;
10-
import com.simibubi.create.api.behaviour.spouting.BlockSpoutingBehaviour;
1112
import com.simibubi.create.compat.Mods;
1213
import com.simibubi.create.compat.computercraft.ComputerCraftProxy;
1314
import com.simibubi.create.compat.curios.Curios;
@@ -157,6 +158,7 @@ public static void onCtor() {
157158

158159
// FIXME: this is not thread-safe
159160
Mods.CURIOS.executeIfInstalled(() -> () -> Curios.init(modEventBus, forgeEventBus));
161+
Mods.INVENTORYSORTER.executeIfInstalled(() -> () -> InventorySorterCompat.init(modEventBus));
160162
}
161163

162164
public static void init(final FMLCommonSetupEvent event) {
@@ -169,7 +171,7 @@ public static void init(final FMLCommonSetupEvent event) {
169171
// These registrations use Create's registered objects directly so they must run after registration has finished.
170172
BoilerHeaters.registerDefaults();
171173
AllPortalTracks.registerDefaults();
172-
BlockSpoutingBehaviour.registerDefaults();
174+
AllBlockSpoutingBehaviours.registerDefaults();
173175
AllMovementBehaviours.registerDefaults();
174176
AllInteractionBehaviours.registerDefaults();
175177
AllContraptionMovementSettings.registerDefaults();

0 commit comments

Comments
 (0)