2024-10-05 18:10:38 +10:00
|
|
|
import net.minecraft.item.EnumDyeColor
|
|
|
|
import net.minecraft.item.ItemStack
|
|
|
|
|
|
|
|
import static com.nomiceu.nomilabs.groovy.GroovyHelpers.NBTClearingRecipeHelpers.*
|
|
|
|
import static com.nomiceu.nomilabs.groovy.GroovyHelpers.TooltipHelpers.*
|
Content Clearing Recipes (#1035)
[FEATURE]
[DETAILS]
details = [
"**Allows Clearing Of:**",
"Buckets (Water, Lava, Forge)",
"Minecraft Shulker Boxes",
"GregTech Crates",
"NuclearCraft Non-Active Coolers",
"Drawers (Wooden, GregTech, Framed, Framed Compacted)",
["Upgrades are NOT Cleared!"],
"Thermal Portable Tanks",
"**Adds Tooltip Notifying Clearing Ability For:**,
"GregTech Super/Quantum Chests/Tanks",
"GregTech Drums",
"EnderIO Portable Tanks",
]
[DETAILS]
2024-10-07 14:02:52 +11:00
|
|
|
import static com.nomiceu.nomilabs.groovy.GroovyHelpers.TranslationHelpers.*
|
2024-10-05 18:10:38 +10:00
|
|
|
import static com.nomiceu.nomilabs.groovy.NBTClearingRecipe.CAN_CLEAR_TOOLTIP
|
Content Clearing Recipes (#1035)
[FEATURE]
[DETAILS]
details = [
"**Allows Clearing Of:**",
"Buckets (Water, Lava, Forge)",
"Minecraft Shulker Boxes",
"GregTech Crates",
"NuclearCraft Non-Active Coolers",
"Drawers (Wooden, GregTech, Framed, Framed Compacted)",
["Upgrades are NOT Cleared!"],
"Thermal Portable Tanks",
"**Adds Tooltip Notifying Clearing Ability For:**,
"GregTech Super/Quantum Chests/Tanks",
"GregTech Drums",
"EnderIO Portable Tanks",
]
[DETAILS]
2024-10-07 14:02:52 +11:00
|
|
|
import static com.nomiceu.nomilabs.groovy.NBTClearingRecipe.WARNING_TOOLTIP
|
2024-10-05 18:10:38 +10:00
|
|
|
import static gregtech.common.metatileentities.MetaTileEntities.*
|
|
|
|
|
|
|
|
// NBT Clearing Recipes
|
|
|
|
nbtClearingRecipe(item('minecraft:water_bucket'), item('minecraft:bucket'))
|
|
|
|
nbtClearingRecipe(item('minecraft:lava_bucket'), item('minecraft:bucket'))
|
|
|
|
nbtClearingRecipe(item('forge:bucketfilled'), item('minecraft:bucket'))
|
|
|
|
|
|
|
|
// Shulker Boxes
|
|
|
|
for (def color : EnumDyeColor.values()) {
|
|
|
|
nbtClearingRecipe(item("minecraft:${color.name}_shulker_box"))
|
|
|
|
}
|
|
|
|
|
|
|
|
// GT Crates
|
|
|
|
for (def material : ["wood", "bronze", "steel", "aluminium", "stainless_steel", "titanium", "tungstensteel"]) {
|
|
|
|
nbtClearingRecipe(metaitem("crate.${material}"))
|
|
|
|
}
|
|
|
|
|
|
|
|
// NC Coolers
|
|
|
|
for (def meta : 1..15) {
|
Content Clearing Recipes (#1035)
[FEATURE]
[DETAILS]
details = [
"**Allows Clearing Of:**",
"Buckets (Water, Lava, Forge)",
"Minecraft Shulker Boxes",
"GregTech Crates",
"NuclearCraft Non-Active Coolers",
"Drawers (Wooden, GregTech, Framed, Framed Compacted)",
["Upgrades are NOT Cleared!"],
"Thermal Portable Tanks",
"**Adds Tooltip Notifying Clearing Ability For:**,
"GregTech Super/Quantum Chests/Tanks",
"GregTech Drums",
"EnderIO Portable Tanks",
]
[DETAILS]
2024-10-07 14:02:52 +11:00
|
|
|
nbtClearingRecipe(item('nuclearcraft:cooler', meta), item('nuclearcraft:cooler'),
|
|
|
|
translatable('nomiceu.tooltip.nc.nbt_clearing.cooler.can_clear'),
|
|
|
|
translatable('nomiceu.tooltip.nc.nbt_clearing.cooler.warning'))
|
2024-10-05 18:10:38 +10:00
|
|
|
}
|
|
|
|
|
2024-12-02 12:04:45 +11:00
|
|
|
// Bronze Cell
|
|
|
|
nbtClearingRecipe(metaitem('nomilabs:bronze_cell'))
|
|
|
|
|
2024-10-05 18:10:38 +10:00
|
|
|
/* Drawers */
|
Content Clearing Recipes (#1035)
[FEATURE]
[DETAILS]
details = [
"**Allows Clearing Of:**",
"Buckets (Water, Lava, Forge)",
"Minecraft Shulker Boxes",
"GregTech Crates",
"NuclearCraft Non-Active Coolers",
"Drawers (Wooden, GregTech, Framed, Framed Compacted)",
["Upgrades are NOT Cleared!"],
"Thermal Portable Tanks",
"**Adds Tooltip Notifying Clearing Ability For:**,
"GregTech Super/Quantum Chests/Tanks",
"GregTech Drums",
"EnderIO Portable Tanks",
]
[DETAILS]
2024-10-07 14:02:52 +11:00
|
|
|
// Add empty can clear tooltip, as we want to add multiple lines
|
|
|
|
var empty = translatableEmpty()
|
|
|
|
List<ItemStack> canClearDrawers = []
|
|
|
|
|
2024-10-05 18:10:38 +10:00
|
|
|
// Wooden Type Drawers
|
Content Clearing Recipes (#1035)
[FEATURE]
[DETAILS]
details = [
"**Allows Clearing Of:**",
"Buckets (Water, Lava, Forge)",
"Minecraft Shulker Boxes",
"GregTech Crates",
"NuclearCraft Non-Active Coolers",
"Drawers (Wooden, GregTech, Framed, Framed Compacted)",
["Upgrades are NOT Cleared!"],
"Thermal Portable Tanks",
"**Adds Tooltip Notifying Clearing Ability For:**,
"GregTech Super/Quantum Chests/Tanks",
"GregTech Drums",
"EnderIO Portable Tanks",
]
[DETAILS]
2024-10-07 14:02:52 +11:00
|
|
|
for (def meta : 0..4) {
|
|
|
|
nbtClearingRecipe(item('storagedrawers:basicdrawers', meta), {
|
|
|
|
var tag = transferSubTags(it, 'material')
|
|
|
|
it.tagCompound = transferDrawerUpgradeData(it, tag)
|
|
|
|
}, empty, WARNING_TOOLTIP)
|
|
|
|
|
|
|
|
canClearDrawers.add(item('storagedrawers:basicdrawers', meta))
|
|
|
|
}
|
|
|
|
|
|
|
|
var normalClearer = { ItemStack it ->
|
|
|
|
it.tagCompound = transferDrawerUpgradeData(it, null)
|
|
|
|
}
|
|
|
|
|
|
|
|
// GregTech Drawers
|
|
|
|
for (def meta : 0..4) {
|
|
|
|
nbtClearingRecipe(item('gregtechdrawers:basicdrawers_gregtech_rubber_wood', meta), normalClearer,
|
|
|
|
empty, WARNING_TOOLTIP)
|
|
|
|
nbtClearingRecipe(item('gregtechdrawers:basicdrawers_gregtech_treated_wood', meta), normalClearer,
|
|
|
|
empty, WARNING_TOOLTIP)
|
|
|
|
|
|
|
|
canClearDrawers.add(item('gregtechdrawers:basicdrawers_gregtech_rubber_wood', meta))
|
|
|
|
canClearDrawers.add(item('gregtechdrawers:basicdrawers_gregtech_treated_wood', meta))
|
|
|
|
}
|
2024-10-05 18:10:38 +10:00
|
|
|
|
Content Clearing Recipes (#1035)
[FEATURE]
[DETAILS]
details = [
"**Allows Clearing Of:**",
"Buckets (Water, Lava, Forge)",
"Minecraft Shulker Boxes",
"GregTech Crates",
"NuclearCraft Non-Active Coolers",
"Drawers (Wooden, GregTech, Framed, Framed Compacted)",
["Upgrades are NOT Cleared!"],
"Thermal Portable Tanks",
"**Adds Tooltip Notifying Clearing Ability For:**,
"GregTech Super/Quantum Chests/Tanks",
"GregTech Drums",
"EnderIO Portable Tanks",
]
[DETAILS]
2024-10-07 14:02:52 +11:00
|
|
|
// Compacting Drawers
|
|
|
|
nbtClearingRecipe(item('storagedrawers:compdrawers'), normalClearer, empty, WARNING_TOOLTIP)
|
|
|
|
canClearDrawers.add(item('storagedrawers:compdrawers'))
|
|
|
|
|
|
|
|
/* Framed Drawer Like */
|
|
|
|
def framedClearer = { ItemStack it ->
|
|
|
|
var tag = transferSubTags(it, 'MatS', 'MatT', 'MatF')
|
|
|
|
it.tagCompound = transferDrawerUpgradeData(it, tag)
|
|
|
|
}
|
|
|
|
|
|
|
|
// Framed Drawers
|
|
|
|
for (def meta : 0..4) {
|
|
|
|
nbtClearingRecipe(item('storagedrawers:customdrawers', meta), framedClearer, empty, WARNING_TOOLTIP)
|
|
|
|
canClearDrawers.add(item('storagedrawers:customdrawers', meta))
|
|
|
|
}
|
|
|
|
|
|
|
|
// Framed Compacting Drawers
|
|
|
|
nbtClearingRecipe(item('framedcompactdrawers:framed_compact_drawer'), framedClearer, empty, WARNING_TOOLTIP)
|
|
|
|
canClearDrawers.add(item('framedcompactdrawers:framed_compact_drawer'))
|
|
|
|
|
|
|
|
for (var canClear : canClearDrawers) {
|
|
|
|
addTooltip(canClear, [translatable('nomiceu.tooltip.drawers.nbt_clearing.drawers.can_clear.1'),
|
|
|
|
translatable('nomiceu.tooltip.drawers.nbt_clearing.drawers.can_clear.2')])
|
|
|
|
}
|
2024-10-05 18:10:38 +10:00
|
|
|
|
|
|
|
// Thermal Portable Tanks
|
|
|
|
nbtClearingRecipe(item('thermalexpansion:tank'), {
|
Content Clearing Recipes (#1035)
[FEATURE]
[DETAILS]
details = [
"**Allows Clearing Of:**",
"Buckets (Water, Lava, Forge)",
"Minecraft Shulker Boxes",
"GregTech Crates",
"NuclearCraft Non-Active Coolers",
"Drawers (Wooden, GregTech, Framed, Framed Compacted)",
["Upgrades are NOT Cleared!"],
"Thermal Portable Tanks",
"**Adds Tooltip Notifying Clearing Ability For:**,
"GregTech Super/Quantum Chests/Tanks",
"GregTech Drums",
"EnderIO Portable Tanks",
]
[DETAILS]
2024-10-07 14:02:52 +11:00
|
|
|
it.tagCompound = transferSubTags(it, 'Creative', 'Level', 'RSControl')
|
2024-10-05 18:10:38 +10:00
|
|
|
})
|
|
|
|
|
|
|
|
// Tooltips for Other Clearable Containers
|
|
|
|
List<ItemStack> clearableContainers = []
|
|
|
|
|
|
|
|
// Super/Quantum Chests & Tanks
|
|
|
|
clearableContainers.addAll(QUANTUM_CHEST.collect {it.getStackForm() })
|
|
|
|
clearableContainers.addAll(QUANTUM_TANK.collect {it.getStackForm() })
|
|
|
|
|
|
|
|
// Drums
|
|
|
|
for (def material : ["wood", "bronze", "steel", "aluminium", "stainless_steel", "titanium", "tungstensteel", "gold"]) {
|
|
|
|
clearableContainers.add(metaitem("drum.${material}"))
|
|
|
|
}
|
|
|
|
|
Allow Usage of Fluid Containers in Crafting (#1142)
This PR allows the usage of any fluid container, such as GT cells and drums, or EIO portable tanks, or Thermal portable tanks, in crafting recipes involving buckets.
This is done through mass recipe replacing, replacing ingredients with a custom 'fluid bucket ingredient'. This ingredient also displays some options for containers in JEI, allowing for crafting auto-fill.
Some recipes have been changed:
- Cake + Cake Base + Chocolate Cake now supports dough or rice dough
- Cake + Cake Base no longer allow using unfilled buckets
- Concrete Bucket (for Firebricks Recipe) change:
- Now makes Concrete Cell (Iron)
- Takes a cell as input, and any fluid container (for water) as input
- New Recipe: Water + Lava = Obsidian
Reviewers:
- Anything else we should add to the display list? Should we remove something?
- Any recipes that are not replaced?
- Check for bugs involving crafting, e.g. crash, dupe, unexpected behaviours.
[EXPAND]
[[messages]]
messageBody = '''
[FEATURE]
[DETAILS]
details = [
"Allows using ANY Fluid Container (GT Drums/Cells, EIO Tanks, Thermal Tanks, etc.) in Crafting Recipes, Substituting Filled Buckets",
"Also adds Crafting Recipe for Obsidian (Water + Lava)"
]
[DETAILS]
'''
[[messages]]
messageTitle = "Revamp Concrete Bucket Crafting Recipe"
messageBody = '''
[BALANCING]
[HM]
[DETAILS]
detail = "Now takes an Empty Cell as Input, and outputs a Filled Cell"
[DETAILS]
'''
[EXPAND]
2024-12-11 09:11:28 +11:00
|
|
|
// Cells
|
|
|
|
|
|
|
|
// Bronze Cell does not need tooltip added, its recipe is added above
|
|
|
|
|
|
|
|
// Special Cells
|
|
|
|
clearableContainers.add(metaitem('fluid_cell'))
|
|
|
|
clearableContainers.add(metaitem('fluid_cell.universal'))
|
|
|
|
|
|
|
|
// Material Cells
|
|
|
|
for (def material : ["steel", "aluminium", "stainless_steel", "titanium", "tungstensteel"]) {
|
|
|
|
clearableContainers.add(metaitem("large_fluid_cell.${material}"))
|
|
|
|
}
|
|
|
|
|
2024-10-05 18:10:38 +10:00
|
|
|
// EIO Tanks
|
|
|
|
// Technically Machines Too... but Not As Useful
|
|
|
|
clearableContainers.add(item('enderio:block_tank'))
|
|
|
|
clearableContainers.add(item('enderio:block_tank', 1))
|
|
|
|
|
|
|
|
for (def container : clearableContainers) {
|
|
|
|
addTooltip(container, CAN_CLEAR_TOOLTIP)
|
|
|
|
}
|