Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ mixin {
*/
repositories {
mavenLocal()
maven { url = "https://maven.createmod.net" }
maven {
// location of the maven that hosts JEI files before January 2023
name = "Progwml6's maven"
Expand Down Expand Up @@ -125,8 +126,11 @@ dependencies {
minecraft "net.minecraftforge:forge:${minecraft_version}-${forge_version}"

implementation fg.deobf("com.simibubi.create:create-${minecraft_version}:${create_version}:slim") { transitive = false }
implementation fg.deobf("com.jozufozu.flywheel:flywheel-forge-${minecraft_version}:${flywheel_version}")
implementation(fg.deobf("net.createmod.ponder:Ponder-Forge-${minecraft_version}:${ponder_version}"))
compileOnly(fg.deobf("dev.engine-room.flywheel:flywheel-forge-api-${minecraft_version}:${flywheel_version}"))
runtimeOnly(fg.deobf("dev.engine-room.flywheel:flywheel-forge-${minecraft_version}:${flywheel_version}"))
implementation fg.deobf("com.tterrag.registrate:Registrate:${registrate_version}")
implementation("io.github.llamalad7:mixinextras-forge:0.4.1")

// compile against the JEI API but do not include it at runtime
compileOnly(fg.deobf("mezz.jei:jei-${minecraft_version}-common-api:${jei_version}"))
Expand Down
9 changes: 5 additions & 4 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ org.gradle.daemon=false
# mod version info
mod_version = 3.0.2
minecraft_version = 1.20.1
forge_version = 47.1.43
forge_version = 47.4.0

# build dependency versions
forgegradle_version = 6.0.6
Expand All @@ -17,10 +17,11 @@ cursegradle_version = 1.4.0
parchment_version = 2023.06.26

# mod dependency versions
create_version = 0.5.1.f-26
flywheel_version = 0.6.10-7
create_version = 6.0.4-79
ponder_version = 1.0.36
flywheel_version = 1.0.1
registrate_version = MC1.20-1.3.3
jei_version = 15.2.0.22
jei_version = 15.19.5.99

# curseforge information
projectId = 534610
Expand Down
63 changes: 18 additions & 45 deletions src/main/java/com/teammoeg/steampowered/SPStress.java
Original file line number Diff line number Diff line change
@@ -1,73 +1,46 @@
package com.teammoeg.steampowered;

import com.simibubi.create.content.kinetics.BlockStressDefaults;
import com.simibubi.create.content.kinetics.BlockStressValues;
import com.simibubi.create.foundation.utility.Couple;
import com.simibubi.create.foundation.utility.RegisteredObjects;
import com.simibubi.create.api.stress.BlockStressValues;
import com.teammoeg.steampowered.content.alternator.DynamoBlock;

import com.teammoeg.steampowered.oldcreatestuff.OldEngineBlock;
import com.teammoeg.steampowered.oldcreatestuff.OldFlywheelBlock;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.level.block.Block;
import net.minecraftforge.registries.ForgeRegistries;
import org.jetbrains.annotations.Nullable;

import java.util.function.Supplier;
import java.util.function.DoubleSupplier;

public class SPStress implements BlockStressValues.IStressValueProvider {
public class SPStress {

@Override
public double getCapacity(Block arg0) {
public DoubleSupplier getCapacity(Block arg0) {
ResourceLocation registryName = ForgeRegistries.BLOCKS.getKey(arg0);
if(!(arg0 instanceof OldEngineBlock))return BlockStressDefaults.DEFAULT_CAPACITIES.getOrDefault(registryName,0D);
String mat=registryName.getPath().split("_")[0];
switch(mat) {
case "bronze":return SPConfig.COMMON.bronzeFlywheelCapacity.get();
case "cast":return SPConfig.COMMON.castIronFlywheelCapacity.get();
case "steel":return SPConfig.COMMON.steelFlywheelCapacity.get();
case "bronze":return SPConfig.COMMON.bronzeFlywheelCapacity::get;
case "cast":return SPConfig.COMMON.castIronFlywheelCapacity::get;
case "steel":return SPConfig.COMMON.steelFlywheelCapacity::get;
}
return BlockStressDefaults.DEFAULT_CAPACITIES.getOrDefault(registryName,0D);
return null;
}

@Override
public double getImpact(Block arg0) {
public DoubleSupplier getImpact(Block arg0) {
ResourceLocation registryName = ForgeRegistries.BLOCKS.getKey(arg0);
if(arg0 instanceof OldFlywheelBlock)return BlockStressDefaults.DEFAULT_IMPACTS.getOrDefault(registryName,0D);
if(arg0 instanceof DynamoBlock) {
return SPConfig.COMMON.dynamoImpact.get();
return SPConfig.COMMON.dynamoImpact::get;
}
String[] mat=registryName.getPath().split("_");
if(mat[mat.length-1].equals("cogwheel")) {
switch(mat[0]) {
case "bronze":return SPConfig.COMMON.bronzeCogwheelImpact.get();
case "cast":return SPConfig.COMMON.castIronCogwheelImpact.get();
case "steel":return SPConfig.COMMON.steelCogwheelImpact.get();
case "bronze":return SPConfig.COMMON.bronzeCogwheelImpact::get;
case "cast":return SPConfig.COMMON.castIronCogwheelImpact::get;
case "steel":return SPConfig.COMMON.steelCogwheelImpact::get;
}
}
return BlockStressDefaults.DEFAULT_IMPACTS.getOrDefault(registryName,0D);
return null;
}

@Override
public boolean hasCapacity(Block arg0) {
if((arg0 instanceof OldEngineBlock))return true;
return false;
}

@Override
public Couple<Integer> getGeneratedRPM(Block block) {
//block = redirectValues(block);
ResourceLocation key = RegisteredObjects.getKeyOrThrow(block);
Supplier<Couple<Integer>> supplier = BlockStressDefaults.GENERATOR_SPEEDS.get(key);
if (supplier == null)
return null;
return supplier.get();
}

@Override
public boolean hasImpact(Block arg0) {
if(arg0 instanceof OldEngineBlock)return false;
return true;
}
public void initStress() {
BlockStressValues.IMPACTS.registerProvider(this::getImpact);
BlockStressValues.CAPACITIES.registerProvider(this::getCapacity);
}

}
3 changes: 1 addition & 2 deletions src/main/java/com/teammoeg/steampowered/SteamPowered.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@

package com.teammoeg.steampowered;

import com.simibubi.create.content.kinetics.BlockStressValues;
import com.simibubi.create.foundation.data.CreateRegistrate;
import com.teammoeg.steampowered.client.Particles;
import com.teammoeg.steampowered.client.SteamPoweredClient;
Expand Down Expand Up @@ -71,7 +70,7 @@ public SteamPowered() {
SPBlockEntities.register();
SPItems.register();
SPTags.init();
BlockStressValues.registerProvider(MODID, new SPStress());
new SPStress().initStress();
ModLoadingContext.get().registerConfig(ModConfig.Type.COMMON, SPConfig.COMMON_CONFIG);
ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, SPConfig.SERVER_CONFIG);
PacketHandler.register();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@

package com.teammoeg.steampowered.block;

import com.jozufozu.flywheel.core.PartialModel;

import dev.engine_room.flywheel.lib.model.baked.PartialModel;
import net.minecraft.resources.ResourceLocation;

public class SPBlockPartials {
Expand All @@ -44,7 +43,7 @@ public class SPBlockPartials {
public static final PartialModel DYNAMO_SHAFT = get("dynamo/shaft");

private static PartialModel get(String path) {
return new PartialModel(new ResourceLocation("steampowered", "block/" + path));
return PartialModel.of(new ResourceLocation("steampowered", "block/" + path));
}

public static void clientInit() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@

package com.teammoeg.steampowered.block;

import com.simibubi.create.foundation.utility.VoxelShaper;

import net.createmod.catnip.math.VoxelShaper;
import net.minecraft.core.Direction;
import net.minecraft.world.level.block.Block;
import net.minecraft.core.Direction.Axis;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,11 @@
package com.teammoeg.steampowered.client;

import com.teammoeg.steampowered.block.SPBlockPartials;
import com.teammoeg.steampowered.network.ponder.SPPonderIndex;
import com.teammoeg.steampowered.network.ponder.SPPonderPlugin;
import com.teammoeg.steampowered.registrate.SPBlocks;

import com.teammoeg.steampowered.registrate.SPFluids;
import net.createmod.ponder.foundation.PonderIndex;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.ItemBlockRenderTypes;
Expand All @@ -39,7 +40,7 @@ public static void addClientListeners(IEventBus forgeEventBus, IEventBus modEven
}

public static void clientInit(FMLClientSetupEvent event) {
SPPonderIndex.register();
PonderIndex.addPlugin(new SPPonderPlugin());
}
public static void registerParticleFactories(RegisterParticleProvidersEvent event) {
Minecraft.getInstance().particleEngine.register(Particles.STEAM.get(), SteamParticle.Factory::new);
Expand Down
Loading