Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
8944ad5
refactor: unified recipe inputs into HTRecipeInput
Hiiragi283 Dec 9, 2025
889f4cc
refactor: refine around EMI integration
Hiiragi283 Dec 9, 2025
3bc1389
refactor: removed parameter from HTIngredient.getRequiredAmount(STACK)
Hiiragi283 Dec 9, 2025
b4bbcbf
refactor: refined scripts
Hiiragi283 Dec 9, 2025
dbe7f7c
Merge pull request #38 from Hiiragi283/recipe_rework
Hiiragi283 Dec 9, 2025
4303005
feat: added usage for Ragium Powder
Hiiragi283 Dec 10, 2025
fb0295f
fix: drop incorrect exp orbs when level loaded
Hiiragi283 Dec 10, 2025
0f1610a
build: removed dependency Hostile Neural Network
Hiiragi283 Dec 10, 2025
f0d88cc
feat: added integration recipe for Create: Enchantment Industry
Hiiragi283 Dec 10, 2025
4e1545d
refactor: updated textures for custom Matter Types
Hiiragi283 Dec 10, 2025
7d0243c
feat: removed unused textures
Hiiragi283 Dec 10, 2025
409a33d
feat: renewal material textures!
Hiiragi283 Dec 10, 2025
97fe392
feat: renewal material textures!
Hiiragi283 Dec 10, 2025
52e69bf
refactor!: moved `hiiragi283.ragium.common.util` into `hiiragi283.rag…
Hiiragi283 Dec 10, 2025
a00cac0
feat!: replaced item Ragi-Coke with Coal Coke
Hiiragi283 Dec 10, 2025
4369221
feat!: redesigned Simulator and its recipe type
Hiiragi283 Dec 10, 2025
002997b
refactor!: moved recipe implementations
Hiiragi283 Dec 10, 2025
b169fae
feat!: migrated HTBrewingRecipe to HTBrewingRecipeData
Hiiragi283 Dec 10, 2025
6c6ec16
refactor: refine scripts
Hiiragi283 Dec 10, 2025
bb4284d
feat!: removed fluid Sap, Natural Gas
Hiiragi283 Dec 11, 2025
a48214b
feat: added new recipe type Solidifying
Hiiragi283 Dec 11, 2025
a11fe2e
refactor: refined recipe types for Melting and Refining
Hiiragi283 Dec 11, 2025
46da7be
refactor: Brewing recipes are stored in recipe manager
Hiiragi283 Dec 11, 2025
b53c375
feat: Blocks with block entity stores its containment when harvested
Hiiragi283 Dec 11, 2025
f082c7a
feat: support machine upgrade for fluid capacity
Hiiragi283 Dec 11, 2025
9fdb570
fix: items with same containment not stackable
Hiiragi283 Dec 11, 2025
7674c64
feat: added integration recipes for Rubber line
Hiiragi283 Dec 11, 2025
919a0b3
feat!: redesigned around machine upgrades
Hiiragi283 Dec 11, 2025
2e5c40b
refactor: refine around upgrade multiplier
Hiiragi283 Dec 11, 2025
4420dba
feat!: removed Drums
Hiiragi283 Dec 11, 2025
d3e9b0a
refactor: refine around component handlers
Hiiragi283 Dec 11, 2025
e0fe5ec
feat: added block entity renderer for Variable Tank
Hiiragi283 Dec 11, 2025
55dae8f
feat!: removed item Ragi-Cherry Pulp
Hiiragi283 Dec 11, 2025
bcfddc0
feat: update scripts
Hiiragi283 Dec 11, 2025
7f1f69f
feat: support group for upgrades
Hiiragi283 Dec 13, 2025
fc0357c
refactor: add HTAbstractRecipe
Hiiragi283 Dec 13, 2025
90f30eb
feat!: removed XX Crates
Hiiragi283 Dec 13, 2025
d36ae26
feat!: redesigned around upgrades
Hiiragi283 Dec 14, 2025
5502ced
build: updated dependency Replication
Hiiragi283 Dec 14, 2025
1dfe925
refactor: refine around Creative Fluid Tank
Hiiragi283 Dec 14, 2025
2390614
feat!: remove Open Crate
Hiiragi283 Dec 14, 2025
e9d9fda
feat!: removed E.N.I. and C.E.U.
Hiiragi283 Dec 14, 2025
410bd2b
feat: added new block Universal Buffer
Hiiragi283 Dec 14, 2025
2adee92
feat: added sequenced assembly recipes for Create integration
Hiiragi283 Dec 14, 2025
82a26e3
fix: added menu for Advanced Mixer
Hiiragi283 Dec 14, 2025
8b7209b
refactor!: redesigned around Compressing and Extracting recipe
Hiiragi283 Dec 14, 2025
bc5d3f4
refactor: renamed some class around HTAlloyingRecipe
Hiiragi283 Dec 14, 2025
296a35c
refactor!: redesigned HTRockGeneratingRecipe
Hiiragi283 Dec 14, 2025
20b964c
feat: added new item Bio Fertilizer
Hiiragi283 Dec 15, 2025
693d0c1
feat: added new block Universal Chest
Hiiragi283 Dec 15, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 3 additions & 4 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,15 @@ delight = "1.21.1-1.2.9"
emi = "1.1.22+1.21.1"
ender-io = "8.0.6-alpha"
fusion = "1.2.11b-neoforge-mc1.21"
hostile = "1.21.1-6.3.0"
#hostile = "1.21.1-6.3.0"
immersive = "1.21.1-12.4.2-194"
jade = "15.10.3+neoforge"
kc = "1.1.1-neoforge+mc1.21.1"
#magitech = "0.12.1"
mek = "1.21.1-10.7.17.83"
oritech = "0.19.6"
pneuma = "8.2.13+mc1.21.1"
replica = "1.21-1.2.3"
replica = "1.21-1.2.6"

arch = "13.0.8"
#ars = "5.10.5.1219"
Expand Down Expand Up @@ -58,7 +58,7 @@ curious = { group = "top.theillusivec4.curios", name = "curios-neoforge", versio
delight = { group = "maven.modrinth", name = "farmers-delight", version.ref = "delight" }
emi = { group = "dev.emi", name = "emi-neoforge", version.ref = "emi" }
fusion = { group = "maven.modrinth", name = "fusion-connected-textures", version.ref = "fusion" }
hostile = { group = "dev.shadowsoffire", name = "HostileNeuralNetworks", version.ref = "hostile" }
#hostile = { group = "dev.shadowsoffire", name = "HostileNeuralNetworks", version.ref = "hostile" }
immersive = { group = "blusunrize.immersiveengineering", name = "ImmersiveEngineering", version.ref = "immersive" }
jade = { group = "maven.modrinth", name = "jade", version.ref = "jade" }
kc = { group = "maven.modrinth", name = "kaleidoscope-cookery", version.ref = "kc" }
Expand Down Expand Up @@ -89,7 +89,6 @@ mods-impl = [
"almost",
"delight",
"emi",
"hostile",
"immersive",
"jade",
"kc",
Expand Down
11 changes: 11 additions & 0 deletions src/api/kotlin/hiiragi283/ragium/api/RagiumAPI.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package hiiragi283.ragium.api

import com.mojang.logging.LogUtils
import com.mojang.serialization.MapCodec
import hiiragi283.ragium.api.data.HTBrewingRecipeData
import hiiragi283.ragium.api.data.map.HTEquipAction
import hiiragi283.ragium.api.inventory.slot.payload.HTSyncablePayload
import hiiragi283.ragium.api.registry.toId
Expand Down Expand Up @@ -62,6 +63,12 @@ object RagiumAPI {
.create()

// Builtin
@JvmField
val BREWING_RECIPE_TYPE_KEY: ResourceKey<Registry<MapCodec<out HTBrewingRecipeData>>> = createKey("brewing_recipe_type")

@JvmField
val BREWING_RECIPE_TYPE_REGISTRY: Registry<MapCodec<out HTBrewingRecipeData>> = createRegistry(BREWING_RECIPE_TYPE_KEY)

@JvmField
val EQUIP_ACTION_TYPE_KEY: ResourceKey<Registry<MapCodec<out HTEquipAction>>> = createKey("equip_action_type")

Expand All @@ -74,6 +81,10 @@ object RagiumAPI {
@JvmField
val SLOT_TYPE_REGISTRY: Registry<StreamCodec<RegistryFriendlyByteBuf, out HTSyncablePayload>> = createRegistry(SLOT_TYPE_KEY)

// Dynamic
@JvmField
val BREWING_RECIPE_KEY: ResourceKey<Registry<HTBrewingRecipeData>> = createKey("brewing_recipe_data")

// Feature Flag
@JvmField
val WORK_IN_PROGRESS: FeatureFlag = FeatureFlags.REGISTRY.getFlag(RagiumAPI.id("work_in_progress"))
Expand Down
8 changes: 5 additions & 3 deletions src/api/kotlin/hiiragi283/ragium/api/RagiumConst.kt
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ object RagiumConst {
const val ARS_NOUVEAU = "ars_nouveau"
const val COMMON = "c"
const val CREATE = "create"
const val CREATE_ENCH = "create_enchantment_industry"
const val EIO = "enderio"
const val EIO_BASE = "enderio_base"
const val EIO_MACHINES = "enderio_machines"
Expand All @@ -65,7 +66,6 @@ object RagiumConst {
// Serialization //

const val ACCESS_CONFIG = "access_config"
const val ENCHANTMENT = "enchantment"
const val OWNER = "owner"

const val ITEM = "item"
Expand All @@ -84,7 +84,6 @@ object RagiumConst {
const val TAG = "tag"
const val COUNT = "count"
const val COMPONENTS = "components"
const val CHANCE = "chance"

const val PREVENT_ITEM_MAGNET = "PreventRemoteMovement"

Expand All @@ -103,11 +102,14 @@ object RagiumConst {
const val REFINING = "refining"
const val ROCK_GENERATING = "rock_generating"
const val SIMULATING = "simulating"
const val SIMULATING_BLOCK = "$SIMULATING/block"
const val SIMULATING_ENTITY = "$SIMULATING/entity"
const val SOLIDIFYING = "solidifying"
const val WASHING = "washing"

const val INGREDIENT = "ingredient"

const val CATALYST = "catalyst"

const val RESULT = "result"
const val RESULTS = "results"
const val ITEM_RESULT = "item_result"
Expand Down
22 changes: 0 additions & 22 deletions src/api/kotlin/hiiragi283/ragium/api/RagiumPlatform.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,10 @@ package hiiragi283.ragium.api
import com.google.gson.JsonObject
import hiiragi283.ragium.api.data.recipe.ingredient.HTFluidIngredientCreator
import hiiragi283.ragium.api.data.recipe.ingredient.HTItemIngredientCreator
import hiiragi283.ragium.api.item.HTDynamicUpgradeItem
import hiiragi283.ragium.api.item.component.HTMachineUpgrade
import hiiragi283.ragium.api.material.HTMaterialDefinition
import hiiragi283.ragium.api.material.HTMaterialKey
import hiiragi283.ragium.api.material.prefix.HTMaterialPrefix
import hiiragi283.ragium.api.recipe.extra.HTPlantingRecipe
import hiiragi283.ragium.api.recipe.multi.HTRockGeneratingRecipe
import hiiragi283.ragium.api.registry.RegistryKey
import hiiragi283.ragium.api.serialization.value.HTValueInput
import hiiragi283.ragium.api.serialization.value.HTValueOutput
Expand All @@ -19,14 +16,11 @@ import net.minecraft.client.Minecraft
import net.minecraft.core.Holder
import net.minecraft.core.HolderLookup
import net.minecraft.core.RegistryAccess
import net.minecraft.core.component.DataComponentType
import net.minecraft.nbt.CompoundTag
import net.minecraft.resources.ResourceKey
import net.minecraft.server.MinecraftServer
import net.minecraft.server.level.ServerLevel
import net.minecraft.world.item.DyeColor
import net.minecraft.world.item.Item
import net.minecraft.world.item.ItemStack
import net.minecraft.world.item.crafting.RecipeSerializer
import net.minecraft.world.level.Level
import net.neoforged.fml.loading.FMLEnvironment
Expand All @@ -38,20 +32,6 @@ interface RagiumPlatform {
val INSTANCE: RagiumPlatform = RagiumAPI.getService()
}

/**
* [HTMachineUpgrade]の[DataComponentType]を返します。
*/
fun getUpgradeDataType(): DataComponentType<HTMachineUpgrade>

fun getMachineUpgrade(provider: HolderLookup.Provider?, stack: ItemStack): HTMachineUpgrade? {
val item: Item = stack.item
if (item is HTDynamicUpgradeItem) {
val upgrade: HTMachineUpgrade? = item.getUpgrade(provider, stack)
if (upgrade != null) return upgrade
}
return stack.get(getUpgradeDataType())
}

// Material //

fun getMaterialDefinitions(): Map<HTMaterialKey, HTMaterialDefinition>
Expand All @@ -72,8 +52,6 @@ interface RagiumPlatform {

fun getPlantingRecipeSerializer(): RecipeSerializer<HTPlantingRecipe>

fun getRockGeneratingRecipeSerializer(): RecipeSerializer<HTRockGeneratingRecipe>

// Server //

fun getCurrentServer(): MinecraftServer?
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,26 @@ package hiiragi283.ragium.api.block.attribute

import hiiragi283.ragium.api.RagiumAPI
import hiiragi283.ragium.api.text.HTHasTranslationKey
import hiiragi283.ragium.api.upgrade.HTUpgradeHandler
import hiiragi283.ragium.api.upgrade.HTUpgradeHelper
import net.minecraft.Util
import net.minecraft.util.StringRepresentable
import java.util.function.IntSupplier

@JvmRecord
data class HTFluidBlockAttribute(private val tankMap: Map<TankType, IntSupplier>) : HTBlockAttribute {
private fun getTankCapacity(type: TankType): IntSupplier = tankMap[type] ?: error("Undefined tank capacity for ${type.serializedName}")
private fun getTankCapacity(type: TankType, handler: HTUpgradeHandler): IntSupplier {
val baseCapacity: IntSupplier = tankMap[type] ?: error("Undefined tank capacity for ${type.serializedName}")
return IntSupplier { HTUpgradeHelper.getFluidCapacity(handler, baseCapacity.asInt) }
}

fun getInputTank(): IntSupplier = getTankCapacity(TankType.INPUT)
fun getInputTank(handler: HTUpgradeHandler): IntSupplier = getTankCapacity(TankType.INPUT, handler)

fun getOutputTank(): IntSupplier = getTankCapacity(TankType.OUTPUT)
fun getOutputTank(handler: HTUpgradeHandler): IntSupplier = getTankCapacity(TankType.OUTPUT, handler)

fun getFirstInputTank(): IntSupplier = getTankCapacity(TankType.FIRST_INPUT)
fun getFirstInputTank(handler: HTUpgradeHandler): IntSupplier = getTankCapacity(TankType.FIRST_INPUT, handler)

fun getSecondInputTank(): IntSupplier = getTankCapacity(TankType.SECOND_INPUT)
fun getSecondInputTank(handler: HTUpgradeHandler): IntSupplier = getTankCapacity(TankType.SECOND_INPUT, handler)

enum class TankType :
StringRepresentable,
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package hiiragi283.ragium.api.storage.capability
package hiiragi283.ragium.api.capability

import net.neoforged.neoforge.fluids.capability.IFluidHandler
import net.neoforged.neoforge.items.IItemHandler
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package hiiragi283.ragium.api.storage.capability
package hiiragi283.ragium.api.capability

import hiiragi283.ragium.api.stack.ImmutableItemStack
import hiiragi283.ragium.api.storage.HTAmountView
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package hiiragi283.ragium.api.storage.capability
package hiiragi283.ragium.api.capability

import hiiragi283.ragium.api.storage.HTAmountView
import java.util.function.BiFunction
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package hiiragi283.ragium.api.storage.capability
package hiiragi283.ragium.api.capability

import hiiragi283.ragium.api.serialization.value.HTValueSerializable
import hiiragi283.ragium.api.stack.ImmutableItemStack
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package hiiragi283.ragium.api.storage.capability
package hiiragi283.ragium.api.capability

import hiiragi283.ragium.api.stack.ImmutableFluidStack
import hiiragi283.ragium.api.stack.ImmutableItemStack
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package hiiragi283.ragium.api.storage.capability
package hiiragi283.ragium.api.capability

import hiiragi283.ragium.api.serialization.value.HTValueSerializable
import hiiragi283.ragium.api.stack.ImmutableItemStack
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package hiiragi283.ragium.api.storage.capability
package hiiragi283.ragium.api.capability

import com.google.common.util.concurrent.Runnables
import hiiragi283.ragium.api.stack.ImmutableItemStack
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package hiiragi283.ragium.api.capability

import hiiragi283.ragium.api.RagiumAPI
import hiiragi283.ragium.api.upgrade.HTUpgradeHandler
import net.neoforged.neoforge.capabilities.BlockCapability
import net.neoforged.neoforge.capabilities.ItemCapability

object RagiumCapabilities {
@JvmField
val UPGRADABLE_BLOCK: BlockCapability<HTUpgradeHandler, Void?> = BlockCapability.createVoid(
RagiumAPI.id("upgradable"),
HTUpgradeHandler::class.java,
)

@JvmField
val UPGRADABLE_ITEM: ItemCapability<HTUpgradeHandler, Void?> = ItemCapability.createVoid(
RagiumAPI.id("upgradable"),
HTUpgradeHandler::class.java,
)
}
27 changes: 27 additions & 0 deletions src/api/kotlin/hiiragi283/ragium/api/data/HTBrewingRecipeData.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package hiiragi283.ragium.api.data

import com.mojang.serialization.Codec
import com.mojang.serialization.MapCodec
import hiiragi283.ragium.api.RagiumAPI
import hiiragi283.ragium.api.function.identity
import hiiragi283.ragium.api.recipe.ingredient.HTItemIngredient
import net.minecraft.world.item.alchemy.PotionContents

interface HTBrewingRecipeData {
companion object {
@JvmField
val CODEC: Codec<HTBrewingRecipeData> = RagiumAPI.BREWING_RECIPE_TYPE_REGISTRY
.byNameCodec()
.dispatch(HTBrewingRecipeData::type, identity())
}

fun type(): MapCodec<out HTBrewingRecipeData>

fun getIngredient(): HTItemIngredient

fun getBasePotion(): PotionContents

fun getLongPotion(): PotionContents

fun getStrongPotion(): PotionContents
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,16 @@ package hiiragi283.ragium.api.data.map
import com.mojang.serialization.Codec
import com.mojang.serialization.MapCodec
import hiiragi283.ragium.api.RagiumAPI
import hiiragi283.ragium.api.function.identity
import net.minecraft.world.entity.player.Player
import net.minecraft.world.item.ItemStack
import java.util.function.Function

interface HTEquipAction {
companion object {
@JvmField
val CODEC: Codec<HTEquipAction> = RagiumAPI.EQUIP_ACTION_TYPE_REGISTRY
.byNameCodec()
.dispatch(HTEquipAction::type, Function.identity())
.dispatch(HTEquipAction::type, identity())
}

fun type(): MapCodec<out HTEquipAction>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package hiiragi283.ragium.api.data.map

import hiiragi283.ragium.api.serialization.codec.BiCodec
import hiiragi283.ragium.api.serialization.codec.BiCodecs
import io.netty.buffer.ByteBuf
import org.apache.commons.lang3.math.Fraction

@JvmRecord
data class HTRockGenerationData(val waterChance: Fraction, val lavaChance: Fraction) {
companion object {
@JvmStatic
private val FRACTION_CODEC: BiCodec<ByteBuf, Fraction> = BiCodecs.fractionRange(Fraction.ZERO, Fraction.ONE)

@JvmField
val CODEC: BiCodec<ByteBuf, HTRockGenerationData> = BiCodec.composite(
FRACTION_CODEC.fieldOf("water_chance").forGetter(HTRockGenerationData::waterChance),
FRACTION_CODEC.fieldOf("lava_chance").forGetter(HTRockGenerationData::lavaChance),
::HTRockGenerationData,
)
}
}
Loading