Skip to content
Merged
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
70 changes: 35 additions & 35 deletions src/generated/resources/assets/anvilcraft/lang/en_ud.json

Large diffs are not rendered by default.

70 changes: 35 additions & 35 deletions src/generated/resources/assets/anvilcraft/lang/en_us.json

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_capacitor": {
"has_capacitor_empty": {
"conditions": {
"items": [
{
"items": "#anvilcraft:capacitor"
"items": "anvilcraft:capacitor_empty"
}
]
},
Expand Down Expand Up @@ -52,7 +52,7 @@
[
"has_the_recipe",
"has_ionocraft",
"has_capacitor",
"has_capacitor_empty",
"has_plates/tin",
"has_leather_chestplate"
]
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_capacitor": {
"conditions": {
"items": [
{
"items": "anvilcraft:capacitor"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_ionocraft": {
"conditions": {
"items": [
{
"items": "anvilcraft:ionocraft"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_leather_chestplate": {
"conditions": {
"items": [
{
"items": "minecraft:leather_chestplate"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_plates/tin": {
"conditions": {
"items": [
{
"items": "#c:plates/tin"
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "anvilcraft:ionocraft_backpack_charged"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_the_recipe",
"has_ionocraft",
"has_capacitor",
"has_plates/tin",
"has_leather_chestplate"
]
],
"rewards": {
"recipes": [
"anvilcraft:ionocraft_backpack_charged"
]
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"item": "anvilcraft:ionocraft"
},
"B": {
"tag": "anvilcraft:capacitor"
"item": "anvilcraft:capacitor_empty"
},
"C": {
"tag": "c:plates/tin"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"group": "anvilcraft:ionocraft_backpack",
"key": {
"A": {
"item": "anvilcraft:ionocraft"
},
"B": {
"item": "anvilcraft:capacitor"
},
"C": {
"tag": "c:plates/tin"
},
"D": {
"item": "minecraft:leather_chestplate"
}
},
"pattern": [
"ABA",
"ABA",
"CDC"
],
"result": {
"components": {
"anvilcraft:stored_energy": 16000000
},
"count": 1,
"id": "anvilcraft:ionocraft_backpack"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -134,26 +134,26 @@ public class ItemTooltipManager {
NORMAL.put(ModBlocks.EMBER_DECO_OUTLINE.asItem(), "Ember Metal decorative block, low content, not explosion proof");
NORMAL.put(ModItems.EMBER_METAL_INGOT.get(), "A piece of Netherite tempered in fire for eons");
NORMAL.put(ModItems.FROST_METAL_INGOT.get(), "A piece of Royal Steel tempered in extreme cold for eons");
NORMAL.put(ModItems.MAGNET_INGOT.get(), "A magnetized iron ingot");
NORMAL.put(ModItems.TUNGSTEN_INGOT.get(), "A heat-resistant and dense metal, material for Ancient Debris");
NORMAL.put(ModBlocks.TUNGSTEN_BLOCK.asItem(), "A large block of heat-resistant, high-density metal that can be heated to extreme temperatures");
NORMAL.put(ModItems.TITANIUM_INGOT.get(), "A strong and lightweight metal");
NORMAL.put(ModItems.MAGNET_INGOT.get(), "A piece of magnetized iron");
NORMAL.put(ModItems.TUNGSTEN_INGOT.get(), "A piece of heat-resistant, dense metal, material for Ancient Debris");
NORMAL.put(ModBlocks.TUNGSTEN_BLOCK.asItem(), "A large block of heat-resistant, dense metal that can be heated to extreme temperatures");
NORMAL.put(ModItems.TITANIUM_INGOT.get(), "A piece of strong, lightweight metal");
NORMAL.put(ModBlocks.TITANIUM_BLOCK.asItem(), "A large block of strong, lightweight metal");
NORMAL.put(ModItems.ZINC_INGOT.get(), "A lightweight metal");
NORMAL.put(ModItems.ZINC_INGOT.get(), "A piece of lightweight metal");
NORMAL.put(ModBlocks.ZINC_BLOCK.asItem(), "A large block of lightweight metal");
NORMAL.put(ModItems.TIN_INGOT.get(), "A soft and corrosion-resistant metal");
NORMAL.put(ModItems.TIN_INGOT.get(), "A piece of soft, corrosion-resistant metal");
NORMAL.put(ModBlocks.TIN_BLOCK.asItem(), "A large block of soft, corrosion-resistant metal");
NORMAL.put(ModItems.LEAD_INGOT.get(), "A dense and heavy metal");
NORMAL.put(ModItems.LEAD_INGOT.get(), "A piece of dense, heavy metal");
NORMAL.put(ModBlocks.LEAD_BLOCK.asItem(), "A large block of dense, heavy metal that absorbs radiation and slows the decay of radioactive blocks");
NORMAL.put(ModItems.SILVER_INGOT.get(), "A highly reflective metal");
NORMAL.put(ModItems.SILVER_INGOT.get(), "A piece of highly reflective metal");
NORMAL.put(ModBlocks.SILVER_BLOCK.asItem(), "A large block of highly reflective metal");
NORMAL.put(ModItems.URANIUM_INGOT.get(), "Radioactive — handle with care");
NORMAL.put(ModItems.URANIUM_INGOT.get(), "A piece of radioactive material — handle with care");
NORMAL.put(ModBlocks.URANIUM_BLOCK.asItem(), "A large block of radioactive material that continuously releases heat but decays when multiple blocks are adjacent");
NORMAL.put(ModItems.PLUTONIUM_INGOT.get(), "Highly radioactive — cannot be mined naturally, obtained from uranium transmutation");
NORMAL.put(ModItems.PLUTONIUM_INGOT.get(), "A piece of highly radioactive material — cannot be mined naturally, obtained from uranium transmutation");
NORMAL.put(ModBlocks.PLUTONIUM_BLOCK.asItem(), "A large block of highly radioactive material obtained only by transmuting uranium; continuously releases heat but decays when multiple blocks are adjacent");
NORMAL.put(ModItems.BRONZE_INGOT.get(), "A durable copper-tin alloy");
NORMAL.put(ModItems.BRONZE_INGOT.get(), "A piece of durable copper-tin alloy");
NORMAL.put(ModBlocks.BRONZE_BLOCK.asItem(), "A large block of durable copper-tin alloy");
NORMAL.put(ModItems.BRASS_INGOT.get(), "A corrosion-resistant copper-zinc alloy");
NORMAL.put(ModItems.BRASS_INGOT.get(), "A piece of corrosion-resistant copper-zinc alloy");
NORMAL.put(ModBlocks.BRASS_BLOCK.asItem(), "A large block of corrosion-resistant copper-zinc alloy");
NORMAL.put(ModBlocks.CUT_BRONZE_BLOCK.asItem(), "Bronze decorative block");
NORMAL.put(ModBlocks.CUT_BRONZE_STAIRS.asItem(), "Bronze decorative block");
Expand All @@ -169,14 +169,14 @@ public class ItemTooltipManager {
NORMAL.put(ModItems.EMBER_METAL_NUGGET.get(), "A small piece of Netherite tempered in fire for eons");
NORMAL.put(ModItems.FROST_METAL_NUGGET.get(), "A small piece of Royal Steel tempered in extreme cold for eons");
NORMAL.put(ModItems.TRANSCENDIUM_NUGGET.get(), "A small piece of strong-interaction matter sustained by magic, immune to most forms of destruction");
NORMAL.put(ModItems.TUNGSTEN_NUGGET.get(), "A small piece of heat-resistant, high-density metal");
NORMAL.put(ModItems.TITANIUM_NUGGET.get(), "A small piece of Titanium");
NORMAL.put(ModItems.ZINC_NUGGET.get(), "A small piece of Zinc");
NORMAL.put(ModItems.TIN_NUGGET.get(), "A small piece of Tin");
NORMAL.put(ModItems.LEAD_NUGGET.get(), "A small piece of Lead");
NORMAL.put(ModItems.SILVER_NUGGET.get(), "A small piece of Silver");
NORMAL.put(ModItems.URANIUM_NUGGET.get(), "A small piece of Uranium");
NORMAL.put(ModItems.PLUTONIUM_NUGGET.get(), "A small piece of highly radioactive material obtained only by transmuting uranium");
NORMAL.put(ModItems.TUNGSTEN_NUGGET.get(), "A small piece of heat-resistant, high-density metal, material for Ancient Debris");
NORMAL.put(ModItems.TITANIUM_NUGGET.get(), "A small piece of strong, lightweight metal");
NORMAL.put(ModItems.ZINC_NUGGET.get(), "A small piece of lightweight metal");
NORMAL.put(ModItems.TIN_NUGGET.get(), "A small piece of soft, corrosion-resistant metal");
NORMAL.put(ModItems.LEAD_NUGGET.get(), "A small piece of dense, heavy metal");
NORMAL.put(ModItems.SILVER_NUGGET.get(), "A small piece of highly reflective metal");
NORMAL.put(ModItems.URANIUM_NUGGET.get(), "A small piece of radioactive material — handle with care");
NORMAL.put(ModItems.PLUTONIUM_NUGGET.get(), "A small piece of highly radioactive material, cannot be mined naturally, obtained from uranium transmutation");
NORMAL.put(ModItems.BRONZE_NUGGET.get(), "A small piece of durable copper-tin alloy");
NORMAL.put(ModItems.BRASS_NUGGET.get(), "A small piece of corrosion-resistant copper-zinc alloy");
NORMAL.put(ModItems.TIN_CAN.asItem(), "Tin cans can be combined with any food to obtain canned food");
Expand Down Expand Up @@ -347,14 +347,16 @@ public class ItemTooltipManager {
NORMAL.put(ModBlocks.CREATIVE_FLUID_TANK.asItem(), "Infinite fluid storage and supply");
NORMAL.put(
ModBlocks.FLUID_TANK.asItem(), """
Stores 16B of fluid; Menger Sponges expand it to 12800B and make it infinite when full
Stores 16B of fluids
Menger Sponges expand it to 12800B and make it infinite when full
Can interact with Dispensers for fluid transfer"""
);
NORMAL.put(
ModBlocks.LARGE_FLUID_TANK.asItem(), """
Stores 320B shared by any number of fluids; Menger Sponges unlock unlimited total storage
Can interact with Dispensers for fluid transfer
Can store multiple fluids"""
Stores 320B shared by any number of fluids
Menger Sponges unlock unlimited total storage
Can store multiple fluids, each type of fluid that reaches 12800B will be converted to infinite
Can interact with Dispensers for fluid transfer"""
);
NORMAL.put(ModBlocks.DRAIN.asItem(), "Transfers fluid vertically, outputting downward and drawing from above");
NORMAL.put(ModBlocks.CORRUPTED_BEACON.asItem(), "Releases the wither power within the beacon, its beam accelerates time flow or causes mutations");
Expand All @@ -365,7 +367,7 @@ public class ItemTooltipManager {
NORMAL.put(ModBlocks.CONFINED_MASS_ANVILON.asItem(), "Confinement chamber for mass-type Anvilon");
NORMAL.put(ModBlocks.CONFINED_ENERGY_ANVILON.asItem(), "Confinement chamber for energy-type Anvilon");
NORMAL.put(ModBlocks.CONFINED_NEUTRONIUM_INGOT_BLOCK.asItem(), "A confinement chamber containing a Charged Neutronium Ingot");
NORMAL.put(ModBlocks.NEUTRON_IRRADIATOR.asItem(), "Performs neutron irradiation recipes, absorbs confined anvilons for block procedural process");
NORMAL.put(ModBlocks.NEUTRON_IRRADIATOR.asItem(), "Perform neutron irradiation recipes, absorbs confined anvilons for block procedural process");
NORMAL.put(ModBlocks.CAKE_BASE_BLOCK.asItem(), "A block of cake base, use a shovel as a spoon to eat it");
NORMAL.put(ModBlocks.CREAM_BLOCK.asItem(), "A block of cream, use a shovel as a spoon to eat it");
NORMAL.put(ModBlocks.BERRY_CREAM_BLOCK.asItem(), "A block of berry cream, use a shovel as a spoon to eat it");
Expand Down Expand Up @@ -422,16 +424,16 @@ public class ItemTooltipManager {
NORMAL.put(
ModBlocks.INFINITE_COLLECTOR.asItem(), """
Generates power by collecting both heat and charge, no upper power limit
Provides a baseline output of 256 kW"""
Provide a baseline output of 256 kW"""
);
NORMAL.put(ModBlocks.LOAD_MONITOR.asItem(), "Monitor the grid load condition, can output a signal by redstone comparator");
NORMAL.put(ModBlocks.CHUTE.asItem(), "An advanced Hopper, can transfer a full stack of items at a time");
NORMAL.put(ModBlocks.MAGNETIC_CHUTE.asItem(), "An advanced Chute, with the ability to transport items vertically");
NORMAL.put(ModBlocks.EXP_COLLECTOR.asItem(), "Collect nearby Exp orbs and convert them into Exp Fluid");
NORMAL.put(ModBlocks.EXP_COLLECTOR.asItem(), "Collect nearby EXP orbs and convert them into EXP Fluid");
NORMAL.put(ModBlocks.GIANT_ANVIL.asItem(), "An extremely huge anvil");
NORMAL.put(ModBlocks.LARGE_CAULDRON.asItem(), "An extremely huge cauldron");
NORMAL.put(ModBlocks.STAMPING_PLATFORM.asItem(), "Performs stamping recipes");
NORMAL.put(ModBlocks.CRUSHING_TABLE.asItem(), "Performs crushing recipes");
NORMAL.put(ModBlocks.STAMPING_PLATFORM.asItem(), "Perform stamping recipes");
NORMAL.put(ModBlocks.CRUSHING_TABLE.asItem(), "Perform crushing recipes");
NORMAL.put(
ModBlocks.JEWEL_CRAFTING_TABLE.asItem(), """
A crafting station for rare items
Expand All @@ -441,14 +443,14 @@ public class ItemTooltipManager {
NORMAL.put(ModFoodItems.CHOCOLATE_BLACK.get(), "Tasty dark chocolate made with real cocoa butter, eat a bite to gain Haste");
NORMAL.put(ModFoodItems.CHOCOLATE_WHITE.get(), "Tasty white chocolate made with real cocoa butter, eat a bite to gain Jump Boost");
NORMAL.put(ModItems.SEEDS_PACK.get(), "Open to obtain a random seed or crop");
NORMAL.put(ModItems.EXP_GEM.get(), "Right-click to extract the XP contained inside");
NORMAL.put(ModItems.EXP_GEM.get(), "Right-click to extract the EXP contained inside");
NORMAL.put(ModBlocks.CONTROLLABLE_SAND.asItem(), "Sand that can be controlled by redstone to rise or fall");
NORMAL.put(ModBlocks.PLYWOOD_BLOCK.asItem(), "Solid wood? Not a chance");
NORMAL.put(ModBlocks.PLYWOOD_STAIRS.asItem(), "Solid wood? Not a chance");
NORMAL.put(ModBlocks.PLYWOOD_SLAB.asItem(), "Solid wood? Not a chance");
NORMAL.put(ModBlocks.ANCIENT_SEA_REEF.asItem(), "A chunk of sea reef – looks like it's hiding some treasure");
NORMAL.put(ModBlocks.VOID_MATTER_BLOCK.asItem(), "A chunk of void...");
NORMAL.put(ModBlocks.CREATIVE_GENERATOR.asItem(), "Provides up to 8192 kW of power, can also be used as a load");
NORMAL.put(ModBlocks.CREATIVE_GENERATOR.asItem(), "Provide up to 8192 kW of power, can also be used as a load");
NORMAL.put(ModFoodItems.COCOA_BUTTER.asItem(), "One hundred percent natural pure cocoa butter!");

SHIFT.put(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public static void init(RegistrumLangProvider provider) {

// region anvil processing line
provider.add("advancements.anvilcraft.dang.title", "Dang!");
provider.add("advancements.anvilcraft.dang.description", "Perform anything anvil crafting");
provider.add("advancements.anvilcraft.dang.description", "Perform any anvil crafting");

provider.add("advancements.anvilcraft.stone_crusher.title", "Stone crusher");
provider.add("advancements.anvilcraft.stone_crusher.description", "Use an anvil to cobblestone to obtain gravel, then smash gravel to obtain sand");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
import dev.dubhe.anvilcraft.AnvilCraft;
import dev.dubhe.anvilcraft.data.AnvilCraftDatagen;
import dev.dubhe.anvilcraft.init.block.ModBlocks;
import dev.dubhe.anvilcraft.init.item.ModComponents;
import dev.dubhe.anvilcraft.init.item.ModFoodItems;
import dev.dubhe.anvilcraft.init.item.ModItemTags;
import dev.dubhe.anvilcraft.init.item.ModItems;
Expand Down Expand Up @@ -404,20 +405,40 @@ public static <T extends Item> void ionocraft(DataGenContext<Item, T> ctx, Regis
}

public static <T extends Item> void ionocraftBackpack(DataGenContext<Item, T> ctx, RegistrumRecipeProvider provider) {
// Empty capacitor → empty backpack
ShapedRecipeBuilder.shaped(RecipeCategory.MISC, ctx.get())
.pattern("ABA")
.pattern("ABA")
.pattern("CDC")
.define('A', ModItems.IONOCRAFT.asItem())
.define('B', ModItemTags.CAPACITOR)
.define('B', ModItems.CAPACITOR_EMPTY)
.define('C', ModItemTags.TIN_PLATES)
.define('D', Items.LEATHER_CHESTPLATE)
.group(ctx.getId().toString())
.unlockedBy(AnvilCraftDatagen.hasItem(ModItems.IONOCRAFT.asItem()), RegistrumRecipeProvider.has(ModItems.IONOCRAFT.asItem()))
.unlockedBy(AnvilCraftDatagen.hasItem(ModItemTags.CAPACITOR), RegistrumRecipeProvider.has(ModItemTags.CAPACITOR))
.unlockedBy(
AnvilCraftDatagen.hasItem(ModItems.CAPACITOR_EMPTY.asItem()),
RegistrumRecipeProvider.has(ModItems.CAPACITOR_EMPTY.asItem()))
.unlockedBy(AnvilCraftDatagen.hasItem(ModItemTags.TIN_PLATES), RegistrumRecipeProvider.has(ModItemTags.TIN_PLATES))
.unlockedBy(AnvilCraftDatagen.hasItem(Items.LEATHER_CHESTPLATE), RegistrumRecipeProvider.has(Items.LEATHER_CHESTPLATE))
.save(provider);
// Charged capacitor → backpack with 16 MFE stored
ItemStack charged = new ItemStack(ctx.get());
charged.set(ModComponents.STORED_ENERGY, 16000000);
ShapedRecipeBuilder.shaped(RecipeCategory.MISC, charged)
.pattern("ABA")
.pattern("ABA")
.pattern("CDC")
.define('A', ModItems.IONOCRAFT.asItem())
.define('B', ModItems.CAPACITOR)
.define('C', ModItemTags.TIN_PLATES)
.define('D', Items.LEATHER_CHESTPLATE)
.group(ctx.getId().toString())
.unlockedBy(AnvilCraftDatagen.hasItem(ModItems.IONOCRAFT.asItem()), RegistrumRecipeProvider.has(ModItems.IONOCRAFT.asItem()))
.unlockedBy(AnvilCraftDatagen.hasItem(ModItems.CAPACITOR.asItem()), RegistrumRecipeProvider.has(ModItems.CAPACITOR.asItem()))
.unlockedBy(AnvilCraftDatagen.hasItem(ModItemTags.TIN_PLATES), RegistrumRecipeProvider.has(ModItemTags.TIN_PLATES))
.unlockedBy(AnvilCraftDatagen.hasItem(Items.LEATHER_CHESTPLATE), RegistrumRecipeProvider.has(Items.LEATHER_CHESTPLATE))
.save(provider, AnvilCraft.of("ionocraft_backpack_charged"));
}

public static <T extends Item> void permutationTemplateItem(DataGenContext<Item, T> ctx, RegistrumRecipeProvider provider) {
Expand Down
3 changes: 3 additions & 0 deletions src/main/java/dev/dubhe/anvilcraft/init/block/ModBlocks.java
Original file line number Diff line number Diff line change
Expand Up @@ -1020,6 +1020,7 @@ public class ModBlocks {
public static final BlockEntry<ExpCollectorBlock> EXP_COLLECTOR = REGISTRUM
.block("exp_collector", ExpCollectorBlock::new)
.initialProperties(() -> Blocks.IRON_BLOCK)
.lang("EXP Collector")
.properties((properties) -> properties
.noOcclusion()
.isValidSpawn(Blocks::never)
Expand Down Expand Up @@ -3498,6 +3499,7 @@ public class ModBlocks {
.block("exp_fluid_cauldron", ExpFluidCauldronBlock::new)
.initialProperties(() -> Blocks.CAULDRON)
.blockstate(DataGenUtil::noExtraModelOrState)
.lang("EXP Fluid Cauldron")
.loot((tables, block) -> tables.dropOther(block, Items.CAULDRON))
.tag(BlockTags.MINEABLE_WITH_PICKAXE, BlockTags.CAULDRONS)
.onRegister(block -> Item.BY_BLOCK.put(block, Items.CAULDRON))
Expand Down Expand Up @@ -3781,6 +3783,7 @@ private static BlockEntry<? extends PowerLevelPressurePlateBlock> registerPressu
.liquid()
.sound(SoundType.EMPTY)
.strength(100.0F))
.lang("EXP Fluid")
.blockstate(ModelProviderUtil::liquid)
.register();

Expand Down
3 changes: 2 additions & 1 deletion src/main/java/dev/dubhe/anvilcraft/init/block/ModFluids.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,8 @@ public class ModFluids {
);
public static final DeferredRegister<Fluid> FLUIDS = DeferredRegister.create(Registries.FLUID, AnvilCraft.MOD_ID);

public static final DeferredHolder<FluidType, FluidType> EXP_FLUID_TYPE = FLUID_TYPES.register(
public static final DeferredHolder<FluidType, FluidType> EXP_FLUID_TYPE = FLUID_TYPES
.register(
"exp_fluid",
() -> new FluidType(FluidType.Properties.create()
.descriptionId("block.anvilcraft.exp_fluid")
Expand Down
Loading
Loading